에이전트-캐시: Valkey와 Redis를 위한 다중 계층 LLM 캐싱
Agent-cache는 토큰 사용량과 실행 시간을 줄여 LLM 운영을 최적화하도록 설계된 3계층 캐싱 솔루션입니다. Valkey 또는 Redis를 사용하여 LLM 응답, 도구 출력 및 세션 상태를 캐싱합니다. 아키텍처에는 정확히 일치하는 LLM 응답 캐시, 함수 호출 결과를 위한 도구 출력 캐시, 에이전트 체크포인트를 위한 세션 상태 캐시가 포함됩니다. 각 계층은 고유한 TTL 전략을 사용하며, LLM 응답은 몇 시간 동안, 도구 출력은 더 짧은 기간 동안, 세션 상태는 활성 사용자 세션 동안 캐싱됩니다. LLM 응답의 캐시 키에는 프롬프트 해시와 모델 매개변수가 포함되며, 도구 출력 키에는 도구 이름과 인수 해시가 사용됩니다.시스템이 종속성을 추적하지 않으므로 수동 무효화가 필요하며, Redis glob 패턴을 사용하여 대상 캐시를 지울 수 있습니다. Valkey/Redis를 사용할 수 없는 경우, agent-cache는 기본적으로 정상적인 성능 저하를 수행하여 캐시를 건너뛰면서 각 계층에 대해 fail-fast 또는 로컬 폴백 옵션을 구성할 수 있습니다. OpenTelemetry 및 Prometheus와 같은 관찰 가능성 도구가 캐시 성능 및 상태를 모니터링하기 위해 통합됩니다. 라이브러리는 LangChain, LangGraph 및 Vercel AI SDK에 대한 어댑터를 제공하며 각 프레임워크에 대한 직렬화를 처리합니다.Valkey 또는 Redis를 이미 실행 중인 환경을 위해 설계되었으며, 해시 태그를 사용하여 효율적인 키 분배를 지원하는 독립형, 센티넬 및 클러스터 배포를 지원합니다. 주요 위험에는 오래된 도구 출력, 잠재적인 캐시 키 충돌 및 메모리 압력이 포함되며, 짧은 TTL, 포괄적인 캐시 키 및 메모리 정책을 통해 완화됩니다. 재시작 중 세션 상태 손실은 RDB 스냅샷 또는 AOF 지속성을 통해 해결됩니다.Agent-cache는 반복적인 프롬프트 또는 도구 호출이 있는 에이전트에 유용하며, 토큰 비용을 제어하고 기존 Redis 인프라를 활용하는 것을 목표로 합니다. 그러나 외부 상태를 변경하는 도구, 낮은 캐시 적중률을 초래하는 매우 동적인 프롬프트 또는 정확히 일치하는 것보다 의미론적 유사성 일치가 필요한 경우에는 적합하지 않습니다. 이 라이브러리는 프레임워크별 캐싱과 범용 Redis 간의 격차를 효과적으로 해소하며, 에이전트 루프 및 도구 동작이 잘 이해될 때 가장 잘 활용됩니다.