본문으로 건너뛰기

LLM 에이전트 컨텍스트 압축 기술 Gisting

Gisting은 긴 시스템 프롬프트를 학습된 특수 토큰으로 압축해 품질을 유지하면서 LLM 에이전트의 지연 시간과 GPU 비용을 낮춥니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

긴 시스템 프롬프트는 에이전트의 지시 수행 품질을 높이지만 요청마다 많은 토큰을 처리해야 해 지연 시간과 GPU 비용을 키웁니다. Shopify는 모델 가중치를 고정하고 학습된 gist embeddings만 조정하는 Knowledge Distillation으로 약 6,000토큰의 Sidekick GraphQL agent 프롬프트를 약 1,500개의 gist 토큰으로 압축했습니다. 350 RPM에서 TTFT는 438ms에서 354ms로, E2E latency는 6.8초에서 4.2초로 감소했고 throughput은 20.2 QPS에서 23.4 QPS로 증가했습니다. Prefix Caching과 함께 사용한 Gisting은 운영 GPU 수를 14% 줄였으며, 증류한 embeddings를 Continual Learning의 prefix로 재사용할 수도 있습니다.

섹션별 상세

01
긴 시스템 프롬프트는 LLM 에이전트가 풍부한 지시를 따르게 하지만 요청마다 수천 개 토큰을 처리해야 하므로 지연 시간과 추론 비용을 키웁니다. Shopify는 Sidekick GraphQL agent의 약 6,000토큰 시스템 프롬프트를 약 1,500개의 gist 토큰으로 바꿔 4 대 1로 줄였습니다. 예측 품질을 유지하면서 입력 길이와 GPU 수요를 낮추는 것이 Gisting의 핵심 가치입니다.
긴 입력 토큰들이 여러 경로를 거쳐 더 짧은 녹색 토큰 묶음으로 압축되는 Gisting의 개념을 시각화한 이미지입니다.
Diagram상단의 긴 보라색 토큰 시퀀스가 중앙 하단의 소수 녹색 토큰으로 모이며, 긴 시스템 프롬프트를 학습된 gist tokens로 대체하는 구조를 나타냅니다. 기사에서 말한 4 대 1 컨텍스트 압축과 추론 시 입력 길이 감소를 직관적으로 연결합니다.
02
Gist token은 모델 어휘에 추가한 특수 토큰이며, 학습된 embedding 시퀀스가 전체 프롬프트를 본 것과 유사한 동작을 유도합니다. 모델 가중치는 고정하고 교사 단계에서는 전체 자연어 프롬프트, 학생 단계에서는 gist 토큰을 넣어 같은 응답 위치의 logits를 얻은 뒤 KL divergence를 줄이는 방식으로 embeddings를 학습합니다. 학습이 끝난 embedding을 모델의 embedding matrix에 기록하고 tokenizer에 특수 토큰으로 등록하므로 추론 서버에는 별도의 encoder나 custom attention mask가 필요하지 않습니다.
전체 시스템 프롬프트를 사용하는 Teacher와 gist tokens를 사용하는 Student가 출력분포를 맞추는 지식 증류 과정을 나타낸 다이어그램입니다.
DiagramTeacher는 model과 full system prompt를 입력으로 받고 Student는 model과 gist tokens를 입력으로 받아 각각 예측분포를 생성합니다. 두 분포 사이의 KL divergence를 최소화해 압축된 입력에서도 원래 모델과 가까운 출력을 얻는 학습 절차를 보여줍니다.
03
Prefix Caching은 반복되는 시스템 프롬프트의 사전 계산을 피하지만, 생성 토큰이 나올 때마다 캐시된 전체 시퀀스의 Key와 Value를 고대역폭 메모리에서 읽는 비용은 남습니다. Gisting은 캐시해야 할 시퀀스와 attention 범위를 줄여 decode 과정의 메모리 대역폭 부담을 낮추며, 두 기법은 함께 적용할 수 있습니다. Shopify는 실험과 운영 서빙 스택에서 Prefix Caching과 Gisting을 동시에 사용해 긴 프롬프트의 반복 계산과 생성 단계의 읽기 비용을 각각 줄였습니다.
04
autoresearch 루프는 gist embeddings를 학습하고 평가하는 과정을 반복하면서 초기화, 압축률, 데이터 구성을 조정했습니다. 시스템 프롬프트를 길이 k인 청크로 나눈 뒤 각 청크 평균으로 embedding을 초기화하자 초기 loss가 7분의 1로 줄었고, 이 도메인에서는 4 대 1 압축률을 넘을 때 예측 품질이 낮아졌습니다. 응답 토큰별 평균 대신 배치 기준으로 loss를 평균하고 teacher logits 사전 계산과 사전 tokenization을 적용해 전체 실행 시간을 30시간에서 6시간으로 단축했습니다.
약 40회의 autoresearch 실험에서 7개의 개선 단계를 유지하며 점수가 64에서 교사 기준선 73.1에 가까워지는 과정을 나타낸 그래프입니다.
Chart회색 점은 폐기한 실험이고 청록색 계단선은 유지한 개선을 뜻하며, 초기화 변경과 4 대 1 압축, batchmean loss, 데이터 확장, 학습률 일정 등이 순차적으로 반영됩니다. 실험 점수가 64에서 73.1의 teacher baseline 부근까지 상승해 자동화된 recipe 탐색의 누적 효과를 보여줍니다.
05
부하 테스트에서 요청 처리량이 350 RPM에 이르면 압축 프롬프트의 median TTFT는 438ms에서 354ms로, median end-to-end latency는 6.8초에서 4.2초로 줄었습니다. 이는 TTFT 19% 감소, E2E latency 약 38% 감소, throughput 16% 증가에 해당하며 처리량은 20.2 QPS에서 23.4 QPS로 높아졌습니다. 운영 환경에서는 같은 GraphQL 트래픽을 처리하는 데 필요한 GPU 수가 14% 줄어들어, 프롬프트 압축이 지연 시간 개선을 넘어 인프라 비용 절감으로 이어졌습니다.
요청 처리량이 350 RPM일 때 압축 프롬프트가 full prompt보다 TTFT와 E2E p50 지연을 낮추는 결과를 비교한 그래프입니다.
ChartTTFT p50은 350 RPM에서 full prompt 438ms와 compressed 354ms로, E2E p50은 6.8초와 4.2초로 나타납니다. 동시 요청과 배치 규모가 커질수록 압축 프롬프트의 지연 시간 이점이 커진다는 기사 결론을 수치로 뒷받침합니다.
06
증류한 gist embeddings는 Shopify의 continual learning 과정에서 새 학습의 prefix로 재사용할 수 있습니다. 증분 데이터에 대해 모델 가중치와 gist embeddings에 함께 gradient update를 적용하면 매번 긴 프롬프트에서 embeddings를 다시 증류하지 않고도 모델을 계속 보정할 수 있습니다. 따라서 Gisting은 일회성 입력 압축을 넘어 지속적인 모델 개선 흐름에도 연결되며, 긴 지시를 유지하면서 추론 지연과 GPU 지출을 줄이는 운영 방식으로 자리 잡았습니다.

용어 해설

지식 증류(Knowledge Distillation)
큰 모델이나 전체 입력을 사용하는 교사 모델의 출력 분포를 더 짧은 입력을 사용하는 학생 모델이 따라가도록 학습하는 방법입니다. 이 글에서는 모델 가중치를 고정한 채 교사와 학생의 logits 차이를 KL divergence로 계산하고, 학생 역할의 gist embeddings만 조정해 긴 시스템 프롬프트의 동작을 압축합니다.
Gist 토큰(Gist Token)
긴 자연어 프롬프트를 대신하도록 모델 어휘에 추가한 특수 토큰입니다. 여러 프롬프트 토큰의 의미와 동작을 소수의 학습된 embedding에 담아 추론 시 원문 대신 입력하며, 이 글의 4 대 1 압축에서는 프롬프트 토큰 네 개마다 gist 토큰 하나를 배치합니다.
KL Divergence
두 확률분포가 얼마나 다른지 측정하는 값으로, 지식 증류에서 교사 모델과 학생 모델의 예측 분포를 맞추는 학습 신호로 쓰입니다. 이 글에서는 동일한 응답 위치에 대한 teacher logits와 student logits 사이의 KL divergence를 줄여, 압축된 입력에서도 학생의 예측이 교사에 가까워지도록 만듭니다.
Prefix Caching
이전에 처리한 시퀀스의 Key와 Value를 KV cache에 저장해 같은 접두사를 다시 계산하지 않도록 하는 추론 최적화입니다. 다만 생성 토큰마다 전체 캐시를 메모리에서 읽어야 하므로 긴 접두사의 decode 비용은 남으며, Gisting은 시퀀스 자체를 짧게 만들어 attention 계산과 KV cache 읽기량을 함께 줄입니다.
Continual Learning
새로 유입되는 데이터로 모델을 계속 보정하고 개선하는 학습 방식입니다. 이 글에서는 한 번 증류한 gist embeddings를 다음 학습의 prefix로 재사용하고, 증분 데이터에 맞춰 모델 가중치와 gist embeddings를 함께 업데이트해 매번 처음부터 압축을 다시 학습하는 비용을 피합니다.

기술

  • Gisting
  • Sidekick GraphQL agent
  • Knowledge Distillation
  • KL divergence
  • Prefix Caching
  • KV cache
  • autoresearch
  • tokenizer
  • continual learning

활용 사례

  • GraphQL 에이전트 서빙
  • 긴 시스템 프롬프트를 사용하는 LLM 에이전트
  • 대규모 동시 요청 처리
  • GPU 기반 전용 모델 서빙
  • Continual Learning 기반 모델 보정
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 21.수집 2026. 08. 21.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.