GEODE 운영How-to
비용 모니터링
세션과 월간 예산입니다. 사용량 ledger, geode history, /cost를 다룹니다.
이 문서의 목차
월간 사용량은 append-only ledger ~/.geode/usage/YYYY-MM.jsonl(core/llm/usage_store.py)에 기록됩니다. 이는 모든 호출을 빠짐없이 담은 청구서가 아닙니다. /cost는 세션 tracker와 월간 기록을, geode history는 월간 기록을 보여줍니다. 호출별 누락 여부는 durable 호출 이벤트와 별도로 확인해야 합니다.
ledger 스키마
한 줄은 UsageRecord입니다. 모델, 입출력 토큰, 비용에 더해 캐시와 thinking 분해가 들어갑니다.
# ~/.geode/usage/2026-06.jsonl 한 줄 (falsy 필드는 생략됨)
{"ts": 1780000000.0, "model": "claude-opus-4-8",
"in": 1284, "out": 482, "cost": 0.0127,
"session": "s-...", "cache_w": 0, "cache_r": 28104, "think": 1872}일반 실행에서 사용량이 있는 응답은 AgenticLoop 경계의 TokenTracker가 기록합니다. 실패한 시도와 보조 호출까지 모두 포함한다는 뜻은 아닙니다. Petri 감사는 inspect_ai가 프로바이더를 직접 호출해 GEODE의 tracker를 우회하므로, 감사 종료 후 core/audit/eval_to_jsonl.py가 (model, role) 단위로 source: "petri_eval" 행을 보태 judge와 auditor 비용까지 ledger에 합류시킵니다. 단가는 core/llm/model_pricing.toml이 SoT입니다.
짧은 대화도 같은 기록 경로
IPC fast-chat 우회 경로는 제거됐습니다. 기존 GEODE_FAST_CHAT 설정은 더 이상 읽지 않으며, 짧은 질문도 일반 AgenticLoop의 대화 이력·호출 관측·사용량 기록을 거칩니다. 일반 컨텍스트·도구·검증을 사용하므로 이전의 축약 경로보다 시간과 토큰이 늘 수 있습니다. 과거 누락 기록은 소급 복구되지 않습니다.
캐시 미수신과 명시적 0은 다릅니다. Durable 호출 이벤트는 이 차이를 보존하지만 기존 JSONL과 월간·일별·history 집계는 캐시 누락과 총계를 완전히 표현하지 못합니다. 제공자 보고 비용과 모델 단가 추정, 구독 청구액도 서로 구분해야 합니다.
/cost: 세션 대시보드
> /cost # 세션 + 월간 요약
> /cost daily # 오늘 분해
> /cost recent # 최근 LLM 호출 10건
> /cost budget 30 # 월 예산 상한 (USD)/cost budget은 프로젝트의 .geode/config.toml에 저장되고, 이후 대시보드에 예산 대비 사용률 바가 함께 표시됩니다 (core/cli/commands/cost.py).
geode history: 월간 회계
geode history # 이번 달, 최근 10건
geode history -n 30 # 최근 30건
geode history -m 2026-05 # 지난달 집계모델별 토큰과 비용 테이블, 최근 호출 목록을 출력합니다 (core/cli/typer_commands.py).
예산이 실행을 멈추는 지점
cost_limit_usd 설정(기본 0 = 무제한)이 세션 비용 가드를 켭니다. 세션 누적 비용이 80%에 닿으면 한 번 경고하고, 예산에 도달하면 실행이 cost_budget_exceeded로 끝납니다. 동작 방식은 장기 실행 안전의 가드 표에 있습니다. 비용을 줄이는 가장 빠른 손잡이는 모델입니다. /model로 더 싼 모델로 전환하면 새 세션부터 적용됩니다.
ledger 직접 집계
# 이번 달 총비용
jq -s '[.[].cost] | add' ~/.geode/usage/$(date +%Y-%m).jsonl
# 모델별 비용
jq -s 'group_by(.model) | map({m: .[0].model, c: (map(.cost) | add)})' \
~/.geode/usage/$(date +%Y-%m).jsonl
# Petri 감사 비용만
jq -c 'select(.source == "petri_eval")' ~/.geode/usage/$(date +%Y-%m).jsonl실패 모드
| 증상 | 원인 | 해법 |
|---|---|---|
| 비용이 0으로만 보임 | 제공자 보고값, 단가 추정 또는 누락된 기록을 확인해야 함 | 0만으로 무료 실행이나 구독 청구액을 판단하지 않습니다. 모델 단가와 호출별 usage 존재 여부를 확인합니다. |
| 감사 비용이 history에 안 보임 | petri_eval 추출 전이거나 다른 달 파일 | geode history -m으로 해당 월을 보고, source 필드로 필터합니다. |
| 예산 경고가 안 뜸 | cost_limit_usd가 0 | 0은 무제한입니다. 양수로 설정해야 80% 경고와 종료 가드가 켜집니다. |
다음
GEODE 저장소의 문서 사이트에서 옮겨 온 문서입니다. 원문 커밋 de077a4 · GitHub에서 원문 보기