모델 오케스트레이션 · 지휘와 실행 나누기
서브에이전트 모델 고정, 위임 규칙, 고부담 결정의 병렬 독립 검증. 실제 세팅·테스트 기록 기반.
제일 비싼 모델은 판단에만 쓰고, 실행은 단가가 맞는 모델로 내리는 구조를 만듭니다. 이론이 아니라 실제로 세팅하고 돌려본 기록입니다.
한 줄 요약
서브에이전트에 모델을 고정하고 위임 규칙을 문서에 박으면, “이건 누가 할까”를 매번 사람이 판단하지 않아도 규칙이 대신 판단합니다.
왜 나누나
AI 도구의 모델들은 단가가 다릅니다. 가장 능력이 좋은 모델은 가장 비쌉니다. 그런데 그 모델한테 보일러플레이트를 짜게 하고 테스트를 돌리게 하면, 비싼 토큰이 제일 싼 일에 녹습니다.
해법은 조직 설계와 같습니다. 리더가 실무를 다 하지 않는 것처럼, 비싼 모델은 계획하고, 쪼개고, 검수하고, 종합만 합니다. 손은 다른 모델들이 씁니다.
세 역할 구조
| 역할 | 맡는 일 | 모델 기준 |
|---|---|---|
| 오케스트레이터 | 계획, 분배, 검수, 종합 | 고단가 모델 (판단 전용) |
| 무거운 추론 워커 | 아키텍처, 복잡한 디버깅, 알고리즘 | 중~고단가 고정 |
| 기계적 실행 워커 | 보일러플레이트, 테스트, 포매팅 | 저단가 고정 |
핵심은 서브에이전트 정의 파일의 frontmatter입니다. Create custom subagents 공식 문서에 따라 model: 필드로 특정 모델을 고정할 수 있습니다.
---
name: fast-worker
description: 기계적인 실행 전담. 보일러플레이트, 테스트, 포매팅.
model: sonnet
tools: Read, Write, Edit, Grep, Glob, Bash
---
이렇게 고정하면 위임할 때마다 모델을 고르지 않아도 됩니다. 다만 명시하지 않으면 서브에이전트가 상위 세션의 모델을 그대로 물려받습니다. 비싼 모델이 메인일 때 모델 지정 없이 워커를 만들면, 워커도 비싼 모델로 돌아갑니다.
Advisor 패턴과 반대 방향, 같은 목적
Claude Code에는 원래 반대 방향 기능이 있습니다. Advisor tool은 저단가 모델이 실행하다가 어려운 결정만 고단가 모델에게 물어봅니다.
오케스트레이션은 이를 뒤집습니다. 고단가 모델이 위에서 지휘하고, 실행 토큰은 전부 아래 모델들이 씁니다. 방향은 반대지만 노리는 것은 하나입니다. 제일 비싼 토큰을 판단에만 쓰기.
오케스트레이터의 컨텍스트를 가볍게 유지하라는 규칙도 같은 이유입니다. 지휘자의 컨텍스트가 부풀면 그만큼 비싼 입력 토큰이 매 턴 반복해서 나갑니다.
설정 4단계
- 지휘자 모델 선택 — 세션 메인 모델을 판단 전용 고단가 모델로 올립니다.
- 서브에이전트 생성 — 무거운 추론 워커와 기계적 실행 워커를 만들고, 각각 frontmatter에
model:을 고정합니다..claude/agents/폴더를 직접 편집하거나 “서브에이전트 만들어줘”라고 시키면 됩니다. - 다른 관점 도구 연결 (선택) — 다른 학습 배경을 가진 외부 모델을 동료로 붙입니다. OpenAI Codex plugin이 공식 경로입니다.
- 위임 규칙 기입 — CLAUDE.md 또는 AGENTS.md에 규칙을 박습니다. “추론이 무거운 단계는 OO에게, 기계적인 일은 OO에게. 네 컨텍스트는 가볍게 유지해라.”
규칙이 파일에 없으면 세션마다 다시 설명해야 하고, 설명을 잊으면 구조가 무너집니다.
고부담 결정은 병렬 독립 검증
중요한 판단이 걸리면 서로 다른 두 모델에 같은 문제를 던집니다. 서로의 답을 보여주지 않습니다. 한쪽 답이 다른 쪽을 오염시키는 것을 막기 위해서입니다.
독립적으로 나온 두 답을 오케스트레이터가 받아, 상황 맥락을 더해 종합합니다.
실제로 돌려본 결과가 이 패턴의 가치를 보여줍니다. 문의 폼 백엔드를 자체 구현할지 서드파티를 쓸지, 같은 질문을 두 모델에 독립적으로 던졌습니다. 답이 갈렸습니다. 한 모델은 운영 부담을 근거로 서드파티를, 다른 모델은 통제력을 근거로 자체 구현을 추천했습니다. 오케스트레이터가 상황(런칭 전, 저트래픽)을 반영해 결론을 냈습니다. 두 답이 같았다면 확신을, 갈렸다면 놓친 관점을 얻습니다.
실제 검증 로그
이 구조를 같은 날 세션에서 세팅하고 전부 돌려봤습니다.
- 고정 모델 서브에이전트 두 개를 만들어 병렬로 호출했습니다. 실행 워커는 코드 작성과 테스트 통과까지, 추론 워커는 구조화된 트레이드오프 분석을 반환했습니다.
- 외부 CLI 도구를 연결하는 과정에서 설치 손상을 발견했고, 재설치로 복구한 뒤 정상 응답을 확인했습니다.
- 고부담 결정 병렬 검증에서 두 모델의 답이 실제로 갈렸고, 오케스트레이터 종합으로 마무리했습니다.
자주 하는 실수
- 비싼 모델에 검색을 시킵니다. 웹서치 같은 잡일은 판단이 아닙니다. 실제로 최고 단가 모델에 웹서치를 시켰다가 세션 토큰의 90퍼센트를 쓴 사례가 있습니다. 검색·수집·단순 변환은 저단가 워커의 일입니다.
- 서브에이전트를 만들 때 모델을 지정하지 않습니다. 지정하지 않으면 메인 모델을 물려받습니다. 위임했는데 절약이 안 되는 가장 흔한 원인입니다.
- 규칙을 채팅으로만 말합니다. 문서에 없는 규칙은 다음 세션에 사라집니다.
- 모든 작업을 위임하려 합니다. 위임에도 왕복 비용이 있습니다. 한 줄 수정 같은 작은 일은 직접 하는 편이 쌉니다.
체크리스트
- 서브에이전트 파일에
model:필드가 있다 - 위임 규칙이 CLAUDE.md 또는 AGENTS.md에 있다
- 실제 위임 1회를 실행해 결과를 받았다
- 검색·수집 작업이 비싼 모델로 가지 않게 규칙에 명시했다
출처
- Create custom subagents — Claude Code Docs
- Escalate hard decisions with the advisor tool — Claude Code Docs
- OpenAI Codex plugin for Claude Code — GitHub
- 아이디어 원출처: Threads @unclejobs.ai (2026-07)
- 내부 수업자료:
projects/solv/lessons/2026-W27/model-orchestration-fable-codex/