본문으로 건너뛰기

Roundtable — 원탁 회의 엔진

"회람에서 원탁으로. 각자의 보고서가 서로를 만나는 자리."

목적

full-review 가 세 검수자의 보고서를 회람(回覽) 으로 종합한다면, 이 엔진은 전문가들이 서로 교차 질문·반박하며 하나의 결정에 이르게 한다. 관점이 충돌하는 문제 — 다음 글감, 검수 기준 개정, 새 엔진 도입 — 처럼 회람으로는 결론이 안 나는 아젠다를 다룬다("나도 모르고 AI도 모르는 것"의 영토, [[meeting-facilitation]] §1).

이 엔진은 하네스 시민권(트리거 자동발견·config 등록·로그 계약·red-team 배선)만 진다. 절차의 상세는 진행자 스킬에 위임한다 — full-review 가 "각 에이전트는 자신의 절차를 따른다"고 위임하는 관례와 같다.

7라운드 상세 절차·소환 프롬프트·수렴 루브릭·회의록 형식은 단일 소스를 따른다: .claude/skills/roundtable-keeper/ (SKILL.md + references/roundtable-protocol.md)

적용 대상

  • 관점이 충돌해 회람으로 결론이 안 나는 아젠다(발산/의사결정/리스크 점검)
  • 아젠다가 [[meeting-facilitation]] "지식 4분면"의 회람/주입/질문으로 해소되면 회의를 열지 않고 해당 도구로 돌린다
  • 미지정 시 — 진행자가 개회 5질문으로 아젠다를 확정한다

참여 에이전트

역할에이전트투입 시점
진행자원탁지기 (roundtable-keeper 스킬)전 라운드 (허브)
상설 반대자[[red-team]]5라운드만 (프리모템)
참여 전문가하네스 캐논 에이전트에서 동적 선정 ([[doc-reviewer]], [[style-enforcer]], [[terminology-keeper]], [[manuscript-architect]], [[docs-publisher]], [[internal-liaison]] 중 아젠다에 맞게)2·4라운드
즉석 전문가진행자가 합성 (페르소나 정의를 회의록에 명기)2·4라운드

agents: 순서 ≠ 라운드 순서. frontmatter 의 agents: [red-team] 은 "이 엔진에 상설로 배선된 에이전트"라는 뜻이지 발언 순서가 아니다. red-team 은 2라운드(독립 의견)가 아니라 5라운드에만 투입된다 — 공격할 재료가 있어야 하기 때문이다. 나머지 참여자는 아젠다에 따라 진행자가 roster 에서 동적으로 선정한다.

실행 순서

사용자: "회의 열어줘 / 주제·목적·산출물"


┌────────────────────────────────────┐
│ R0 개회 (진행자 단독) │
│ - 개회 5질문 고정 · roster 스캔 │
│ - 4분면 회람/주입/질문이면 회의 안 엶 │
└──────────────┬─────────────────────┘

┌────────────────────────────────────┐
│ R1 문제 정의 (진행자 단독) │
│ - 풀 문제를 1문장으로 고정 │
└──────────────┬─────────────────────┘

┌────────────────────────────────────┐
│ R2 독립 의견 [E1][E2]...[EN] │ ← 동시 병렬, 완전 격리(앵커링 방지)
└──────────────┬─────────────────────┘

┌────────────────────────────────────┐
│ R3 발산 (진행자: 익명 다이제스트) │ ← 발화자 익명화
└──────────────┬─────────────────────┘

┌────────────────────────────────────┐ ┌──────────────────────┐
│ R4 교차질문 │ │ R5 프리모템 │
│ 웨이브A(질문 병렬)→취합→웨이브B(답변) │◀══병렬══│ [red-team] 1회 소환 │
└──────────────┬─────────────────────┘ └──────────┬───────────┘
└────────────┬───────────────────────────┘

┌────────────────────────────────────┐
│ R6 수렴 (진행자 단독, 위임 금지) │ ← 20점 루브릭 채점, A/B/C 선택지
└──────────────┬─────────────────────┘

┌────────────────────────────────────┐
│ R7 결정·액션 (진행자 추천 → 인간 결정) │
└──────────────┬─────────────────────┘

harness/logs/roundtable/{yyyy-MM-dd-HH-mm-title}.md (강제 저장)

Step별 절차

각 라운드의 상세(소환 프롬프트·출력 형식·웨이브 배칭·회의록 템플릿)는 진행자 스킬의 단일 소스를 따른다. 여기서는 계약만 못박는다.

  • R0~R1 (개회·문제정의): 진행자가 개회 5질문을 고정하고 풀 문제를 1문장으로 확정. → references/roundtable-protocol.md §R0~R1.
  • R2 (독립 의견): 전문가 전원 동시 소환, 완전 격리(구조적 앵커링 방지). → §R2. (full-review 의 "3축 병렬 검토"와 동일 패턴 — Task 병렬이 가능하면 우선한다.)
  • R3 (발산): 진행자가 R2를 발화자 익명화 다이제스트로 압축. → §R3.
  • R4 (교차 질문): 웨이브A(질문 병렬 수집) → 진행자 취합 → 웨이브B(대상별 병렬 답변). 후속 심화는 SendMessage 재개. → §R4.
  • R5 (프리모템): [[red-team]] 1회 소환(4R과 병렬 가능). red-team.md 보고 형식 준수. → §R5.
  • R6 (수렴): 진행자 본인이 20점 루브릭으로 채점 — 서브에이전트 위임 금지. → §R6.
  • R7 (결정·액션): 진행자 추천 → 인간 최종 결정. → §R7.

로그 기록

  • 회의록: harness/logs/roundtable/{yyyy-MM-dd-HH-mm-title}.md — frontmatter(date +09:00 / agent: roundtable / type: meeting / mode: log-eval / trigger) 포함.
  • 미저장 = 회의 미완. 회의록에는 결정·보류·리스크·액션·미해결 unknown 이 반드시 담긴다.
  • red-team 은 자체 로그를 별도로 남기지 않고 회의록의 리스크 필드에 흡수된다(중복 방지, full-review 관례와 동일).

종료 조건

goal 도달 판정([[meeting-facilitation]] §5):

  • 결정 ≥ 1건, 또는 명시적 보류 + 사유 + 재개 조건
  • 액션아이템 각 4필드(누가/무엇을/언제까지/완료기준) 완비 — 공란이면 미완
  • 리스크 ≥ 1건(R5 연동)
  • 미해결 unknown 목록 대조 완료
  • 하드 상한: 서브에이전트 소환 ≤ 20 또는 sub-round ≤ 12. 초과 시 미결(escalate-to-human) 로 기록(조용한 봉합 금지)
  • 사용자 "여기까지" 선언 시 즉시 종료

한계

  • 완전 자동화 아님 — 최종 결정은 인간이 한다(원탁지기는 진행자이지 의사결정자가 아니다).
  • 회람으로 충분한 일에는 쓰지 않는다 — 기준과 원고를 대조하는 검수는 full-review 가 맞다. 회의는 관점이 충돌하는 문제 전용이다.
  • AI끼리의 낙관 수렴 위험은 red-team 5R로 상시 견제하나, 완전히 제거되지는 않는다 — 인간의 최종 판단이 마지막 안전장치다.

종합 평가 (정원지기 시점)

엔진 1회 실행이 끝나면 [[tamer]] 가 3축 평가:

평가기준
회의 효율A/B/C/D라운드 수, 재순환 횟수, 소환 대비 산출
결정 품질1~5goal 필수 필드 완비율, 액션아이템 실행 가능성
unknown 발굴A/B/C/D4라운드 교차질문이 새 unknown 을 실제로 드러냈는가