ai-memory: Claude Code·Codex가 공유하는 장기 기억

Published · AI Daily — AI-assisted deep research, methodology & disclosure

ai-memory는 Rust로 작성된 오픈소스 프로젝트로, 코딩 에이전트 CLI에 장기 기억을 제공하고 서로 다른 벤더의 에이전트끼리 작업을 넘길 수 있게 합니다. 해결하려는 문제는 구체적입니다. 에이전트의 기억은 한 대의 기기, 하나의 도구 안에만 있어서 도구나 동료가 바뀌면 아키텍처, 실패한 시도, 미해결 문제를 다시 설명해야 합니다. ai-memory는 20개 이상의 하네스가 하나의 기억을 공유하게 하고, 소유자가 있고 한 번만 인수할 수 있는 타입화된 인계 프로토콜로 진행 상황을 전달합니다. 기억의 원본은 git으로 관리되는 일반 markdown 위키이며, 데이터베이스는 다시 만들 수 있는 인덱스일 뿐입니다. 기본 경로에서는 LLM을 호출하지 않습니다. 프로젝트 간 선호 설정, 기기 간 동기화, 팀 공유도 지원해 여러 코딩 에이전트를 쓰는 개인과 엔지니어링 팀에 적합합니다.

배경

요즘 코딩 에이전트는 대부분 자체 기억 기능을 갖추고 있습니다. Claude Code는 메모를 남기고, Cursor도 일부 내용을 기억합니다. 그러나 이 기억에는 공통된 한계가 있습니다. 메모가 한 대의 기기에만 있고, 하나의 에이전트에만 속한다는 점입니다. 도구를 바꾸거나 작업을 동료에게 넘기면 기억은 시야에서 사라집니다. 그러면 프로젝트 아키텍처, 이미 실패한 접근, 아직 풀리지 않은 문제를 처음부터 다시 설명해야 합니다.

ai-memory는 바로 이 틈을 겨냥한 Rust 기반 오픈소스 프로젝트입니다. rust-toolchain.toml 파일, 릴리스 버전, 공식 사이트 aimemory.sh, 오픈소스 라이선스를 갖췄고 GitHub에서 별이 1만 개에 가깝습니다. 또 하나의 에이전트가 되려는 것이 아니라, 모든 에이전트 아래에서 공유 장기 기억 계층 역할을 합니다.

목표는 분명합니다. Claude Code로 작업하다 중간에 빠져나와 같은 디렉터리에서 OpenAI Codex를 켜도, 다시 설명하지 않고 이어서 일할 수 있어야 합니다.

심층 분석

Claude Code와 Codex는 어떻게 하나의 장기 기억을 공유할 수 있을까요? 설계는 네 갈래로 나뉩니다. 첫째는 에이전트 간 호환입니다. Claude Code, Codex, Cursor, Gemini CLI, OpenCode, Grok, Devin, Kimi, Kiro 등 20개 이상의 하네스가 같은 기억에 정보를 모읍니다. 인계는 타입화된 프로토콜로 이루어집니다. 모든 인계에는 소유자가 있고, 한 번만 인수할 수 있습니다. 인계 내용에는 어디까지 진행했는지, 무엇이 실패했는지, 무엇이 남았는지가 담깁니다. 한 번만 인수하는 규칙 덕분에 두 에이전트가 같은 일을 동시에 집어 드는 실수를 막습니다.

둘째는 `ai-memory run` 명령입니다. 이 명령은 요약만이 아니라 세션 자체를 함께 가져갑니다. 예를 들어 Claude Code를 종료한 뒤 `ai-memory run codex`를 실행하면, Codex는 공유 워크플로에 더해 Claude가 볼 수 있던 원본 기록의 비공개 임시 로컬 투영본을 받습니다. 시작 묶음에서 잘려 나간 세부 내용을 이 투영본이 채워 줍니다. 원격 서버는 하네스와 세션 식별자만 받고, 로컬 대화 기록 파일의 경로나 본문은 받지 않습니다. 셋째는 데이터 형태입니다. 기억의 원본은 git으로 관리되는 위키이며, 모두 일반 .md 파일입니다. grep으로 찾고, Obsidian으로 열고, 손으로 고치고, rsync로 복사할 수 있습니다. 데이터베이스는 파일에서 언제든 다시 만들 수 있는 파생 인덱스일 뿐입니다. 관리해야 할 벡터 저장소도, 바이너리 안에 갇힌 내용도 없습니다. 넷째는 조용한 수집입니다. 수명 주기 훅이 프롬프트, 도구 호출, 세션 경계를 기록하고, 타입화된 개인정보 경계에서 먼저 정리한 뒤 저장합니다. 서버는 이를 읽기 쉬운 페이지로 정리합니다. 기본 경로에서는 LLM을 한 번도 호출하지 않으므로 수집, 검색, 인계에 API 키가 필요 없습니다. 기억은 조정 가능한 계층 계획에 따라 서서히 사라지며, 이 과정도 LLM에 의존하지 않습니다.

산업 영향

실제 사용 장면은 네 가지입니다. 가장 흔한 장면은 작업 도중 도구를 바꾸는 경우입니다. Claude Code에서 일하다 사용량 한도나 취향 문제에 부딪혀 Codex로 넘어가면, 다음 에이전트가 인계 메모를 바로 받습니다. 둘째는 프로젝트를 넘나드는 선호 설정입니다. 자주 쓰는 패키지 관리자, 테스트 구조, 아키텍처 습관을 적은 작은 개인 프로필이 새 저장소의 세션 시작 때 전달됩니다. 우선순위는 각 저장소의 규칙 파일보다 낮아 기본값으로만 작동합니다. 단일 사용자에게는 기본으로 켜지고, 공유 서버에서는 직접 켜야 하며 사람별로 분리됩니다. 자세한 내용은 docs/cross-project-profile.md에 있습니다.

셋째는 기기 간 이동입니다. 기억은 직접 운영하는 서버에 있으므로, 데스크톱에서 멈춘 프로젝트를 노트북에서 같은 지식과 미해결 문제를 가진 채 이어갈 수 있습니다. 넷째는 팀 공유입니다. 모두가 같은 서버를 가리키면 한 사람의 세션이 배운 내용을 모든 에이전트가 검색할 수 있습니다. 지식은 프로젝트 단위로 공유하고, 개인 인계는 비공개로 남습니다. 다중 사용자 인증, 사람별 귀속, 감사 로그가 기본으로 들어 있으며 유료 등급에 속하지 않습니다. 산업 관점에서 의미는 기억의 소유권이 옮겨 간다는 데 있습니다. 기억이 특정 벤더의 비공개 기능에서 엔지니어링 팀이 직접 통제하는 인프라로 바뀝니다. 에이전트가 늘수록 도구를 갈아타는 일은 일상이 되고, 어느 한 곳에 묶이기를 원하는 팀은 없습니다. 원본을 일반 텍스트와 git에 두면 기억을 검토하고, 옮기고, 기존 버전 관리에 포함할 수 있어 추적성을 중시하는 팀에 매력적입니다.

전망

유의할 점도 있습니다. 20개 이상의 하네스를 지원한다는 것은 각 도구의 훅과 세션 형식을 계속 따라가야 한다는 뜻이어서 호환성 유지 비용이 작지 않습니다. 팀 공유 모드에서는 어떤 내용을 검색 대상으로 둘지, 권한을 어떻게 나눌지 사용자가 직접 판단해야 합니다. 또한 소개 글은 기능의 일부만 보여 주므로 기억 감쇠 정책 같은 세부 사항은 공식 문서로 확인해야 합니다.

앞으로 지켜볼 질문은 두 가지입니다. 하나는 더 많은 도구가 이 인계 프로토콜을 사실상의 표준으로 받아들일지입니다. 다른 하나는 LLM을 쓰지 않는 기본 경로가 대형 저장소에서 벡터 저장소 없이 얼마나 잘 검색하는지입니다.

이미 여러 코딩 에이전트를 쓰는 개인과 팀에게 ai-memory는 재설명 문제에 대한 구체적이고 검증 가능한 답을 내놓습니다. 진짜 가치는 두 번째 에이전트가 새 설명 없이 첫 번째 에이전트의 작업을 실제로 얼마나 자주 이어받는지에서 드러날 것입니다.

Sources

FAQ

ai-memory란 무엇인가요?

ai-memory는 Rust로 작성된 오픈소스 프로젝트로, 코딩 에이전트 CLI에 장기 기억을 제공합니다. 20개 이상의 하네스가 하나의 기억을 공유하며, 소유자가 있고 한 번만 인수할 수 있는 타입화된 프로토콜로 서로 다른 벤더 에이전트 간 작업을 넘깁니다.

여러 코딩 에이전트를 쓰는 팀에 ai-memory가 중요한 이유는 무엇인가요?

에이전트의 기억은 보통 한 기기, 하나의 도구 안에만 있어 도구나 동료가 바뀌면 아키텍처와 실패한 시도를 다시 설명해야 합니다. ai-memory는 git으로 관리되는 일반 markdown 위키에 기억을 두어 검토, 이전, 팀 공유가 쉽습니다.

ai-memory를 도입하기 전에 무엇을 살펴봐야 하나요?

20개 이상 하네스의 훅과 세션 형식을 계속 따라가야 하는 유지보수 비용을 살펴봐야 합니다. 팀 공유에서는 검색 범위와 권한 분리를 사용자가 직접 관리합니다. LLM을 쓰지 않는 기본 경로의 대규모 저장소 검색 성능은 기사에 나와 있지 않습니다.