코딩 에이전트, 같은 모델인데 왜 어떤 요청은 46배 더 비쌀까?
(dev.to)OpenCode Go 사용 중 대시보드에서 이상한 걸 발견했습니다. 같은 모델, 비슷한 입력 토큰(300K vs 257K)인데 비용이 $0.0096 vs $0.4455 — 46배 차이가 났습니다. 원인은 프롬프트 캐싱입니다.
LLM은 동일한 prefix가 반복될 때 이전 연산을 재사용하는데, 대부분의 코딩 에이전트는 매 턴 전체 대화 기록(transcript)을 그대로 보냅니다. 당장은 캐시 덕에 저렴하지만, context window가 차서 compaction이 일어나면 prefix가 깨지고 캐시가 무효화됩니다.
이 글에서 transcript 방식의 숨은 비용과, structured state만 보내는 대안 접근법을 실제 44턴 디버깅 세션 데이터(80.4% 토큰 감소)와 함께 분석했습니다. 캐시가 있고 없고의 차이가 아니라, "언제 캐시가 깨질지 모르는 구조"와 "캐시에 의존하지 않는 구조"의 차이라는 관점입니다.