| name | ai-edu-debate |
| description | AI 교육에 대한 다양한 입장을 가진 5명 전문가(기술낙관·전통주의·정책·인지과학·산업계)의 의견을 claude -p 서브프로세스로 독립 생성한 뒤, 에이전트 팀 토론을 거쳐 전략 보고서를 작성. 토론 과정은 브라우저 라이브 뷰어(http://127.0.0.1:8765)로 실시간 스트리밍. "AI 교육 토론", "AI 교육 전략 보고서", "전문가 토론 보고서", "다관점 토론", "AI 교육 의견 수렴", "교육 정책 보고서", "AI 교육에 대한 전략", "전문가 의견 토론", "토론 실시간 보기", "라이브 뷰어", "토론 페이지" 등의 요청 시 반드시 이 스킬을 사용. 재실행·부분수정·보완 요청도 이 스킬로 처리. |
AI 교육 다관점 토론 → 전략 보고서
5명 전문가의 독립 의견 생성 → 팀 토론 → 전략 보고서 합성을 오케스트레이션한다.
실행 모드 (하이브리드)
- Phase 1 독립 의견 생성: Bash로
claude -p 서브프로세스 5개 병렬 호출 (사용자 명시 요청)
- Phase 2 토론: 에이전트 팀 (5 전문가 + 진행자 1명, 총 6명)
- Phase 3 전략 보고서: 단일 서브 에이전트 (strategy-analyst)
라이브 뷰어 (필수)
모든 실행은 브라우저 라이브 뷰어를 동반한다. 사용자가 토론 진행을 실시간으로 관전할 수 있게 한다.
아키텍처: 파일 기반 SSE 스트림
- 모든 에이전트/스크립트는
_workspace/stream.jsonl에 이벤트를 append
live_server.py가 해당 파일을 tail하여 /events SSE로 브라우저에 push
- 브라우저(
assets/index.html)는 EventSource로 구독하여 전문가별 색상으로 렌더링
Phase 0 직전에 반드시 서버를 띄운다:
bash .claude/skills/ai-edu-debate/scripts/start_live.sh _workspace
사용자에게 URL을 안내한다.
이벤트 emit 규약: 모든 단계에서 다음 스크립트로 이벤트를 기록한다.
WORKSPACE=_workspace bash .claude/skills/ai-edu-debate/scripts/emit.sh \
"<phase>" "<who>" "<text>"
<phase>: "Phase 1 — 독립 의견 생성", "Phase 2 — 라운드 1 포지션", "Phase 2 — 라운드 2 반박", "Phase 2 — 라운드 3 쟁점", "Phase 2 — 라운드 4 합의", "Phase 3 — 전략 보고서"
<who>: techno-optimist / traditionalist / policy / cogsci / industry / moderator / analyst / system
<text>: 발언 원문 (개행 포함 가능, 큰따옴표는 이스케이프)
Phase 1(claude -p)은 generate_opinion.sh가 자동으로 emit한다.
Phase 2의 진행자(moderator) 에이전트는 각 발언을 수집할 때마다 emit.sh를 호출해야 한다. 에이전트 프롬프트에 반드시 이 지시를 포함시킨다.
Phase 3의 strategy-analyst는 섹션 완성 시마다 요약을 emit한다.
종료: bash .claude/skills/ai-edu-debate/scripts/stop_live.sh _workspace — 사용자가 뷰어 종료를 명시할 때만 호출. 기본은 계속 띄워둔다(리뷰 가능하도록).
Phase 0: 컨텍스트 확인
_workspace/ 존재 확인
- 없음 → 초기 실행 (Phase 1부터)
- 있고 사용자가 "재실행/새 주제" →
_workspace를 _workspace_prev_$(date +%s)로 이동 후 새로 시작
- 있고 사용자가 "보고서만 다시/토론만 다시" → 해당 Phase부터 부분 재실행
- 주제를 사용자에게 확인 (기본: "AI 교육의 방향과 전략"). 사용자가 주제를 제공했다면 그대로 사용.
Phase 1: 5명 전문가 독립 의견 생성 (claude -p 병렬)
반드시 claude -p를 사용한다 (사용자 명시 요구사항). 에이전트 도구가 아닌 Bash 서브프로세스로 독립 세션에서 생성하여 교차 오염을 방지한다.
bash .claude/skills/ai-edu-debate/scripts/generate_all.sh _workspace "<주제>"
결과: _workspace/opinions/{techno-optimist,traditionalist,policy,cogsci,industry}.md 5개 파일.
생성 후 각 파일을 Read하여 간단히 요약을 사용자에게 보고한다.
Phase 2: 에이전트 팀 토론
- 이전 팀이 있으면
TeamDelete 후 새 팀 생성.
TeamCreate로 6명 팀 구성:
- debate-moderator (리더)
- expert-techno-optimist, expert-traditionalist, expert-policy, expert-cogsci, expert-industry
- 리더(moderator)에게
Agent 호출로 다음 지시:
_workspace/opinions/*.md 5개를 모두 읽어 초기 포지션 파악
- 4개 라운드 토론 진행 (라운드 구조는 debate-moderator.md 참조)
- 각 라운드 종료 시
_workspace/debate_log.md에 기록 누적
- 라운드 3~4에서 인사이트 후보를
_workspace/insights_raw.md에 누적
- 모든 Agent 호출에
model: "opus" 명시.
- 토론 완료 후
TeamDelete.
Phase 3: 전략 보고서 합성
strategy-analyst 에이전트를 Agent 도구로 호출 (model: "opus"):
- 입력:
_workspace/debate_log.md, _workspace/insights_raw.md, _workspace/opinions/*.md
- 출력:
_workspace/strategy_report.md → 사용자 최종 파일 AI_교육_전략보고서.md
Phase 4: 피드백 루프
완료 후 사용자에게 묻는다:
- "보고서에서 보완할 부분이 있나요?"
- "특정 전문가 의견이 빠진 관점이 있나요?" → 에이전트 추가 진화 트리거
피드백은 CLAUDE.md 변경 이력에 기록.
데이터 전달 규약
- 중간 산출물:
_workspace/ (보존)
- 파일명:
opinions/{expert}.md, debate_log.md, insights_raw.md, strategy_report.md
- 최종: 사용자 지정 경로 또는
AI_교육_전략보고서.md
에러 핸들링
claude -p 실패 → 1회 재시도. 재실패 시 해당 전문가를 4명 체제로 진행하고 보고서에 누락 명시.
- 토론 중 특정 전문가 무응답 → moderator가 다음 라운드로 진행, 로그에 누락 기록.
- 상충 주장은 삭제 금지, 보고서에 양측 병기.
테스트 시나리오
정상 흐름: "AI 교육 토론 보고서 만들어줘" → Phase 0~4 전체 실행 → AI_교육_전략보고서.md 생성.
에러 흐름: claude -p 중 1개 실패 → 재시도 → 4인 체제 진행 → 보고서 부록에 누락 명시.
재실행: "보고서만 다시 써줘" → Phase 3만 재실행 (기존 debate_log.md 재사용).