OpenClaw 토큰을 왜 그렇게 빨리 태우는지 - 안에서 뭘 하길래

OpenClaw 토큰을 왜 그렇게 빨리 태우는지 - 안에서 뭘 하길래
Photo by Frankie Latour / Unsplash

OpenClaw 라는 자체 호스팅 개인 AI 어시스턴트 프레임워크가 있습니다. WhatsApp / Telegram / Slack 등 본인이 쓰는 메신저에 붙여서 AI 비서처럼 쓰는 도구입니다. 출시 직후 GitHub 145k 스타 돌파. 초인기 오픈소스프로젝트입니다.

처음 나왔을 때 저도 써보려고 했다가 토큰 소비 + 응답 느림 두 가지 때문에 안 썼습니다. 대안을 찾다가 takopi라고 텔레그램을 통해 터미널 에이전트를 쓸 수 있게 해주는 오픈소스를 찾았는데 전 mattermost파(?)라서 포크해서 tunapi 라고 (Claude Code, Codex, Gemini CLI) 를 -p 모드로 호출하는 백엔드를 만들어서, 다른 트랜스포트 (Mattermost / Slack / discord) 를 더 붙혀서 사용했었구요.

늦었지만(?) 이제 와서 OpenClaw 가 왜 그렇게 토큰을 빨리 태우는지 기술적으로 조사해보고 정리해봤습니다.

1. 시스템 프롬프트가 매번 새로 조립됨

OpenClaw 는 매 실행마다 시스템 프롬프트를 다시 만듭니다. 안에 들어가는 자료:

  • 워크스페이스 파일들: AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md
  • 도구 목록 + JSON 스키마
  • 스킬 목록 메타데이터
  • 런타임 메타데이터

기본 설정으로 파일 한 개당 최대 20k chars, 전체 합쳐서 최대 150k chars (약 37.5k 토큰) 까지 시스템 프롬프트에 주입됩니다. 일반적으로 5k-10k 토큰 정도가 매 API 호출에 prepend.

2. 한 작업이 여러 도구 호출로 분해됨

에이전트가 한 작업을 수행할 때 도구 호출 (이메일 가져오기 → 분석 → 우선순위 결정 → Todoist 등록 → 요약) 마다 별도 API 호출이 발생하고, 각 호출이 전체 컨텍스트를 운반합니다. 단순해 보이는 요청도 5-10개 API 호출로 분해될 수 있습니다.

이건 백그라운드에서 몰래 돌아가는 호출이 아니라 에이전트의 정상 동작인데, 사용자 입장에서는 "한 메시지 보냈을 뿐인데" 토큰 청구서는 충격적입니다.

3. 대화 히스토리 전체가 매 요청에 재전송

.openclaw/agents.main/sessions/ 디렉토리에 JSONL 로 모든 히스토리가 쌓이는데, 새 요청마다 전체 대화 히스토리를 모델에 다시 보냅니다.

한 사용자 보고에서는 메인 세션 컨텍스트가 이미 400k 윈도우의 56-58% 를 점유. 즉 단순 질문 한 번에도 200k+ 토큰의 캐시 컨텍스트를 처리해야 합니다.

Compaction (자동 요약) 이 있긴 한데 트리거 threshold 가 높아서 200k 컨텍스트 윈도우 근처에서야 작동합니다. 그 전까지는 수십 k 토큰이 누적된 상태로 매 호출 발생.

4. 캐시는 부분 해결책 - TTL 만료시 cold start

Anthropic Prompt Caching 이 캐시 히트시 10% 만 청구하긴 하는데, TTL (보통 1시간) 이 있습니다. 연속으로 안 쓰면 매 cold start 마다 전체 가격 지불.

OpenClaw 가 heartbeat (TTL 55분 간격으로 캐시 워밍) 같은 우회 설정을 제공하긴 하지만, 이건 사용자가 안 쓰는 시간에도 모델 호출을 보낸다 는 뜻이라 또 다른 비용입니다.

5. 도구 출력이 컨텍스트에 누적

큰 도구 출력 (디렉토리 traverse 결과, 파일 리스트, 검색 결과 등) 이 세션 기록에 그대로 저장됩니다. 한 번 들어가면 이후 모든 호출에 따라다닙니다. OpenClaw 가 oversized 출력은 컨텍스트 윈도우의 ~30% 까지로 자르긴 하는데 (하드캡 400k chars), 그래도 누적량은 빠르게 늘어납니다.

6. MCP 서버 과사용

이게 의외로 큰 자리입니다. MCP (Model Context Protocol) 서버를 많이 깔수록 각 도구의 description + JSON schema 가 시스템 프롬프트에 prepend 됩니다.

측정값:

  • MCP 서버당 약 200-800 토큰의 도구 description 추가
  • 80개+ 도구 운영하는 사용자: 매 요청당 5.2k 토큰 오버헤드
  • 8개로 줄이면 1.8k 토큰 오버헤드
  • 비슷한 아키텍처의 Hermes Agent 측정에서는 "What's on my calendar today?" 같은 단순 캘린더 질문도 추론 시작 전에 15-20k input 토큰 소비. OpenClaw 자체 측정값은 아니지만 같은 패턴 (도구 정의 + 시스템 프롬프트 prepend) 이라 참고 가능

문제는 MCP 가 다른 5개 원인과 곱해진다는 점입니다:

결합 결과
MCP + 시스템 프롬프트 재조립 매 호출 MCP 도구 schema 가 재주입
MCP + 히스토리 재전송 tool result 도 히스토리에 누적
MCP + Heartbeat 매 heartbeat 가 전체 도구 정의 들고 호출
MCP + 컨텍스트 누적 도구 출력이 컨텍스트의 ~30% 까지 차지

OpenClaw 가 MCP 마켓플레이스 (ClawHub) 를 적극 권장하는 구조라 사용자가 자연스럽게 MCP 를 많이 깔게 되는데, 그게 토큰 burn 의 원인인 줄 모르고 모델 품질만 탓하게 되는 경우가 많습니다.

7. Heartbeat 와 Compaction 자체도 비용

  • Heartbeat: 사용자 메시지 없어도 주기적 백그라운드 실행
  • Compaction: 오래된 히스토리 요약하려고 추가 모델 호출
  • 메모리 검색 임베딩: 별도 provider (OpenAI/Gemini/Voyage) 토큰 소비

한 사용자 보고: "매 5분 이메일 체크 설정했더니 Heartbeat 만으로 하루 $50".

실 사례

MacStories 편집장 Federico Viticci 본인 글: OpenClaw 사용으로 한 달에 180M 토큰 burn. 어시스턴트 이름은 Navi 로, Telegram + M4 Mac mini + Claude Opus 4.5 조합. (180M / $3,600 청구서 환산값은 Sonnet 단가 기준 외부 역산이라 정확한 모델별 단가는 별개)

독일 IT 매체 c't 3003 테스트: 하루 Opus 사용에 $109.55.

Reddit 사용자 $200 / 일 - 단일 자동화 루프 사고.

정리

원인 영향
시스템 프롬프트 매번 재조립 + bootstrap 파일 주입 매 호출 5k-37.5k 토큰
한 작업이 5-10개 도구 호출로 분해 각 호출이 전체 컨텍스트 운반
대화 히스토리 전체 재전송 누적시 400k 윈도우의 50%+ 점유
캐시 TTL 제약 미사용 시간 후 cold start 비용
도구 출력 누적 한 번 들어간 출력은 계속 따라다님
MCP 서버 과사용 80개 도구 = 5.2k 토큰 오버헤드 / 요청
Heartbeat / Compaction 사용자 액션 없어도 백그라운드 호출

OpenClaw 가 토큰을 빨리 태우는 건 사용자가 뭔가 잘못해서가 아니라 아키텍처 자체에서 나오는 결과입니다.

그럼 사람들은 왜 많이 쓰는가

145k 스타 받는 도구라 청구서 충격 사례만 있는 건 아닙니다. 실제 사용 스펙트럼은 훨씬 넓습니다:

  • 라이트 사용자: 월 $10-30
  • 레귤러: 월 $40-80
  • 파워: 월 $100-200
  • Viticci 같은 케이스는 outlier

추가로 OpenClaw 사용자 대부분이 Claude Pro/Max OAuth 로 붙어서 비용을 볼 수 없는 구조였습니다 (공식 문서: "OAuth tokens never show dollar cost"). 2026-04-04 부터 Anthropic 이 Claude Pro/Max 의 OpenClaw 사용을 차단해서 이제는 API key 강제이긴 합니다.

OpenClaw 가 끌리는 진짜 가치는:

  • 메신저 통합 (WhatsApp, Telegram, Slack, iMessage, Signal 등 25개+) 한 곳에서 AI 비서 사용
  • 자체 호스팅 + MIT 라이선스
  • 에이전트가 자기 자신을 개선 가능 (Viticci 가 Navi 한테 "이미지 생성 기능을 너 자신한테 추가해" → 진짜로 추가)
  • Simon Willison, Casey Newton 같은 영향력 있는 사람들의 긍정적 리뷰

그래서 어떻게 썼나

OpenClaw 가 무거워서 안 쓰기로 하고, 메신저 ↔ AI CLI 브릿지를 직접 만들었습니다. tunapi 라는 도구인데, Claude Code / Codex CLI / Gemini CLI 같은 터미널 AI 도구를 Mattermost / Slack / Telegram 에서 바로 호출하는 구조입니다. 세션 컨텍스트 유지, 멀티 에이전트 라운드테이블 (!rt), 대화 브랜칭, 채널별 프로젝트 매핑 같은 기능을 메신저 UI 안에서 그대로 씁니다. 그리고 메일 읽어주고 일정 정리해주고, 날씨 알려주는 비서는 딱히 필요 없기도 하구요 😆

OpenClaw 같은 ambient assistant 가 모든 메신저 채널에 AI 비서를 상주시키는 방향이라면, tunapi 는 내가 명시적으로 부를 때만 작동하는 방향. 백그라운드 heartbeat 같은 자동 호출이 없으니까 토큰 burn 패턴이 다릅니다.

OpenClaw 가 나쁜 도구라는 게 아니라, 기능이 많은 만큼 비용도 큰 도구. 본인 사용 패턴이랑 안 맞으면 가벼운 자체 조합이 답일 수 있다는 얘기입니다.


출처