결론 먼저
에이전트 메모리 문제는 저장이 아니라 검증에서 터집니다. 태스크가 끝난 뒤 트레이터만 보고 기억을 남기는 큐레이터는 틀린 교훈을 그대로 저장하고, 부분적인 증거를 과잉 일반화하고, 오래된 지식을 계속 유지합니다.
이 논문의 제안은 단순합니다. 비동기 큐레이터 에이전트에게 최소 권한의 읽기 전용 환경 도구를 줘서, 기억을 쓰기 전에 실제 환경에서 확인하게 하는 겁니다. 재학습도 없고, 태스크 에이전트·리트리버·메모리 스키마·운영 쓰기 권한도 그대로 둡니다.
핵심은 이겁니다. CLBench pass rate 39% → 73%, 태스크 에이전트 비용 1.68. 기억이 정확해지니 태스크 에이전트가 같은 환경을 다시 파고들 일이 줄어듭니다.
| 항목 | 내용 |
|---|---|
| 논문 | Grounding Agent Memory: Environment-Probing Curation for Enterprise Agents |
| arXiv | 2609.11060 (2026-09-10 제출, v1 기준) |
| 문제 | 트레이터 온리 큐레이션이 오류·과잉 일반화·스테일 지식을 메모리에 남김 |
| 방법 | 큐레이터에 읽기 전용 환경 도구(프로브)를 줘서 쓰기 전 검증 |
| 주요 결과 | CLBench pass 39→73%, 쿼리 8.8→4.7/질문, 태스크 비용 1.68 |
| 대상 환경 | GitHub Copilot(GHCP) SDK 하네스, CLBench + APEX 90 태스크 |
| 기준일 | 2026-09-14, arXiv v1 기준 |
문제: 트레이터만 보는 큐레이터는 왜 실패하나
요즘 프로덕션 에이전트 플랫폼은 세션을 넘어 경험을 쌓으려고 영구 메모리를 붙입니다. 태스크가 끝나면 비동기 큐레이터 에이전트가 트레이터를 정리해서 메모리 레코드로 남기는 구조가 일반적입니다.
근데 트레이터에는 진실만 있는 게 아닙니다. 논문이 짚는 실패 모드는 세 가지입니다.
- 오류 보존: 태스크 중 에이전트가 내린 잘못된 판단이 “교훈”으로 남습니다.
- 과잉 일반화: 한 번 관찰된 부분적 사실이 전체 규칙처럼 기록됩니다.
- 스테일 지식: 환경이 바뀌어도 옛 상태의 지식이 유지됩니다.
트레이터 자체에는 이게 틀렸다는 증거가 없습니다. 기록된 것이 사실인지, 지금도 참인지는 환경을 봐야만 알 수 있습니다. 그래서 큐레이터에게 환경 접근을 주는 게 핵심이 되는데, 운영 환경에서 쓰기 권한을 주는 건 부작용·권한 확장·감사 문제로 쉽지 않습니다.
방법: Environment-Probing Curation
제안은 기존 비동기 큐레이터를 확장하는 형태입니다. 큐레이터가 평소 쓰는 모델, 입력, 메모리 CRUD 도구, 시스템 프롬프트는 그대로 두고, 거기에 해당 태스크의 읽기 전용 도구 서브셋을 프로브로 추가합니다.
- CLBench에서는 데이터베이스 쿼리 인터페이스
- APEX에서는 읽기 전용 MCP 구성
프로브의 역할을 명확히 제한한 게 설계의 포인트입니다. 프로브는 제안된 메모리를 검증하며, 미래 태스크를 풀지 않습니다. 환경을 변경할 수 없고, 태스크 트레이터에 개입하지 않고, 태스크 에이전트 예산을 소비하지 않고, 미래 태스크나 정답 라벨에 접근할 수 없습니다. 안전한 읽기 표면이 없으면 트레이터 온리 큐레이션으로 폴백합니다.
즉 메모리 쓰기 시점의 증거 품질만 개선하고, 태스크 수행 시점의 능력은 그대로 둡니다. 큐레이터는 기존처럼 비동기로 돌고, 프로빙 과정은 감사 가능한 기록으로 남습니다.

실험 설정
하네스는 프로덕션 유사성을 위해 GitHub Copilot(GHCP) SDK 기반 하네스를 썼습니다. 비교 구성은 네 가지입니다.
- 스테이트리스 실행 (메모리 없음)
- 풀 인컨텍스트 러닝 (전체 컨텍스트 제공)
- GHCP + Mem (트레이터 온리 큐레이터)
- GHCP + Mem + Environment Probing
벤치마크는 두 개입니다.
- CLBench 데이터베이스 탐색: 40 태스크, 중간에 스키마 마이그레이션 드리프트 발생 (태스크 20 이후), GPT-5.4 기본 모델
- APEX (Archipelago 기반 관리 컨설팅 태스크 90개, 6개 월드)
보상은 r_i = p_i * (1 - q_i/B) 형태로, 통과(p_i=1)면서 툴콜(q_i)이 적을수록 높습니다. B는 CLBench 15 SQL 콜, APEX 100 툴콜입니다. 메모리 관리 콜은 q_i에서 제외하고 큐레이션 비용은 별도 계상합니다.
결과
CLBench: pass 39% → 73%
프로빙 추가만으로 pass rate가 39%에서 73%로 올랐고, pass-discounted reward는 8.60에서 22.60으로 올랐습니다. 같은 기간 질문당 쿼리는 8.8에서 4.7로 줄었고 태스크 에이전트 비용은 1.68로 떨어졌습니다.
마이그레이션 직후 구간에서 차이가 커집니다. 스키마가 바뀐 뒤 트레이터 온리 메모리는 옛 컬럼·인코딩을 계속 참조합니다. 프로빙 큐레이터는 실제 DB를 확인하고 기록을 고치거나 버립니다. 스테일 지식 문제가 정확히 이 지점에서 터지는 걸 학습 곡선으로 보여줍니다.

APEX: 18개 비교 전부 양수
6개 월드에서 메모리 대 베이스라인 평균 보상 비교 18개가 전부 양수였습니다. 태스크 에이전트 툴콜은 16~75% 감소했고, 5개 월드에서 달러당 보상 개선이 최고였습니다.

모델 패밀리 일반화
GPT-5.4뿐 아니라 Sonnet 4.6과 Opus 4.7에서도 GHCP + Mem보다 높은 평균 보상을 기록했고, 레코드 스키마 드리프트도 없었다고 합니다. 프롬프트 추가 두 개 수준의 변경이라 모델 의존성이 작다는 게 실무적으로 중요합니다.

내 해석: 어디에 바로 적용할 수 있나
이 논문은 새로운 학습법이나 새 아키텍처가 아닙니다. 기존 비동기 큐레이터에 읽기 전용 도구를 붙이는 배포 호환 확장입니다. 그래서 내일부터 적용할 수 있는 항목이 구체적입니다.
- MCP로 도구를 붙이는 스택이라면, 큐레이터용 읽기 전용 MCP 구성을 별도로 만들면 됩니다.
- 태스크 에이전트 프롬프트, 리트리버, 메모리 스키마를 안 바꾸니 회귀 리스크가 작습니다.
- 프로브 호출 기록이 남으니 메모리가 왜 쓰였는지 감사 가능합니다.
주의점도 있습니다. “최소 권한 읽기 전용”이 핵심 전제라서, 읽기 자체가 부작용을 일으키는 환경에서는 폴백으로 트레이터 온리가 됩니다. 그리고 큐레이션 단계 비용이 별도로 들어가니 전체 TCO 계산에 포함해야 합니다. CLBench가 데이터베이스 탐색에 국한된 평가라는 점도 일반화 한계로 남습니다.
메모리 관련 정리는 이전에도 몇 개 했습니다. 실행 궤적에서 메모리 그래프를 RL로 정리하는 MIRRA 정리, 최적화 에이전트에 상태 메모리를 넣는 MAPLE 정리, 그리고 스킬 뱅크 방식인 HEXA 정리를 같이 보시면 스펙트럼이 보입니다. 이 논문은 그중 “쓰기 전 검증”이라는 큐레이션 축을 다룹니다.
더 실습해보고 싶은 분들께
자주 묻는 질문
메모리 큐레이션에 프로브를 붙인다는 게 정확히 무슨 뜻인가요?
태스크 종료 후 트레이터만 보던 큐레이터 에이전트에게, 해당 환경의 읽기 전용 도구(예: DB 조회, 읽기 전용 MCP)를 추가로 주는 겁니다. 큐레이터가 메모리 후보를 쓰기 전에 실제 환경에서 참인지 확인합니다.
재학습이나 스키마 변경이 필요한가요?
필요 없습니다. 논문의 프로토타입은 기존 큐레이터에 프롬프트 두 개를 추가하는 수준이고, 태스크 에이전트·리트리버·메모리 스키마를 그대로 뒀습니다.
성능 개선은 어느 정도인가요?
CLBench에서 pass rate 39% → 73%, pass-discounted reward 8.60 → 22.60, 질문당 쿼리 8.8 → 4.7, 태스크 에이전트 비용 1.68입니다. APEX 6개 월드에서는 메모리 대 베이스라인 비교 18개 전부 양수였습니다.
프로브가 환경을 망가뜨릴 수는 없나요?
읽기 전용으로 제한돼 있습니다. 변경 불가, 태스크 트레이터 미개입, 태스크 예산 미소비, 미래 태스크·라벨 미노출이 설계 제약입니다. 안전한 읽기 표면이 없으면 트레이터 온리 큐레이션으로 폴백합니다.
한계는 뭔가요?
CLBench가 데이터베이스 탐색 중심 평가라는 점, 큐레이션 단계 비용이 별도로 발생한다는 점, 읽기 자체가 위험한 환경에서는 적용이 어렵다는 점입니다. 기준일 2026-09-14, arXiv v1 기준입니다.