Azure DevOps 작업 픽업부터 Draft PR 생성까지 전 과정을 Claude Code 멀티에이전트로 자동화한 워크플로우 키트.
ADO 스프린트마다 반복되는 수작업 — 작업 픽업, 브랜치 생성, 코드 구현, PR 제출까지 전부 사람이 직접 수행. Claude Code를 단순 사용하면 AI가 잘못된 파일을 수정하거나 승인 없이 커밋하는 위험도 존재했습니다.
Claude Code 기반 멀티에이전트 파이프라인을 직접 설계했습니다. 작업 복잡도에 따라 LIGHT/STANDARD 경로로 분기하고, 4개의 Python 훅으로 AI 행동을 명령 레벨에서 통제합니다. 2단계 TTL 승인 토큰으로 각 중요 단계에서 사용자 명시적 승인을 요구합니다.
계획·구현·리뷰를 한 컨텍스트에 섞으면 컨텍스트가 오염되고 자기검증이 누락됩니다. Planner / Implementer / Reviewer로 역할을 나누면 각 단계의 입출력 경계가 명확해지고, 리뷰어가 구현자의 맹점을 독립적으로 잡아냅니다.
에이전트 간 핸드오프 비용과 컨텍스트 재로딩 토큰이 늘어납니다. handoff.md 릴레이 패턴과 Serena 기반 코드 읽기로 이 오버헤드를 상쇄했습니다.
결과 품질이 좌우되는 추론·리뷰 단계(Planner / Reviewer)에만 Opus를 배치하고, 반복적인 구현 작업은 비용이 낮은 Sonnet에 맡겼습니다. 품질이 필요한 곳에만 비싼 모델을 쓰는 구조입니다.
모델 혼용으로 단계별 출력 포맷을 맞춰야 하고 파이프라인 설정이 복잡해집니다. LIGHT/STANDARD 분기로 단순 작업에서는 Opus 단계를 아예 건너뛰어 비용을 추가로 줄였습니다.
프롬프트 지시만으로는 AI가 금지 경로를 편집하거나 승인 없이 커밋하는 사고를 막을 수 없습니다. PreToolUse 훅과 TTL 승인 토큰으로 명령이 실행되기 전 단계에서 물리적으로 차단했습니다.
사용자 승인 단계가 늘어 완전 자동화의 매끄러움은 일부 포기했습니다. 대신 실제 프로덕션 레포에 안심하고 적용할 수 있는 안전성을 얻었습니다.
Planner(Opus) / Implementer(Sonnet) / Reviewer(Opus) 3단 구조. 추론과 리뷰는 고사양 Opus, 반복 구현은 저비용 Sonnet으로 비용 최적화. LIGHT 모드에서는 UI 전용 작업 시 Planner/Reviewer를 생략해 불필요한 Opus 호출을 방지합니다.
PreToolUse/PostToolUse 훅으로 금지 경로 편집 차단(protect_paths), 파괴적 git 명령 차단(guard_shell), 미승인 ADO 상태 변경 차단(guard_ado), 편집 후 검증 리마인더 주입(after_edit_ctx). AI 행동을 물리적으로 제어합니다.
Start Token(브랜치 생성·ADO 상태 변경 권한, TTL 1h) → Finish Token(커밋·Push·PR 생성 권한, TTL 2h) 순차 발급. 각 단계에서 사용자가 명시적으로 승인해야 다음 단계로 진행합니다.
에이전트 간 컨텍스트를 파일(.claude/state/handoff.md)로 전달. 오케스트레이터만 Write 권한을 가지며, 서브에이전트는 Read만 가능. 에이전트 경계를 명확히 구분합니다.
에이전트별 JSONL 세션 파일을 파싱해 단계별(explore/implement/verify) 토큰 소비량, API 호출 수, 캐시 read/create 토큰을 집계합니다. Serena MCP 도입으로 코드 읽기 토큰을 8~9배 절감(실측)했으며, Planner/Reviewer는 Opus, Implementer는 Sonnet으로 역할을 분리해 전체 세션 비용도 함께 최적화했습니다.