Agents that remember: introducing Agent Memory
Quick Summary
Cloudflare는 에이전트 대화에서 중요한 정보를 추출·검증·분류해 필요할 때만 검색해 주는 관리형 서비스 Agent Memory의 비공개 베타를 소개하며, 긴 컨텍스트 창만으로 해결되지 않는 컨텍스트 품질 문제를 겨냥한다.
🖼️ 인포그래픽
🖼️ 4컷 인포그래픽
💡 한 줄 요약
Cloudflare는 에이전트 대화에서 중요한 정보를 추출·검증·분류해 필요할 때만 검색해 주는 관리형 서비스 Agent Memory의 비공개 베타를 소개하며, 긴 컨텍스트 창만으로 해결되지 않는 컨텍스트 품질 문제를 겨냥한다.
📌 핵심 요약
- 글은 에이전트가 더 정교해질수록 적절한 정보를 적절한 시점에 컨텍스트로 가져오는 일이 핵심 과제가 되었다고 설명한다. 컨텍스트 창이 100만 토큰을 넘어도 모든 정보를 넣으면 품질이 떨어지고, 반대로 과감히 잘라내면 나중에 필요한 정보를 잃는 문제가 남는다.
- Cloudflare의 Agent Memory는 에이전트 대화에서 사실, 사건, 지시, 작업 등을 추출해 별도 메모리로 저장하고, 필요할 때 검색·종합해 돌려주는 관리형 서비스다. 컨텍스트 창을 계속 채우지 않으면서도 에이전트가 중요한 정보를 기억하고 시간이 지나며 더 유용해지도록 하는 것이 목표다.
- 이 서비스는 이름으로 구분되는 프로필 단위로 메모리를 저장하며, 대화 일괄 ingest, 특정 내용 remember, 필요한 정보 recall, 메모리 list, 특정 메모리 forget 같은 작업을 제공한다. Cloudflare Workers의 바인딩으로 접근할 수 있고, Workers 밖에서 실행되는 에이전트는 REST API로 사용할 수 있다.
- Agent Memory는 단일 코딩 에이전트, 자체 에이전트 하네스, 사람·도구·여러 에이전트가 공유하는 팀 단위 메모리까지 폭넓은 구조를 염두에 둔다. 한 에이전트가 학습한 코딩 규칙, 아키텍처 결정, 암묵지, 리뷰 피드백이 사라지지 않고 팀의 지속 자산이 될 수 있다는 점을 강조한다.
- 내부적으로는 컨텍스트 압축 시점에 대화를 수집하고, 메시지 ID 생성, 병렬 추출, 원문 검증, 유형 분류, 중복 제거와 갱신 관계 처리를 거쳐 메모리를 저장한다. 글은 에이전트가 저장 전략에 토큰을 낭비하지 않도록 API를 의도적으로 제한하고, 검색 기반 아키텍처가 대부분의 프로덕션 워크로드에 적합하다고 주장한다.
🧩 주요 포인트
- 글은 에이전트가 더 정교해질수록 적절한 정보를 적절한 시점에 컨텍스트로 가져오는 일이 핵심 과제가 되었다고 설명한다. 컨텍스트 창이 100만 토큰을 넘어도 모든 정보를 넣으면 품질이 떨어지고, 반대로 과감히 잘라내면 나중에 필요한 정보를 잃는 문제가 남는다.
- Cloudflare의 Agent Memory는 에이전트 대화에서 사실, 사건, 지시, 작업 등을 추출해 별도 메모리로 저장하고, 필요할 때 검색·종합해 돌려주는 관리형 서비스다. 컨텍스트 창을 계속 채우지 않으면서도 에이전트가 중요한 정보를 기억하고 시간이 지나며 더 유용해지도록 하는 것이 목표다.
- 이 서비스는 이름으로 구분되는 프로필 단위로 메모리를 저장하며, 대화 일괄 ingest, 특정 내용 remember, 필요한 정보 recall, 메모리 list, 특정 메모리 forget 같은 작업을 제공한다. Cloudflare Workers의 바인딩으로 접근할 수 있고, Workers 밖에서 실행되는 에이전트는 REST API로 사용할 수 있다.
- Agent Memory는 단일 코딩 에이전트, 자체 에이전트 하네스, 사람·도구·여러 에이전트가 공유하는 팀 단위 메모리까지 폭넓은 구조를 염두에 둔다. 한 에이전트가 학습한 코딩 규칙, 아키텍처 결정, 암묵지, 리뷰 피드백이 사라지지 않고 팀의 지속 자산이 될 수 있다는 점을 강조한다.
- 내부적으로는 컨텍스트 압축 시점에 대화를 수집하고, 메시지 ID 생성, 병렬 추출, 원문 검증, 유형 분류, 중복 제거와 갱신 관계 처리를 거쳐 메모리를 저장한다. 글은 에이전트가 저장 전략에 토큰을 낭비하지 않도록 API를 의도적으로 제한하고, 검색 기반 아키텍처가 대부분의 프로덕션 워크로드에 적합하다고 주장한다.
🧠 상세 정리
1. 컨텍스트 창 확대만으로 해결되지 않는 문제
글은 개발자들이 Cloudflare 위에서 더 복잡한 에이전트를 만들면서 가장 크게 부딪히는 문제가 ‘올바른 정보를 올바른 시점에 컨텍스트로 넣는 것’이라고 출발한다. 모델 출력의 품질은 모델이 다루는 컨텍스트의 품질과 직접 연결되지만, 컨텍스트 창이 100만 토큰을 넘어도 문제가 자동으로 사라지지는 않는다고 본다. 모든 것을 컨텍스트에 계속 넣으면 정보가 많아질수록 품질이 저하되는 컨텍스트 부패가 생기고, 반대로 과감히 정리하면 이후에 필요한 정보를 잃을 수 있다. Agent Memory는 이 두 선택지 사이의 긴장을 완화하기 위해, 컨텍스트 창을 가득 채우지 않고도 필요한 기억을 나중에 다시 꺼낼 수 있게 하려는 서비스로 제시된다.
2. Agent Memory의 기본 목표와 위치
Cloudflare가 발표한 Agent Memory는 에이전트 대화에서 정보를 추출해 저장하고, 필요한 시점에 다시 사용할 수 있게 하는 관리형 서비스의 비공개 베타다. 이 서비스는 에이전트에 지속적 기억을 제공해 중요한 것은 회상하고, 중요하지 않은 것은 잊으며, 시간이 지날수록 더 똑똑해지도록 돕는다고 설명된다. 핵심은 메모리를 컨텍스트 창 안에 계속 들고 다니는 것이 아니라, 대화 밖의 저장소에 두었다가 필요할 때 검색과 종합을 통해 가져오는 방식이다. 글은 이것이 단순한 저장 기능이 아니라 장기간 실행되는 에이전트가 실제 코드베이스와 운영 시스템을 다룰 때 기억의 유용성을 유지하기 위한 인프라라고 강조한다.
3. 빠르게 변하는 에이전트 메모리 시장과 Cloudflare의 선택
원문은 에이전트 메모리가 AI 인프라에서 가장 빠르게 움직이는 영역 중 하나라고 짚는다. 오픈소스 라이브러리, 관리형 서비스, 연구용 프로토타입이 거의 매주 등장하고, 각 시스템은 무엇을 저장하는지, 어떻게 검색하는지, 어떤 종류의 에이전트를 염두에 두는지에서 크게 다르다. LongMemEval, LoCoMo, BEAM 같은 벤치마크는 비교에는 도움이 되지만, 특정 평가에 과적합된 시스템이 실제 프로덕션에서는 무너질 수 있다는 위험도 언급된다. Cloudflare는 여러 접근법을 검토한 뒤, Agent Memory를 관리형 서비스이면서 의견이 반영된 API와 검색 기반 아키텍처를 가진 형태로 설계했다고 설명한다.
4. 원시 저장소 접근보다 제한된 API와 검색 파이프라인을 택한 이유
글은 일부 시스템이 모델에 데이터베이스나 파일시스템에 대한 원시 접근을 주어 모델이 직접 쿼리를 설계하게 하지만, Agent Memory는 그런 방식을 기본값으로 삼지 않는다고 말한다. Cloudflare는 에이전트가 저장·검색 전략 자체에 토큰을 쓰기보다 실제 작업에 집중해야 한다고 본다. 따라서 더 촘촘한 수집 및 검색 파이프라인이 비용과 성능뿐 아니라 시간 논리, 대체 관계, 지시 이행 같은 프로덕션의 복잡한 추론 과제에 더 좋은 기반을 제공한다고 주장한다. 향후 프로그램 방식의 질의 기능을 열 가능성은 언급하지만, 일반적인 사용 사례보다는 예외적 상황에 더 적합할 것으로 예상한다.
5. 프로필 기반 API와 주요 작업 흐름
Agent Memory는 이름으로 주소 지정되는 프로필에 메모리를 저장한다. 프로필은 대화 ingest, 특정 내용 remember, 필요한 정보 recall, 저장된 메모리 list, 특정 메모리 forget 같은 작업을 제공한다. ingest는 보통 하네스가 컨텍스트를 압축할 때 호출되는 대량 처리 경로이고, remember는 모델이 그 자리에서 중요하다고 판단한 내용을 명시적으로 저장하는 기능이다. recall은 전체 검색 파이프라인을 실행한 뒤 단순히 관련 메모리 목록만 반환하는 것이 아니라, 질문에 대한 종합된 답을 돌려주는 역할로 설명된다. 예시 코드에서는 사용자가 npm이 아니라 pnpm을 선호한다는 대화가 저장되고, 이후 패키지 매니저 선호를 물었을 때 pnpm이라는 답을 회상한다.
6. Workers, REST API, Agents SDK와의 연결
Agent Memory는 Cloudflare Worker에서 바인딩을 통해 접근할 수 있다. 또한 Workers 외부에서 실행되는 에이전트도 Cloudflare 개발자 플랫폼의 다른 API와 같은 방식으로 REST API를 통해 사용할 수 있다고 설명된다. Cloudflare Agents SDK를 쓰는 경우에는 Sessions API의 메모리 영역에서 압축, 기억, 메모리 검색을 처리하는 기준 구현으로 자연스럽게 통합된다고 소개된다. 이 설명은 Agent Memory가 특정 에이전트 루프에 깊게 결합된 기능이라기보다, 여러 실행 환경에서 사용할 수 있는 메모리 계층으로 설계되었음을 보여준다. 즉, 에이전트가 어디에서 실행되든 대화에서 생긴 지식을 유지하고 다시 불러오는 공통 인프라가 되는 것이 목표다.
7. 개별 에이전트부터 팀 공유 메모리까지의 사용 사례
원문은 Agent Memory가 다양한 에이전트 아키텍처에 맞도록 설계되었다고 설명한다. 사람의 개입을 받는 코딩 에이전트, 자체 호스팅 에이전트 프레임워크, 관리형 에이전트 서비스 모두 핵심 루프를 바꾸지 않고 지속 메모리 계층으로 사용할 수 있다고 말한다. 또한 사람이 개입하지 않고 백그라운드에서 자율적으로 실행되는 자체 에이전트 하네스에도 적용할 수 있으며, 이런 에이전트는 세션을 넘기고 재시작 이후에도 기억이 유지되는 이점을 얻는다. 더 나아가 하나의 메모리 프로필을 여러 엔지니어, 에이전트, 도구가 공유하면 코딩 규칙, 아키텍처 결정, 암묵지, 코드 리뷰 피드백이 한 사람의 세션에만 머물지 않고 조직의 지속 가능한 지식 자산이 될 수 있다고 강조한다.
8. 검색과 메모리의 차이, 그리고 데이터 이동성
글은 검색이 메모리의 구성 요소일 수는 있지만, 에이전트 검색과 에이전트 메모리는 다른 문제를 푼다고 구분한다. AI Search는 구조화·비구조화 파일 전반에서 결과를 찾기 위한 기본 요소이고, Agent Memory는 세션에서 파생된 맥락을 회상하기 위한 기능이다. Agent Memory의 데이터는 파일로 존재하는 것이 아니라 대화와 세션에서 추출된 기억이므로, 에이전트는 두 기능을 함께 사용할 수 있다. 이어서 원문은 에이전트가 비즈니스 프로세스에 깊이 들어갈수록 축적된 메모리가 운영 상태를 넘어 기관 지식이 된다고 말한다. 그래서 특정 벤더에 이 자산이 묶이는 데 대한 고객 우려를 인정하며, 모든 메모리를 내보낼 수 있게 하고 사용자의 데이터는 사용자 것이라는 입장을 밝힌다.
9. 컨텍스트 압축 시점과 메모리 수집 방식
Agent Memory의 내부 동작을 이해하려면 에이전트가 컨텍스트를 관리하는 방식을 봐야 한다고 원문은 설명한다. 에이전트에는 모델 호출을 반복적으로 구동하고 도구 호출과 상태를 관리하는 하네스가 있으며, 상태에는 현재 컨텍스트 창뿐 아니라 대화 기록, 파일, 데이터베이스, 메모리 같은 외부 정보도 포함된다. 중요한 순간은 하네스가 모델 한계를 지키거나 컨텍스트 부패를 피하기 위해 컨텍스트를 줄이는 압축 시점이다. 대부분의 에이전트는 이때 정보를 영구히 버리지만, Agent Memory는 압축 시점에 대화를 수집해 지식을 보존한다. 동시에 모델이 직접 recall, remember, forget, list 도구를 사용할 수 있게 하되, 저장소 설계를 모델에게 맡기지 않도록 작업 표면을 가볍고 제한적으로 유지한다.
10. 추출·검증·분류 파이프라인
대화가 ingest되면 Agent Memory는 여러 단계의 파이프라인을 거쳐 메모리를 만든다. 먼저 각 메시지에는 세션 ID, 역할, 내용을 기반으로 한 SHA-256 해시의 일부가 콘텐츠 주소형 ID로 부여되어, 같은 대화를 다시 ingest해도 같은 메시지가 같은 ID로 해석되도록 한다. 이후 추출기는 병렬로 두 가지 패스를 실행한다. 전체 패스는 메시지를 약 1만 자 단위와 겹침 구간으로 나누어 처리하고, 긴 대화에서는 이름, 가격, 버전 번호, 엔티티 속성처럼 넓은 추출에서 놓치기 쉬운 구체값을 잡기 위한 상세 패스가 함께 수행된다. 그 다음 각 메모리는 원문 대조를 통해 엔티티, 대상, 위치, 시간, 조직 맥락, 완전성, 관계, 추론의 근거 여부를 검증받고, 최종적으로 사실, 사건, 지시, 작업 중 하나로 분류된다.
🧾 핵심 주장 / 시사점
- 이 글의 핵심은 ‘긴 컨텍스트 창’이 곧 ‘좋은 기억’은 아니라는 점이다. 실제 에이전트 운영에서는 무엇을 남기고, 무엇을 갱신하고, 무엇을 필요할 때만 불러올지 결정하는 메모리 계층이 별도 인프라로 필요하다는 주장이 드러난다.
- Cloudflare가 원시 파일시스템이나 데이터베이스 접근이 아니라 제한된 API와 검색 기반 구조를 강조한 것은, 에이전트에게 더 많은 자유를 주는 것보다 저장·검색 책임을 인프라가 흡수하는 편이 프로덕션에서는 안정적이라는 판단으로 볼 수 있다.
- 메모리를 팀과 도구가 공유할 수 있다는 부분은 에이전트 메모리를 개인화 기능이 아니라 조직 지식 관리의 일부로 확장한다. 코드 리뷰 피드백, 운영 절차, 아키텍처 결정이 세션 종료와 함께 사라지지 않는다는 점이 장기적 가치의 중심이다.
✅ 액션 아이템
- 장기 실행 에이전트 설계에서 모든 대화 기록을 컨텍스트에 밀어 넣는 방식과 별도 메모리 계층을 두는 방식을 비용·품질·검색 정확도 기준으로 비교한다.
- 팀 단위 에이전트 메모리를 도입할 때 저장 대상, 삭제 권한, 내보내기 정책, 원문 검증 절차를 먼저 문서화한다.
- Agent Memory 같은 검색 기반 구조를 적용할 후보 업무를 고를 때, 반복되는 코드 리뷰 피드백·아키텍처 결정·운영 절차처럼 세션을 넘어 유지되어야 하는 지식을 우선순위로 둔다.
❓ 열린 질문
- 긴 컨텍스트 창과 검색 기반 메모리를 함께 쓸 때, 어떤 정보는 즉시 컨텍스트에 남기고 어떤 정보는 recall 대상으로 분리해야 할까?
- 여러 사람과 여러 에이전트가 하나의 메모리 프로필을 공유할 때 잘못 저장된 지식이나 오래된 결정을 어떻게 검증·갱신해야 할까?
- 에이전트가 remember, recall, forget 같은 제한된 API만 사용할 때 원시 데이터베이스 접근보다 안정적인 운영 기준을 만들 수 있을까?