Tsinghua 연구진이 LLM 에이전트용 캐시 관리 시스템 AKV를 GitHub에 오픈소스 코드로 공개했다. 에이전트의 대화가 길어졌을 때 대화를 줄이거나 요약하는 대신, AKV는 저장된 정보 중 일부를 삭제하고 나머지를 재배치할 수 있도록 한다. 이 프로젝트는 언어 모델 실행 소프트웨어인 SGLang을 기반으로 하며, 캐시 작업을 선택하는 구성 요소와 이를 실행하는 서빙 시스템을 모두 포함한다.
이 구분이 중요한 이유는 에이전트의 기록에 다양한 관찰 내용과 도구 호출, 도구 실행 결과가 담길 수 있기 때문이다. 이 모든 내용을 모델의 활성 컨텍스트에 보관하려면 저장 공간과 처리 자원이 필요하다. 하지만 이전 메시지를 편집하면 그 뒤의 컨텍스트를 다시 계산해야 할 수 있는데, 이를 재프리필링(re-prefilling)이라고 한다. AKV 논문은 이 작업에 비용이 많이 들 수 있으며, 기록을 너무 많이 삭제하면 작업 정확도가 떨어질 수 있다고 설명한다. AKV는 대신 대화 기록은 그대로 두고, 모델이 저장된 키-값 캐시 중 어떤 부분에 주의를 기울일지만 바꾼다.
AKV는 어떻게 작동하나?
AKV는 에이전트에 두 가지 캐시 작업을 제공한다. ‘Drop’은 선택한 정보를 이후 주의 대상에서 제외하고, ‘reposition’은 유지한 정보의 위치를 압축한다. 프로젝트 예시에서는 가장 최근 도구 실행 결과를 남기고, 새 결과가 나온 뒤 이전 결과를 삭제한 다음 남은 캐시를 재배치한다. 원래 메시지는 요청에 그대로 남아 있고, AKV 서버가 캐시 지침을 적용한다. 논문에 따르면 이 방식은 유지된 컨텍스트를 재프리필링할 필요가 없다.
시스템은 캐시가 변경된 방식도 고려해야 한다. 논문은 에이전트가 서로 다른 작업을 수행했다면 대화 토큰의 순서가 같더라도 캐시 상태가 달라질 수 있다고 설명한다. 따라서 서버는 대화의 앞부분이 일치한다는 이유만으로 캐시 정보를 안전하게 재사용할 수 없다. AKV는 에이전트 측 정책과 캐시 재사용·삭제·복원을 관리하는 SGLang 기반 서버를 결합한다. 프로젝트에 따르면 이 서버는 기존 서빙 API와 호환되는 무상태 인터페이스를 사용하면서 캐시 상태를 내부적으로 처리한다.
테스트 결과는?
개발진의 실험에서 도구 응답에 롤링 드롭 정책을 적용하자 임계값 기반 요약 방식보다 벤치마크 점수가 평균 1.7점 높아졌고, 평균 비용은 27.7% 줄었다. 논문은 출력 처리량이 최대 1.2배, 95백분위 요청 지연 시간이 1.5배 개선됐다고도 보고한다. 캐시 정책을 개선하는 별도 방식은 전문가가 설계한 정책보다 비용을 7.1% 더 줄였다. 이는 논문 저자들이 보고한 결과이며, 제공된 자료에는 독립적인 재현 검증 결과가 없다.
GitHub 안내에 따르면 AKV를 설치하려면 Rust, Cargo, Python 3.12가 필요하다. 빠른 시작 예시는 AKV를 통해 GPT-OSS-120B를 서빙하고 OpenAI 호환 채팅 완성 형식으로 요청을 보낸다. 기존 에이전트 하네스에 정책을 통합하는 방법도 소개하는데, 서버에 요청을 보내기 전에 이를 처리하는 방식이다. 보고된 결과는 에이전트 벤치마크 4종을 대상으로 하지만, 제공된 자료에는 벤치마크 이름이 나와 있지 않고 다른 모델이나 작업 환경에서도 비용 절감 효과가 어느 정도일지 판단할 만한 세부 정보도 충분하지 않다.
왜 중요한가
도구를 반복적으로 호출하는 에이전트를 개발하는 팀은 AKV를 이용해 대화 기록을 다시 쓰지 않고 오래된 도구 실행 결과를 삭제할 수 있다. 개발진은 테스트에서 비용이 줄었다고 보고했지만, 실제 절감 효과는 사용하는 모델과 작업 환경에 따라 달라질 수 있다.