2026-09-22자의 가격표는 뻔한 그림 하나를 그려준다. 아무도 하기 싫어하는 작업에는 GPT-6 Luna를 백만 입력 토큰당 $0.10에 투입하고,それを 검사하는 Agent에는 Claude Opus 5.5를 $4에 배치하면, 청구서의 일부 비용으로 대부분의 처리량을 유지할 수 있다. 이번 주에 많은 팀이 그렇게 구성하고 있고, 대부분은 리뷰처럼 보이지만 실제로는 아닌 무언가를 만들어낼 것이다.
실패는 어느 모델에도 있지 않다. 문제는 두 모델 사이의 간극을 넘어가는 것에 있다. 워커가 자기 작업에 대해 쓴 요약을 리뷰어가 읽는다는 것은 곧 주장(claim) 하나를 읽는 것이고, 리뷰어가 돌려줄 수 있는 것은 그 주장에 대한 판단뿐이다. "diff는 통과했다"고 워커가 말한다. "괜찮아 보인다"고 리뷰어가 말한다. 두 모델이 동의했다는 이유로 사람이 승인한다. 이는 가장 정보가 적은 종류의 동의다.
그래서 mixed-model Crew에서 흥미로운 질문은 어느 모델이 어디로 가느냐가 아니다. 핸드오프가 무엇을 담아야 하느냐다.
mixed-model Crew란 무엇인가
mixed-model Crew는 팀 단위가 아니라 역할별로 Runtime을 선택하는 Agent 그룹이며, 최소한 하나의 역할은 다른 Agent들의 출력을 검사하기 위해서만 존재한다.
리뷰어 Agent는 승인이 아니다. 사람이 보기 전에 생성되는, 비용이 드는 세컨드 오피니언이며, 그 덕분에 사람은 더 짧은 목록을 읽게 된다. Agent는 조사하고, 실행하고, 테스트하고, 보고한다. 사람은 방향을 정하고, 권한을 부여하고, 결과를 받아들인다. 이 문장 중간에 비싼 모델을 추가한다고 해서 마지막 절이 바뀌지는 않는다.
벤더가 공개한 세 가지 등급
| Claude Opus 5.5 | GPT-6 Sol | GPT-6 Luna | |
|---|---|---|---|
| API id | claude-opus-5-5 |
gpt-6-sol |
gpt-6-luna |
| 백만 토큰당 입력 / 출력 | $4 / $20 | $2 / $10 | $0.10 / $0.50 |
| 캐시된 입력 | $0.20 읽기, $5 쓰기 | 읽기 90% 할인 | 읽기 90% 할인 |
| 컨텍스트 | 1M | 872k | 1M |
OpenAI는 Sol과 Luna가 GPT-5.6 프로모션 가격보다 50% 저렴하다고 설명하는데, 여기서 "프로모션"이라는 단어 자체가 의미심장하다. 기준선이 이미 할인된 요금이라는 뜻이기 때문이다. OpenAI는 또한 GPT-6 Astra가 "전반적으로 우리의 최고 모델로 계속 자리하고 있다"고 말한다.
이 구도에서 순위를 읽어내기 전에 한 가지 주의할 점이 있다. OpenAI의 출시 포스트는 Sol과 Luna를 Claude Opus 5와 벤치마크했는데, 그 포스트를 작성할 당시에는 Opus 5.5가 존재하지 않았고, 몇 시간 뒤에 Anthropic 자체 계정에 따르면 Opus 5보다 40% 저렴한 비용으로 출시되었기 때문이다. 아무도 그 비교를 다시 실행하지 않았고, 두 벤더는 같은 하네스를 공유하지도 않는다. 역할은 가격과 여러분의 저장소에서 관찰된 동작을 기준으로 선택하라.
각 벤더가 자기 모델에 대해 실제로 말하는 내용만으로도 역할을 배정하기에 충분하다. Luna의 경우, OpenAI는 최대 추론 노력에서 DeepSWE 1.1에서 66.6%를 보고하며, 작업당 비용이 Claude Opus 5보다 93%, Fable 5보다 96% 저렴하고, 더 높은 노력에서는 GPT-5.6 Sol과 맞먹는 사실성 결과를 약 100분의 1 비용으로 낸다고 밝힌다. 이는 대량 처리에 투입할 수 있는 모델이다. Opus 5.5의 경우, Anthropic은 Terminal-Bench 4.0에서 66.4%, FrontierCode v1.1에서 54.4%, OSWorld 2.0에서 81.8%, 최대 출력 128k, 그리고 18시간 이상 작업을 유지한다고 보고한다. 이는 판단이 필요한 곳에 투입할 수 있는 모델이다.
비싼 모델에서 저렴한 절반은 읽기다
이 구도가 청구서와 맞닥뜨려도 살아남는 이유는 캐싱이며, 이 비대칭성이 설계를 결정한다.
Opus 5.5의 캐시된 입력은 백만 토큰당 $0.20에 읽힌다. 이는 자체 비캐시 입력 요금의 20분의 1이자 Luna의 비캐시 요금의 두 배다. 출력은 백만 토큰당 $20으로, Luna의 $0.50의 40배다. 따라서 엄청난 양을 읽고 스무 줄을 쓰는 리뷰어는 거의 무료에 가깝고, 길게 서술하는 리뷰어는 그렇지 않다.
여기서 근거가 확실한 규칙 하나가 나온다. 리뷰어는 모든 것을 읽고 거의 아무 말도 하지 않는다. 리뷰어에게 저장소 프리픽스, 컨벤션, diff, 그리고 아래의 패킷을 주고, 반환하는 분량을 제한하라.
워커 쪽도 캐싱한다. GPT-6는 캐시된 입력 읽기에 90% 할인을 적용해 기본적으로 적중률을 높이고, 캐시된 프리픽스가 어디서 끝나는지 직접 선택할 수 있도록 명시적 브레이크포인트를 추가하며, 추론 노력이나 도구 가용성을 바꿔도 더 이상 캐시를 무효화하지 않는다. GitHub는 수십억 건의 요청에서 새로 처리해야 하는 프롬프트 토큰이 50% 이상 줄었다고 보고한다. 하루 종일 같은 저장소를 다시 읽는 Luna 워커 무리에게는 그것이 청구서의 대부분이다.
핸드오프가 담아야 하는 것
다음은 모델 리더를 위해 만든 아티팩트, 즉 핸드오프 템플릿이다. 워커는 멈출 때 이 템플릿을 Task에 반환하고, 리뷰어는 이것과 diff만 읽는다.
SH-312 Add retry with backoff to the webhook sender
Worker: Agent "backend-worker" - Runtime Codex on gpt-6-luna
Attempts: 2 (attempt 1 failed on lint)
Diff: 4 files, +118 / -12 (worktree sh-312, commit a91f4c2)
Commands run, verbatim:
$ pnpm lint exit 0
$ pnpm typecheck exit 0
$ pnpm test -- sender exit 0 14 passed, 0 failed, 3 skipped
$ pnpm build exit 0
Not done:
- The 3 skipped tests need a live webhook endpoint. Not run.
- Did not touch the queue consumer, which has the same bug.
Assumptions made:
- Max 5 retries, ceiling 30s. No spec said. Copied the values
already used in payments/retry.ts.
Stopped because: acceptance criteria met.
이 패킷이 토큰 값을 하는 네 가지 속성이 있다.
서사가 아니라 아티팩트다. 명령과 종료 코드는 다시 실행할 수 있다. "동작을 검증했다"는 말은 누구도 확인할 수 없다.
하지 않은 일을 명시한다. 건너뛴 테스트와 손대지 않은 컨슈머는 요약이었다면 빠뜨렸을 두 가지이며, 리뷰어가 가장 필요로 하는 두 가지이기도 하다. 빠진 것들을 명시적으로 요구하라. 그렇지 않으면 깔끔한 요약에는 그것들이 담기지 않는다.
가정을 기록한다. 범위가 정해진 모든 Task에는 스펙이 내리지 않은 결정이 하나씩 들어 있다. 기록해 두면 리뷰 항목이 되지만, 빠뜨리면 한 달 뒤 프로덕션에서 예상치 못한 문제가 된다.
중단 이유를 명시한다. 완료, 차단됨, 예산 초과, 두 번 실패는 저장소에서는 똑같아 보이지만 보드에서는 서로 다른 의미를 지닌다.
리뷰어가 반환하는 것
REVIEWER Agent "review" - Runtime Claude Code on claude-opus-5-5
Reads: repository prefix (cached), the packet, the full diff
Writes: at most 20 lines
VERDICT changes requested
CHECKED 4 commands re-run, all exit 0. Backoff ceiling honoured.
UNVERIFIED 3 skipped tests. No evidence the retry path ever runs.
BLOCKING Retry wraps the 4xx branch. A 422 will be retried 5 times.
FOR A PERSON Queue consumer has the same bug and is out of scope.
Split SH-312, or widen it?
UNVERIFIED 줄이 바로 리뷰어의 값을 정당화한다. 저렴한 워커는 자신의 주장 중 어느 것이 아무 근거도 없는지 알려주지 않는데, 부분적으로는 그것을 모르기 때문이다. 구조화된 패킷을 읽는 비싼 모델은 자신이 확인한 것과 그냥 믿고 받아들인 것을 구분할 수 있으며, 이 구분이 바로 리뷰 단계의 산출물이다. FOR A PERSON 줄은 나머지 절반이다. 리뷰어는 범위를 결정하지 않고, 질문을 Task로 되돌려준다.
이 과정을 정직하게 유지하는 경계선은 다음과 같다. 리뷰어 Agent는 명령을 다시 실행하고, diff를 읽고, 증거와 주장의 차이를 표시할 수 있다. 하지만 이것이 올바른 기능이었는지는 알려줄 수 없다. 리뷰 Agent가 검증할 수 있는 것과 없는 것은 정해진 목록이며, 리뷰어가 비쌀수록 이 목록은 길어지는 게 아니라 짧아진다.
주의해야 할 두 가지 실패 모드
첫 번째는 지연 시간이며, 이는 직관에 반한다. 어느 벤더도 아닌 제3자인 Artificial Analysis는 "max" 추론 변형의 첫 토큰까지 걸리는 시간을 Luna는 124.23초, Sol은 102.15초로 측정했다. [VERIFY] 이 수치에 의존하기 전에 현재 목록과 대조해 확인하라. 숫자보다 형태가 더 중요하다. 높은 추론 노력에서는 저렴한 모델이 빠르게 시작하는 쪽이 아니므로, mixed-model Crew에는 멈춘 것처럼 보이는 워커와 그들을 기다리는 리뷰어가 생긴다. 이는 모델 문제가 아니라 상태 문제다.
두 번째는 리뷰량이다. Luna 워커 열 개가 패킷 열 개를 만든다. 리뷰어가 아홉 개를 승인하고 하나를 에스컬레이션하면, 열 번의 에이전트 실행을 한 번의 사람 결정으로 바꾼 것이며, 바로 그것이 목적이다. 여섯 개를 에스컬레이션하면, 리뷰 비용은 지불했는데도 여섯 번의 결정이 여전히 남아 있는 것이고, 리뷰 큐는 이미 병목이었던 상황이다. 한 스프린트 동안 워커 Agent별 에스컬레이션 비율을 추적하라. 그러면 청구서보다 훨씬 먼저 패킷이 너무 얇은지, Task가 너무 큰지 알 수 있다.
이걸 하지 말아야 할 때
한 사람이 하나의 저장소에서 하나 또는 두 개의 Agent를 운영할 때는 모든 것에 모델 하나를 써라. 패킷은 오버헤드이고, 리뷰어는 두 번째 청구서이며, 어차피 리뷰어는 본인이다.
여러 Agent가 병렬로 실행될 때, 한 명 이상이 실행을 시작할 수 있을 때, 또는 완료된 작업이 누구든 그것을 읽을 시간을 넘어섰을 때 mixed-model Crew를 사용하라.
그리고 작업 자체가 어려운 부분일 때는 비싼 모델을 리뷰에 배치하지 마라. 몇 시간 동안 컨텍스트를 유지해야 하는 마이그레이션은 Opus 5.5에 직접 맡기고, 그 뒤에 저렴한 Agent가 패킷을 작성하게 하라. 역할별로 선택한다는 것은 팀당 한 번이 아니라 Task당 한 번 선택한다는 뜻이며, 그래서 에이전트 역할에 모델을 매칭하는 일은 여섯 명이 각자 속으로 지니는 습관이 아니라 문서로 적어두는 규칙인 것이다.
움직이지 않은 숫자
이번 출시로 양쪽 모두에서 완료된 작업당 비용이 크게 떨어졌다. OpenAI는 중위권 연구원이 코딩 에이전트에 하루 $600 이상을 지출하며, 90번째 백분위수는 $7,000를 넘는다고 보고한다. 그 선 아래에 있는 팀들은 이제 지난주보다 몇 배 더 많은 에이전트 작업을 감당할 수 있다.
리뷰어의 시간은 전혀 변하지 않았다. mixed-model Crew가 값을 하는 이유는 더 많은 저렴한 출력을 더 적은 사람의 결정으로 바꾸기 때문이며, 이는 핸드오프가 요약 대신 증거를 담을 때만 일어난다. 목표, diff, 명령, 블로커, 검증되지 않은 주장, 그리고 요청부터 릴리스까지 Task로 되돌아오는 사람의 리뷰를 유지하라. 그러면 모델 분할은 누구의 업무 방식도 바꾸지 않고 다음 분기에 변경할 수 있는 설정이 된다.
Sharkly는 모델을 실행하지도, 여러분 대신 선택하지도 않는다. Sharkly는 그 일을 하는 도구들을 둘러싼 공유 Task, Computer, 컨텍스트, 리뷰 계층이며, 리뷰어와 사람이 모두 읽으려면 핸드오프가 바로 그곳에 있어야 한다. 이미 여러 코딩 에이전트를 운영하고 있다면, Computer 하나를 연결하고, 워커 Agent 하나와 리뷰어 Agent 하나를 만들고, 지루한 작업 하나에 대해 워커가 그 패킷을 반환하도록 해보라.



