본문 바로가기
C.W.K.
Stream
Lesson 08 of 10 · published

맥락 압축 — 매번 읽힐 필요 없는 것은 줄여

~14 min · context, compression, cost

Level 0수련생
0 XP0/100 lessons0/14 achievements
0/120 XP to next level120 XP to go0% complete

전부 다시 보내기보다 한 번 요약하는 편이 싸

문서가 5만 토큰인데 답에 필요한 건 결론뿐이라면, 문서를 한 번 따로 요약해 저장하고 질문할 때는 그 요약만 보내. 사용자는 같은 답을 입력 토큰의 5%만 쓰고 받을 수 있어. 5만 토큰을 읽는 비싼 작업은 처음 한 번으로 끝나고.

압축하는 두 가지 방식

  • 정적 압축 — 자료를 받아들일 때 요약을 미리 만들어. 원문 청크와 요약을 모두 임베딩한 뒤 요약부터 검색하고, 필요할 때만 원문 청크로 내려가.
  • 동적 압축 — 질문이 들어왔을 때 긴 청크를 비싼 모델에 보내기 전에 싼 모델로 줄여. 긴 대화 기록을 다지는 데도 유용해.

줄인 만큼 잃는 것도 있어

압축한 맥락에서는 정보가 빠져. 요약은 해석이지 원문이 아니야. 법률 검토, 감사, 인용처럼 정확한 문구가 필요한 작업에서는 요약만으로 부족해. 원문은 언제든 꺼낼 수 있게 두고 주변 설명만 압축해야 해. 반면 의도 분류나 요청 분기처럼 요지만 알면 되는 작업에서는 요약의 이득이 더 커.

Code

자료 수집 때 만드는 정적 압축·python
def summarize(chunk: str) -> str:
    return client.messages.create(
        model="claude-haiku-4-5",  # cheap, fast
        max_tokens=128,
        messages=[{"role": "user",
                    "content": f"Summarize in 2 sentences:\n{chunk}"}],
    ).content[0].text

for doc in docs:
    for chunk in chunk_doc(doc):
        index.upsert(
            id=chunk.id,
            text=chunk.text,
            summary=summarize(chunk.text),  # used in low-cost retrieval pass
        )

External links

Exercise

거의 그대로 인용하지 않는 참조 문서와 자주 인용하는 근거 문서가 함께 있는 자료 모음을 골라봐. 참조 문서만 미리 요약하고, 적용 전후의 비용과 답변 품질을 재.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.