From fc161f022492cd24c0efe039a9e39a55e2673a55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 22 Mar 2026 22:49:09 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20[plans]=20=EC=9D=B8=ED=84=B0=EB=B7=B0?= =?UTF-8?q?=20=EC=8B=9C=EB=82=98=EB=A6=AC=EC=98=A4=20=EC=B4=88=EA=B3=A0?= =?UTF-8?q?=EB=8F=84=ED=99=94=20=EA=B3=84=ED=9A=8D=EC=84=9C=20+=20INDEX=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plans/interview-ultra-advance-plan.md | 223 ++++++++++++++++++++++++++ 1 file changed, 223 insertions(+) create mode 100644 plans/interview-ultra-advance-plan.md diff --git a/plans/interview-ultra-advance-plan.md b/plans/interview-ultra-advance-plan.md new file mode 100644 index 0000000..19311cb --- /dev/null +++ b/plans/interview-ultra-advance-plan.md @@ -0,0 +1,223 @@ +# 인터뷰 시나리오 초고도화 계획 + +> **작성일**: 2026-03-22 +> **상태**: 개발 중 +> **목표**: 현장의 모든 정보를 빠짐없이 수집하고, AI가 분석하여 SAM 설정을 자동 생성하는 완전한 시스템 + +--- + +## 1. 개요 + +### 1.1 현재 상태 + +- 8개 도메인, 약 80개 질문 (제조업 견적 중심) +- 체크리스트 방식 인터뷰 (수동) +- 첨부파일 업로드만 가능 (분석 없음) +- 음성/AI 기능 미구현 +- 결과물 자동 생성 없음 + +### 1.2 목표 상태 + +``` +현장 방문 + ↓ +AI 대화형 인터뷰 (음성+텍스트) + + 사진/엑셀/PDF 현장 수집 + + AI 실시간 후속질문 + ↓ +AI 자동 분석 + ↓ +SAM 테넌트 설정 자동 생성 + (BOM, 단가, 공식, 품목, 견적양식) + ↓ +검증 및 배포 +``` + +--- + +## 2. Phase 1 — 질문 깊이 강화 + +### 2.1 기존 8개 도메인 질문 확충 + +| 도메인 | 현재 질문수 | 목표 질문수 | 추가 영역 | +|--------|:---------:|:---------:|----------| +| 제품 분류 | ~11 | ~20 | 인증/규격 상세, 커스텀 옵션, 변형 모델 | +| BOM 구조 | ~10 | ~20 | 다단계 BOM, 대체품, 공정별 투입, 반제품 | +| 치수/변수 | ~10 | ~18 | 복합 공식, 조건부 마진, 허용오차 | +| 부품 구성 | ~11 | ~20 | 공급업체, 리드타임, 안전재고, 검사기준 | +| 단가 체계 | ~12 | ~22 | 원가 구성요소, 환율, 할인정책, 계약단가 | +| 수량 수식 | ~9 | ~16 | LOSS율 세분화, 최소발주, 포장단위 | +| 조건부 로직 | ~7 | ~15 | 다중 조건 조합, 예외 규칙, 우선순위 | +| 견적서 양식 | ~10 | ~18 | 다중 양식, 언어별, 고객맞춤, 첨부서류 | + +### 2.2 신규 도메인 추가 (4개) + +| 도메인 | 코드 | 질문수 | 핵심 수집 내용 | +|--------|------|:-----:|--------------| +| 생산 공정 | `production_process` | ~20 | 공정 흐름, 작업장, 설비, 작업시간, 납기 | +| 품질 관리 | `quality_control` | ~15 | 검사 기준, 불량 유형, 시정조치, 인증 요구 | +| 물류/재고 | `logistics_inventory` | ~15 | 입출고, 창고, 안전재고, 바코드, 운송 | +| 영업/고객 | `sales_customer` | ~15 | 거래처, 계약, 결제조건, A/S, CRM | + +### 2.3 구현 방법 + +- `InterviewQuestionMasterSeeder` 전면 개편 +- 기존 질문 유지 + 세부 질문 추가 +- 신규 4개 도메인 카테고리/템플릿/질문 생성 +- `depends_on` 조건부 질문 활성화 + +--- + +## 3. Phase 2 — AI 대화형 인터뷰 엔진 + +### 3.1 아키텍처 + +``` +사용자 (인터뷰어) + ↓ 텍스트/음성 입력 +┌──────────────────────────────┐ +│ AiInterviewController │ +│ ↓ │ +│ AiInterviewService │ +│ ├─ 도메인 컨텍스트 로드 │ +│ ├─ 이전 답변 분석 │ +│ ├─ Gemini API 호출 │ +│ │ ├─ 시스템 프롬프트 │ +│ │ ├─ 도메인 질문 목록 │ +│ │ ├─ 이전 대화 히스토리 │ +│ │ └─ 현재 답변 │ +│ ├─ AI 응답 파싱 │ +│ │ ├─ 후속 질문 추출 │ +│ │ ├─ 구조화 데이터 추출 │ +│ │ └─ 누락 정보 감지 │ +│ └─ 답변 저장 │ +└──────────────────────────────┘ + ↓ +interview_ai_conversations (신규 테이블) +interview_answers (구조화 저장) +interview_knowledge (자동 추출) +``` + +### 3.2 새 테이블 + +**interview_ai_conversations** + +```sql +id, tenant_id, interview_session_id, +role (system|user|assistant), +content (text), structured_data (json), +domain, tokens_used, model_used, +created_at +``` + +### 3.3 AI 인터뷰 흐름 + +``` +1. 도메인 선택 (예: "BOM 구조") +2. AI가 첫 질문 생성 (도메인 맥락 + 마스터 질문 기반) +3. 사용자 답변 (텍스트 또는 음성→텍스트) +4. AI가 답변 분석: + a. 구조화 데이터 추출 → answer_data에 저장 + b. 누락 정보 감지 → 후속 질문 생성 + c. 모순/불명확 감지 → 확인 질문 생성 +5. 도메인 완료도 판정 (모든 핵심 질문 커버 시) +6. 다음 도메인으로 자동 전환 또는 심화 질문 +``` + +### 3.4 프롬프트 전략 + +- 시스템 프롬프트: 제조업 ERP/MES 컨설턴트 역할 +- 도메인별 질문 목록을 컨텍스트로 제공 +- 이전 답변 요약을 포함 +- 구조화 데이터 추출 형식 지정 (JSON) +- 한국어 자연스러운 대화체 + +--- + +## 4. Phase 3 — 현장 데이터 수집 도구 + +### 4.1 음성 녹음 + STT + +- Web Audio API (MediaRecorder) +- 녹음 파일 서버 업로드 (wav/webm) +- Google Speech-to-Text 또는 Whisper API 연동 +- 변환된 텍스트를 AI 인터뷰에 입력으로 전달 + +### 4.2 사진 촬영/업로드 + +- 모바일 카메라 연동 (input[type=file] capture) +- 사진에 메모/태그 추가 +- AI 이미지 분석 (Gemini Vision) + - 공정 흐름도 사진 → 공정 순서 추출 + - 제품 사진 → 부품 목록 추출 + - 엑셀 스크린샷 → 데이터 추출 + +### 4.3 엑셀/PDF 자동 파싱 + +- 엑셀: PhpSpreadsheet로 파싱 + - 단가표 → 단가 구조 자동 추출 + - BOM 표 → BOM 트리 자동 구성 + - 견적서 양식 → 양식 구조 분석 +- PDF: 텍스트 추출 + AI 분석 +- 파싱 결과를 interview_knowledge에 자동 저장 + +--- + +## 5. Phase 4 — 결과물 자동화 + +### 5.1 자동 생성 대상 + +| 대상 | 소스 도메인 | 생성물 | +|------|-----------|--------| +| 품목 분류 | product_classification | categories, category_fields | +| BOM 구조 | bom_structure | bom_templates, bom_template_items | +| 계산 공식 | dimension_formula | model_parameters, formulas | +| 단가 테이블 | pricing_structure | price_histories, pricing_rules | +| 견적 양식 | quote_format | quote_templates | +| 공정 흐름 | production_process | processes, process_steps | + +### 5.2 생성 파이프라인 + +``` +interview_knowledge (검증된 지식) + ↓ +TenantConfigGenerator + ├─ CategoryGenerator → categories, fields + ├─ BomGenerator → bom_templates, items + ├─ FormulaGenerator → calculation rules + ├─ PricingGenerator → price tables + ├─ QuoteGenerator → quote templates + └─ ProcessGenerator → process definitions + ↓ +생성된 설정 미리보기 (관리자 검토) + ↓ +테넌트에 적용 (deploy) +``` + +### 5.3 검증 단계 + +- 생성된 설정을 미리보기로 표시 +- 관리자가 수정/보완 가능 +- 확정 후 테넌트에 일괄 적용 +- 적용 이력 기록 + +--- + +## 6. 구현 순서 + +| 순서 | 작업 | 파일 | +|:----:|------|------| +| 1 | 마스터 질문 시더 전면 개편 | `InterviewQuestionMasterSeeder.php` | +| 2 | AI 대화 테이블 마이그레이션 | `create_interview_ai_conversations.php` | +| 3 | AI 인터뷰 Service | `AiInterviewService.php` | +| 4 | AI 인터뷰 Controller | `AiInterviewController.php` | +| 5 | AI 인터뷰 라우트 | `routes/web.php` | +| 6 | AI 인터뷰 UI (Blade) | `views/sales/interviews/ai-interview.blade.php` | +| 7 | 음성 녹음 컴포넌트 | JS + Controller | +| 8 | 파일 파싱 서비스 | `InterviewFileAnalysisService.php` | +| 9 | 결과물 생성 서비스 | `TenantConfigGeneratorService.php` | +| 10 | 결과물 미리보기 UI | Blade view | + +--- + +**최종 업데이트**: 2026-03-22