PABCD 오케스트레이션
PABCD는 구조화된 개발 워크플로우입니다: Plan, Audit, Build, Check, Done. 다단계 프로젝트에 명시적 단계 전환과 직원 배치를 갖춘 반복 가능한 프레임워크를 제공합니다.
다섯 가지 단계
| 단계 | 이름 | 목적 |
|---|---|---|
| P | Plan | 요구사항을 구체적인 계획으로 분해합니다. 에이전트가 구조화된 계획 문서를 생성합니다. |
| A | Audit | 계획을 검토합니다. 직원들이 읽기 전용 검증자로 배치됩니다. 판정: 통과 또는 실패. |
| B | Build | 계획을 실행합니다. 워커들이 작업을 구현합니다. 구현 표현은 위임 규칙에 의해 보호됩니다. |
| C | Check | 구현을 검증합니다. 워커들이 검증자로 실행됩니다. 판정: done, needs_fix, 또는 fail. |
| D | Done | 오케스트레이션을 완료로 표시합니다. 상태를 정리하고 요약을 생성합니다. |
인터뷰 모드 (I)
Plan 단계에 진입하기 전에 /interview 명령어를 사용하여 모호한 요구사항을 구체화할 수 있습니다. 인터뷰 모드는 라운드당 1-3개의 질문을 하며 구조화된 트래커를 사용하여 파악된 사항과 미파악 사항을 추적합니다.
/interview Build a real-time dashboard for IoT sensor data
에이전트는 각 응답에서 <interview_tracker> 블록을 추출하여, Web UI 인터뷰 패널에 표시되는 파악/미파악 목록을 유지합니다. 요구사항이 명확해지면 상태가 Plan (P)으로 전환됩니다.
명령어
| 명령어 | 설명 |
|---|---|
/orchestrate P | Plan 단계 진입 |
/orchestrate A | Audit 단계 진입 |
/orchestrate B | Build 단계 진입 |
/orchestrate C | Check 단계 진입 |
/orchestrate D | Done 단계 진입 |
/orchestrate status | 현재 PABCD 상태 표시 |
/orchestrate reset | 모든 오케스트레이션 상태 초기화 |
/interview <request> | 요구사항 수집을 위한 인터뷰 시작 |
/deliberate <plan> | Planner/Architect/Critic 관점에서 계획 검토 |
/planaudit [plan] | 직원용 읽기 전용 감사 작업 텍스트 생성 |
CLI 동등 명령어: jaw orchestrate P|A|B|C|D|status|reset
파이프라인 흐름
orchestrate(prompt, meta)
1. Drain pending worker replays
2. Resolve scope (workingDir) + read current state
3. PABCD entry is explicit only (no auto-entry)
4. First planning turn: getStatePrompt('P') + user request
5. Inject prompt prefix + approved plan block (A/B/C)
6. Build memory injection (boss snapshot)
7. Spawn agent with origin and memory
8. Broadcast result + update worklog/state
상태 머신
오케스트레이터 상태 머신(src/orchestrator/state-machine.ts)은 여섯 가지 상태를 관리합니다: IDLE | P | A | B | C | D. 컨텍스트에는 다음이 포함됩니다:
auditStatus(pending/pass/fail)verificationStatus(pending/done/needs_fix)userApproved플래그worklogPathplanHash및planUpdatedAttaskAnchor및resolvedSelectioninterview(request/round/known/unknown)
계획 잠금
계획이 승인되고 상태가 A/B/C로 이동하면, 승인된 계획이 buildApprovedPlanPromptBlock()을 통해 모든 디스패치 프롬프트 상단에 주입됩니다. 워커는 계획을 재구성하거나 수정할 수 없으며, 오직 실행만 합니다.
각 디스패치에는 워커가 임시 디렉터리를 실제 저장소 루트와 혼동하지 않도록
Project root: <absolute path>가 포함됩니다.팁
- 복잡한 프로젝트에서는 불완전한 정보로 계획을 세우는 것을 피하기 위해 항상
/interview로 시작하세요. - 단계 전환은 명시적입니다 -- 계획이 완료되면 에이전트가
jaw orchestrate A를 실행하라고 알려줍니다. - 명시적인 worklog/PABCD 재개를 위해서는
/continue를 사용하세요. 자연어 "continue" 메시지는 일반 프롬프트로 처리됩니다. /orchestrate reset명령어는 활성 에이전트, 워커, 큐, 직원 세션, 상태, 워크로그 등 모든 것을 정리합니다.