Source: https://aiprimetech.io/ko/docs/guides/context-management/ [홈](/ko/) / [문서](/ko/docs/) / 컨텍스트 관리 # 컨텍스트 관리 긴 세션의 비용이 비선형적으로 증가하는 이유와 대화 기록의 크기를 제한하는 패턴. 페이지 복사 [ Markdown으로 보기](/ko/docs/guides/context-management.md) [ ChatGPT에 질문](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/guides/context-management.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Claude에서 질문](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/guides/context-management.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) API는 상태를 저장하지 않습니다. 매 턴마다 전체 대화를 다시 전송하므로 대화 기록이 길어질수록 입력 토큰이 늘어나고, 이후 호출마다 비용도 함께 증가합니다. ## 문제의 구조 N번의 턴으로 이루어진 대화에서 각 턴마다 약 T개의 토큰이 추가되면, 총 입력 토큰 비용은 NT가 아니라 대략 N²T/2에 비례합니다. 세션 길이가 두 배가 되면 입력 요금은 대략 네 배가 됩니다. 처음 십 분 동안은 저렴하게 느껴졌던 에이전트의 비용이 한 시간 후에는 부담스러워지는 이유입니다. ## 효과적인 네 가지 패턴 | 패턴 | 방법 | 절충점 | 슬라이딩 윈도 | 최근 K개의 턴만 유지하고 나머지는 삭제 | 초반 컨텍스트가 완전히 사라짐 | 누적 요약 | 주기적으로 이전 턴을 모델이 작성한 요약으로 대체 | 호출 한 번의 추가 비용이 들지만 핵심 내용은 유지 | 작업마다 새 세션 시작 | 주제가 바뀌면 새로 시작 | 추가 비용이 없으며 대체로 적절한 방법 | 외부 저장 | 상태를 파일이나 데이터베이스에 보관하고 현재 단계에 필요한 내용만 불러오기 | 작업량이 가장 많지만 결과도 가장 좋음 ## 이전 턴 요약하기 ``` Copydef compact(history, keep=6): class="s">""class="s">"Replace everything but the last `keep` turns with one summary turn."class="s">"" if len(history) <= keep: return history old, recent = history[:-keep], history[-keep:] summary = summarise(old) class=class="s">"c"># one cheap Haiku call return [{class="s">"role": class="s">"user", class="s">"content": fclass="s">"Summary of earlier discussion: {summary}"}] + recent ``` 요약은 저렴한 모델로 실행하세요. 추론 작업이 아니라 압축 작업입니다. ## 대개 도구 결과가 원인입니다 - 도구가 500개 행을 반환하면 이후의 모든 요청에 500개 행이 포함됩니다. 행 수를 제한하거나, 요약과 함께 필요할 때 세부 정보를 가져올 수 있는 핸들을 반환하세요. - 에이전트가 읽은 파일의 전체 내용은 컨텍스트에 남습니다. 파일 전체가 아니라 필요한 부분만 읽으세요. - 스크린샷과 이미지도 다른 콘텐츠와 마찬가지로 다시 전송됩니다. 내용을 설명한 뒤에는 제거하세요. - 빌드 로그와 스택 트레이스는 처음과 마지막 50줄만 유지하고 중간 부분은 버리세요. 에이전트형 도구에서는 서로 관련 없는 작업 사이에 새 세션을 시작하는 것이 가장 비용이 적게 드는 최적화 방법입니다. Claude Code에서는 다음을 사용합니다 /clear. [비용 관리전체 개요](/ko/docs/guides/cost-control/)[프롬프트 캐싱고정된 부분의 비용 줄이기](/ko/docs/guides/prompt-caching/)[모델1M 컨텍스트 옵션](/ko/docs/getting-started/models/) [이전프롬프트 캐싱](/ko/docs/guides/prompt-caching/)[다음Anthropic API에서 마이그레이션](/ko/docs/guides/migration-from-anthropic/)