AI 코딩 에이전트와 매일 일하는 분이라면 이 기분을 아실 겁니다.

어제 분명히 컨벤션을 합의했는데 — 새 세션을 열면 백지입니다. TypeScript에서 interface 말고 type을 쓴다는 것, 코드 리뷰에서 그 패턴이 싫다고 말했던 것, 지난주에 겨우 잡아낸 버그의 근본 원인 — 전부 처음 듣는 것처럼 굽니다.

이게 몇 번 반복되면 결론은 하나입니다. “그냥 내가 하고 말지.”

이걸 고치려고 Monet을 만들었습니다 — 범용 AI 에이전트를 에이전트처럼 움직이게 만드는 것. 내 컨벤션을 배우고, 내가 일하는 방식을 기억하고, 프로젝트의 역사를 스스로 챙기는 시스템입니다.


어떻게 동작하나

핵심은 단순합니다.

쓰기 — 에이전트가 스스로 판단합니다. “이거 기억해"라고 말할 일이 없습니다. 일하면서 내린 결정, 발견한 패턴, 부딪힌 이슈를 스스로 기록합니다. 노이즈는 거르고 신호만 남깁니다.

읽기 — 유용했던 것이 먼저 돌아옵니다. 단순 키워드 검색이 아닙니다. 실제로 참조되고 문제 해결에 도움이 된 기억이 먼저 떠오르고, 아무도 안 찾는 좀비 기억은 알아서 가라앉습니다.

성장 — 쌓일수록 똑똑해집니다. 첫 태스크는 느립니다 — 코드베이스도, 컨벤션도, 자꾸 터지는 버그도 모르니까요. 하지만 기억이 쌓이면 다음 태스크는 빨라집니다. 어제 찾은 패턴, 지난주에 내린 결정, 그 버그의 근본 원인 — 다시 파낼 필요가 없습니다. 한 달쯤 지나면 에이전트가 범용 도구가 아니라, 이 프로젝트를 속속들이 아는 전담 엔지니어처럼 움직이기 시작합니다.


여기까지 온 과정

처음엔 그냥 파일 하나에 노트를 쌓았습니다 — 에이전트가 배운 걸 마크다운으로 적고, 저는 세션 시작마다 그걸 include하는 식이었죠. 단순했지만, 파일이 커질수록 노이즈도 커졌습니다.

그래서 4개월 전에 제대로 된 메모리 시스템을 만들었습니다. 구 Monet입니다. MCP 기반으로 에이전트가 읽고 쓰게 만들었고, 팀 공유까지 염두에 뒀습니다. 그런데 팀 공유를 쫓다 보니 혼자 쓰는 경험이 흐릿해졌습니다. 기술적으로는 돌아갔지만 — 제 워크플로에 맞지 않았습니다.

그래서 부쉈습니다. 몇 주 전에 팀 공유 목표를 내려놓고, 질문 하나를 중심에 두고 Monet을 처음부터 다시 만들었습니다: 내가 이걸 매일 실제로 쓸 수 있는가? 이 글을 쓰는 지금, 새 Monet 위에서 에이전트 12개가 읽고 씁니다. 아직 모니터링이 없어서 정확한 수치는 못 뽑지만, 검색은 줄고 읽기/쓰기는 이전보다 훨씬 늘었습니다 — 에이전트가 중요한 걸 스스로 큐레이션하고 있다는 뜻입니다.


솔직히 말하면

바이브 코딩 단계에서는 메모리가 별로 중요하지 않습니다. 대부분 새 기능이고, 버그도 단순합니다. “이거 고쳐줘” 하면 컨텍스트 윈도우 안에서 끝납니다.

하지만 앱이 복잡해지면 이야기가 다릅니다. 한 줄을 바꾸려면 연관 로직 열 개를 확인해야 하고, 에이전트는 사이드 이펙트를 찾아 파일 사이를 기어다닙니다. 실수가 늘어납니다. 100만 토큰이 있어도 컨텍스트 컴팩션 세 번이면 원점입니다.

집에서는 새 코드로 에이전트와 재미있는 걸 만들고, 회사에서는 20년 된 코드와 매일 씨름합니다. 회사에서는 에이전트 메모리가 선택이 아닙니다. 없으면 일이 안 굴러갑니다.

그래서 저를 위한 파일 기반 인덱스 메모리를 만들기 시작했고, 그게 Monet의 출발점이었습니다. 요즘은 회사에서 일부러 에이전트를 몇 바퀴 돌립니다 — 순전히 컨텍스트를 모으려고요. 대부분의 티켓이 컨텍스트 20% 안에서 끝납니다. 아끼는 시간도 눈에 보이지만, 더 중요한 건 스트레스가 사라졌다는 겁니다.

무엇보다 좋은 건: 예전엔 “그 버그 어떻게 고쳤더라"를 머리 싸매고 떠올렸다면, 지금은 그냥 Kiro(회사에서 쓰는 코딩 에이전트)에게 물어봅니다. 대개 알고 있습니다.

에이전트가 수십 개, 코드가 수백만 줄이 되면 컨텍스트는 바이트 문제가 아니라 인프라 문제가 됩니다. 그 지점에서 메모리는 있으면 좋은 게 아니라 — 일이 가능한지 자체를 결정합니다.


써보고 싶다면

  • 홈페이지: monet.team-monet.com
  • GitHub: github.com/team-monet/with-monet — 설치 하네스 (Apache-2.0)
  • 100% 로컬: 코드가 머신 밖으로 나가지 않습니다 — 온디바이스 임베딩, 네트워크 없음, 텔레메트리 없음. 기억은 ~/.monet의 SQLite 파일 하나라서 직접 열어보고, 백업하고, 내보낼 수 있습니다.
  • 무료입니다. 엔진은 컴파일된 바이너리지만 인터페이스는 표준 MCP라 Claude Code, Cursor, Codex 등 MCP를 지원하는 에이전트에서 바로 동작합니다.

특히 이런 분들이 써보시면 좋겠습니다:

  • AI 에이전트와 매일, 진지하게 일하는 개발자
  • “그걸 설명해야 하나…“의 피로를 느껴본 분
  • “에이전트 메모리? 그게 왜 필요해?“라고 생각하는 분 (진심입니다 — 반론도 듣고 싶습니다)

이 글의 모든 예시와 시나리오는 실제 경험에서 나왔습니다.