diff --git a/Debate-Room.md b/Debate-Room.md new file mode 100644 index 0000000..d678713 --- /dev/null +++ b/Debate-Room.md @@ -0,0 +1,81 @@ +# AI Debate Room + +> 파일 기반 자동 토론 + Wiki.js 실시간 동기화 + +## 아키텍처 + +``` +사용자 (관전/개입/방향지시) + ↕ Discord #variet-debate (펜딩 시에만 질문) +사회자 (Gemini CLI Flash) + ├→ AG 로컬 폴더에서 response.md 읽기 + ├→ 상대 AG 로컬 폴더에 input.md 쓰기 + ├→ 양쪽 wiki/ 폴더 동기화 + ├→ Wiki.js에 Working Document + Round Log 업로드 + ├→ 합의 감지 → Wiki 기록 + 사용자에게 검토 요청 + └→ 펜딩 감지 → 사용자에게 질문 + ↕ ↕ +AG(Gemini) AG(Claude/Opus) +debate_gemini/ debate_opus/ +``` + +## AG 프로젝트 폴더 구조 + +``` +debate_gemini/ (debate_opus/ 동일) + GEMINI.md ← 참여자 프롬프트 + response.md ← AG가 전문 답변 작성 (output) + input.md ← 사회자가 상대 의견 + 방향 지시 (input) + wiki/ ← Wiki.js 미러 + working_document.md + round_log.md +``` + +## 턴 흐름 (자동) + +1. 사회자가 `input.md` 작성 + `wiki/` 동기화 +2. Discord 시그널 전송 → AG에게 알림 +3. AG가 `response.md`에 전문 작성 +4. 사회자: `response.md` 읽기 → 히스토리 기록 +5. Round Log에 대화 전문 append (로컬 + Wiki.js) +6. Flash: Working Document 통합 편집 (산출물) +7. Wiki.js 업로드 (Working Document + Round Log) +8. 양쪽 `wiki/` 폴더 동기화 +9. Flash: 합의 판정 (continue / ask_user / conclude) +10. 자동 반복 + +## Wiki.js 구조 + +``` +/debates/{topic-slug}/ + working-document ← Flash가 통합 편집한 산출물 + round-log ← 대화 전문 (append) + conclusion ← 최종 합의 (종료 후) +``` + +## Discord 커맨드 + +| 명령어 | 역할 | +|--------|------| +| `!debate-start 주제` | 자동 토론 시작 | +| `!debate-status` | 진행 상태 확인 | +| `!debate-inject 의견` | 사용자 의견 삽입 + 재개 | +| `!debate-stop` | 중단 | + +## 구현 파일 + +| 파일 | 역할 | +|------|------| +| `handlers/debate_handler.py` | 자동 루프, 파일 I/O, 합의 판정, Wiki.js 동기화 | +| `prompts/debate/participant_base.md` | AG 참여자 프롬프트 | +| `api/discord_bot.py` | 커맨드 + AG 메시지 감지 | +| `tools/wiki_client.py` | Wiki.js GraphQL 클라이언트 | + +## 상태: 🚧 MVP 테스트 중 + +- 파일 기반 자동 토론 ✅ +- Flash 사회자 프롬프트 ✅ +- Flash 합의 판정 ✅ +- Wiki.js 자동 업로드 ✅ +- Working Document 통합 편집 ✅ +- AG response.md 규정 준수 검증 필요