← /geode/portfolioGEODE . 문서
GitHub
GEODE 운영
How-to

비용 모니터링

세션·일별 예산. usage ledger 스키마. v0.90 dual-record 수정. 모델 전환 시점.

이 가이드는 GEODE의 LLM 호출 비용을 추적하고 예산을 설정하는 방법입니다.

비용 추적 경로

  • 실시간: LLM_CALL_END hook (per-call 토큰·달러).
  • 누적 (런타임): geode /status (현재 세션 + 일일).
  • append-only ledger: ~/.geode/usage/<date>.jsonl (v0.66+ 도입).
  • per-call assertion: core.audit.diagnostics.CallDiagnostic (v0.92+, Observability 참조).

Usage ledger 스키마

# ~/.geode/usage/2026-05-12.jsonl 한 줄
{
  "ts": "2026-05-12T10:42:13.482Z",
  "run_id": "r-abc123",
  "call_seq": 4,
  "provider": "anthropic",
  "model": "claude-opus-4-7",
  "input_tokens": 1284,
  "output_tokens": 482,
  "cache_read_tokens": 28104,
  "cache_write_tokens": 0,
  "reasoning_tokens": 1872,
  "cost_usd": 0.0127,
  "cost_breakdown": {
    "input": 0.00385,
    "output": 0.00723,
    "cache_read": 0.00084,
    "cache_write": 0,
    "reasoning": 0.00281
  },
  "latency_ms": 4218,
  "audit_mode": false
}

v0.90 dual-record 수정

v0.90.0 이전, codex와 glm 어댑터가 같은 호출을 ledger에 두 번 기록해 token/cost가 50-64% 과잉 카운팅됐습니다.token_tracker.dedup_by_call_id() 도입으로 수정. 기존 ledger를 다시 합산하려면 history 명령으로 재집계 가능.

예산 설정

# config.toml
[budget]
per_session_usd = 1.0
per_day_usd = 10.0
on_exceed = "downgrade"  # downgrade | stop | warn

모델 다운그레이드 전략

예산 초과 임박 시 자동으로 더 싼 모델로 전환합니다.

  • Anthropic: opus 4.7 → opus 4.6 → sonnet 4.6 → haiku 4.5
  • OpenAI: gpt-5.5 → gpt-5.4 → gpt-5.4-mini → gpt-5-mini
  • GLM: glm-5.1 → glm-5 → glm-5-turbo → glm-4.7 → glm-4.7-flash

수동 전환

geode /model claude-haiku-4-5
geode /model glm-4.7-flash

유용한 jq one-liner

# 오늘 총 비용
jq -s '[.[] | .cost_usd] | add' ~/.geode/usage/$(date +%F).jsonl

# 모델별 토큰 합계
jq -s 'group_by(.model) | map({model: .[0].model, total: (map(.input_tokens + .output_tokens) | add)})' ~/.geode/usage/$(date +%F).jsonl

# 캐시 hit 호출만
jq -c 'select(.cache_read_tokens > 0)' ~/.geode/usage/$(date +%F).jsonl

참조: Observability, Context System (200K guard), wiki/concepts/geode-context-guard.md.