80~82일차 단위 프로젝트 수강생 안내 (안내서 · 일정 · 환경 · 시나리오 · 구조 · RAG · 안정성 · 시험 · 제출 · 에이전트 · FAQ · 주제 정하기, 템플릿 6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
d88c5122d5
commit
d86c6e8127
18 files changed
+1410
No files matched your search
@@ -0,0 +1,28 @@
|
||||
# 데일리 기록 · <팀이름> · <80 · 81 · 82>일차
|
||||
|
||||
> 하루 끝(8교시)에 `docs/daily/DAY<NN>.md`로. 숫자는 `runs/` 보고서에서.
|
||||
|
||||
## 1. 오늘의 숫자
|
||||
|
||||
| 항목 | 아침 | 저녁 |
|
||||
| --- | --- | --- |
|
||||
| 공통 시나리오 통과 | /14 | /14 |
|
||||
| 팀 시나리오 통과 | / | / |
|
||||
| 장애 시나리오 통과 | / | / |
|
||||
| 정상 문의 p50 (`bench -n 5`) | 초 | 초 |
|
||||
|
||||
## 2. 한 일 (사람마다 한 줄)
|
||||
|
||||
| 이름 | 한 일 | 커밋 |
|
||||
| --- | --- | --- |
|
||||
|
||||
## 3. 막힌 것 · 푼 방법
|
||||
|
||||
| 막힌 것 | 원인 | 푼 방법 (또는 아직) |
|
||||
| --- | --- | --- |
|
||||
|
||||
## 4. 내일 할 것 (목표 숫자와 함께)
|
||||
|
||||
## 5. 강사 피드백
|
||||
|
||||
(강사가 씀)
|
||||
@@ -0,0 +1,63 @@
|
||||
# 워크플로우 실행 결과서 · <팀이름>
|
||||
|
||||
> 원본 요구 4절 산출물 3과 5 · 6절을 따릅니다. **숫자는 `runs/` 보고서에서만** 옮기고, 칸마다 보고서 파일 이름을 적습니다. [07-TESTING-GUIDE](../07-TESTING-GUIDE.md) 참고.
|
||||
|
||||
## 1. 시나리오별 시험 기록
|
||||
|
||||
| 시나리오 | 입력 · 조건 | 기대 결과 | 실제 결과 | 실행 노드 · 에이전트 | 처리시간 | 판정 (3회) | 보고서 |
|
||||
| --- | --- | --- | --- | --- | --- | --- | --- |
|
||||
| WF-01 정상 문의 | | | | | | PASS PASS PASS | `runs/…` |
|
||||
| … (공통 14개) | | | | | | | |
|
||||
| T-01 (팀) | | | | | | | |
|
||||
|
||||
## 2. 실행 로그 (대표 3건: 정상 · 예외 · 이관)
|
||||
|
||||
| 칸 | 값 |
|
||||
| --- | --- |
|
||||
| request_id | |
|
||||
| 시작 · 종료 시각 | |
|
||||
| 실행된 노드 | |
|
||||
| 노드별 입력 · 출력 요약 | (실행 화면 캡처 `docs/images/…`) |
|
||||
| 외부 API 상태 | |
|
||||
| 재시도 횟수 | |
|
||||
| 검색 문서 ID와 점수 | |
|
||||
| 최종 분기 | |
|
||||
| 오류 코드 | |
|
||||
| 개인정보 마스킹 여부 | |
|
||||
|
||||
## 3. 결과 요약
|
||||
|
||||
| 항목 | 실제 결과 | 근거 |
|
||||
| --- | --- | --- |
|
||||
| 전체 시나리오 | 건 | |
|
||||
| 성공 / 실패 | 건 / 건 | |
|
||||
| 자동 답변 / 담당자 이관 | 건 / 건 | |
|
||||
| 처리시간 p50 · p95 | 초 · 초 | `bench` |
|
||||
| 예외 처리 성공률 | % | |
|
||||
| 근거 없는 답변 | 건 | |
|
||||
| 권한 위반 | 건 | |
|
||||
| 요청당 LLM 호출 (평균) | 번 | 실행 기록 |
|
||||
|
||||
## 4. 실패 사례 (2건 이상)
|
||||
|
||||
| 칸 | 내용 |
|
||||
| --- | --- |
|
||||
| 현상 | |
|
||||
| 재현 조건 | |
|
||||
| 원인 (근거) | |
|
||||
| 조치 | |
|
||||
| 재시험 | |
|
||||
| 잔여 위험 | |
|
||||
|
||||
## 5. 구현 결과 및 시연 준비
|
||||
|
||||
- 실행 방법: `README.md` 절
|
||||
- 저장소 · 협업 URL:
|
||||
- 워크플로우 실행 화면: `docs/images/…`
|
||||
- 사용한 외부 서비스: (연습용 / 실제)
|
||||
- 테스트 계정 또는 인증 방법: (키 값은 쓰지 않음)
|
||||
- 시연 순서: (원본 요구 5절 7단계, 요청 파일 이름과 함께)
|
||||
|
||||
## 6. 제출 전 체크리스트
|
||||
|
||||
(원본 요구 6절 15개를 그대로 붙이고 체크)
|
||||
@@ -0,0 +1,60 @@
|
||||
# RAG 아키텍처 설계서 · <팀이름>
|
||||
|
||||
> 원본 요구 4절 산출물 2의 구조를 따릅니다. 표의 값은 **잰 값**으로 채우고, 잰 방법(명령 · 보고서 파일)을 적습니다. [05-RAG-DESIGN-GUIDE](../05-RAG-DESIGN-GUIDE.md) 참고.
|
||||
|
||||
## 1. 원본 문서
|
||||
|
||||
| 항목 | 값 |
|
||||
| --- | --- |
|
||||
| 대상 문서 | 데이터 API `/docs` 8개 (+ 관리자 전용 1개) + 팀 `knowledge/` <N>개 |
|
||||
| 문서 형식 | 마크다운 (`#` 제목, `##` 절) |
|
||||
| 문서 길이 | 글자 수 최소 · 중앙 · 최대 (`chunk_stats.py`) |
|
||||
| 언어 | |
|
||||
| 갱신 주기 | |
|
||||
| 접근 권한 | `access_level` 값과 기준 |
|
||||
|
||||
## 2. 전처리 및 청킹
|
||||
|
||||
| 항목 | 우리 선택 | 비교한 다른 선택 | 근거 (숫자) |
|
||||
| --- | --- | --- | --- |
|
||||
| 청킹 단위 | | | |
|
||||
| 오버랩 | | | |
|
||||
| 청크 앞에 붙이는 것 | 문서 제목 · 절 제목 | | |
|
||||
| 표 · 목록 처리 | | | |
|
||||
|
||||
청크 길이 분포:
|
||||
|
||||
| 방식 | 청크 수 | 길이 최소 | 중앙 | 최대 | hit@3 (질문 <N>개) |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
|
||||
## 3. 임베딩
|
||||
|
||||
| 항목 | 값 | 근거 |
|
||||
| --- | --- | --- |
|
||||
| 모델 | | 성능 · 다국어 · 도메인 · 비용 |
|
||||
| 벡터 차원 | | |
|
||||
| 거리 방식 | | |
|
||||
| top_k | | 비교한 값과 결과 |
|
||||
| 점수 기준 (근거로 쓰는 최소 점수) | | 정상 · 결과 없음 질문의 점수 분포 |
|
||||
| 색인 비용 | 토큰 <N> · 약 $<x> (단가 출처) | |
|
||||
|
||||
## 4. 인덱스 및 메타데이터
|
||||
|
||||
| 항목 | 값 |
|
||||
| --- | --- |
|
||||
| 컬렉션 · 메모리 키 이름 | `tech_support_kb_v1` … (명명 규칙) |
|
||||
| 버전 · 전환 방법 | |
|
||||
| 메타데이터 | `doc`, `title`, `section`, `chunk`, `access_level`, `type`, `updated_at`, `source_url` |
|
||||
| 검색 전 필터 | 권한 (어떻게) |
|
||||
| 검색 후 처리 | 중복 청크 제거 · 점수 기준 미달 제외 |
|
||||
| 파티션 | (권한별 키 등) |
|
||||
|
||||
## 5. 백업 · 복구 및 확장
|
||||
|
||||
| 항목 | 오늘 구현 · 잰 것 | 운영 설계 |
|
||||
| --- | --- | --- |
|
||||
| 원본 백업 | git 저장소 | |
|
||||
| 색인 재생성 | `<팀>-index` 한 번에 <N>초 · 청크 <M>개 | |
|
||||
| 롤백 | | |
|
||||
| 부분 재처리 | | |
|
||||
| 확장 (문서 ×10 · ×100) | 오늘 숫자에서 어림 | 지속형 저장소 · 배치 · 파티션 |
|
||||
@@ -0,0 +1,48 @@
|
||||
# 팀 헌장 · <팀이름>
|
||||
|
||||
> 80일차 2교시에 쓰고 `docs/TEAM-CHARTER.md`로 저장합니다. 바뀌면 고치고 날짜를 적습니다.
|
||||
|
||||
## 1. 팀
|
||||
|
||||
| 이름 | 역할 (주 담당) | 함께 보는 역할 | 맡는 워크플로우 파일 |
|
||||
| --- | --- | --- | --- |
|
||||
| | 리드 · 통합 | | `<팀>-support.json` (병합) |
|
||||
| | 오케스트레이션 | | |
|
||||
| | RAG | | `<팀>-index.json`, `<팀>-search.json` |
|
||||
| | 연동 · 안정성 | | `<팀>-handoff.json`, `<팀>-errors.json` |
|
||||
| | 시험 · 품질 | | `cases/team.json` |
|
||||
|
||||
## 2. 목표 (한 문장)
|
||||
|
||||
예: "계정 · VPN · 메일 · 보안 사고 네 유형의 문의에 근거와 함께 답하고, 근거가 없거나 긴급하면 반드시 이관한다."
|
||||
|
||||
## 3. 범위
|
||||
|
||||
| 처리할 문의 유형 | 처리 방식 (자동 답변 / 보완 질문 / 항상 이관) | 근거 문서 |
|
||||
| --- | --- | --- |
|
||||
| | | |
|
||||
|
||||
하지 않을 것 (범위 밖):
|
||||
|
||||
## 4. 규칙
|
||||
|
||||
- 공통 계약은 리드의 허락 없이 바꾸지 않는다.
|
||||
- 한 사람 = 한 워크플로우 파일. 남의 파일은 말하고 고친다.
|
||||
- 고칠 때마다 공통 시나리오를 다시 돌리고, 커밋 메시지에 통과 수를 쓴다.
|
||||
- 키 · 토큰은 Credential에만. 커밋 전 `tscan staged`.
|
||||
- 82일차 11:00 동결: 그 뒤로는 시험 · 문서만.
|
||||
- 막히면 30분 안에 팀에, 1시간이면 강사에게.
|
||||
|
||||
## 5. 저장소 · 연락
|
||||
|
||||
| 항목 | 값 |
|
||||
| --- | --- |
|
||||
| 저장소 | |
|
||||
| 웹훅 경로 | `<팀>-support` |
|
||||
| 시연 노트북 | |
|
||||
| 회의 시각 | 매일 1교시 처음 10분 |
|
||||
|
||||
## 6. 바뀐 것
|
||||
|
||||
| 날짜 | 바뀐 것 | 까닭 |
|
||||
| --- | --- | --- |
|
||||
@@ -0,0 +1,49 @@
|
||||
# 주제 제안서 · <팀이름>
|
||||
|
||||
> 80일차 2교시 처음 20분에 쓰고 강사에게 보여 줍니다. 승인되면 `docs/TOPIC.md`로 저장하고 팀 헌장 2절에 주제를 적습니다. [11-TOPIC-GUIDE](../11-TOPIC-GUIDE.md) 참고.
|
||||
|
||||
## 1. 주제 한 줄
|
||||
|
||||
"<어느 회사>의 <누구>를 위한 <어떤 기술 지원> 자동화"
|
||||
|
||||
예: "B2B 협업 SaaS 회사의 고객사 관리자를 위한 제품 기술지원 자동화"
|
||||
|
||||
## 2. 큰 틀 조건 (모두 ✔여야 함)
|
||||
|
||||
| # | 조건 | 우리 주제에서 | ✔ |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | 기업의 기술 지원 업무 | | |
|
||||
| 2 | 지식 문서로 답할 수 있는 문의 | 문서 종류: | |
|
||||
| 3 | 사람에게 넘기는 경우 (티켓 · 담당자) | 이관 대상: | |
|
||||
| 4 | 권한 · 개인정보 문제 | | |
|
||||
| 5 | 멈출 수 있는 외부 시스템 | | |
|
||||
|
||||
## 3. 범위
|
||||
|
||||
| 문의 유형 (4~6개) | 처리 방식 (자동 답변 / 보완 질문 / 항상 이관) | 근거 문서 |
|
||||
| --- | --- | --- |
|
||||
|
||||
자동 답변하면 안 되는 경우:
|
||||
|
||||
## 4. 데이터 (기본 주제면 "데이터 API 그대로")
|
||||
|
||||
| 데이터 | 개수 | 누가 만드나 | 언제까지 |
|
||||
| --- | --- | --- | --- |
|
||||
| 지식 문서 (`knowledge/`) | 6개 이상 | | 80일차 6교시 |
|
||||
| 사용자 (`data/users.json`) | 5명 이상 | | |
|
||||
| 접수 · 업무 기록 (`data/records.json`) | 4건 이상 | | |
|
||||
|
||||
## 5. 공통 시나리오를 옮긴 예 (세 개만 먼저)
|
||||
|
||||
| ID | 우리 주제의 질문 | 기대 |
|
||||
| --- | --- | --- |
|
||||
| WF-01 | | |
|
||||
| WF-05 | | |
|
||||
| WF-12 | | |
|
||||
|
||||
## 6. 강사 확인
|
||||
|
||||
- [ ] 조건 5가지
|
||||
- [ ] 범위가 3일에 맞음
|
||||
- [ ] 다른 팀과 겹치지 않음 (또는 겹쳐도 됨)
|
||||
- 메모:
|
||||
@@ -0,0 +1,85 @@
|
||||
# 노코드 워크플로우 설계서 · <팀이름>
|
||||
|
||||
> 원본 요구 [KSM-REQ](../../Req/KSM-REQ.md) 4절 산출물 1의 구조를 따릅니다. `<…>`와 예시를 **우리 팀의 실제 구현 · 측정값**으로 바꿉니다. 노드 이름은 `workflows/*.json`의 실제 이름과 같아야 합니다.
|
||||
|
||||
## 1. 업무 시나리오
|
||||
|
||||
(누가 · 어디서 · 무엇을 묻고 · 워크플로우가 무엇을 하고 · 언제 사람에게 넘기나, 한 문단)
|
||||
|
||||
| 처리할 문의 유형 | 처리 방식 | 근거 문서 | 긴급도 기준 |
|
||||
| --- | --- | --- | --- |
|
||||
|
||||
## 2. 전체 흐름
|
||||
|
||||
1. 문의 수신 (Webhook `<팀>-support`)
|
||||
2. …
|
||||
(원본 예시 10단계를 우리 구현에 맞게)
|
||||
|
||||
## 3. 워크플로우 흐름도
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
A["문의 수신"] --> B["…"]
|
||||
```
|
||||
|
||||
워크플로우 파일:
|
||||
|
||||
| 파일 | 웹훅 · 트리거 | 맡은 사람 | 노드 수 |
|
||||
| --- | --- | --- | --- |
|
||||
|
||||
## 4. 에이전트 역할 · 분기 · 병렬 · 루프
|
||||
|
||||
### 4.1 역할 카드
|
||||
|
||||
| 역할 | 목적 | 입력 | 출력 (JSON) | Tool | 하지 않는 것 | 노드 이름 |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
|
||||
### 4.2 구조
|
||||
|
||||
| 구조 | 어디 (노드) | 목적 | 기준값 · 최대 횟수 | 확인한 시나리오 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 분기 | | | 신뢰도 기준 <잰 값> | |
|
||||
| 병렬 | | | — (잰 시간: ) | |
|
||||
| 루프 | | | 최대 <N>회 | |
|
||||
|
||||
## 5. 외부 연동 노드
|
||||
|
||||
| 노드 | 연동 대상 (연습용 → 실제 운영) | 인증 | 입력 | 출력 | 오류 처리 (재시도 · 중단 · 이관 · 알림) |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| | 팀 Webhook → Slack Trigger | Header Auth → OAuth | | | 401 |
|
||||
| | `POST /tickets` → Jira | Header Auth(`X-Api-Key`) → API Token | | | |
|
||||
| | `POST /alerts` → Slack · Email | | | | |
|
||||
| | `GET /tickets/<id>` → 사내 API | | | | |
|
||||
|
||||
## 6. 노드 간 페이로드 (연결선마다)
|
||||
|
||||
| 연결선 (보내는 노드 → 받는 노드) | 필수 필드 | 선택 필드 | 변환 로직 | 예시 (실제 실행에서, 개인정보 가림) |
|
||||
| --- | --- | --- | --- | --- |
|
||||
|
||||
요청 · 응답 계약 (공통):
|
||||
|
||||
```json
|
||||
{"request_id": "…", "user": "…", "question": "…", "channel": "…", "attempt": 1}
|
||||
```
|
||||
|
||||
```json
|
||||
{"request_id": "…", "route": "…", "answer": "…", "sources": [], "ticket": null, "agents": [], "security": {}, "timings": {}}
|
||||
```
|
||||
|
||||
## 7. 오류 처리
|
||||
|
||||
| 상황 | 알아채는 노드 | 처리 | 사용자 응답 | 기록 | 확인한 시나리오 |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 인증 실패 | | | | | |
|
||||
| 호출 한도 (429) | | | | | |
|
||||
| 검색 결과 없음 | | | | | WF-03 |
|
||||
| 외부 API 장애 | | | | | WF-04 |
|
||||
| 중복 요청 | | | | | WF-09 |
|
||||
| LLM 멈춤 | | | | | WF-10 |
|
||||
|
||||
Error Workflow: `<팀>-errors` (게시 여부 · 지정한 워크플로우)
|
||||
|
||||
## 8. 64~79일차에서 가져온 것
|
||||
|
||||
| 가져온 것 (일차 · 파일) | 어디에 | 바꾼 것 |
|
||||
| --- | --- | --- |
|
||||
Reference in new issue
Block a user