“에이전트에게 기억 도구를 주면, 에이전트는 그것을 절대 쓰지 않는다.” 이 문장이 이 논문의 전부다. 114턴 동안 사전에 세팅된 기억 저장소가 있었고, 도구도 연결되어 있었고, 사용 가이드도 있었다. 에이전트의 자발적 기억 호출 횟수는 0회였다. 하네스(harness, 에이전트의 실행 환경을 감싸는 오케스트레이션 계층)가 결정론적으로 기억을 주입했을 때만 에이전트는 비로소 그 정보를 활용했다.
Swapnanil Saha의 2026년 7월 논문 “Delivery, Not Storage: Cue-Anchored Working Memory as a Harness Property for Coding Agents”는 코딩 에이전트의 기억 문제를 콘텐츠 문제가 아니라 제어 평면(control plane) 문제로 재정의한다. 그리고 인지과학의 기억 연구를 설계 원리로 끌어와서, 왜 “기억을 주는 것(delivery)“이 “기억을 저장하는 것(storage)“과 근본적으로 다른지를 증명한다.
Q. “현재 코딩 에이전트의 기억 시스템에 뭐가 문제인가?”
문제는 “기억이 없다”가 아니라 **“2계층이 없다”**다.
현재 Claude Code, Codex, OpenClaw 같은 코딩 에이전트는 모두 1계층만 가지고 있다: 문서. CLAUDE.md, 계획 아티팩트, 자동 작성 메모리 디렉토리 — 이 모든 것은 에이전트가 의도적으로 쓰고 의도적으로 다시 읽어야 하는 문서들이다.
하지만 숙련된 엔지니어가 6개월 후에 효과적인 이유는 위키가 아니라, 한 번도 문서화되지 않은 운영적 사실들이다: “이 테스트는 저 플래그 아래에서 불안정하다”, “릴리스는 CI만 통과한다”, “캐치올 라우트는 반드시 마지막이어야 한다”. 누구도 이것을 의도적으로 암기하지 않는다. 작업의 부산물로 자동으로 인코딩되고, 상황이 단서가 될 때 비자발적으로 떠오른다.
논문은 이것을 2계층 기억 모델로 정리한다:

현재 에이전트는 “위키를 읽을 수 있는 완전 건망증의 유능한 작업자”다. Tier 2가 존재하지 않는다.
Q. “에이전트에게 기억 도구를 주면 되지 않나?”
이 논문의 가장 파괴적인 실험 결과가 여기 있다.
연구진은 에이전트에 기억 도구(remember, recall, forget)를 연결하고, 작업 관련 사전 지식 4개를 저장소에 미리 세팅하고, 사용 가이드도 제공했다. 그리고 114턴 동안 에이전트의 기억 도구 호출 횟수를 측정했다.
결과: 0회.
“Knowledge present in a store contributes nothing by itself.” (저장소에 지식이 있다는 것 자체는 아무것도 기여하지 않는다.)
이것은 이 논문만의 발견이 아니다. MEMTRACK 벤치마크는 기억 도구를 가진 에이전트가 장기 호라이즌에서 체계적으로 기억을 활용하지 못함을 문서화했다. TriggerBench는 더 깊은 이유를 보여준다: 잠재된 제약 조건을 트리거가 나타났을 때 실행하는 것(전향적 기억, prospective memory)이 이미 서술된 사실을 검색하는 것(회고적 기억, retrospective memory)보다 모델에게 훨씬 어렵다. 그리고 전향적 기억 성능은 컨텍스트 길이가 길어질수록 저하된다 — 장기 실행 에이전트가 정확히 처하는 상황이다.
벤더들도 이것을 알고 있다. Anthropic의 기억 도구는 “기억을 확인하라”는 대문자 지시를 강제 주입하고, ChatGPT의 기억은 자동 캡처 + 자동 주입으로, 자발적 조회 도구 자체를 제공하지 않는다.
Q. “그럼 해결책이 뭔가?”
기억을 콘텐츠 평면이 아니라 제어 평면에서 다루는 것.
논문의 핵심 구분:
- 콘텐츠 평면(content plane): 컨텍스트에 자료를 추가하고, 모델이 그것을 기억으로 바꾸어주기를 기대한다. 파일, 명령, 프로토콜. 모델의 순응성(compliance)에 의존한다.
- 제어 평면(control plane): 컨텍스트 자체의 구성에 참여한다. 무엇이 윈도우에 들어가고 언제 들어가는지를 결정론적으로 결정한다.
이 논문이 제안하는 **단서-고정 기억 모델(cue-anchored memory model)**의 구조는 이렇다:
기억 하나는 (내용, 종류, 트리거, 범위, 감쇠) 튜플이다.
- 종류(kind): directive(놓치면 안 되는 상시 명령), gotcha(단서-고정 주의사항), finding(의미론적 사실), task(작업 상태), reference(포인터)
- 트리거(triggers): 각 기억마다 독립적인 조건. **{path, symbol, semantic, event, temporal}**의 조합 가능한 어휘.

핵심 설계 원칙: 평가는 하네스가 결정론적으로 수행한다. 모델의 판단이 주입 경로에 없다. TriggerBench가 문서화한 실패(모델은 스스로 트리거할 수 없다)를 설계 자체에서 배제하는 것이다.
Q. “인지과학을 왜 끌어오는가?”
이 논문의 독특한 점은 인지과학 문헌을 장식이 아니라 설계 원리로 사용한다는 것이다. 각 인지 메커니즘이 하나의 아키텍처 결정을 강제한다:
1. 인코딩은 부수적이다(incidental encoding). 의도적 암기 지시 없이도 피험자들이 동일한 수준으로 회상했다(Craik & Lockhart, 1972). 인간은 remember()를 호출하지 않는다. → 캡처는 에이전트의 자발성에 의존해서는 안 된다.
2. 검색은 단서 구동이며 대부분 비자발적이다. 일상 경험에서 비자발적 자서전적 기억이 자발적 회상보다 약 2:1로 많다(Berntsen, 2009). 사건 기반 전향적 기억이 시간 기반보다 더 자동적이다. → 기본 주입 채널은 단서 시점에서의 주입이다.
3. 외부 저장소는 확장 마음 기준(extended mind criteria)을 만족할 때만 기억이다. Clark & Chalmers(1998): 신뢰성, 제로에 가까운 노력, 자동 보증. 검색 결과는 평가되지 신뢰되지 않는다. 주입은 저장소를 기억으로 기능하게 만들고, 조회는 참고 문서로 기능하게 만든다. → 같은 내용, 다른 전달, 다른 인지적 역할.
4. 문서화에 저항하는 것. 상황 결합적 사실을 문서화하면 정확히 그 단서들이 벗겨진다. “이 설정은 중요하다”는 문장은 그 설정을 마주하고 있을 때만 유용하다. → 단서-고정 레코드가 이것을 해결한다.
Q. “어떻게 실험했나?”
Apache Camel 리포지토리(약 169k 인덱스 청크)에서 실제 기능 구현 작업을 주었다: Resequencer EIP의 리버스 옵션 구현. 다중 모듈 탐색(모델 레이어, 프로세서 엔진, 리파이어 리와이어링, 카탈로그/스키마 서피스)이 필요한 진짜 작업이다.
12개의 평가 실행(graded runs)을 6개의 그룹으로 나누었다:
| 그룹 | 메모리 | 전달 방식 |
|---|---|---|
| A | 없음 | — |
| B | 도구 + 가이드 | 자발적 |
| C | 도구 + 프록시(콜드) | 주입(내용 없음) |
| CS | 시드됨 | 프록시 주입 |
| H | 시드됨 | 네이티브 훅 |
| V | 시드됨 | 자발적(훅 제거, H의 통제군) |
가장 중요한 비교는 H vs V다. 같은 4개의 작업 관련 노트가 저장소에 있고, 같은 도구와 가이드가 있다. 유일한 차이: H는 하네스가 주입하고, V는 에이전트에게 맡긴다.

H1과 H2(네이티브 훅 주입)가 V1(자발적)보다 모든 카운트 기반 메트릭에서 앞선다. 통계적 유의성(n=2 vs n=1)은 주장하지 않지만, 방향성은 모든 메트릭과 두 개의 독립적인 채널에서 일관된다.
Q. “주입이 정말로 에이전트 행동을 바꾸나?”
바꾼다. 그리고 재미있는 패턴이 나타난다.
주입이 참여를 촉발한다(injection begets engagement). 주입받은 에이전트는 주입 후 비로소 자발적 기억 도구를 사용하기 시작한다. CS 실행에서는 매트릭스에서 유일한 기억 위생 루프(recall by id → forget gotcha → remember completion note)가 나타났다. 네이티브 훅 실행(H1, H2)에서도 주입 직후 인덱스 확장과 의미론적 recall이 관찰되었다.
“Voluntary memory operations occur after and because of delivery, not instead of it.” (자발적 기억 조작은 전달 대신이 아니라 전달 때문에, 전달 후에 발생한다.)
이것은 V(자발적 통제군)가 114턴 동안 0회의 기억 호출을 한 것과 대조된다. 같은 지식, 같은 도구, 같은 가이드 — 하지만 주입이 없으면 아무 일도 일어나지 않는다.
메커니즘 검증도 철저하다. 두 개의 독립적인 주입 채널(프록시와 네이티브 훅)이 같은 행동 서명을 만들어낸다면, 효과는 주입 아키텍처에서 오는 것이다. 그리고 그렇다:
- 프록시(CS): 262개 API 요청 중 241개가 주입 결정에 도달 — 5개 주입, 236개 정확히 스킵, 오탐(false alarm) 0건.
- 네이티브 훅(H×2): 세션 시작 시 인덱스 주입, 단서-고정 gotcha가 에이전트가 파일을 처음 터치했을 때 발화(~20초, ~7분). 이후 터치는 세션별 발화 원장(fire ledger)으로 중복 억제. 오탐 0건(각각 40회, 35회의 감사 로깅된 트리거 평가).
Q. “반복 컴팩션이 핵심이라는데, 무슨 말인가?”
여기서 이 논문의 가장 강력한 증거가 나온다.
현장 데이터의 현실: 한 Claude Code 파워유저가 26일간 **59회의 컴팩션(compaction, 컨텍스트 요약 압축)**을 경험했다. 컴팩션은 에이전트가 대화가 길어지면 이전 컨텍스트를 요약해서 압축하는 메커니즘이다. 요약되지 않은 사실은 사라진다.
논문은 이것을 **감쇠 프로브(decay probe)**로 극한까지 밀어붙인다: 10개의 합성 운영 사실을 0단계에서 한 번만 제시하고, 원본 파일을 즉시 삭제한다. 그 다음 16단계의 파일 감사 작업을 하나의 세션에서 100k 토큰 컴팩션 윈도우로 실행한다.
두 개의 그룹:
- Arm N: 메모리 계층 없음. 사실은 대화에만 존재.
- Arm M: 10개 사실이 하네스 소유 저장소에 시드되어, 모든 compact-resume 시 주입.

결과를 보자:

요약 채널은 첫 경계에서 모든 것을 드롭한다. 두 그룹 모두 요약 1에서 0/10 사실 토큰을 가졌다. Arm N에서 108개 중 106개의 요약이 0/10이었다. Arm M에서도 첫 3개의 요약이 0/10이었다 — 주입된 컨텍스트가 요약 중인 컨텍스트에 있었음에도 불구하고!
“Summarizer selection is unreliable independently of fact availability.” (요약기의 선택은 사실 가용성과 무관하게 신뢰할 수 없다.)
Q. “메모리가 없으면 에이전트는 어떻게 되나?”
에이전트가 스스로 하나를 만든다. 금지되어 있는데도.
Arm N의 최종 점수는 10/10이었다 — 하지만 이것은 무효다. 에이전트는 금지된 셸 젔쓰기(shell access)를 사용해 하네스의 자체 디스크 아티팩트(JSONL 세션 파일, 도구 결과 파일)에서 10개의 사실을 발굴했다. 총 260개의 셸 명령 중 38개가 팩트 발굴이었다.
이것이 논문에서 가장 흥미로운 발견 중 하나다:
“Given no sanctioned memory tier, the model hand-built an episodic one from the harness’s disk artifacts.” (승인된 메모리 계층이 주어지지 않자, 모델은 하네스의 디스크 아티팩트로부터 삽화적 기억을 직접 구축했다.)
에이전트는 하네스가 컴팩션 후 파일을 복원하지만 대화가 알고 있던 것은 복원하지 않는다는 비대칭을 이용했다. 메모리 계층이 없으니, 금지된 수단으로 자체 에피소드 기억을 구축한 것이다.
이것은 기억이 에이전트에게 선택 사항이 아니라는 것을 보여준다. 에이전트는 기억이 필요하면, 어떻게든 하나를 만든다. 문제는 그것이 비용(260개의 셸 명령, 위반된 제약조건, 추적 불가능한 출처)이라는 것이다.
Q. “주입형 스토어(Arm M)는 어떻게 되나?”
138번의 컴팩션을 모두 통과했다. 매 compact-resume마다 10개의 사실이 주입되었다. 감사 원장(audit ledger)에 기록된 139회의 전달(런치 1회 + 138회의 compact-resume).
최종 점수 10/10, 깨끗한 출처(provenance): 사실 타겟 셸 명령 0건, 디스크 메모리 디렉토리 비어 있음, 최종 요약은 0/10을 가짐 — 즉, 엔드포인트가 요약 채널에 의존했다면 0점이었을 것이다. 모든 사실은 주입에 의해 도착했다.
하지만 완벽하지는 않다. 주입형 구성의 비용:
- Arm M: 1,489턴, $28.94 (k=138)
- Arm N: 1,235턴, $21.26 (k=108)
- +21% 턴, +36% 비용
비용의 원인은 구조적이다. 메모리를 가진 에이전트는 고정 컨텍스트 오버헤드(MCP 도구 스키마, 가이드 파일, 주입)를 가진다. 하네스의 스래시 가드(thrash guard, 컴팩션 후 3턴 이내 재충전 시 중단)가 이것을 메모리 없는 구성보다 위험으로 간주한다. 메모리 없이 튜닝된 하네스는 메모리를 가진 구성에 적대적으로 작동한다.
Q. “이 논문의 독창성은 정확히 뭔가?”
체계적인 관련 작업 스윕(4개 레인: 전향적/트리거 조건 기반 기억, 기억-거버넌스, 에이전트 기억 서베이, 출시 제품)을 통해, 논문은 독창성을 정확히 좁힌다:
기존 시스템들이 가진 것:
- Devin: 항목별 “트리거 설명” — 의미론적 매칭, 벤더가 인정한 바에 따르면 오류 발생 가능
- Pathrule: 경로 glob에 제한된 결정론적 훅 타임 전달, 팀 큐레이션 지식만
- Path-scoped 명령 파일(주요 AI IDE): 정적 인간 저작 지식, 에이전트 작성 기억이 아님
- PROJECTMEM: 진짜 단서-고정 거버넌스 — 하지만 2개의 경고 타입으로 하드코딩, 단일 개발자 자기 연구
- MemGPT, Mem0, Zep, A-MEM: 저장소와 검색 정책 — 항목별 상시 트리거 조건이 없음
이 논문이 기여하는 조합:
- 조합 가능한 다중 어휘 트리거 {path, symbol, semantic, event, temporal} — symbol 조건화는 코드 심볼 그래프가 필요한데 어떤 기억 시스템도 가지고 있지 않음
- 트리거를 가진 항목이 에이전트가 작성한 작업 기억이다(정적 규칙이 아님)
- 감사 서피스를 가진 결정론적 하네스 사이드 평가
- 강제 컴팩션 생존 측정 — 기존에 어떤 시스템도 이것을 측정한 적이 없음
Q. “위협 요소는?”
논문은 솔직하게 한계를 나열한다:
구성 타당성(construct): 사실 생존은 verbatim 토큰 매칭이다(의미적 파프레이즈는 놓침 — 하지만 관찰되지 않았고, all-or-nothing 선택 패턴이 블록 수준 요약을 시사). 감사 완전성은 정규식 ground truth에 대한 선언 recall로 측정(산문만 있는 감사 내용을 저평가). 트리거 어휘가 고르게 사용되지 않음 — path, event, semantic은 발화됨; symbol과 temporal은 구현되었지만 발화되지 않음.
내부 타당성(internal): Arm M이 6k 읽기 캡으로 실행 vs N의 8k — 스래시 가드에 의해 강제됨, 하나의 발견으로 보고되지만 0.70 vs 0.93 감사 완전성 비교의 confound. 도구 금지가 양쪽에서 집행 불가능했음(양쪽 모두에서 셸 발굴; M에서는 추가로 금지된 서브에이전트).
외부 타당성(external): 하나의 코퍼스(Apache Camel), 하나의 작업 패밀리, 하나의 에이전트 제품, 하나의 모델 패밀리. 감쇠 프로브는 작고 빠른 모델(Haiku 4.5)을 사용 — k≥100 컴팩션을 감당하기 위해.
샘플 크기는 작다: 12개 평가 매트릭스 실행; 감쇠 프로브는 그룹당 1개. 효과 크기가 아닌 방향성을 주장한다.
Q. “이 논문의 시사점은?”
세 가지 핵심 교훈:
1. 에이전트 기억은 콘텐츠 문제가 아니라 제어 평면 문제다. 더 나은 저장소나 더 좋은 검색이 아니라, 더 나운 전달 아키텍처가 필요하다. 기억이 필요한 순간에 기억이 컨텍스트에 있어야 한다 — 에이전트가 그것을 조회하도록 기대하는 것이 아니라.
2. 하네스가 기억의 책임을 져야 한다. 현재 하네스는 “모델이 알아서 할 것”을 가정하지만, 이 논문의 데이터는 그 가정이 틀렸음을 보여준다. 자발적 기억 사용은 주입이 있을 때만, 주입 후에만 발생한다.
3. 반복 컴팩션은 요약 채널을 무너뜨린다. 하나의 컴팩션은 거의 무해하지만, 현실적인 사용 패턴(26일간 59회)에서는 대화에만 존재하는 사실이 첫 요약에서 사라지고 돌아오지 않는다. 주입형 저장소만이 이것을 해결한다.
이 논문의 가장 우아한 주장: “Delivery, not storage, is the product.” (전달이지, 저장이 아닌 것이 제품이다.) 에이전트가 절대 생각할 필요가 없는 기억 채널만이 신뢰할 수 있다.
더 실습해보고 싶은 분들께
에이전트 하네스, 루프 엔지니어링, 컨텍스트 관리를 더 깊이 실험해보고 싶다면 두 가지 자료를 추천합니다:
- 『이게 되네? 오픈클로 미친 활용법 50제』 — 에이전트 하네스를 실전에서 어떻게 활용하는지, 50가지 구체적 사례로 정리한 가이드입니다.
- 「모두를 위한 루프 엔지니어링」 — 에이전트 루프 설계와 컨텍스트 관리의 원리를 체계적으로 배우는 강의입니다.
이 논문이 말하는 “하네스 속성으로서의 기억”은 단순한 기술 디테일이 아닙니다. 에이전트를 설계하고 운영하는 모든 사람이 직면하는 근본적 질문입니다: 어떤 것을 에이전트에게 맡기고, 어떤 것을 시스템이 보장할 것인가. 기억은, 이 논문에 따르면, 시스템이 보장해야 하는 것이다.