AI

맥북 한 대로 AI 개발팀 굴리기 (2) — 사용량 관리와 모델 배치

mingoon.com 2026. 10. 28. 11:20
반응형

시리즈: 멀티 에이전트 하네스 구축기
1편: 설계와 작업 흐름
2편: 사용량 관리와 모델 배치 (이 글)
3편: Agent Office와 삽질 모음

 

1편에서 M4 맥북 위에 OpenCode + oh-my-openagent(OmO)로 하네스의 뼈대를 세웠다. 이번 편은 그 하네스에서 가장 많이 갈아엎은 부분, 사용량 관리다.

에이전트 여럿이 동시에 돌면 토큰이 생각보다 훨씬 빨리 녹는다. 구독형 Codex는 5시간·주간 한도가 있고, 무료 모델은 분당·하루 요청 수 제한이 있다. "한도가 차면 알아서 다른 모델로 넘긴다"는 한 줄짜리 요구사항이 실제로는 다섯 번을 고쳐서야 자리를 잡았다.


1. 사용량 관리 변천사

사용량 관리 변천사 — 다섯 번 바뀌었다

① 처음: Codex 90%에서 무료 모델로 전환

usage_watch.py가 Codex 사용량(5시간·주간 창)을 5분마다 읽는다. 90%를 넘으면 codex_ok=false가 된다. 그러면 launchd가 OpenCode를 무료 프로필로 다시 띄운다. 무료 프로필은 OmO 모델 순서에서 Codex를 뺀 것이다.

② 사건: 재시도 세 번에 5시간 한도가 증발했다

한도 소진 직후 재시도가 세 번 돌았는데, 그때마다 새 세션이 처음부터 다시 시작했다. 거대한 컨텍스트를 매번 새로 밀어 넣느라 5시간 한도가 순식간에 사라졌다. 작업 자체는 그만큼 토큰을 쓸 일이 아니었는데도 그랬다. 그래서 두 가지를 넣었다.

  • 한도에 걸리면 같은 세션에서 멈춘 지점부터 재개한다. 처음부터 다시 하지 않는다.
  • 한 번 실행이 5시간 한도를 80%p 넘게 쓰면 일시정지하고, 텔레그램으로 계속할지 묻는다.

③ OpenCode Go 구독과 DeepSeek

Codex 한도가 자주 바닥나서 OpenCode Go(월 $10)를 구독했다. DeepSeek V4.1 Flash를 구현 담당의 1순위로 올렸다.

Go의 한도 구조는 이렇다.

  • 모델마다 월 한도 금액이 따로 있다. 예를 들어 DeepSeek V4.1 Flash는 $80, V4 Pro는 $15다.
  • 5시간 한도는 그 20%, 주간 한도는 50%다.

DeepSeek 모델은 데이터를 저장하지 않는다(ZDR, 매달 갱신). 이게 나중에 개인 데이터 레포에도 쓸 수 있는 근거가 됐다.

OpenCode Go 한도 구조 — 모델별 월 한도와 5시간·주간 비율

④ 기준을 5시간 50%로, 밤과 주말은 80%로

평일 낮에는 내가 직접 Codex를 써야 하니 하네스는 5시간 한도의 50%까지만 쓴다. 대신 평일 19시~새벽 4시와 토·일요일은 80% 까지 쓴다. 내가 안 쓰는 시간에는 하네스가 더 쓰는 식이다.

시간대 하네스가 쓰는 Codex 5시간 한도
평일 04:00~19:00 50%
평일 19:00~다음 날 04:00 80%
토·일요일 종일 80%

 

Agent Office 의 CODEX 카드 — 5시간 막대 위 흰 선이 지금 기준(평일 낮 50%)이다

⑤ 마지막: 기준을 넘으면 멈추지 말고 다음 모델로

처음 만든 "한도 → 일시정지 → 한도 풀리면 재개" 장치가 남아 있었다. 그래서 기준을 넘으면 작업이 몇 시간씩 멈췄다. "한도가 차면 다음 모델이 이어서 하면 되는 거 아냐?" 맞는 말이다. 지금은 작업 중에 기준을 넘으면 세 단계로 바로 넘어간다.

  1. 세션을 잠깐 멈춘다.
  2. OpenCode를 Codex 뺀 프로필로 즉시 다시 띄운다.
  3. 같은 세션에 "이어서 진행하라"를 보낸다.

텔레그램에는 ⏸ 대신 🔀 다음 모델로 이어서 진행이 온다. 일시정지는 Codex 전용 개인 레포와, 다음 모델까지 막혔을 때만 남겼다.

기준을 넘었을 때의 동작 — 예전(일시정지)과 지금(다음 모델로 이어서)


2. 지금의 모델 배치

여러 번 갈아엎은 끝에 지금은 이렇게 돌린다. 원칙은 네 가지다.

  • 지휘와 계획은 Codex가 맡는다.
  • 구현은 Go DeepSeek가 맡는다.
  • 검토는 구현과 다른 계열이 맡는다.
  • 검색과 잡무는 무료 모델이 맡는다.
역할 1순위 → 대체
sisyphus (팀장) Codex gpt-6.1-sol → Go DeepSeek V4.1 Flash → NVIDIA DeepSeek V4.1 Flash(무료) → Nemotron Ultra
prometheus (계획) Codex gpt-6.1-sol → Go DeepSeek V4 Pro → Go DeepSeek V4.1 Flash
sisyphus-junior · atlas (구현·집행) Go DeepSeek V4.1 Flash → NVIDIA DeepSeek V4.1 Flash → …
oracle · pm (판단·기획) Go DeepSeek V4 Pro → Codex → Go DeepSeek V4.1 Flash
metis · momus (분석·비판) NVIDIA GLM-5.3 → …
explore · librarian (검색·조사) NVIDIA Nemotron Lightning · Gemini Flash Lite
hephaestus (심층 구현) Codex 전용 (OmO가 GPT 전용으로 설계한 역할)

 

알게 된 것도 몇 가지 있다.

  • NVIDIA에 DeepSeek V4.1 Flash가 무료로 있다. Go 한도가 찼을 때 유료 DeepSeek API보다 먼저 쓸 대체 모델로 딱이다.
  • Go DeepSeek V4 Pro는 월 한도가 $15뿐이다. 판단 역할 여러 개의 1순위로 두면 금방 찬다.
  • Codex 모델 중에도 쓰지 않는 게 있다. 무거운 상위 모델은 한도를 너무 빨리 먹어서 아예 금지 목록에 넣고, 같은 자리는 gpt-6.1-sol이 맡게 했다.
  • 모델 이름이 비슷해도 provider마다 쓸 수 있는 모델 목록이 다르다. 그래서 설정 화면에서 "지금 OpenCode가 실제로 불러온 모델"만 고르게 했다. 이 설정 화면은 3편에서 다룬다.

⚙ 설정 패널 — 왼쪽은 캐릭터별 모델 순서, 오른쪽은 Codex 기준과 끌어다 놓을 모델 배지


3. 다른 provider의 사용량은 어떻게 보나

Codex는 사용량 조회 API가 있어서 정확히 볼 수 있다. 나머지는 사정이 제각각이다.

provider 볼 수 있는 것 방법
OpenRouter 무료 모델 하루 요청 수, 오늘 사용액 공식 API (/api/v1/key)
DeepSeek API 계정 잔액 공식 API (/user/balance)
OpenCode Go 모델별 5시간·주간·월간 사용률 공식 API가 없음 → 하네스 기록으로 추정
NVIDIA 오늘 요청 수, 분당 요청 수 크레딧 조회 API가 없음 → 하네스 기록
Gemini 오늘 요청 수·토큰 무료 등급 조회 API가 없음 → 하네스 기록

 

"하네스 기록"은 OpenCode가 응답마다 남기는 provider·모델·토큰·비용을 사무실 서버가 모아 둔 것이다. 요청 수와 토큰은 정확하다. 다만 Go 한도 비율은 서버가 집계하는 시각과 어긋날 수 있다. 그래서 화면에 [추정] 배지를 달았다.

다른 PROVIDER 카드 — Go 모델별 사용률에는 [추정] 배지가 붙는다

이 카드를 띄우자마자 DeepSeek API 잔액이 $0이라 대체 순서의 한 칸이 헛돌고 있다는 걸 발견했다. 사용량은 보여야 관리가 된다.


다음 편에서는 이 모든 걸 눈으로 보게 해 준 Agent Office와, 2주 동안 겪은 삽질 모음을 정리한다.

 

이전 글: (1) 설계와 작업 흐름

다음 글: (3) Agent Office와 삽질 모음

 

 

※ 이 글은 AI의 도움을 받아 작성했고, 작성자가 내용을 직접 검토한 뒤 올렸다.