Google, Context Engineering을 위한 세션(Session)과 메모리(Memory)의 개념 및 구현 전략에 대한 기술 백서 공개 [영문/PDF/72p]

Context Engineering: Sessions, Memory 백서 소개

Google이 공개한 Context Engineering: Sessions & Memory는 대규모 언어 모델(LLM)을 기반으로 한 지능형 에이전트를 설계할 때 필수적인 세션(Session)메모리(Memory) 의 개념과 구현 전략을 심도 있게 다룬 기술 백서(Whitepaper)입니다. 이 백서는 LLM이 본질적으로 무상태(stateless)라는 한계를 극복하고, 사용자의 대화 이력과 개인적 맥락을 기억·활용하도록 만드는 Context Engineering의 원칙과 실천 방법을 체계적으로 제시합니다. 세션은 단일 대화의 흐름과 임시 상태를 관리하며, 메모리는 장기적인 사용자 정보를 축적하여 지속적이고 개인화된 상호작용을 가능하게 합니다.

즉, 이 백서에서는 다중 에이전트 시스템(MAS, Multi-Agent System), 메모리 생명주기(추출·통합·저장·검색), 보안 및 프라이버시, 장기 대화 최적화 등 실제 제품 수준에서 고려해야 할 다양한 설계 패턴과 운영 전략을 제안함으로써, LLM 기반 에이전트의 진화된 형태를 구현할 수 있는 실용적 가이드를 제공합니다.

컨텍스트 엔지니어링의 핵심: “LLM이 실행될 매 턴의 지능적 컨텍스트 조립”

백서가 제안하는 컨텍스트 엔지니어링은 단순히 시스템 프롬프트를 잘 작성하는 수준을 넘어, 모델 호출마다 필요한 정보 전체(payload)를 동적으로 구성하는 과정을 의미합니다. 여기에는 다음 세 계층의 정보가 포함됩니다:

  1. Reasoning Context: 시스템 지침, 툴 정의, few-shot 예시 등 모델의 사고 방식과 행동 범위를 규정하는 정보
  2. Evidential & Factual Data: 장기 메모리, 외부 지식(RAG), 다른 에이전트/도구의 출력 등 모델의 근거가 되는 정보
  3. Immediate Conversation Context: 현재 대화, 최근 이벤트, 임시 상태(scratchpad) 등 즉시 필요한 정보

컨텍스트 엔지니어링은 이 요소들을 과도하지도 부족하지도 않게 구성해 매 턴마다 “상태 인식형 프롬프트(state-aware prompt)”를 만들어내는 기술적 운영 체계입니다.

세션(Session): 단일 대화의 구조화된 기록

세션은 특정 사용자와의 한 번의 대화를 구성하는 원시 이벤트 로그(events)와 작업 메모리(state)로 이루어져 있습니다.

  • Events는 사용자 입력, 모델 응답, 도구 호출 및 결과 등 전체 상호작용 등을 시간 순서대로 기록한 것이며,

  • State는 장바구니, 중간 계산, 작업 흐름 정보 등 구조화된 임시 데이터를 포함하고 있습니다.

세션(Session)은 실제 모델 호출에 필요한 전체 맥락을 직접 제공하는 것이 아니라, 요약·메모리 추출·멀티에이전트 공유 등 후속 처리의 근거 데이터 원본으로 사용됩니다. 또한 운영 환경에서는 세션 저장소의 성능, 보안 격리(ACL), TTL 기반 삭제 정책 등이 필수적으로 요구됩니다.

멀티에이전트 시스템에서의 세션 공유 전략

image

이 백서에서는 여러 에이전트가 협력하는 MAS(Multi-Agent System)에서 세션을 다루는 두 가지 핵심 패턴을 제시합니다:

  1. 공유 단일 히스토리(Shared Unified History): 모든 에이전트의 이벤트가 하나의 세션에 기록됨
  2. 에이전트별 독립 히스토리(Private History): 각 에이전트가 자체 기록을 유지하고 메시지만 주고받음

에이전트 프레임워크마다 세션/이벤트 구조가 상이하기 때문에, 이질적인 프레임워크 간 협업은 A2A 프로토콜과 프레임워크 중립적 메모리 레이어를 통해 해결됩니다. 이는 장기적으로 여러 에이전트가 공유 가능한 공통 지식 기반을 구축하는 핵심 방식으로 제시됩니다.

메모리(Memory): 장기 지속성과 개인화를 실현하는 지식 레이어

메모리는 세션의 원시 로그에서 유의미한 정보만을 추출·정제·통합하여 장기적으로 유지되는 지식 단위입니다. 이는 단순 대화 요약이 아니라, 다음 두 단계로 구성된 LLM 기반 ETL 파이프라인입니다:

  1. Extraction(추출): 대화에서 의미 있는 정보만 선별
  2. Consolidation(통합): 기존 메모리와의 중복/모순 해결, 업데이트·병합·삭제 결정

이 과정에서 메모리는 다음과 같은 다양한 범위(Scope)을 갖는 정보들을 포함합니다:

  • 사용자의 특성·선호·목표(Declarative)
  • 에이전트가 스스로 학습하는 절차적 지식(Procedural),
  • 세션 단위 요약(Session-level),
  • 앱 전체가 공유하는 지식(Application-level)등 다양한 스코프로 구성됩니다.

또한 메모리 검색에는 단순한 의미적 유사성뿐 아니라 중요도(importance), 최근성(recency)을 함께 고려하는 최적화된 조회(Retrieval) 전략이 필요하다고 강조합니다.

RAG vs Memory: 서로 다른 두 축의 지식 관리

백서는 RAG와 Memory를 명확히 구분합니다:

  • RAG: 정적·외부·공유 지식으로, 외부 세계(World)에 대한 사실을 다룹니다.

  • Memory: 동적·사용자별·개인화된 지식으로, 사용자(User)에 대한 사실을 다룹니다.

즉, RAG와 Memory는 상호 보완적이며, 고품질 에이전트를 구축하기 위해서는 두 가지 모두가 필수적인 지식 체계로 제시됩니다.

세션 압축 및 성능 최적화

긴 대화가 지속될 경우, 토큰 비용 및 지연 시간(latency), 정확도 하락을 막기 위해 다음과 같은 기법들을 고려할 수 있습니다. 이러한 기법들은 '정보를 최대한 잘 보관할 것인가'와 '얼마나 빠르게 접근할 것인가' 등을 고려하여 적절하게 선택하여 사용해야 합니다:

  • 최근 N턴의 대화 유지 (
  • 토큰에 기반한 내용 자르기(Token-based Truncation)
  • 재귀적 요약(LLM 기반 압축)
  • 시간·턴 수·이벤트 기반 트리거

위 제시한 전략 등을 사용하여 세션을 지속적으로 축약·정리해야 합니다. 이는 실제 제품 환경에서 비용 효율성과 반응성 유지에 핵심적입니다.

정리

Context Engineering: Sessions & Memory 백서는 LLM 기반 에이전트가 “상태를 이해하고 기억하며 학습하는 시스템”으로 진화하기 위해 필요한 전략·아키텍처·운영 체계 전체를 상세히 규정합니다. 즉, 세션은 대화의 원시 기반을, 메모리는 장기 지식을, 컨텍스트 엔지니어링은 이를 실시간으로 결합해 하나의 지능적 행동 단위로 만드는 핵심 기술로 제시됩니다.

단순한 프롬프트 기법을 넘어, 실제 프로덕션에서 지속적·개인화된·신뢰 가능한 에이전트를 구축하기 위한 실질적 로드맵을 익히고 싶은 개발자들이 읽어볼만 합니다.

:scroll: Google이 공개한 Context Engineering: Sessions & Memory 백서 보기




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요