Opus 5를 다운그레이드하지 말고, 제멋대로 날뛰지 못하게 제어하세요
don't downgrade from opus 5, just stop letting it drive
핵심 요약
Claude Code에서 Opus 5를 단독으로 쓰지 말고 Fable 5를 오케스트레이터로 활용해 제어하는 전략을 공유합니다.
- 모델 역할 분담 — Fable 5를 오케스트레이터로, Opus 5를 실행자로 배치하여 모델의 과잉 행동을 방지함
- 프롬프트 제어 — CLAUDE.md와 모델별 페이로드 설정을 통해 각 모델의 작업 범위와 종료 조건을 명확히 함
- 비용 효율성 — Fable 5를 메인으로 사용하면서도 토큰 소모를 최적화하여 주간 한도 내에서 안정적인 운영 가능
- 실행 전략 — 모델 간 전환 없이 Fable이 하위 에이전트에게 작업을 위임하는 방식으로 워크플로우를 구성함
한 3주 전쯤 비행기 안에서 Claude Code의 Opus 5로 일을 좀 해보려고 했거든. 근데 5시간 동안 한 게 거의 없음. 이 새끼가 뭐가 고장 났는지 판단하기 전에 전체 맥락을 제대로 안 봐서, 멀쩡한 걸 문제라고 자꾸 우기는 거야. 처음엔 나도 속아서 고치라고 뒀지. 나중에 상황 파악하고 보니까 내 레포를 완전히 박살 내놨더라고. 결국 롤백하고 그날 작업은 그냥 날려버림.
Opus가 진짜 좋은 모델인 건 맞아서 더 짜증 나는 거임. CLAUDE.md에 한 줄 적어놓는 수준이 아님. 프롬프트마다 "요청한 범위만 딱 하고 쓸데없는 짓 하지 마라"는 내용을 주입하는 훅을 걸어놨거든. 내 규칙에 "부분 검색 실패했다고 전체가 문제라고 결론 내리지 마라", "내가 확인한 경로에 없다고 해서 존재하지 않는 건 아니다"라고 대문짝만하게 써놨음. 말로 해서 안 되길래 PreToolUse 코드 게이트까지 추가했는데도 여전히 지 맘대로임. 비행기 타기 전에는 오케스트레이터로 추론 강도를 낮춰서 돌렸는데, 그러면 딴짓은 안 하지만 비싼 돈 내고 최고 성능을 못 쓰는 거잖아. 그래서 롤백하고 나서는 Fable 5를 오케스트레이터로 세웠음. Fable이 전체 스펙을 짜서 Opus한테 던져주고, Opus는 최고 성능으로 실행만 하게 함. 그다음 Fable이 결과물을 검수하니까 Opus가 계속 목줄 잡혀 있는 꼴이지. 그러니까 그 지랄 같은 행동이 거의 사라짐.
난 20x Max 플랜 쓰면서 하루에 8~10시간씩 풀로 돌리니까 차이가 확 느껴짐. Fable이 차지하는 토큰 비중은 작아서 주간 한도 내에서 충분히 돌아가고, 자잘한 건 Haiku나 Sonnet한테 시킴. 데이터 가져오기나 단순 반복 작업 같은, 굳이 최상위 모델 안 써도 되는 것들 말이야.
이게 뭐 새로운 전략도 아니고 다들 비슷하게 하겠지만, Opus 목줄 꽉 잡고 대화할 때마다 혈압 안 오르면서 성능 뽑아먹기엔 이게 나한텐 최고임.
아무튼 내 규칙이랑 설정은 대충 이래.
CLAUDE.md에는 항상 적용되는 규칙을 박아놨고, rules/router.md에는 라우팅 맵, 그리고 model-postures.md에는 UserPromptSubmit 훅이 모델별로 프롬프트에 주입하는 페이로드를 넣어놨음.
FABLE 5 (orchestrator, main session)
"Fable 5 at high effort owns the main session, requirements, judgment,
integration, and final verification."
"Fable does not inline-execute large builds. For a bounded, difficult
implementation, Fable writes the spec, dispatches an Opus 5 executor
subagent, and verifies the result. Fable stays at requirements, judgment,
and integration; an executor converging fast on an approved spec is the
desired behavior, not a defect."
"Brief only the exact delta, scope, output, stopping condition, and
exclusions."
OPUS 5 (executor, injected into every prompt it sees)
"Deliver the requested scope and stop before unasked work."
"Correct an immaterial slip silently. Call it out only when it changes
a number, conclusion, or decision."
"Do not replace grounding or fresh retrieval with confidence or
self-review."
SONNET 5 (fan-out worker)
"Dispatch it freely for fan-out that needs per-item judgment: blind
reader panels, audits, workspace sweeps. Give it an exact brief,
defined output, and a stopping condition."
"Complete the exact requested deliverable and stop. Do not audit the
surrounding system, surface adjacent issues, or recommend extra
improvements."
"Diagnose or report does not authorize a fix. A one-file request does
not authorize related changes."
"Do not create or delegate to subagents."
HAIKU (mechanical worker)
"Haiku agents handle bounded mechanical reads and transforms. Exact
brief, compact return, no recursive delegation."
"Subagent returns come back as extracted key numbers and paths, never
raw dumps."

