The Architect of AI Workforce
팀RAON The Lab
1-The Blueprint
2-The Foundation
3-Incident Logs
4-Agent Souls
5-The Workflow
サインイン
3-Incident Logs

고쳤는데 또 나왔다 — 설정 파일이 두 곳일 때 생기는 일

R
Raon
2026年4月19日2ヶ月前
카테고리
  1. troubleshooting
어제 고쳤는데 오늘 또 청구됐다. 설정을 바꿨다고 해서 진짜 바뀐 게 아닐 수 있다.

이런 상황이었어요

어제 Gemini API 청구서를 보고 원인을 분석했다. 엘론이 Pro 모델로 설정돼 있었고, 앤드류가 그룹방 메시지에 자동 반응하면서 내부에서 엘론을 호출하는 구조가 문제였다.
그래서 fix_all.py 스크립트로 엘론 모델을 gemini-3.1-pro-preview에서 gemini-3-flash-preview로 바꿨다. Docker를 재시작했다. 게이트웨이 로그에 agent model: google/gemini-3-flash-preview가 찍혔다. 됐다고 생각했다.
오늘 다시 청구 내역을 확인했더니 어제와 비슷한 규모의 비용이 또 올라가 있었다. 오늘은 대화를 하지 않았는데.

원인을 찾아보니

오늘 비용의 정체: 빌링 지연

먼저 오늘(4/19) Docker 로그를 확인했다. LLM 호출 기록이 없었다. 신규 API 사용이 아니었다.
오늘 보이는 비용은 어제(4/18)의 실제 사용분이었다. 어제 앤드류에게 리서치를 요청했고, 엘론과 1:1 대화를 1턴 했다. Google은 API 사용 비용을 하루 정도 지연해서 청구한다. 이게 오늘 나타난 것이었다. 청구서 타이밍과 실제 사용 시점이 달라서 "또 발생했다"고 착각한 거였다.

진짜 문제: 설정 파일이 두 곳

그런데 파고들다 더 심각한 걸 발견했다. openclaw.json을 직접 열어봤더니 이런 구조가 있었다.
{ "id": "main", "model": "google/gemini-3.1-pro-preview" }
엘론(main)의 모델이 agents.list 안에 직접 박혀 있었고, 값은 아직 Pro였다. fix_all.py가 수정한 파일은 ~/.openclaw/agents/main/agent/models.json이었다. 이 파일은 분명히 Flash로 바뀌어 있었다. 그런데 openclaw.json 안의 agents.list[].model 필드가 이 파일보다 우선순위가 높았다.
OpenClaw의 모델 적용 우선순위:
우선순위
위치
상태
1 (높음)
openclaw.json > agents.list[].model
❌ Pro 모델 그대로
2
agents/{id}/agent/models.json
✅ Flash로 수정됨
3 (낮음)
openclaw.json > models.model (전역 기본값)
미설정
고쳤다고 생각했던 파일이 실제로는 덮어쓰여지고 있었다. 게이트웨이 로그에 agent model: google/gemini-3-flash-preview가 찍혔던 건 전역 기본값을 보여준 것이지, 엘론 개인의 모델 설정이 아니었다.

이렇게 해결했어요

VM에서 openclaw.json의 agents.list 부분을 직접 수정했다.
for agent in d.get("agents", {}).get("list", []):

    if "pro" in agent.get("model", "").lower():
        agent["model"] = "google/gemini-3-flash-preview"
결과:
Fixed: main: google/gemini-3.1-pro-preview -> google/gemini-3-flash-preview
그리고 fix_all.py 스크립트에도 이 로직을 추가했다. 다음에 스크립트를 실행하면 두 곳을 모두 수정하도록.

알게 된 것

설정 파일이 여러 곳이면, 고쳤어도 안 고친 것일 수 있다

models.json을 수정했더니 agents.list의 override가 그걸 무력화하고 있었다. 프레임워크의 설정 계층 구조를 파악하기 전엔, 스크립트가 성공했어도 의도대로 동작하지 않을 수 있다.
특히 로그가 성공처럼 보여도 확인이 필요하다. 게이트웨이 로그의 agent model: flash 메시지는 전역 설정을 출력한 것이었다. 에이전트별 실제 모델은 agents.list를 직접 열어봐야 했다.

빌링 지연을 모르면 없는 문제도 발생한 것처럼 보인다

오늘 비용은 어제 사용분의 지연 반영이었다. Google API는 하루 정도 지연된다는 걸 몰랐다면 "오늘도 또 발생했다"고 잘못 판단하고 엉뚱한 곳을 더 파헤쳤을 거다.

다음엔 이렇게 할 거예요

설정 변경 후 검증 절차를 추가했다:
•
스크립트 실행 → agents.list 포함 모든 모델 필드 출력으로 검증
•
비용 증가가 보이면 로그 먼저 — 오늘 LLM 호출이 있었는지 확인
•
Google 빌링 지연(약 24시간)을 고려해 전날 사용분과 비교
설정을 고쳤다는 건 파일을 바꿨다는 뜻이지, 동작이 바뀌었다는 뜻이 아니다. 동작이 바뀌었는지는 로그로 확인해야 한다.
Th
「The Architect of AI Workforce」を購読
サイトを購読すると、新規投稿などの最新情報を通知やメールでいち早く受け取れます。
Slashpageに登録して「The Architect of AI Workforce」を購読しましょう!
購読する
👍