📄 원문: Effective context engineering for AI agents
- 출처: Effective context engineering for AI agents
- 저자: Prithvi Rajasekaran, Ethan Dixon, Carly Ryan, Jeremy Hadfield
- 원문 발행일: 2025년 10월 3일
- 라이선스: © 2025 Anthropic. All rights reserved.
- 번역일: 2025년 10월 3일
- 번역 및 감수: Claude and 공부하우
⚖️ 저작권 안내
이 번역문은 교육 및 정보 제공 목적으로 작성되었습니다. 원문의 저작권은 Prithvi Rajasekaran, Ethan Dixon, Carly Ryan, Jeremy Hadfield에 있으며, 이 번역은 Prithvi Rajasekaran, Ethan Dixon, Carly Ryan, Jeremy Hadfield의 공식 번역이 아닙니다.
본 번역은 다음과 같은 교육적 공정 사용(Fair Use) 원칙에 따라 제공됩니다:
- 비영리 교육 목적
- 원문 출처의 명확한 표시
- 한국어 사용자의 기술 이해 증진을 위한 변형적 사용
- 원저작물의 시장 가치에 부정적 영향을 미치지 않음
저작권 관련 문제가 제기될 경우, 즉시 적절한 조치를 취하겠습니다. 상업적 사용이나 재배포 전에 원저작권자의 허가를 받으시기 바랍니다.
문의사항이나 우려사항이 있으시면 오른쪽 템플릿 복사를 클릭 하신 뒤, 연락 페이지를 통해 알려 주시기 바랍니다.
AI 에이전트를 위한 효과적인 컨텍스트 엔지니어링
응용 AI 분야에서 몇 년간 프롬프트 엔지니어링이 주목받은 후, 새로운 용어가 부상하고 있습니다: 바로 컨텍스트 엔지니어링입니다. 언어 모델로 구축하는 작업이 더 이상 프롬프트에 적합한 단어와 문구를 찾는 것이 아니라, "모델이 원하는 동작을 생성할 가능성이 가장 높은 컨텍스트 구성은 무엇인가?"라는 더 넓은 질문에 답하는 것으로 변화하고 있습니다.
컨텍스트는 대규모 언어 모델(LLM)에서 샘플링할 때 포함되는 토큰 세트를 의미합니다. 당면한 엔지니어링 문제는 원하는 결과를 일관되게 달성하기 위해 LLM의 고유한 제약 조건에 대해 이러한 토큰의 효용성을 최적화하는 것입니다. LLM을 효과적으로 다루려면 종종 컨텍스트로 생각하기가 필요합니다. 즉, 주어진 시간에 LLM이 사용할 수 있는 전체적인 상태와 그 상태가 산출할 수 있는 잠재적 동작을 고려해야 합니다.
이 글에서는 부상하고 있는 컨텍스트 엔지니어링의 기술을 탐구하고, 제어 가능하고 효과적인 에이전트를 구축하기 위한 세련된 정신 모델을 제공하겠습니다.
컨텍스트 엔지니어링 vs. 프롬프트 엔지니어링
Anthropic에서는 컨텍스트 엔지니어링을 프롬프트 엔지니어링의 자연스러운 진화로 봅니다. 프롬프트 엔지니어링은 최적의 결과를 위한 LLM 지침을 작성하고 구성하는 방법을 의미합니다(개요와 유용한 프롬프트 엔지니어링 전략은 문서를 참조하세요). 컨텍스트 엔지니어링은 프롬프트 외부에 있을 수 있는 다른 모든 정보를 포함하여 LLM 추론 중에 최적의 토큰(정보) 세트를 큐레이팅하고 유지하기 위한 전략 세트를 의미합니다.
LLM으로 엔지니어링하는 초기에는 일상적인 채팅 상호작용 외부의 대부분의 사용 사례가 원샷 분류 또는 텍스트 생성 작업에 최적화된 프롬프트를 필요로 했기 때문에 프롬프팅이 AI 엔지니어링 작업의 가장 큰 구성 요소였습니다. 용어가 암시하듯이, 프롬프트 엔지니어링의 주요 초점은 효과적인 프롬프트, 특히 시스템 프롬프트를 작성하는 방법입니다. 그러나 여러 추론 턴과 더 긴 시간 범위에 걸쳐 작동하는 더 능력 있는 에이전트를 엔지니어링하는 방향으로 이동함에 따라, 전체 컨텍스트 상태(시스템 지침, 도구, Model Context Protocol(MCP), 외부 데이터, 메시지 기록 등)를 관리하기 위한 전략이 필요합니다.
루프에서 실행되는 에이전트는 다음 추론 턴과 관련될 수 있는 점점 더 많은 데이터를 생성하며, 이 정보는 주기적으로 정제되어야 합니다. 컨텍스트 엔지니어링은 끊임없이 진화하는 가능한 정보의 우주에서 제한된 컨텍스트 창으로 무엇이 들어갈지 큐레이팅하는 예술이자 과학입니다.

프롬프트 작성이라는 개별 작업과 달리, 컨텍스트 엔지니어링은 반복적이며 큐레이션 단계는 모델에 전달할 내용을 결정할 때마다 발생합니다.
왜 컨텍스트 엔지니어링이 능력 있는 에이전트 구축에 중요한가
속도와 점점 더 많은 양의 데이터를 관리하는 능력에도 불구하고, LLM도 인간과 마찬가지로 특정 시점에서 집중력을 잃거나 혼란을 경험한다는 것을 관찰했습니다. Needle-in-a-haystack 스타일 벤치마킹에 대한 연구는 컨텍스트 부패(context rot)라는 개념을 발견했습니다: 컨텍스트 창의 토큰 수가 증가함에 따라, 해당 컨텍스트에서 정보를 정확하게 회상하는 모델의 능력이 감소합니다.
일부 모델이 다른 모델보다 더 완만한 저하를 보이지만, 이 특성은 모든 모델에서 나타납니다. 따라서 컨텍스트는 수익 감소가 있는 유한한 자원으로 취급되어야 합니다. 제한된 작업 기억 용량을 가진 인간과 마찬가지로, LLM은 대량의 컨텍스트를 구문 분석할 때 사용하는 "주의 예산"을 가지고 있습니다. 도입되는 모든 새로운 토큰은 이 예산을 일정량 고갈시켜, LLM에서 사용할 수 있는 토큰을 신중하게 큐레이팅할 필요성을 증가시킵니다.
이러한 주의 부족은 LLM의 아키텍처 제약에서 비롯됩니다. LLM은 전체 컨텍스트에 걸쳐 모든 토큰이 다른 모든 토큰에 주의를 기울일 수 있게 하는 트랜스포머 아키텍처를 기반으로 합니다. 이는 n개 토큰에 대해 n²개의 쌍별 관계를 생성합니다.
컨텍스트 길이가 증가함에 따라, 이러한 쌍별 관계를 포착하는 모델의 능력이 희박해져, 컨텍스트 크기와 주의 집중 사이에 자연스러운 긴장이 생깁니다. 또한, 모델은 일반적으로 짧은 시퀀스가 긴 시퀀스보다 더 흔한 훈련 데이터 분포에서 주의 패턴을 개발합니다. 즉, 모델은 컨텍스트 전체 종속성에 대한 경험이 적고 전문화된 매개변수가 적습니다.
위치 인코딩 보간과 같은 기술을 사용하면 모델이 원래 훈련된 더 작은 컨텍스트에 적응시켜 더 긴 시퀀스를 처리할 수 있지만, 토큰 위치 이해에는 약간의 저하가 있습니다. 이러한 요인들은 하드 절벽보다는 성능 그래디언트를 생성합니다: 모델은 더 긴 컨텍스트에서 여전히 매우 능력이 있지만, 더 짧은 컨텍스트에서의 성능과 비교하여 정보 검색과 장거리 추론의 정밀도가 감소할 수 있습니다.
이러한 현실은 사려 깊은 컨텍스트 엔지니어링이 능력 있는 에이전트를 구축하는 데 필수적이라는 것을 의미합니다.
효과적인 컨텍스트의 구조
LLM이 유한한 주의 예산에 의해 제약된다는 점을 고려할 때, 좋은 컨텍스트 엔지니어링은 원하는 결과의 가능성을 최대화하는 가장 작은 가능한 고신호 토큰 세트를 찾는 것을 의미합니다. 이 관행을 구현하는 것은 말처럼 쉽지 않지만, 다음 섹션에서는 이 지도 원칙이 컨텍스트의 다양한 구성 요소에서 실제로 무엇을 의미하는지 설명합니다.
시스템 프롬프트는 극도로 명확해야 하며 에이전트에게 적절한 고도에서 아이디어를 제시하는 간단하고 직접적인 언어를 사용해야 합니다. 적절한 고도는 두 가지 일반적인 실패 모드 사이의 골디락스 영역입니다. 한 극단에서는 엔지니어가 정확한 에이전틱 동작을 이끌어내기 위해 프롬프트에 복잡하고 취약한 논리를 하드코딩하는 것을 볼 수 있습니다. 이 접근 방식은 취약성을 만들고 시간이 지남에 따라 유지 관리 복잡성을 증가시킵니다. 다른 극단에서는 엔지니어가 때때로 원하는 출력에 대한 구체적인 신호를 LLM에 제공하지 못하거나 공유 컨텍스트를 잘못 가정하는 모호하고 높은 수준의 지침을 제공합니다. 최적의 고도는 균형을 맞춥니다: 동작을 효과적으로 안내할 만큼 구체적이면서도 모델에게 동작을 안내할 강력한 휴리스틱을 제공할 만큼 충분히 유연합니다.

한쪽 끝에서는 취약한 if-else 하드코딩된 프롬프트를 보고, 다른 쪽 끝에서는 지나치게 일반적이거나 공유 컨텍스트를 잘못 가정하는 프롬프트를 봅니다.
프롬프트를 별개의 섹션(<background_information>
, <instructions>
, ## Tool guidance
, ## Output description
등)으로 구성하고 XML 태깅이나 마크다운 헤더와 같은 기술을 사용하여 이러한 섹션을 구분하는 것을 권장합니다. 모델이 더 능력이 있어짐에 따라 프롬프트의 정확한 형식은 덜 중요해질 가능성이 있습니다.
시스템 프롬프트를 구성하는 방법에 관계없이, 예상 동작을 완전히 설명하는 최소한의 정보 세트를 위해 노력해야 합니다. (최소한이 반드시 짧다는 의미는 아닙니다. 원하는 동작을 준수하도록 하기 위해 에이전트에게 충분한 정보를 미리 제공해야 합니다.) 작업에서 최상의 성능을 보이는 방법을 확인하기 위해 사용 가능한 최상의 모델로 최소 프롬프트를 테스트하는 것으로 시작한 다음, 초기 테스트 중에 발견된 실패 모드를 기반으로 성능을 개선하기 위해 명확한 지침과 예제를 추가하는 것이 가장 좋습니다.
도구는 에이전트가 환경과 작동하고 작업하면서 새로운 추가 컨텍스트를 가져올 수 있게 합니다. 도구는 에이전트와 정보/작업 공간 간의 계약을 정의하기 때문에, 토큰 효율적인 정보를 반환하고 효율적인 에이전트 동작을 장려함으로써 도구가 효율성을 촉진하는 것이 매우 중요합니다.
AI 에이전트를 위한 도구 작성 - AI 에이전트와 함께에서 LLM이 잘 이해하고 기능이 최소한으로 겹치는 도구를 구축하는 것에 대해 논의했습니다. 잘 설계된 코드베이스의 함수와 마찬가지로, 도구는 독립적이고 오류에 강하며 의도된 사용과 관련하여 극도로 명확해야 합니다. 입력 매개변수는 마찬가지로 설명적이고 모호하지 않으며 모델의 고유한 강점을 활용해야 합니다.
우리가 보는 가장 일반적인 실패 모드 중 하나는 너무 많은 기능을 다루거나 어떤 도구를 사용할지에 대해 모호한 결정 지점으로 이어지는 부풀린 도구 세트입니다. 인간 엔지니어가 주어진 상황에서 어떤 도구를 사용해야 하는지 확실하게 말할 수 없다면, AI 에이전트가 더 잘할 것으로 기대할 수 없습니다. 나중에 논의하겠지만, 에이전트를 위한 최소한의 실행 가능한 도구 세트를 큐레이팅하면 긴 상호작용에 대한 컨텍스트의 더 안정적인 유지 관리 및 정리로 이어질 수도 있습니다.
예제 제공(few-shot prompting이라고도 함)은 우리가 계속해서 강력하게 권하는 잘 알려진 모범 사례입니다. 그러나 팀은 종종 특정 작업에 대해 LLM이 따라야 할 모든 가능한 규칙을 명확하게 설명하려는 시도로 프롬프트에 엣지 케이스의 세탁 목록을 채워 넣습니다. 우리는 이것을 권장하지 않습니다. 대신, 에이전트의 예상 동작을 효과적으로 묘사하는 다양하고 표준적인 예제 세트를 큐레이팅하는 작업을 권장합니다. LLM에게 예제는 천 마디 말의 가치가 있는 "그림"입니다.
컨텍스트의 다양한 구성 요소(시스템 프롬프트, 도구, 예제, 메시지 기록 등)에 대한 전반적인 지침은 사려 깊고 컨텍스트를 유익하면서도 간결하게 유지하는 것입니다. 이제 런타임에 동적으로 컨텍스트를 검색하는 것에 대해 자세히 살펴보겠습니다.
컨텍스트 검색 및 에이전틱 검색
효과적인 AI 에이전트 구축에서 우리는 LLM 기반 워크플로우와 에이전트 간의 차이점을 강조했습니다. 그 게시물을 작성한 이후로 우리는 에이전트에 대한 간단한 정의로 기울었습니다: 루프에서 자율적으로 도구를 사용하는 LLM.
고객과 함께 작업하면서 우리는 이 간단한 패러다임에 수렴하는 분야를 보았습니다. 기본 모델이 더 능력이 있어짐에 따라 에이전트의 자율성 수준이 확장될 수 있습니다. 더 스마트한 모델을 사용하면 에이전트가 미묘한 문제 공간을 독립적으로 탐색하고 오류에서 복구할 수 있습니다.
이제 엔지니어가 에이전트를 위한 컨텍스트 설계에 대해 생각하는 방식의 변화를 보고 있습니다. 오늘날 많은 AI 네이티브 애플리케이션은 에이전트가 추론할 중요한 컨텍스트를 표면화하기 위해 임베딩 기반 추론 전 시간 검색의 일부 형태를 사용합니다. 이 분야가 더 에이전틱한 접근 방식으로 전환됨에 따라, 팀이 이러한 검색 시스템을 "just in time" 컨텍스트 전략으로 보강하는 것을 점점 더 많이 보고 있습니다.
관련된 모든 데이터를 미리 전처리하는 대신, "just in time" 접근 방식으로 구축된 에이전트는 경량 식별자(파일 경로, 저장된 쿼리, 웹 링크 등)를 유지하고 이러한 참조를 사용하여 도구를 사용하여 런타임에 컨텍스트에 데이터를 동적으로 로드합니다. Anthropic의 에이전틱 코딩 솔루션인 Claude Code는 이 접근 방식을 사용하여 대규모 데이터베이스에 대해 복잡한 데이터 분석을 수행합니다. 모델은 대상 쿼리를 작성하고, 결과를 저장하고, head 및 tail과 같은 Bash 명령을 활용하여 전체 데이터 객체를 컨텍스트에 로드하지 않고도 대량의 데이터를 분석할 수 있습니다. 이 접근 방식은 인간 인지를 반영합니다. 우리는 일반적으로 전체 정보 코퍼스를 암기하지 않고 파일 시스템, 받은 편지함, 북마크와 같은 외부 조직 및 색인 시스템을 도입하여 필요에 따라 관련 정보를 검색합니다.
저장 효율성 외에도 이러한 참조의 메타데이터는 명시적으로 제공되든 직관적이든 효율적으로 동작을 개선하는 메커니즘을 제공합니다. 파일 시스템에서 작동하는 에이전트에게 tests
폴더에 있는 test_utils.py
라는 파일의 존재는 src/core_logic.py
에 있는 같은 이름의 파일과 다른 목적을 암시합니다. 폴더 계층 구조, 명명 규칙 및 타임스탬프는 모두 인간과 에이전트가 정보를 활용하는 방법과 시기를 이해하는 데 도움이 되는 중요한 신호를 제공합니다.
에이전트가 자율적으로 데이터를 탐색하고 검색할 수 있게 하면 점진적 공개도 가능합니다. 즉, 에이전트가 탐색을 통해 관련 컨텍스트를 점진적으로 발견할 수 있습니다. 각 상호작용은 다음 결정을 알리는 컨텍스트를 산출합니다. 파일 크기는 복잡성을 시사하고, 명명 규칙은 목적을 암시하며, 타임스탬프는 관련성의 프록시가 될 수 있습니다. 에이전트는 계층별로 이해를 조합하고, 작업 메모리에 필요한 것만 유지하고 추가 지속성을 위해 메모 작성 전략을 활용할 수 있습니다. 이 자체 관리 컨텍스트 창은 에이전트가 철저하지만 잠재적으로 관련이 없는 정보에 빠지는 대신 관련 하위 집합에 집중할 수 있게 합니다.
물론 절충점이 있습니다. 런타임 탐색은 사전 계산된 데이터를 검색하는 것보다 느립니다. 그뿐만 아니라 LLM이 정보 환경을 효과적으로 탐색하기 위한 올바른 도구와 휴리스틱을 갖도록 하려면 독단적이고 사려 깊은 엔지니어링이 필요합니다. 적절한 지침이 없으면 에이전트는 도구를 오용하거나, 막다른 길을 쫓거나, 주요 정보를 식별하지 못함으로써 컨텍스트를 낭비할 수 있습니다.
특정 설정에서 가장 효과적인 에이전트는 속도를 위해 일부 데이터를 미리 검색하고 재량에 따라 추가 자율 탐색을 추구하는 하이브리드 전략을 사용할 수 있습니다. '올바른' 자율성 수준에 대한 결정 경계는 작업에 따라 다릅니다. Claude Code는 이 하이브리드 모델을 사용하는 에이전트입니다. CLAUDE.md 파일은 미리 컨텍스트에 순진하게 삭제되는 반면, glob 및 grep과 같은 프리미티브를 사용하면 환경을 탐색하고 just-in-time으로 파일을 검색할 수 있어 오래된 색인 및 복잡한 구문 트리 문제를 효과적으로 우회합니다.
하이브리드 전략은 법률 또는 금융 작업과 같이 덜 동적인 콘텐츠가 있는 컨텍스트에 더 적합할 수 있습니다. 모델 기능이 향상됨에 따라 에이전틱 설계는 지능형 모델이 점진적으로 덜 인간적인 큐레이션으로 지능적으로 작동하도록 하는 경향이 있습니다. 이 분야의 빠른 진보 속도를 감안할 때, "작동하는 가장 간단한 일을 하라"는 것이 Claude 위에 에이전트를 구축하는 팀에게 가장 좋은 조언으로 남을 것입니다.
장기 작업을 위한 컨텍스트 엔지니어링
장기 작업은 에이전트가 토큰 수가 LLM의 컨텍스트 창을 초과하는 일련의 작업에 대해 일관성, 컨텍스트 및 목표 지향적 동작을 유지해야 합니다. 대규모 코드베이스 마이그레이션이나 포괄적인 연구 프로젝트와 같이 수십 분에서 여러 시간 동안 지속되는 작업의 경우, 에이전트는 컨텍스트 창 크기 제한을 해결하기 위한 전문 기술이 필요합니다.
더 큰 컨텍스트 창을 기다리는 것이 명백한 전술처럼 보일 수 있습니다. 그러나 가까운 미래에는 모든 크기의 컨텍스트 창이 컨텍스트 오염과 정보 관련성 문제의 대상이 될 가능성이 높습니다. 적어도 가장 강력한 에이전트 성능이 요구되는 상황에서는 그렇습니다. 에이전트가 확장된 시간 범위에서 효과적으로 작업할 수 있도록 하기 위해, 우리는 이러한 컨텍스트 오염 제약을 직접 해결하는 몇 가지 기술을 개발했습니다: 압축, 구조화된 메모 작성 및 다중 에이전트 아키텍처.
압축
압축은 컨텍스트 창 한계에 가까운 대화를 가져와 내용을 요약하고 요약으로 새 컨텍스트 창을 다시 시작하는 관행입니다. 압축은 일반적으로 더 나은 장기 일관성을 추진하기 위해 컨텍스트 엔지니어링의 첫 번째 레버 역할을 합니다. 핵심적으로 압축은 컨텍스트 창의 내용을 고충실도 방식으로 압축하여 에이전트가 최소한의 성능 저하로 계속할 수 있게 합니다.
예를 들어 Claude Code에서는 메시지 기록을 모델에 전달하여 가장 중요한 세부 사항을 요약하고 압축하도록 구현합니다. 모델은 중복 도구 출력이나 메시지를 폐기하면서 아키텍처 결정, 해결되지 않은 버그 및 구현 세부 사항을 보존합니다. 그런 다음 에이전트는 이 압축된 컨텍스트와 가장 최근에 액세스한 5개의 파일로 계속할 수 있습니다. 사용자는 컨텍스트 창 제한을 걱정하지 않고 연속성을 얻습니다.
압축의 기술은 유지할 것과 버릴 것의 선택에 있습니다. 지나치게 공격적인 압축은 나중에 중요성이 명백해질 미묘하지만 중요한 컨텍스트의 손실을 초래할 수 있기 때문입니다. 압축 시스템을 구현하는 엔지니어의 경우 복잡한 에이전트 추적에서 프롬프트를 신중하게 조정하는 것이 좋습니다. 추적에서 모든 관련 정보를 캡처하도록 재현율을 최대화하는 것으로 시작한 다음, 불필요한 콘텐츠를 제거하여 정밀도를 개선하도록 반복합니다.
저매달린 불필요한 콘텐츠의 예는 도구 호출 및 결과를 지우는 것입니다. 메시지 기록 깊숙이 도구가 호출되면 에이전트가 원시 결과를 다시 볼 필요가 있을까요? 가장 안전하고 가벼운 압축 형태 중 하나는 도구 결과 지우기입니다. 최근 Claude Developer Platform의 기능으로 출시되었습니다.
구조화된 메모 작성
구조화된 메모 작성 또는 에이전틱 메모리는 에이전트가 컨텍스트 창 외부의 메모리에 지속되는 메모를 정기적으로 작성하는 기술입니다. 이러한 메모는 나중에 컨텍스트 창으로 다시 가져옵니다.
이 전략은 최소한의 오버헤드로 지속적인 메모리를 제공합니다. Claude Code가 할 일 목록을 만들거나 사용자 지정 에이전트가 NOTES.md 파일을 유지하는 것처럼, 이 간단한 패턴을 통해 에이전트는 수십 개의 도구 호출에서 손실될 중요한 컨텍스트와 종속성을 유지하면서 복잡한 작업에서 진행 상황을 추적할 수 있습니다.
Claude가 포켓몬을 플레이하는 것은 메모리가 비코딩 도메인에서 에이전트 기능을 어떻게 변환하는지 보여줍니다. 에이전트는 수천 개의 게임 단계에서 정확한 집계를 유지합니다. "지난 1,234단계 동안 Route 1에서 포켓몬을 훈련시키고 있었고, 피카츄는 목표 10 중 8레벨을 얻었습니다."와 같은 목표를 추적합니다. 메모리 구조에 대한 프롬프트 없이, 탐색한 지역의 지도를 개발하고, 잠금 해제한 주요 성과를 기억하며, 다양한 상대에 대해 가장 잘 작동하는 공격을 배우는 데 도움이 되는 전투 전략의 전략적 메모를 유지합니다.
컨텍스트 재설정 후 에이전트는 자신의 메모를 읽고 여러 시간 훈련 시퀀스 또는 던전 탐험을 계속합니다. 요약 단계에서 이러한 일관성은 LLM의 컨텍스트 창에만 모든 정보를 유지할 때 불가능한 장기 전략을 가능하게 합니다.
Sonnet 4.5 출시의 일환으로 우리는 파일 기반 시스템을 통해 컨텍스트 창 외부의 정보를 더 쉽게 저장하고 참조할 수 있게 하는 메모리 도구를 Claude Developer Platform에 공개 베타로 출시했습니다. 이를 통해 에이전트는 시간이 지남에 따라 지식 기반을 구축하고, 세션 간에 프로젝트 상태를 유지하며, 모든 것을 컨텍스트에 유지하지 않고도 이전 작업을 참조할 수 있습니다.
하위 에이전트 아키텍처
하위 에이전트 아키텍처는 컨텍스트 제한을 우회하는 또 다른 방법을 제공합니다. 한 에이전트가 전체 프로젝트에서 상태를 유지하려고 시도하는 대신, 전문화된 하위 에이전트가 깨끗한 컨텍스트 창으로 집중된 작업을 처리할 수 있습니다. 메인 에이전트는 상위 수준 계획으로 조정하고 하위 에이전트는 깊은 기술 작업을 수행하거나 도구를 사용하여 관련 정보를 찾습니다. 각 하위 에이전트는 수만 개 이상의 토큰을 사용하여 광범위하게 탐색할 수 있지만, 작업의 응축되고 증류된 요약(종종 1,000-2,000개 토큰)만 반환합니다.
이 접근 방식은 명확한 관심사 분리를 달성합니다. 세부 검색 컨텍스트는 하위 에이전트 내에서 격리된 상태로 유지되는 반면, 리드 에이전트는 결과 합성 및 분석에 집중합니다. 다중 에이전트 연구 시스템을 구축한 방법에서 논의된 이 패턴은 복잡한 연구 작업에서 단일 에이전트 시스템보다 상당한 개선을 보여주었습니다.
이러한 접근 방식 간의 선택은 작업 특성에 따라 다릅니다. 예를 들어:
- 압축은 광범위한 앞뒤가 필요한 작업의 대화 흐름을 유지합니다.
- 메모 작성은 명확한 이정표가 있는 반복 개발에 탁월합니다.
- 다중 에이전트 아키텍처는 병렬 탐색이 배당금을 지불하는 복잡한 연구 및 분석을 처리합니다.
모델이 계속 개선되더라도 확장된 상호작용에서 일관성을 유지하는 문제는 더 효과적인 에이전트를 구축하는 데 핵심으로 남을 것입니다.
결론
컨텍스트 엔지니어링은 LLM으로 구축하는 방식의 근본적인 변화를 나타냅니다. 모델이 더 능력이 있어짐에 따라, 도전 과제는 단지 완벽한 프롬프트를 작성하는 것이 아니라 각 단계에서 모델의 제한된 주의 예산에 무엇이 들어가는지 신중하게 큐레이팅하는 것입니다. 장기 작업을 위한 압축 구현, 토큰 효율적인 도구 설계, 에이전트가 환경을 just-in-time으로 탐색할 수 있도록 하는 것이든, 지도 원칙은 동일합니다: 원하는 결과의 가능성을 최대화하는 가장 작은 고신호 토큰 세트를 찾는 것입니다.
우리가 설명한 기술은 모델이 개선됨에 따라 계속 진화할 것입니다. 우리는 이미 더 스마트한 모델이 덜 규범적인 엔지니어링을 필요로 하여 에이전트가 더 많은 자율성으로 작동할 수 있게 하는 것을 보고 있습니다. 그러나 기능이 확장되더라도 컨텍스트를 소중하고 유한한 자원으로 취급하는 것은 신뢰할 수 있고 효과적인 에이전트를 구축하는 데 핵심으로 남을 것입니다.
오늘 Claude Developer Platform에서 컨텍스트 엔지니어링을 시작하고, 메모리 및 컨텍스트 관리 cookbook을 통해 유용한 팁과 모범 사례에 액세스하십시오.
감사의 말
Anthropic의 Applied AI 팀이 작성: Prithvi Rajasekaran, Ethan Dixon, Carly Ryan, Jeremy Hadfield, 팀 구성원 Rafi Ayub, Hannah Moran, Cal Rueb, Connor Jennings의 기여. Molly Vorwerck, Stuart Ritchie, Maggie Vo의 지원에 특별히 감사드립니다.
이 번역문은 교육 및 정보 제공 목적으로 작성되었습니다. 원문의 저작권은 Anthropic에 있으며, 이 번역은 Anthropic의 공식 번역이 아닙니다.
본 번역은 다음과 같은 교육적 공정 사용(Fair Use) 원칙에 따라 제공됩니다:
- 비영리 교육 목적
- 원문 출처의 명확한 표시
- 한국어 사용자의 기술 이해 증진을 위한 변형적 사용
- 원저작물의 시장 가치에 부정적 영향을 미치지 않음
저작권 관련 문제가 제기될 경우, 즉시 적절한 조치를 취하겠습니다. 상업적 사용이나 재배포 전에 원저작권자의 허가를 받으시기 바랍니다.
문의사항이나 우려사항이 있으시면 연락 주시기 바랍니다.