콘텐츠로 이동

Session Pruning으로 Anthropic 캐시 비용 아끼기

LLM과 긴 대화를 나누다 보면 컨텍스트가 금방 쌓여버리죠. 특히 도구가 내뱉는 긴 결과값들이 누적되면 API 호출마다 비용이 부담되고 응답 속도도 느려집니다. 잠시 자리를 비운 사이 캐시가 만료되기라도 하면, 다음 요청 때 그 방대한 히스토리를 다시 캐싱하느라 불필요한 비용을 지불하게 됩니다.

이런 문제를 해결하기 위해 OpenClaw는 LLM 호출 직전에 메모리 내 컨텍스트에서 오래된 tool results를 자동으로 쳐내는 Session Pruning 기능을 제공해요. 디스크에 저장된 히스토리 파일(*.jsonl)은 건드리지 않으면서, 모델에 보내는 프롬프트만 똑똑하게 다이어트 시켜줍니다.

  • Anthropic API key (또는 OpenRouter를 통한 Anthropic 모델 사용)
  • OpenClaw 설정 권한

5분 만에 Session Pruning을 활성화하고 캐시 효율을 높여보세요.

  1. 기본 활성화: mode를 cache-ttl로 설정하면 마지막 호출 후 일정 시간이 지났을 때 자동으로 정리를 시작해요.
{
agent: {
contextPruning: { mode: "cache-ttl", ttl: "5m" },
},
}
  1. 특정 도구만 제한: 특정 도구의 결과만 정리하고 싶다면 tools 필드를 사용하세요.
{
agent: {
contextPruning: {
mode: "cache-ttl",
tools: { allow: ["exec", "read"], deny: ["*image*"] },
},
},
}

Session Pruning은 Anthropic의 프롬프트 캐싱 시스템을 최대한 활용하도록 설계되었어요.

  • 비용 절감: 캐시 TTL이 만료된 후 첫 요청을 보낼 때, 불필요한 과거 tool results를 쳐내서 cacheWrite 크기를 줄여줍니다.
  • 안전한 보호: 유저와 어시스턴트의 메시지는 절대 삭제하지 않아요. 오직 toolResult 메시지만 정리 대상입니다.
  • 이미지 보호: 이미지 블록이 포함된 도구 결과는 중요도가 높다고 판단하여 절대 건드리지 않습니다.
  • 유연한 정리: 결과가 너무 길면 앞뒤만 남기는 Soft-trim을 수행하고, 기준을 넘어서면 아예 내용을 비우는 Hard-clear를 실행해요.

1. Pruning이 실행되지 않아요.

  • Anthropic API(또는 OpenRouter Anthropic)를 사용 중인지 확인하세요. 다른 모델에서는 작동하지 않습니다.
  • 마지막 호출 이후 설정한 ttl 시간이 지났는지 확인해 보세요.
  • 어시스턴트 메시지 개수가 keepLastAssistants 설정값보다 적으면 정리를 건너뜁니다.

2. 중요한 도구 결과가 자꾸 지워집니다.

  • keepLastAssistants 값을 높여서 최근 대화의 맥락을 더 많이 보존하세요.
  • tools.deny 목록에 해당 도구 이름을 추가하면 정리 대상에서 제외할 수 있습니다.

궁금한 점이 있다면 AI Setup Assistant에게 물어보세요!

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.