virtual-insanity
← 리포트 목록

OpenClaw 주간 사용량 효율화 분석 (v2)

2026-04-05 claude [토큰, 비용, 효율화, LLM, Claude Code, 구독, 크론]

OpenClaw 주간 사용량 효율화 분석

조사 기간: 2026-03-30 ~ 2026-04-05 (7일) 데이터 소스: ~/.openclaw/logs/llm/*.jsonl, cron/jobs.json, ~/.claude/sessions/, ~/.claude/metrics/costs.jsonl v2: Claude Code 구독($200/월 Max 플랜) 기준 분석 추가


0. Claude Code 구독 사용량 (핵심)

현황

Max 플랜($200/월)은 per-token 과금이 아닌 정액 구독. 로컬에 세부 토큰 데이터가 기록되지 않는다.

  • ~/.claude/metrics/costs.jsonl — 3일간만 기록, 모든 항목이 input_tokens=0, output_tokens=0, cost=0
  • Claude Code CLI에 사용량 조회 커맨드 없음
  • rate limit 히트 기록: 최소 1회 (2026-03-26 18:55 KST)

일일 세션 생성량 — 이게 구독 사용량의 본체

구분 일일 횟수 비고
isolated agentTurn 크론 133회 각각 새 Claude Code 세션 생성
isolated script 크론 145회 그 중 144회가 "크론 에러 알림" 단독
main systemEvent 크론 217회 새 세션은 아님 (메인에 이벤트 전달)
해리 수동 사용 ~155 프롬프트, ~5 세션 history.jsonl 기준
일일 새 세션 합계 ~278회
월간 새 세션 추정 ~8,300회

시간대별 부하 (KST)

시간 세션/시 비고
07:00 29 최대 — 아침 파이프라인 집중
06:00 21
08:00 19
09:00 17
04:00 15 새벽 크론
기타 7~13

모델 사용 비중

모든 크론 잡이 기본 모델(Sonnet)로 실행. Opus를 쓰는 크론 잡은 0개.

분류 잡 수 실행 모델 적정성
순수 스크립트 실행 69개 Sonnet 과잉 — Haiku면 충분
경량 LLM (스크립트 실행+보고) 29개 Sonnet 대부분 과잉
중량 LLM (분석/코워크) 7개 Sonnet 적절 (일부는 Opus 필요)

Opus가 필요한데 Sonnet으로 돌고 있는 잡: cowork-full(프롬프트에 "Opus급 큐레이션" 명시), analyst-reasoning 5개 Sonnet이 과잉인 잡: 스크립트만 실행하는 69개 — python3 script.py 치고 결과 전달만 하면 되는데 Sonnet 세션을 점유

세션당 구독 영향 추정

Max 플랜의 rate limit 구조(공개 미확인)에서, 하루 278 세션이 각각 최소 수천 토큰을 소비한다고 가정하면: - 경량 세션(스크립트 실행 + 보고): ~2,000~5,000 토큰/세션 - 중량 세션(분석/코워크): ~20,000~50,000 토큰/세션 - 일일 추정: 경량 240회 × 3K + 중량 38회 × 30K = ~1,860K 토큰/일 - 월간 추정: ~56M 토큰/월 — Max 플랜의 한도에 근접할 가능성

중복 세션 최대 낭비원

문제 일일 세션 낭비 조치
technical-stat-models 17개 중복 16개 main × 9회 = 144 이벤트 + 1개 isolated × 12회 1개로 통합
크론 에러 즉시 알림 10분 주기 144회/일 30분으로 완화 → 48회
6h-content-summary 중복 3개 활성 중 2개 중복 1개 삭제
석유 공급망 모니터 시간 겹침 14시에 isolated+main 동시 1개 제거

1. 게이트웨이 LLM 호출 현황 (파이프라인 내부)

항목 수치
7일 총 LLM 호출 1,577회
성공 856회 (54.2%)
실패 721회 (45.8%)
총 프롬프트 ~1,234K 토큰
총 응답 ~364K 토큰
총 토큰 ~1,598K
일평균 ~228K 토큰/일
실패에 낭비된 토큰 ~480K (전체의 30%)

비용 구조

대부분 무료/구독 모델이라 직접 비용은 극히 낮다.

모델 호출 성공률 과금 방식
github-copilot/gpt-5-mini 596 76.3% 구독 포함 (무제한)
anthropic/claude-sonnet-4-6 108 74.1% ~$1.16/주
anthropic/claude-opus-4-6 132 66.7% 별도 과금
openrouter/minimax-m2.5 152 6.6% 저가 (거의 실패)
ollama/kimi-k2.5:cloud 147 11.6% 로컬 (거의 실패)
openrouter/nemotron-120b:free 60 13.3% 무료 (거의 실패)

핵심: 금전 비용은 주 $2~3 수준으로 낮지만, 실패한 호출이 45.8%로 시간 낭비가 심각하다.


2. 토큰 소비 상위 10 파이프라인

순위 파이프라인 빈도 모델 주간 추정 토큰 비중
1 Cowork (라이트+풀) 7회/일 세션+gpt-5-mini 623K 39%
2 oil_supply_monitor 3회/일 gpt-5-mini 462K 29%
3 technical-stat-models (x17) 204회/일 세션 측정불가 -
4 etf_insight_extractor 5회/일 gpt-5-mini 85K 5%
5 hypothesis_engine+feedback 15회/일 gpt-5-mini 70K 4%
6 sector_news_scorer 4회/일 gpt-5-mini 35K 2%
7 discovery_enricher 1회/일 gpt-5-mini 20K 1%
8 note_atomizer 1~2회/일 gpt-5-mini 15K 1%
9 deep_enricher 1회/일 gpt-5-mini 10K 1%
10 bond_daily_report 1회/일 gpt-5-mini 6K <1%

상위 2개(Cowork + oil_supply_monitor)가 전체의 68%를 차지한다.

technical-stat-models 중복 문제

  • 같은 이름의 크론 잡이 17개 활성화되어 있음
  • 전부 every 120m = 하루 12회 × 17개 = 204회/일 agentTurn 세션 생성
  • Claude Code 세션 토큰(Anthropic 크레딧)을 소비하지만 LLM 로그에는 안 잡힘

3. knowledge_connector 매칭 분석

결론: LLM 토큰 소비 0.

  • 40만 건 매칭은 전부 CPU 기반 Jaccard 유사도 계산 (pure 문자열 비교)
  • LLM, 임베딩 API 호출 일절 없음
  • use_embedding=False로 명시적 비활성화
  • 인덱스도 깨져서(UTF-8 에러) Jaccard 폴백만 실행됨
날짜 노트 수 매칭 건수 소요 시간
3/28 5,098 114K 43분
4/1 5,777 237K 3.3시간
4/4 6,108 298K 3.6시간

토큰 문제는 아니지만 시간 문제가 심각: O(n²) 비교로 매일 3~5시간 소요, 노트 증가에 따라 가속 악화. 결과 394K 매칭 중 상위 50건만 저장 — 99.99% 계산이 버려짐.


4. 낭비 패턴 5가지

패턴 A: 타임아웃 재시도 폭포 (가장 큰 낭비)

  • shared/llm.py 230~289줄
  • 모델 체인 6개 × 모델당 3회 재시도 = 최악 18번 같은 프롬프트 전송
  • 7일간 타임아웃 638건 — 타임아웃된 모델에 같은 걸 다시 보내는 구조
  • 낭비 규모: ~480K 토큰/주 (전체 실패분)
  • 수정: 타임아웃 시 해당 모델 즉시 스킵, 재시도 1회로 제한

패턴 B: 죽은 모델이 체인에 잔류

모델 3일 성공률 평균 대기
minimax-m2.5 10% 69초
kimi-k2.5:cloud 2% 64초
qwen3.5:4b 9% 88초
nemotron-120b:free 17% 96초
  • 이 4개 모델이 체인에 남아서, gpt-5-mini 실패 시 60~90초씩 대기하며 연쇄 실패
  • 수정: 성공률 20% 미만 모델 체인에서 제거 또는 동적 순서 조정

패턴 C: vault_architect 동일 노트 반복 판단

  • vault_architect.py 881~892줄
  • 크론 실행마다 같은 노트를 다시 LLM에 판단 요청
  • "스마트글래스 에실로룩소티카" 노트: 3일간 24회 같은 질문
  • 낭비 규모: ~15K 토큰/주 (완전 중복)
  • 수정: 판단 결과 캐시 (노트 해시 기반), 내용 변경 없으면 재사용

패턴 D: oil_supply_monitor 초대형 프롬프트

  • oil_supply_monitor.py 2140~2500줄
  • 뉴스 검색 결과 전체를 프롬프트에 덤프 (건당 30,000~35,000자)
  • 정규식으로 이미 추출한 수치를 LLM에도 중복 전송
  • 낭비 규모: ~462K 토큰/주 (전체의 29%)
  • 수정: 정규식 추출 성공 필드 제거, 텍스트 [:4000] → [:1500] 축소

패턴 E: hypothesis_engine 로깅 우회

  • hypothesis_engine.py 556~580줄
  • shared/llm.py를 안 쓰고 직접 Gateway 호출
  • JSONL 로그에 안 잡혀서 실사용량 추적 불가
  • 수정: llm_chat_direct() 호출로 교체

5. Evaluator 분리 — Claude Code 구독 관점

현재 상태

  • 품질 채점 메커니즘 전무 — "응답이 왔으면 OK"
  • cheap_verifier.py는 깨진 스켈레톤 (구문 에러, 사용 불가)
  • 40개 파이프라인이 LLM 출력을 무검증으로 downstream 전파

Evaluator가 Claude Code 세션 수를 줄일 수 있는가?

직접적으로는 아니다. Evaluator는 파이프라인 내부 LLM 호출(게이트웨이 경유, gpt-5-mini)의 품질을 채점하는 것이지, 크론이 생성하는 Claude Code 세션 자체를 줄이지는 않는다.

간접적으로는 줄일 수 있다. 현재 품질 불량으로 재실행이 필요한 파이프라인이 있다면: - 수동 재실행 = 추가 Claude Code 세션 1개 - Evaluator가 첫 실행에서 품질을 보장하면 재실행 불필요 - 하지만 현재 "파이프라인 품질 불량 → 수동 재실행" 패턴의 빈도가 측정되지 않아 절감 규모는 추정 불가

실질적으로 세션을 줄이는 방법

Claude Code 구독 사용량을 줄이려면 크론 잡 정리가 유일한 방법:

조치 세션 절감/일 월간 절감
technical-stat-models 17→1 통합 -12 isolated + -128 main이벤트 ~360 세션
크론 에러 알림 10분→30분 -96 script ~2,880 실행
스크립트 실행 잡 69개 → 배치 통합 -40~50 세션 ~1,200 세션
중복 잡 정리 (6h-summary, 석유모니터 등) -5~10 세션 ~150 세션
합계 ~160 세션/일 ~4,590 세션/월 (55% 감소)

게이트웨이 LLM Evaluator 비용 (변경 없음)

항목 토큰
Evaluator 입력 (출력+루브릭+맥락) ~1,186
Evaluator 응답 (점수+사유) ~100
1회당 합계 ~1,286

gpt-5-mini로 Evaluator를 돌리면 추가 금전 비용 0원. 추가되는 건 레이턴시뿐.

권장 우선순위

우선 적용 (해리 직접 노출) 나중 적용 (내부 운영)
morning_briefing discovery_filter 번역
daily_report github_release_monitor
company_insight_tracker session_skill_extractor
sector_news_scorer
deep_enricher

상위 5개만 적용 시: 일 5~10건 추가 호출 (~13K 토큰)로 최대 효과.


6. 개선 권장 사항 (우선순위순)

즉시 실행 (난이도 낮음, 효과 큼)

# 조치 절감 추정 소요
1 타임아웃 시 모델 즉시 스킵 (재시도 1회) 주 ~300K 토큰 + 파이프라인 지연 해소 30분
2 성공률 20% 미만 모델 체인에서 제거 주 ~120K 토큰 + 대기시간 제거 15분
3 technical-stat-models 중복 17개 → 1개로 정리 세션 비용 94% 감소 15분
4 vault_architect 판단 캐시 추가 주 ~15K 토큰 (완전 제거) 1시간
5 hypothesis_engine → llm_chat_direct 전환 로깅 정상화 (추적 가능) 30분

중기 개선 (난이도 중간)

# 조치 절감 추정 소요
6 oil_supply_monitor 프롬프트 축소 주 ~200K 토큰 2시간
7 해리 노출 파이프라인 5개에 Evaluator 적용 품질 보장 (+13K 토큰/일) 4시간
8 knowledge_connector Jaccard 임계값 0.15→0.25 실행시간 3시간→30분 1시간

장기 구조 개선

# 조치 효과
9 동적 모델 체인 (24시간 성공률 기반 자동 순서) 자가 치유 폴백
10 LLM 로그에 토큰 수 직접 기록 (문자수→토큰) 정밀 비용 추적
11 knowledge_connector 인덱스 복구 + 임베딩 재활성화 O(n²)→O(n) 근사

7. 총 절감 가능 규모

구분 현재 주간 개선 후 추정 절감
총 토큰 1,598K ~900K ~700K (44%)
실패율 45.8% ~15% 30%p 개선
파이프라인 지연 60~90초/실패 <5초/실패 시간 95% 감소
knowledge_connector 3~5시간/실행 30분/실행 85% 단축

즉시 실행 가능한 1~5번만 적용해도 주간 ~435K 토큰(27%) 절감 + 파이프라인 안정성 대폭 개선.


8. Claude Code 구독 최적화 종합

현재 구독 압박 요인

요인 규모 위험도
일 278 세션 (월 ~8,300) Max 플랜 한도 불명 중 — rate limit 1회 히트 이력
스크립트 실행 잡 69개가 Sonnet 사용 Haiku면 충분한 작업 높 — 가장 큰 낭비
technical-stat-models 17중복 일 156 불필요 실행 높 — 즉시 정리 가능
모든 크론이 Sonnet (model 필드 미사용) Opus 필요 잡도 Sonnet 중 — 역방향 비효율

우선 조치 (구독 기준)

# 조치 효과 난이도
1 technical-stat-models 17→1 통합 일 156 실행 제거 낮음
2 크론 에러 알림 10분→30분 일 96 실행 절감 낮음
3 스크립트 실행 잡에 model 필드 추가 Sonnet→적정 모델 중간 (하네스가 model 필드 지원하는지 확인 필요)
4 동일 시간대 중복 잡 정리 일 5~10 세션 절감 낮음
5 cowork-full/analyst에 Opus 명시 품질 향상 (비용 증가 아님, Max 포함) 낮음

모니터링 필요 사항

  1. Max 플랜 rate limit 구조 확인 — Anthropic에 문의하거나 claude.ai 계정 설정 확인
  2. 실제 세션당 토큰 소비 — costs.jsonl이 0만 기록하므로 추적 불가. Anthropic 대시보드 필요
  3. model 필드가 하네스에서 실제 작동하는지 — 가격 이력 수집(e27b3e01) 잡이 gpt-5-mini로 설정되어 있으나 실제 반영 여부 미확인