본문 바로가기

인공지능

AI 에이전트 성능, 결국은 ‘Context’가 좌우한다 – Manus 프로젝트에서 배운 7가지 핵심 전략

728x90
반응형

LLM 에이전트, 설계가 막막하다면

LLM 기반의 AI 에이전트를 설계하려는 많은 개발자와 스타트업들이 직면하는 문제는 비슷합니다. 성능 좋은 모델을 선택했지만, 실제 적용 과정에서 오류가 잦고, 작업의 일관성이 떨어지며, 추론 비용도 높습니다. 왜 이런 일이 반복될까요?

문제는 모델 자체가 아니라, 모델을 ‘어떻게 쓰는가’에 있습니다. 특히 에이전트 환경에서는 컨텍스트 구성 방식, 즉 '컨텍스트 엔지니어링'이 에이전트의 뇌 구조를 결정합니다.

이 글은 LLM 기반 에이전트 플랫폼 'Manus'를 구축하며 얻은 실제 교훈을 바탕으로, 컨텍스트 엔지니어링에서 반드시 알아야 할 7가지 핵심 전략을 정리합니다. 실패를 반복하며 발견한 실전 설계 원칙이기에, AI 에이전트를 개발하거나 개선하려는 독자에게 직접적인 도움이 될 것입니다.

반응형

KV-캐시 히트율이 에이전트 성능을 좌우한다

에이전트 시스템에서 가장 중요한 지표 중 하나는 KV-cache 히트율입니다. 이는 모델이 이전 입력을 얼마나 재활용할 수 있는지를 나타내며, 응답 속도와 추론 비용 모두에 직접적인 영향을 미칩니다.

예를 들어, 캐시된 토큰 비용은 미캐시보다 10배 저렴합니다. 즉, 동일한 접두사를 계속 유지하며 프롬프트를 구성하면 응답 시간은 줄고 운영비용도 절감됩니다.

KV-cache 최적화를 위해 반드시 지켜야 할 원칙은 다음과 같습니다.

  • 프롬프트 접두사는 항상 일정하게 유지해야 합니다.
  • 시스템 프롬프트에 시간 정보 등을 넣지 않아야 합니다.
  • 컨텍스트는 항상 추가 전용으로 구성해야 하며, 기존 내용을 수정하지 않아야 합니다.
  • JSON 직렬화 시 키 순서가 불안정하지 않도록 주의해야 합니다.
  • 캐시 중단점이 필요할 경우, 이를 명시적으로 삽입해야 합니다.

도구는 제거하지 말고 마스킹하라

LLM 에이전트가 처리할 수 있는 도구의 수가 늘어나면, 그만큼 잘못된 액션을 선택할 가능성도 커집니다. 특히 사용자가 원하는 대로 도구를 확장할 수 있게 하면, 시스템은 통제 불능이 될 수 있습니다.

Manus에서는 도구를 동적으로 추가하거나 제거하는 대신, 현재 컨텍스트에 따라 도구의 선택을 제한하는 방식으로 문제를 해결했습니다. 이 방식은 다음과 같은 이유로 유효합니다.

  • 도구를 제거하면 캐시가 무효화될 수 있지만, 마스킹은 그렇지 않습니다.
  • 모델은 이전 작업 기록을 이해할 수 있어야 하며, 존재하지 않는 도구를 참조하면 혼란을 야기합니다.

도구 그룹에 명확한 접두사를 부여하고, 디코딩 시 로짓을 마스킹하는 방식으로 작업 상태에 맞는 도구만 활성화할 수 있습니다. 이를 통해 캐시 활용을 유지하면서도 에이전트의 행동 정확도를 높일 수 있습니다.


파일 시스템을 ‘컨텍스트’로: 무제한 확장의 구조 만들기

LLM의 컨텍스트 윈도우가 128K 토큰까지 확장되었지만, 실제 에이전트 환경에서는 여전히 부족하거나 비효율적인 경우가 많습니다. 이유는 다음과 같습니다.

  • 관찰 결과가 너무 커서 쉽게 컨텍스트 한계를 초과합니다.
  • 컨텍스트가 길어질수록 모델 성능이 저하될 수 있습니다.
  • 긴 입력은 비용이 많이 듭니다.

Manus에서는 이 문제를 해결하기 위해 ‘파일 시스템’을 외부 컨텍스트로 활용했습니다. 에이전트가 필요할 때 파일을 생성하고 불러올 수 있도록 하여, 정보를 구조화된 외부 메모리에 보존하는 방식입니다.

이 접근 방식의 핵심은 복원 가능한 압축 전략입니다. 예를 들어, 웹페이지 전체 내용을 컨텍스트에서 제거하더라도 URL만 남기면 추후 복원이 가능합니다. 이를 통해 정보 손실 없이 컨텍스트를 가볍게 유지할 수 있습니다.


에이전트의 주의력을 높이는 법: 낭송형 todo 전략

Manus는 복잡한 작업을 처리할 때 todo.md 파일을 생성해, 단계별로 할 일을 기록하고 완료된 항목을 체크합니다. 이 방식은 단순한 기록이 아니라, 모델의 어텐션을 조작하기 위한 전략입니다.

에이전트가 작업 목표를 자주 재확인함으로써, 모델의 집중을 현재 목표로 유지할 수 있습니다. 실제로 Manus는 평균 50회의 도구 호출을 포함하는 작업에서도, 이 전략을 통해 일관된 실행 흐름을 유지할 수 있었습니다.

중간에 길을 잃지 않게 하는 가장 간단하고 효과적인 방법 중 하나입니다.


실패한 기록도 남겨야 하는 이유

많은 개발자들이 에이전트의 실패나 오류를 감추려 합니다. 하지만 Manus에서는 그 반대를 택했습니다. 실패한 시도, 오류 메시지, 잘못된 도구 호출 모두를 컨텍스트에 남깁니다.

이렇게 하면 모델은 해당 시도의 실패 결과를 학습하게 되고, 이후 유사한 상황에서 잘못된 행동을 반복할 가능성이 낮아집니다.

실패를 학습 자원으로 활용하는 이 전략은, 에이전트의 진정한 학습 능력을 이끌어내는 핵심 요소 중 하나입니다.


퓨샷에 속지 마세요

퓨샷 학습은 LLM에서 일반적으로 활용되는 기법입니다. 하지만 에이전트 환경에서는 오히려 역효과를 낼 수 있습니다.

이유는 간단합니다. 모델은 맥락 속의 행동 패턴을 모방하려는 성향이 강하기 때문에, 반복되는 행동-관찰 예제가 컨텍스트에 많을수록 일관성과 다양성을 잃고 ‘리듬’에 빠집니다. 그 결과, 잘못된 일반화가 발생하거나 동일한 행동을 반복하게 됩니다.

Manus는 이를 방지하기 위해 다양한 표현 방식, 직렬화 방식, 순서 변경 등을 통해 의도적으로 약간의 무작위성을 도입했습니다. 이를 통해 맥락의 다양성을 유지하며, 에이전트의 사고 유연성을 확보할 수 있었습니다.


728x90

에이전트는 맥락 위에서 만들어진다

모델은 점점 강력해지고 있습니다. 하지만 아무리 뛰어난 언어 모델이라도, 잘 설계된 컨텍스트 없이는 올바르게 작동하지 않습니다.

Manus 프로젝트에서 얻은 가장 큰 교훈은 명확합니다. 에이전트의 행동을 정의하는 것은 모델이 아니라 맥락입니다. 컨텍스트 엔지니어링이 바로 에이전트의 설계도이며, 여기에 따라 실행 속도, 비용, 안정성, 복원력, 확장성까지 모두 좌우됩니다.

여기서 소개한 전략들은 단순한 팁이 아니라, 실제 시스템을 운영하며 수백 번의 반복을 통해 검증된 설계 원칙입니다. 지금 AI 에이전트를 설계 중이라면, 이 전략들이 불필요한 시행착오를 줄이고, 더 나은 제품을 더 빠르게 만들 수 있도록 도와줄 것입니다.

AI 에이전트의 미래는 더 정교해지고 복잡해질 것입니다. 그만큼, 그들을 둘러싼 ‘맥락’도 더 정밀하게 설계돼야 합니다.

https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus?fbclid=IwY2xjawLpVd5leHRuA2FlbQIxMQABHvbSDSguGszVpEEGj4uJmFmS8c-mutTMqD_VgXOk4viGQ3Y3A0e2nQoTroPQ_aem_VMuyBUWcrN8UDDVJXk24xQ

 

AI 에이전트를 위한 컨텍스트 엔지니어링: Manus 구축에서 얻은 교훈

이 게시물은 우리 자신의 "SGD"를 통해 Manus가 도달한 지역 최적점을 공유합니다. 자신만의 AI 에이전트를 구축하고 있다면, 이러한 원칙들이 더 빠르게 수렴하는 데 도움이 되기를 바랍니다.

manus.im

728x90
반응형