Context Engineering / Memory 최근 에이전트 시스템에서 메모리의 중요성이 크게 부각되면서 이를 체계적으로 이해하고 적용하기 위해 내용을 정리했습니다. 구글의 Context Engineering: Sessions, Memory 백서를 비롯해 다양한 에이전트 프레임워크 문서와 관련 연구들을 참고하여, 최근 여러 서비스와 기술 행사에서 핵심 주제로 다뤄지고 있는 메모리 개념을 정리했습니다. 백서의 구조를 기반으로 주요 개념들을 재구성해 Context Engineering 관점에서 정리한 내용입니다. 1. Context Engineering 컨텍스트 엔지니어링은 단순히 시스템 프롬프트를 잘 작성하는 수준을 넘어, 모델 호출마다 필요한 정보 전체(payload)를 동적으로 구성하는 과정을 의미. 1.1 컨텍스트 엔지니어링이란 기본적으로 Prompt Engineering이 *"좋은 지침을 어떻게 기술할 것인가"*에 집중했다면, Context Engineering은 "모델 호출 시 주입되는 전체 정보(컨텍스트)를 어떻게 구성·관리할 것인가" 에 초점을 맞춘 더 상위적 개념입니다. 컨텍스트 엔지니어링의 목표는 모델이 작업을 완료하는 데 가장 관련성이 높은 정보를 필요한 만큼만 갖도록 하는 것입니다. 단순히 프롬프트 문장을 잘 쓰는 것을 넘어서, 시스템 프롬프트, 외부 지식, 대화 히스토리, 도구 출력 등 모델이 현재의 작업을 잘 수행하도록 필요한 모든 페이로드(payload)를 동적으로 설계하고 조정하는 것을 의미합니다. 1.2 구성 요소 및 계층 여기에는 다음 세 계층의 정보가 포함됩니다: Reasoning Context: 시스템 지침, 툴 정의, few-shot 예시 등 모델의 사고 방식과 행동 범위를 규정하는 정보 Evidential & Factual Data: 장기 메모리, 외부 지식(RAG), 다른 에이전트/도구의 출력 등 모델의 근거가 되는 정보 Immediate Conversation Context: 현재 대화, 최근 이벤트, 임시 상태(scratchpad) 등 즉시 필요한 정보