K & J --> W{{"답변 Agent"}} --> V{{"검증 Agent<br/>근거 · 정책 · 개인정보"}}
V -->|신뢰도 충분| A(["답변 + 근거"])
V -->|부족 · 긴급 · 보안| H(["담당자 이관<br/>티켓 생성 (Jira 대신)"])
T -->|정보 부족| Q(["보완 질문"])
X["Error Workflow · DLQ · 알림"] -.-> H
```
## 1. 무엇을 만드나
> 아래는 **기본 주제(사내 IT 헬프데스크)**로 쓴 설명입니다. 다른 주제(B2B SaaS 고객 기술지원, 제조 설비 유지보수 지원 등)를 고른 팀은 "직원" · "사내 지식 문서"를 자기 주제의 사용자 · 문서로 바꿔 읽습니다. 주제 조건 · 예 · 정하는 순서는 [11-TOPIC-GUIDE](11-TOPIC-GUIDE.md).
직원이 기술 문의를 보내면 워크플로우가 **문의를 분류하고, 사내 지식 문서를 검색(RAG)하고, 근거가 있는 답을 만들어 검증한 뒤** 돌려줍니다. 근거가 부족하거나, 긴급하거나, 보안 · 권한이 걸린 문의는 답을 지어내지 않고 **담당자에게 이관(티켓 생성)**합니다. 외부 서비스가 멈추거나 요청이 이상해도 **정해진 방식으로 실패**하고, 모든 처리는 **기록**으로 남습니다.
64~79일차에 하루씩 만든 것을 **하나의 서비스로 묶는** 프로젝트입니다. 새로 배울 것보다 **이미 만든 것을 엮고, 설계를 글로 쓰고, 시험으로 증명하는** 일이 중심입니다.
| 원본 요구의 세부 수행내용 | 우리가 할 일 | 가져올 실습 |
| --- | --- | --- |
| 1. 노코드·로코드 기반 RAG 및 도구 노드 구현 | 지식 문서 색인 · 검색, 접수 조회 · 티켓 생성 · 알림 도구 | 67 Tool, 71 RAG, 76 티켓 · 알림 |
| 2. 멀티 에이전트 오케스트레이션 구현 | 분류 → 검색 · 답변 → 검증 → 이관, 분기 · 병렬 · 루프 | 68 라우터, 69 역할 분리, 70 모듈 |
| 3. 운영 안정화 및 예외 처리 | 입력 · 출력 검증, timeout · 재시도 · 대체 경로, Error Workflow, DLQ, 중복 방지 | 72 안정성, 73 보안, 76 오류 대응 |
| 4. 서비스 테스트 및 결과 검증 | 공통 시나리오 · 팀 시나리오 · 장애 시험 · 반복, 실행 로그 | 72 재기, 74 배포 관문, 77 로그 분석 |
## 2. 공통 계약 (모든 팀 같음)
계약이 같아야 **공통 시나리오로 모든 팀을 같은 기준으로** 잴 수 있습니다. 내부 구조(노드 · Agent 수 · 프롬프트)는 팀마다 달라도 됩니다. 자세한 칸과 예시는 [04-REFERENCE-ARCHITECTURE](04-REFERENCE-ARCHITECTURE.md) 3절.
- 실제 외부 서비스(Slack · Email · Jira · Notion) 연동 — 팀 계정이 있을 때만, **회사 · 개인 실서비스 계정의 키를 저장소에 올리지 않음**
- 지속형 벡터 저장소(PGVector · Qdrant 등)로 색인을 보존하고 백업 · 복구를 실제로 시연
- 74일차 배포 관문(`flow.py gate`), 75일차 사용량 · 비용 기록, 77일차 운영 지표, 79일차 Ops Assistant에 프로젝트 로그 연결
- 모델 비교 (같은 시나리오로 품질 · 시간 · 비용)
> **규칙으로 정할 수 있는 것은 규칙(Code · If · Switch)으로, LLM은 꼭 필요한 곳에만.** 72 · 75일차에 잰 것처럼 LLM 호출 하나가 1~2초와 비용을 더합니다. 3일 안에 안정적인 결과를 내려면 판단이 분명한 곳(권한 · 길이 · 중복 · 점수 기준)은 코드로 둡니다.
## 4. 산출물 (원본 요구 4절)
| 산출물 | 템플릿 | 핵심 질문 (평가 기준) |
| --- | --- | --- |
| 노코드 워크플로우 설계서 | [WORKFLOW-DESIGN](templates/WORKFLOW-DESIGN-TEMPLATE.md) | 흐름이 기술 지원 로직에 맞고 분기 · 병렬 · 루프를 목적에 맞게 썼나 · 연동 노드마다 인증 · 오류 처리가 있나 · **연결선마다** 페이로드 스키마 · 변환 · 필수/선택 · 예시가 있나 |
| RAG 아키텍처 설계서 | [RAG-ARCHITECTURE](templates/RAG-ARCHITECTURE-TEMPLATE.md) | 문서 특성에 맞는 청킹 · 오버랩 · 길이 분포와 근거 · 임베딩 선정 이유 · 차원 · 거리 방식 · 컬렉션 명명 · 파티션 · 메타데이터 · 백업/복구 · 확장 |
| 워크플로우 실행 결과서 | [EXECUTION-RESULT](templates/EXECUTION-RESULT-TEMPLATE.md) | 시나리오별 실행 로그 · 예외 처리의 실제 결과 · 기대와 실제의 구분 · 실패와 재시험 |
함께 내는 것: n8n 워크플로우 JSON, 시나리오 파일 · 실행 보고서(`runs/`), [팀 헌장](templates/TEAM-CHARTER-TEMPLATE.md), [데일리 기록](templates/DAILY-LOG-TEMPLATE.md), 저장소 `README.md`. 저장소 구조와 마감은 [08-SUBMISSION](08-SUBMISSION.md).
## 5. 평가 (요약)
평가표는 원본 기준표의 일곱 질문을 그대로 씁니다. 점수 배분은 첫날 강사가 확정해 알립니다 (제안: 워크플로우 설계서 35 · RAG 설계서 30 · 실행 결과서 25 · 발표와 협업 10).
- **문서와 구현이 같아야** 합니다. 설계서에 있는데 워크플로우에 없는 것, 결과서의 숫자가 실행 보고서와 다른 것은 감점입니다.
- **예시 값을 그대로 두면** 감점입니다 (원본 요구 "예시 수치를 팀의 실제 측정값으로 교체").
- 키 · 개인정보가 저장소 · 문서 · 로그에 보이면 크게 감점합니다 (제출 전 `tscan`, 73일차).
## 6. 문서 목록
| 문서 | 내용 |
| --- | --- |
| [11-TOPIC-GUIDE](11-TOPIC-GUIDE.md) | **주제 정하기**: 큰 틀의 조건 5가지 · 주제 예 8개 · 기본 주제와의 차이 · 공통 시나리오 옮기기 |