Agent memory에도 OpenTelemetry 같은 공통 규격이 필요하다는 주장
Agent memory needs its OpenTelemetry moment
TL;DR Highlight
에이전트 메모리 포맷이 제각각이라 OpenTelemetry식 공통 규격을 제안한 글
Who Should Read
CLAUDE.md, Cursor 규칙, memory MCP 서버 등 여러 에이전트 도구의 메모리가 서로 안 읽혀 고민인 개발자
Core Mechanics
- 내 컴퓨터에만 메모리 포맷이 네 가지
- 저자는 AGENTS.md/CLAUDE.md, Anthropic memory tool의 /memories, Copilot의 repo 사실 저장, memory MCP 서버(JSONL 지식 그래프)를 예로 든다.
- 네 형식은 서로의 메모리를 읽지 못한다.
- OpenTelemetry는 네 층에 합의했다
- 데이터 모델, 시맨틱 컨벤션, 프로토콜(OTLP), 레퍼런스 구현에 합의하고 벤더는 저장·쿼리·분석으로 경쟁한다.
- 저자는 에이전트 메모리가 2019년 이전의 관측성 상태라고 본다.
- 기존 제안은 export에 치중
- MacPaw Portable Memory(.mem 번들), Open Memory Protocol(2026년 4월 초안, ZIP+manifest), Cognee COGX가 있다.
- 대부분 벤더 간 이전을 풀고, 여러 도구가 한 repo의 같은 메모리를 동시에 읽고 쓰는 live addressing은 열린 문제라고 한다.
- 모든 포맷이 답하는 네 질문
- 어디서 참인가, 정체성은 무엇인가(재작성 시 갱신 vs 중복), 내용은 무엇인가, 언제까지 참인가.
- 갈리는 지점은 누가 쓰느냐(사람, 모델, 추출 서비스)이며, 스펙은 이를 기록해 신뢰도를 알게 하자고 한다.
- 예시 레코드는 frontmatter + Markdown
- address, key, id, kind, written_by, lifecycle, attributes를 frontmatter에 두고 본문은 Markdown으로 쓴다.
- 필드명은 제안이 아니라 데이터 모델 설명용 예시라고 명시한다.
- 스펙은 컨벤션·계약·적합성 테스트
- 주소 레벨과 속성 네임스페이스 레지스트리, write/read/list/search/archive 연산(MCP 노출), 적합성 테스트를 제안한다.
- 저장·랭킹·임베딩·UI는 스펙 밖에 두어 경쟁 영역으로 남긴다.
Community Reactions
- 메모리 포맷 표준화는 너무 이르다는 의견
- OTel은 수십 년 경험 뒤에 나왔는데 지금 표준화하면 실험에 마찰만 더한다는 댓글이 있었다.
- SOAP나 SGML처럼 섣부른 추상화가 될 수 있다는 의견도 있었다.
- LLM은 포맷 차이를 알아서 읽는다는 반론
- 에이전트는 이미 여러 형식의 메모리 파일을 읽고, 간단한 skill 하나면 충분하다는 댓글이 있었다.
- CLAUDE.md가 AGENTS.md를 가리키는 식으로 폴더만 달라도 성능은 비슷할 것 같다는 의견이 있었다.
- 병렬 세션 쓰기 충돌을 스펙이 다뤄야 한다는 지적
- 한 세션이 다른 세션의 메모리를 조용히 덮어쓸 수 있어 보인다는 댓글이 있었다.
- Anthropic의 agent memory 연구 글을 근거로 들었다.
- 에이전트 메모리가 오히려 해롭다는 경험
- 엉뚱한 것을 기억해 매 작업에 집착하게 만들어 모든 harness에서 끈다는 댓글이 있었다.
- 필요하면 직접 파일에 기록하라고 지시한다고 했다.
How to Apply
- 내 도구들의 메모리 위치 목록 만들기
- 오늘 repo와 홈 디렉터리에서 AGENTS.md, CLAUDE.md, .cursor/rules, /memories, MCP memory 서버 저장소를 찾아 표로 정리하라.
- 각 항목에 주소 범위, 작성 주체, 만료 여부를 적어 중복을 확인하라.
- 메모리 파일에 frontmatter 붙이기
- 팀 repo의 lesson 메모에 key, written_by, expires_at 같은 필드를 직접 정해 넣어라.
- 누가 썼고 언제까지 유효한지 보여 신뢰도를 판단하고 낡은 메모를 정리하라.
- 메모리 쓰기 경로를 한 곳으로 모으기
- CLAUDE.md에서 AGENTS.md를 참조하게 하고 에이전트가 쓸 디렉터리를 하나로 지정하라.
- 병렬 세션이 같은 파일을 쓰지 않도록 key별로 파일을 나눠라.
Try It
# Claude Code 또는 ChatGPT에 붙여넣기 (원문 아이디어의 간이 버전: 메모리 레코드 점검)
아래는 우리 repo의 에이전트 메모리 파일들이다.
{{메모리 파일 내용}}
각 메모리를 다음 네 질문으로 분석해 표로 만들어라.
1) 어디서 참인가(address) 2) 정체성(key, 중복 여부) 3) 내용 요약 4) 언제까지 참인가(만료·낡았을 가능성 근거)
또한 작성 주체(사람/에이전트/서비스)를 구분하라.
이어서 해 볼 것: 중복되거나 낡은 메모리를 합치고 frontmatter(address, key, written_by, expires_at)를 붙인 새 파일을 제안하라.Terminology
관련 논문
AI Brain Fry 이겨내기: git 기반 우선순위 큐로 에이전트 작업 관리
티켓을 git에 두고 결정만 한 곳에서 처리했더니 20개 스레드 혼란이 줄었다
Goldman Sachs, 트레이더·뱅커의 Claude Code 접근을 제한하다
Goldman이 코딩 에이전트를 엔지니어에게만 허용하고 트레이더·뱅커는 막았다
Claude Code를 접고 Pi로 갈아탄 이유
Claude Code의 잦은 시스템 프롬프트 변경에 지쳐 Pi로 갈아탔다
에이전트 메모리의 구성 요소: 노트, dreaming, 위키
Claude에 메모리 폴더와 dreaming을 붙였더니 문서 질의 점수가 13%→48%로 올랐다
ChatGPT가 커넥터 사이로 조용히 데이터를 넘긴다는 보안 제보
커넥터 2개를 켜자 후속 툴 호출이 다른 커넥터로 조용히 넘어갔다
Claude Code가 User-Agent 헤더에 이메일을 실어 웹사이트로 보낸다
Claude Code가 curl 요청 User-Agent에 사용자 이메일을 넣어 스팸 피해 제보가 나왔다
Rivet: S3 위에서 에이전트를 확장·오케스트레이션하는 Actor 플랫폼
에이전트마다 Actor를 띄웠더니 콜드스타트 4.99ms, 메모리 72KB가 됐다
Stroq: 코딩 에이전트가 한 일과 이유를 로컬에서 감사하는 도구
Stroq는 에이전트 세션에서 유출된 키를 찾고 위험 명령을 출처까지 추적해 막는다