목록으로
The rise of "context engineering"
Blog2025.07.06

The rise of "context engineering"

요약

Context Engineering은 LLM이 작업을 성공적으로 수행하도록 올바른 정보와 도구를 적절한 형식으로 제공하는 동적 시스템을 구축하는 것으로, AI 엔지니어에게 가장 중요한 Skill이 되고 있습니다.
️ 이는 Prompt Engineering의 상위 개념으로, LLM의 실패 원인인 잘못된 Context나 정보 부족을 해결하기 위해 Right information, Right tools, 그리고 Context의 Dynamic한 제공을 강조합니다.
️ Tool use, Short/Long term memory, Retrieval 등이 Context Engineering의 예시이며, LangGraph는 세밀한 제어를 통해, LangSmith는 Tracing 및 Observability를 통해 Context Building을 지원합니다.

상세 내용

이 논문은 AI 엔지니어에게 가장 중요한 기술로 부상하고 있는 Context Engineering에 대해 심층적으로 설명합니다.

Context Engineering은 LLM(Large Language Model)이 주어진 작업을 성공적으로 수행할 수 있도록, 적절한 정보와 도구를 올바른 형식으로 제공하는 동적인 시스템을 구축하는 것을 의미합니다. 에이전트 시스템이 불안정하게 작동하는 주요 원인은 LLM에 적절한 Context, 지침 및 도구가 전달되지 않았기 때문이라고 지적합니다. LLM 애플리케이션이 단일 프롬프트에서 복잡하고 동적인 에이전트 시스템으로 진화함에 따라 Context Engineering의 중요성이 더욱 강조됩니다.

Context Engineering의 핵심 구성 요소는 다음과 같습니다:

  • System: 복잡한 에이전트들은 개발자, 사용자, 이전 상호작용, 도구 호출, 외부 데이터 등 다양한 소스로부터 Context를 얻습니다. 이러한 모든 요소를 통합하는 것은 복잡한 시스템의 작동을 필요로 합니다.
  • Dynamic: 위에서 언급된 Context 조각들은 동적으로 생성되거나 변화할 수 있습니다. 따라서 최종 프롬프트를 구성하는 로직 또한 정적인 것이 아니라 동적이어야 합니다.
  • Right Information: 에이전트 시스템이 제대로 작동하지 않는 흔한 이유는 단순히 올바른 Context를 가지고 있지 않기 때문입니다. LLM은 사람의 마음을 읽을 수 없으므로, 필요한 정보를 명확하게 제공해야 합니다. "Garbage in, garbage out" 원칙이 적용됩니다.
  • Right Tools: LLM이 주어진 입력만으로 작업을 해결할 수 없는 경우가 많습니다. 이러한 상황에서 LLM이 작업을 수행하도록 지원하려면 적절한 도구(정보 검색, 특정 조치 수행 등)를 제공하는 것이 필수적입니다. 올바른 도구를 제공하는 것은 올바른 정보를 제공하는 것만큼 중요합니다.
  • Format Matters: 인간과의 소통과 마찬가지로, LLM과의 소통 방식도 중요합니다. 짧고 명확한 오류 메시지는 거대한 JSON blob보다 훨씬 효과적입니다. 이는 도구에도 적용되어, 도구의 입력 파라미터 형식이 LLM의 사용 가능성에 큰 영향을 미칩니다.
  • Plausibly accomplish the task?: 이 질문은 Context Engineering을 설계할 때 LLM이 작업을 '그럴듯하게' 수행할 수 있도록 설정하는 것이 중요함을 상기시킵니다. 이는 LLM이 마음을 읽는 능력이 없음을 강조하며, 실패 모드(정보/도구 부족 vs. 모델 자체 오류)를 구분하고 해결책을 찾는 데 도움을 줍니다.
  • Context Engineering의 중요성은 에이전트 시스템의 오류가 대부분 LLM의 Context 부족 또는 부적절한 형식에서 비롯된다는 점에 있습니다. 모델 자체의 성능 문제보다는 Context 문제가 훨씬 더 자주 발생하며, 이는 LLM이 개선될수록 더욱 두드러집니다. Context가 없으면 모델은 존재하지 않는 정보를 알 수 없고, Context의 형식이 좋지 않으면 모델의 반응 방식에 부정적인 영향을 미칩니다.

    Context Engineering과 Prompt Engineering의 차이점: 초기에 개발자들은 프롬프트 문구를 영리하게 다듬는 데 집중했지만, 애플리케이션이 복잡해짐에 따라 완전하고 구조화된 Context를 제공하는 것이 훨씬 더 중요해졌습니다. Prompt Engineering은 Context Engineering의 부분집합으로 간주됩니다. Prompt Engineering이 특정 입력 데이터에 잘 작동하는 프롬프트를 설계하는 데 중점을 둔다면, Context Engineering은 동적인 데이터를 받아 적절하게 포맷하여 프롬프트에 조립하는 시스템을 구축하는 데 중점을 둡니다. LLM이 어떻게 행동해야 하는지에 대한 핵심 지침 또한 Context의 중요한 부분으로, 이는 Prompt Engineering과 Context Engineering 모두에 걸쳐 있습니다.

    Context Engineering의 예시:
    * Tool use: LLM이 외부 정보에 접근해야 할 때, 접근 도구를 제공하고 그 반환 정보를 LLM이 소화하기 쉽게 포맷하는 것.
    * Short term memory: 대화가 길어질 때 대화 요약을 생성하여 다음 상호작용에 활용하는 것.
    * Long term memory: 이전 대화에서 사용자가 표현한 선호도를 검색하여 활용하는 것.
    * Prompt Engineering: 에이전트의 행동 방식을 프롬프트에 명확하게 열거하는 것.
    * Retrieval: 정보를 동적으로 가져와 LLM 호출 전에 프롬프트에 삽입하는 것.

    LangChain의 제품들은 Context Engineering을 지원하도록 설계되었습니다. LangGraph는 에이전트 프레임워크로서 모든 단계를 제어할 수 있어, LLM에 어떤 내용이 들어갈지, 어떤 단계가 실행될지, 결과가 어디에 저장될지 등을 완벽하게 제어함으로써 Context Engineering을 가능하게 합니다. 다른 에이전트 추상화 프레임워크가 Context Engineering을 제한하는 반면, LangGraph는 이러한 제어를 제공합니다. LangSmith는 LLM 애플리케이션의 가시성과 평가 도구로, 에이전트 호출을 추적하여 LLM에 전달된 데이터, 형식, 도구 접근성 등을 시각화함으로써 Context Engineering의 디버깅을 돕습니다.

    결론적으로, Context Engineering은 LLM과의 효과적인 소통의 핵심이며, 에이전트 시스템의 신뢰성을 높이는 데 필수적인 기술입니다. 이 개념은 새로운 것이 아니지만, 증가하는 그 중요성을 적절하게 설명하는 용어로 부상하고 있습니다.

    원본 보기
    Web
    Shared by Anonymous