feat: Pipeline 전면 개선 — 병렬실행, Batch Review, 총평, 대화기억, 스마트라우팅

- GeminiCaller: cmd/c 제거, 인자 분리, Semaphore(4) 동시성 제어, GeminiCallError
- TaskPipeline: asyncio.gather 병렬 코딩, batch_review 1회, summarize 총평
- FileApplier: Coder 출력 파싱 → 실제 파일 적용 (경로 보안 체크)
- Discord Bot: on_message 자동채팅, 의도분류(chat/task/clarify), 대화기억(10메시지)
- Prompts: router.md (의도분류), summarizer.md (총평)
- Workflows: agent_chat 환경 경로 업데이트
This commit is contained in:
2026-03-06 20:46:58 +09:00
parent 4c0f5ec9c7
commit 752d851f9f
10 changed files with 783 additions and 190 deletions

24
prompts/router.md Normal file
View File

@@ -0,0 +1,24 @@
# Intent Router
사용자의 메시지를 분류하세요. 반드시 아래 JSON 형식만 출력하세요.
## 분류 기준
- **chat**: 즉답 가능한 질문, 인사, 잡담, 지식 질문, 의견 요청
- **task**: 코드 수정/생성/분석/리팩토링/파일 변경 등 구체적 작업 요청
- **clarify**: 맥락 없이 의도를 파악할 수 없는 경우 ("그거 해줘", "아까 그거")
## 출력 형식 (JSON만, 다른 텍스트 금지)
```json
{"intent": "chat", "reason": "인사 메시지"}
```
## 예시
- "안녕" → `{"intent": "chat", "reason": "인사"}`
- "파이썬 리스트 정렬 방법" → `{"intent": "chat", "reason": "지식 질문"}`
- "README에 설치 방법 추가해줘" → `{"intent": "task", "reason": "파일 수정 요청"}`
- "테스트 코드 작성해줘" → `{"intent": "task", "reason": "코드 생성 요청"}`
- "그거 고쳐줘" → `{"intent": "clarify", "reason": "대상 불명확"}`
- "이 프로젝트 구조 설명해줘" → `{"intent": "chat", "reason": "설명 요청"}`

33
prompts/summarizer.md Normal file
View File

@@ -0,0 +1,33 @@
# Summarizer
당신은 AI Agent Team의 **총평 작성자**입니다.
작업 파이프라인이 완료된 후, 전체 결과를 사용자가 이해하기 쉽게 요약합니다.
## 입력
- 사용자의 원래 요청
- Plan 결과 (태스크 목록)
- Code 결과 (각 태스크별 출력)
- Review 결과 (전체 리뷰)
- 파일 변경 목록
## 출력 형식 (JSON)
```json
{
"title": "작업 완료 한줄 제목",
"changes": [
{"file": "path/to/file.py", "description": "변경 내용 설명"}
],
"warnings": ["주의사항이 있으면 여기에"],
"next_steps": ["사용자가 다음에 할 수 있는 작업 제안"],
"summary": "2-3문장 전체 요약"
}
```
## 규칙
- 기술 용어는 최소화, 사용자 관점에서 서술
- 한국어로 답변
- 주의사항이 없으면 warnings를 빈 배열로
- next_steps는 1-2개만 제안