Context Engineering for AI Agents: Lessons from Building Manus
TL;DR
AI 에이전트 개발에서 컨텍스트 엔지니어링은 모델 파인튜닝보다 빠른 반복과 확장성을 제공한다. Manus 팀은 KV-cache 히트율을 핵심 지표로 삼아 지연시간과 비용을 최적화했으며, 프롬프트 접두사 안정화, 추가 전용 컨텍스트 설계, 명시적 캐시 중단점 설정 등의 원칙을 통해 에이전트 성능을 개선했다. 컨텍스트 구성 방식이 에이전트의 속도, 복구 능력, 확장성을 결정하는 핵심 요소다.
Key Takeaways
- KV-cache 히트율이 프로덕션 AI 에이전트의 가장 중요한 지표: 캐시된 토큰 비용은 캐시되지 않은 토큰 대비 최대 10배 저렴하며(Claude Sonnet 기준), TTFT와 추론 비용에 직접적 영향을 미친다.
- 컨텍스트 엔지니어링이 파인튜닝보다 빠른 피드백 루프 제공: 모델 훈련은 주 단위 반복이 필요하지만, 컨텍스트 엔지니어링은 시간 단위로 개선사항 배포가 가능하여 PMF 탐색 단계에 적합하다.
- 프롬프트 접두사 안정성 유지가 필수: 단 하나의 토큰 변경도 이후 모든 캐시를 무효화하므로, 시스템 프롬프트에 타임스탬프 같은 동적 값을 포함하지 않아야 한다.
- 추가 전용(append-only) 컨텍스트 설계 원칙: 이전 작업이나 관찰을 수정하지 않고, JSON 직렬화 시 키 순서를 보장하여 캐시 일관성을 유지해야 한다.
- 에이전트는 챗봇과 다른 토큰 비율 특성: 평균 입력:출력 토큰 비율이 100:1로, 프리필링 단계가 압도적으로 많아 KV-cache 최적화가 더욱 중요하다.
상세 내용
컨텍스트 엔지니어링의 전략적 선택
Manus 팀은 프로젝트 초기에 중요한 기술적 분기점에 직면했다. 오픈소스 모델을 파인튜닝하여 엔드투엔드 에이전트를 구축할 것인가, 아니면 최신 LLM의 문맥 내 학습(in-context learning) 능력을 활용할 것인가?
BERT 시대의 NLP 개발 경험은 명확한 교훈을 제공했다. 당시 모델은 작았지만 파인튜닝과 평가에 주 단위 시간이 소요되었고, 이러한 느린 피드백 루프는 빠르게 변화하는 애플리케이션 개발, 특히 PMF(Product-Market Fit) 이전 단계에서 치명적인 단점이었다. GPT-3와 Flan-T5의 등장은 문맥 내 학습이라는 새로운 패러다임을 열었고, Manus는 여기에 베팅하기로 결정했다.
이 선택의 핵심 이점은 개선사항을 몇 주가 아닌 몇 시간 내에 배포할 수 있다는 점이다. 더 중요한 것은 제품이 기반 모델과 직교(orthogonal)하도록 유지한다는 점이다. "모델의 발전이 밀물이라면, Manus는 바닷바닥에 고정된 기둥이 아닌 배가 되고자 한다"는 표현이 이를 잘 설명한다.
KV-Cache 중심 설계의 중요성
프로덕션 환경에서 AI 에이전트의 성능을 좌우하는 가장 중요한 단일 지표는 KV-cache 히트율이다. 이는 지연시간과 비용 모두에 직접적인 영향을 미친다.
에이전트의 작동 방식과 토큰 비율
일반적인 에이전트는 다음과 같이 작동한다:
- 사용자 입력 수신
- 현재 컨텍스트 기반으로 액션 선택
- 환경(예: VM 샌드박스)에서 액션 실행
- 관찰 결과를 컨텍스트에 추가
- 작업 완료까지 반복
이 과정에서 컨텍스트는 매 단계마다 증가하지만, 출력(주로 구조화된 함수 호출)은 상대적으로 짧다. Manus의 경우 평균 입력:출력 토큰 비율이 약 100:1로, 챗봇과 비교해 프리필링과 디코딩 간 비율이 극단적으로 치우쳐 있다.
비용 최적화의 핵심
KV-cache를 활용하면 TTFT(Time To First Token)와 추론 비용을 극적으로 줄일 수 있다. Claude Sonnet을 예로 들면:
- 캐시되지 않은 토큰: 3 USD/MTok
- 캐시된 토큰: 0.30 USD/MTok
- 10배의 비용 차이
KV-Cache 히트율 향상을 위한 핵심 원칙
1. 프롬프트 접두사를 안정적으로 유지
LLM의 자기회귀적 특성상 단 하나의 토큰 차이만으로도 그 이후의 모든 캐시가 무효화된다. 흔한 실수는 시스템 프롬프트 시작 부분에 초 단위 타임스탬프를 포함하는 것이다. 모델이 현재 시간을 알 수 있게 하지만, 캐시 히트율을 심각하게 저하시킨다.
2. 컨텍스트를 추가 전용(Append-Only)으로 설계
- 이전 작업이나 관찰을 수정하지 말 것
- 직렬화가 결정적(deterministic)이도록 보장
- 많은 프로그래밍 언어와 라이브러리가 JSON 객체 직렬화 시 안정적인 키 순서를 보장하지 않으므로 주의가 필요
3. 캐시 중단점을 명시적으로 표시
일부 모델 제공업체나 추론 프레임워크는 자동 증분 접두사 캐싱을 지원하지 않는다. 이런 경우 컨텍스트에 수동으로 캐시 중단점을 삽입해야 한다. 캐시 만료 가능성을 고려하고, 최소한 시스템 프롬프트 끝을 포함하도록 설정해야 한다.
vLLM 같은 프레임워크로 모델을 자체 호스팅할 경우, 접두사/프롬프트 캐싱이 활성화되어 있는지 확인이 필요하다.
확률적 대학원생 하강법(Stochastic Graduate Descent)
Manus 팀은 더 나은 컨텍스트 구성 방법을 발견할 때마다 에이전트 프레임워크를 네 번이나 재구축했다. 이러한 아키텍처 검색, 프롬프트 조정, 경험적 추측의 수동 프로세스를 팀은 "확률적 대학원생 하강법(Stochastic Graduate Descent, SGD)"이라고 부른다. 우아하지는 않지만 효과적이다.
컨텍스트 엔지니어링은 여전히 실험적 과학의 영역에 있으며, 수백만 사용자를 대상으로 한 실제 테스트를 통해 검증된 패턴이 중요하다.
미래를 위한 설계 원칙
맥락(context)이 에이전트의 행동을 정의한다:
- 실행 속도
- 복구 능력
- 확장 가능성
모델이 더 강력하고, 빠르고, 저렴해지고 있지만, 아무리 뛰어난 능력도 메모리, 환경, 피드백의 필요성을 대체할 수 없다. 에이전트의 미래는 컨텍스트 하나하나로 구축될 것이다.
