에이전틱 LLM 파이프라인의 캐싱
비결정적인 LLM 환경에서 재현성과 변동성을 함께 만족하는 캐시 키 설계를 제안했다.
에이전트형 워크플로는 복잡성, 동적 경로, 장시간 실행, 높은 비용 때문에 평가 실험에서 캐싱이 필수지만, LLM은 같은 프롬프트에도 결과가 달라지는 비결정성을 가진다. 그래서 단순한 캐시 토글만으로는 실험을 빠르게 재현할 수도, 의도적으로 변동성을 줄 수도 없다.
문제는 연구자들이 캐시에서 재현성과 변동성이라는 서로 반대되는 동작을 동시에 원했다는 점이다. 재실행 시에는 이전 결과를 다시 사용해 빠르게 돌아가야 하지만, best-of-N sampling처럼 여러 번 시도해 성능 분산과 Success@K를 측정할 때는 각 분기가 서로 다른 결과를 내야 한다.
기존의 캐시 키 설계는 두 방식 모두에 실패했다. 단순히 step name만 쓰면 서로 다른 Generate 분기가 같은 키를 공유해 버리고, step name + counter 방식은 실행이 끝나는 순서에 의존해 입력-출력 짝이 뒤섞인다. 특히 LLM 호출이 서로를 입력으로 삼는 composition 구조에서는 완료 순서가 매번 달라져, 같은 프롬프트와 응답의 대응이 보장되지 않는다.
해법은 캐시 키가 실행 순서가 아니라 그래프 위치를 인코딩하도록 만드는 것이었다. 즉, 각 LLM 호출이 파이프라인에서 어디에 있는지, 어떤 branch(run index) 인지, 그리고 어떤 upstream outputs를 소비했는지를 키에 포함해, 재실행하더라도 완료 순서와 무관하게 같은 위치의 호출만 같은 캐시를 공유하게 했다.
이 방식으로 gen_0, gen_1 같은 분기는 서로 다른 결과를 유지하고, 그 위에 붙는 validation/fix 단계는 자신의 상위 출력 정체성을 이어받아 일관되게 연결된다. 결과적으로 하나의 변경만 두고 나머지는 캐시로 재사용하는 실험, 동일한 upstream output을 기준으로 한 A/B 테스트, 그리고 서로 같은 답으로 붕괴하지 않는 best-of-N 재현이 가능해졌다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.