이러한 컨텍스트 제한은 자연스럽게 LLM이 한 번에 처리할 수 있는 코드베이스의 크기를 제한하며, AI 모델에 대량의 코드 파일(다른 응답을 보낼 때마다 LLM에서 재평가해야 함)을 제공하면 토큰 또는 사용 제한이 매우 빠르게 소진될 수 있습니다.
이러한 한계를 극복하기 위해 코딩 에이전트 작성자는 몇 가지 트릭을 사용합니다. 예를 들어, AI 모델은 활동을 다른 소프트웨어 도구에 아웃소싱하기 위한 코드를 작성하도록 미세 조정됩니다. 예를 들어, 토큰을 저장하고 부정확한 결과를 방지하는 LLM을 통해 전체 파일을 공급하는 대신 이미지나 파일에서 데이터를 추출하기 위해 Python 스크립트를 작성할 수 있습니다.
Anthropic의 문서에는 Claude Code가 이 접근 방식을 사용하여 대규모 데이터베이스에 대한 복잡한 데이터 분석을 수행하고, 대상 쿼리를 작성하고, "head" 및 "tail"과 같은 Bash 명령을 사용하여 전체 데이터 개체를 컨텍스트에 로드하지 않고도 대량의 데이터를 분석한다고 기록되어 있습니다.
(어떤 면에서 이러한 AI 에이전트는 안내되지만 2023년 초에 처음 본 개념의 주요 확장인 반자동 도구 사용 프로그램입니다.)
에이전트의 또 다른 주요 혁신은 동적 컨텍스트 관리에서 나왔습니다. 에이전트는 독점 코딩 모델에 완전히 공개되지 않은 몇 가지 방법으로 이를 수행할 수 있지만 에이전트가 사용하는 가장 중요한 기술인 컨텍스트 압축을 알고 있습니다.

macOS 터미널 창에서 실행되는 OpenAI Codex의 명령줄 버전입니다.
크레딧: Benj Edwards
코딩 LLM이 컨텍스트 제한에 가까워지면 이 기술은 컨텍스트 기록을 요약하여 압축하고 프로세스의 세부 정보는 손실되지만 기록을 주요 세부 정보로 단축합니다. Anthropic의 문서에서는 이 "압축"을 충실도가 높은 방식으로 컨텍스트 콘텐츠를 정제하고 중복된 도구 출력을 폐기하는 동시에 아키텍처 결정 및 해결되지 않은 버그와 같은 주요 세부 정보를 보존하는 것으로 설명합니다.
이는 AI 코딩 에이전트가 압축이 발생할 때마다 수행 중인 작업의 상당 부분을 주기적으로 "잊는다"는 의미입니다. 그러나 이전 LLM 기반 시스템과 달리 이들은 무슨 일이 일어났는지 전혀 모르고 기존 코드, 파일에 남겨진 작성된 메모, 변경 로그 등을 읽어 빠르게 방향을 바꿀 수 있습니다.