Claude 사용량 감사
~/.claude/projects/**/*.jsonl (주 세션 및 subagents/)을 대상으로 하는 4개의 로컬 스크립트입니다. 각 API 호출은 (message.id, requestId)로 중복 제거되며, 비용은 모델별 공개 API 가격을 기준으로 계산됩니다. 따라서 구독 환경에서는 "API 등가" 비용으로 표시되며, 이는 요금제 할당량의 대용치(proxy) 역할을 합니다.
실행
SKILL_DIR="${CLAUDE_SKILL_DIR}/scripts"
OUT=$(mktemp -d) # 또는 세션 스크래치패드 사용
python3 -I "$SKILL_DIR/usage.py" "$OUT/usage.json" # 총계, 일별, 모델, 프로젝트, 세션, 캐시 재구축, 도구, 스킬, 에이전트
python3 -I "$SKILL_DIR/context_sources.py" "$OUT/usage2.json" # 출력 크기별 Bash 명령어 패밀리, 전체 vs 부분 읽기, SDK 진입점, 유휴 간격
python3 -I "$SKILL_DIR/cost_split.py" # 토큰 유형별 비용, 200k/300k 컨텍스트 이상 캐시 읽기 세금
python3 -I "$SKILL_DIR/history.py" "$OUT/hist.json" # 주별 프롬프트, 프롬프트당 비용, 슬래시 명령어, 세션, 시간 x 요일 (기본 90일)
분석 기간: 환경 변수 AUDIT_DAYS=90 (기본값 30, history.py는 90). 트랜스크립트는 cleanupPeriodDays(설정에서 120으로 설정, Claude Code 기본값은 30)까지만 보존되며, ~/.claude/history.jsonl은 모든 프롬프트를 유지합니다. 보존 기간을 초과하면 프롬프트 수준 지표만 유효합니다. 트랜스크립트가 일부 삭제된 주는 partial로 표시하며, 절대 저비용으로 처리하지 않습니다.
달러 견적 전 확인 사항
가격은 usage.py와 history.py의 PRICES 테이블, cost_split.py의 P 테이블에 저장되어 있습니다. 먼저 claude-api 스킬과 대조하고, 모델이 누락된 경우 테이블을 수정하십시오 (알 수 없는 모델은 $0으로 계산됨).
확인할 항목 (우선순위 순)
| 신호 | 필드 | 조치 방법 |
|---|---|---|
| 200k 컨텍스트 이상 호출 | ctx_cost, cost_split.py tax | 설정의 autoCompactWindow, 주제별 /clear |
| 콜드 재개 (1시간 이상 유휴 후 캐시 재구축) | cache_miss | cold-resume-guard.sh 훅 |
비 CLI 진입점 (sdk-py, sdk-cli) | entry, sdk (usage2) | Claude를 호출하는 플러그인 또는 훅: 해당 모델 고정 (SG_AGENTIC_MODEL for security-guidance) |
| 가장 큰 도구 출력 | tool_result_kchars, bash_fam, read | 대상 읽기, 명령어 출력 제한 |
| 1시간 vs 5분 캐시 TTL | w1h vs gaps의 5-60분 간격 개수 | 5-60분 간격 × 컨텍스트 × 1.25가 1시간 쓰기의 0.75x 프리미엄을 초과하는 동안 1시간 유지 |
| 서브에이전트 점유율 및 모델 | main_sub, agents | 패턴 작업에는 Sonnet 사용 |
top_sessions의 세션 프롬프트는 사용자의 자체 텍스트이므로 공유 대상에서 제외하십시오.