자동화 동작
Chorus 플러그인을 연결하면, 이미 AI-DLC 워크플로에서 익숙한 워크플로 위에 몇 가지 동작이 더해집니다. 적절한 순간에 독립적인 검토를 촉구하고, 수작업 기록 없이 에이전트 세션을 추적하며, 무인 에이전트가 할 수 있는 일을 제약합니다. 이 페이지는 그 동작들을 설명합니다. 라이프사이클 단계나 런타임의 설치·실행·복구 방법은 반복하지 않습니다. 그것들은 각각 AI-DLC 워크플로, Chorus 데몬 운영하기, 세션 중단·재개하기, 그리고 에이전트 플랫폼 레퍼런스를 참고하세요.
검토자 서브에이전트
섹션 제목: “검토자 서브에이전트”플러그인은 파이프라인의 세 지점에 독립적인 품질 관문을 더합니다. 각 지점에서 PostToolUse 훅이 발화하며,
메인 에이전트에게 전용 읽기 전용 검토자 서브에이전트를 생성하도록 촉구하는 리마인더를 주입합니다.
검토자는 자동으로 실행되지 않습니다 — 메인 에이전트가 (포그라운드에서) 생성하고 결과를 기다립니다.
모든 검토자는 마지막에 PASS, PASS WITH NOTES, 또는 FAIL 판정을 담은 댓글 하나를 게시합니다.
PASS/PASS WITH NOTES— 작업은 계속됩니다. 메모는 참고용입니다.FAIL— 나열된 차단 요소를 먼저 고치고 작업을 재제출해야 다음으로 넘어갑니다.
검토자는 엄격히 읽기 전용입니다. 파일을 편집·작성·생성할 수 없습니다(proposal reviewer는 셸 명령을 전혀 실행할 수 없고, task reviewer와 code reviewer는 읽기 전용 및 테스트/빌드 명령만 실행할 수 있습니다). 그 역할은 작성자가 놓친 것을 찾아내는 것이지, 무언가를 바꾸는 것이 아닙니다.
| 검토자 | 발화 시점 | 검토 대상 | 판정 게시 위치 |
|---|---|---|---|
| Proposal reviewer | chorus_pm_submit_proposal 이후 | 문서 완전성, 작업 세분성, 수락 기준과의 정합, 그리고 의존성 그래프 | 제안 |
| Task reviewer | chorus_submit_for_verify 이후 | 그 작업의 구현이 수락 기준과 제안 문서를 충족하는지 | 작업 |
| Code reviewer | 아이디어를 뿌리로 하는 제안의 마지막 작업이 검증될 때(chorus_admin_verify_task) | 그 아이디어의 모든 작업에 걸친 집계 변경 — 작업 간 통합, 아키텍처 이탈, 보안, 회귀, 기능 수준 커버리지 | 아이디어 |
Code reviewer는 출시 직전의 최종 관문입니다. 아이디어를 뿌리로 하는 제안의 마지막 작업이 검증될 때만
실행되며, 단일 작업이 아니라 기능 전체를 한 번에 검토합니다. 이 촉구들을 트리거하는 세 매처는
public/chorus-plugin/hooks/hooks.json에 정의되어 있습니다.
검토자 켜기 또는 끄기
섹션 제목: “검토자 켜기 또는 끄기”이 검토자들은 플러그인을 설치하거나 구성할 때 조정할 수 있는 userConfig 설정으로 제어됩니다. 각 검토자에는
켜기/끄기 토글(모두 기본 켜짐)과, 사람에게 에스컬레이션하기 전에 “검토-수정” 루프를 몇 번까지 돌릴지
제한하는 최대 라운드 상한이 있습니다.
| 설정 | 유형 | 기본값 | 효과 |
|---|---|---|---|
enableProposalReviewer | boolean | true | 제안 제출 후 proposal reviewer 생성을 촉구 |
enableTaskReviewer | boolean | true | 작업을 검증 요청한 후 task reviewer 생성을 촉구 |
enableCodeReviewer | boolean | true | 아이디어의 마지막 작업이 검증된 후 code reviewer 생성을 촉구 |
maxProposalReviewRounds | number | 3 | 사람에게 에스컬레이션하기 전의 최대 제안 검토-수정 라운드 수(0 = 무제한) |
maxTaskReviewRounds | number | 3 | 에스컬레이션 전의 최대 작업 검토 라운드 수(0 = 무제한) |
maxCodeReviewRounds | number | 3 | 에스컬레이션 전의 최대 코드 검토 라운드 수(0 = 무제한) |
어떤 검토자를 끄면 그 독립적인 품질 점검은 사라지지만 토큰 사용량은 줄어듭니다. 별도의 enableOpenSpec
토글이 OpenSpec 모드를 제어하며, 이는 별도 페이지에서 다룹니다.
세션 라이프사이클 훅
섹션 제목: “세션 라이프사이클 훅”두 번째 훅 그룹은 에이전트의 Chorus 세션을 자동으로 관리합니다. 그래서 당신도 에이전트도 세션을 손으로 열거나, 하트비트를 보내거나, 닫을 필요가 없습니다. 이들은 판단이나 촉구 없이 스스로 실행됩니다.
SessionStart— 연결성을 확인하고, 에이전트를 체크인하며, 플러그인이 미리 만들어 둔 세션이 있으면 찾아냅니다.SubagentStart— 생성된 워커가 시작되기 전에, 그 워커를 위한 Chorus 세션을 동기적으로 만들어 작업이 올바르게 귀속되도록 합니다.SubagentStop— 워커가 점유하던 모든 작업에서 그 워커를 체크아웃하고 세션을 닫습니다. 그래서 어떤 워커도 매달린 체크인이나 열린 세션을 남기지 않습니다.- 하트비트와 리마인더 — 유휴 워커는 하트비트를 보내 오래 실행되는 동안 세션이 비활성으로 표시되지 않게
합니다.
PostToolUse리마인더는 위에서 설명한 검토 지점에서 메인 에이전트를 촉구합니다.
이 훅들이 세션 라이프사이클을 관장하므로, 에이전트는 스스로 세션을 만들거나 닫아서는 안 됩니다. 이 세션들이 실행되는 런타임 자체를 관리하는 방법(시작, 작업 디렉터리 선택, 중단, 재개)은 Chorus 데몬 운영하기와 세션 중단·재개하기를 참고하세요.
헤드리스 데몬 세션: 대화형 프롬프트 금지
섹션 제목: “헤드리스 데몬 세션: 대화형 프롬프트 금지”에이전트가 데몬 세션으로 무인 실행될 때는, 팝업에 답할 사람이 터미널
앞에 없습니다. 헤드리스 세션은 결정에 이르기 위해 대화형 프롬프트(예: AskUserQuestion)를 사용해서는 안
됩니다 — 아무도 답할 수 없는 프롬프트는 실행 전체를 멈춰 세웁니다.
대신 에이전트는 모든 결정을 Chorus를 통해 되돌려 보내, 책임 있는 사람이 비동기로 응답할 수 있게 합니다.
- 작업이나 제안에 증거가 충실한 댓글을 게시하고, 필요한 정확한 조치(예: 관리자 검증)를 적어 책임자를 @mention 합니다.
- 실시간 답변을 기다리며 막히는 대신, 요구사항 구체화를 사용해 아이디어의 미해결 질문을 기록합니다.
이렇게 하면 감사 추적이 온전히 유지되고, 사람은 다음에 Chorus에 들어올 때 응답할 수 있으며, 세션은 표면에 띄울 수 없는 프롬프트에서 기다리지 않아도 됩니다. 이 인계 방식은 세션이 대화형이든 헤드리스든 동일하게 적용되며, 다만 헤드리스인 경우에만 대화형 프롬프트가 불가능해질 뿐입니다.
Codex의 차이점
섹션 제목: “Codex의 차이점”Codex 플러그인은 이식판이지 완전한 복제본이 아닙니다. Codex는 Claude Code와 같은 세 검토자(proposal,
task, code)를 실행하며, 각각 제안 제출 후, 작업을 검증 요청한 후, 그리고 아이디어를 뿌리로 하는 제안의
마지막 작업이 검증된 후에 동일한 PostToolUse / 훅 촉구로 실행됩니다. 다른 점은 검토자의 구성이 아니라
설정과 생성의 메커니즘입니다.
userConfig토글 표면이 없다. Codex는enable*검토 스위치도 라운드 상한 설정도 노출하지 않습니다. 검토 촉구는 Codex의 스킬과 훅이 직접 구동하므로, Claude Code처럼 설치 시에 끌 수 없습니다. 예를 들어 코드 검토 게이트웨이는 기본으로 켜져 있고, 비활성화할 토글이 없습니다.- 네이티브 생성. 메인 에이전트는 Claude Code의 Agent Teams가 아니라 Codex 자체의
spawn_agent/wait_agent를 통해 검토자를 호출하며,TeammateIdle과TaskCompleted훅에 해당하는 것은 Codex에 없습니다.
OpenClaw, Kiro, Pi 런타임에 대해서는 자동화를 “차이와 안내”로 다루세요. Claude Code의 동작을 그대로 가정하지 말고, 에이전트 플랫폼 레퍼런스 아래 각 런타임의 페이지에서 무엇을 지원하는지 확인하세요.
에이전트용
섹션 제목: “에이전트용”- 트리거:
chorus_pm_submit_proposal이후,PostToolUse훅이chorus:proposal-reviewer(포그라운드) 생성을 촉구합니다. 제안의VERDICT:댓글을 읽으세요.chorus_submit_for_verify이후,chorus:task-reviewer를 생성합니다. 작업의VERDICT:댓글을 읽으세요.- 아이디어를 뿌리로 하는 제안의 마지막 작업에 대해
chorus_admin_verify_task를 한 후, code reviewer를 생성합니다. 아이디어의VERDICT:댓글을 읽으세요. 이는 Claude Code (chorus:code-reviewer)와 Codex(chorus-code-reviewer) 양쪽에서 실행됩니다. - 검토자는 자동으로 실행되지 않습니다. 당신이 직접 생성하고 판정을 기다립니다.
PASS/PASS WITH NOTES는 계속,FAIL은 차단 요소를 고치고 재제출하라는 뜻입니다.
- 제약:
- 검토자는 읽기 전용입니다(Edit/Write/NotebookEdit 없음. proposal reviewer는 Bash 없음, task reviewer와 code reviewer는 읽기 전용 및 테스트/빌드 명령만 실행).
- 세 검토자(proposal, task, code) 전부가 Claude Code와 Codex 양쪽에 탑재됩니다. Claude Code 전용인
것은
userConfig토글 표면 —enable*스위치(enableProposalReviewer,enableTaskReviewer,enableCodeReviewer)와 라운드 상한(maxProposalReviewRounds,maxTaskReviewRounds,maxCodeReviewRounds, 기본 3,0= 무제한)입니다. Codex에는userConfig가 없으므로, Codex에서는 이 검토자들이 스킬과 훅이 직접 제어하며 설치 시에 끌 수 없습니다. chorus_create_session이나chorus_close_session을 호출하지 마세요. 세션 라이프사이클 훅 (SessionStart,SubagentStart,SubagentStop)이 관리합니다.- 헤드리스 데몬 세션은 대화형 프롬프트(
AskUserQuestion등)를 사용해서는 안 됩니다. 결정은 Chorus 댓글 +@mention과 요구사항 구체화를 통해 되돌려 보내세요.
- 출처:
- 훅 이벤트와
PostToolUse매처:public/chorus-plugin/hooks/hooks.json. - 검토자 역할:
public/chorus-plugin/agents/proposal-reviewer.md,public/chorus-plugin/agents/task-reviewer.md,public/chorus-plugin/agents/code-reviewer.md. userConfig토글과 라운드 상한(Claude Code 전용):public/chorus-plugin/.claude-plugin/plugin.json.- Codex는 같은 세 검토자를
userConfig표면 없이 탑재:plugins/chorus/skills/chorus-code-reviewer/SKILL.md,plugins/chorus/hooks/on-post-verify-task.sh(코드 검토 게이트웨이 촉구), 그리고plugins/chorus/.codex-plugin/plugin.json. - 훅과 스킬의 분담:
docs/chorus-plugin.md. - 헤드리스 상호작용 가드:
docs/DAEMON.md와develop/quick-dev스킬.
- 훅 이벤트와