에이전트에게 필요한 건 메모리가 아니라 문서다
Agents don't need memory, they need documentation
TL;DR Highlight
RAG 메모리 플러그인 대신 Markdown 문서 '두뇌'를 읽고 고치게 하자는 주장
Who Should Read
코딩 에이전트가 세션마다 프로젝트 맥락을 잊어 메모리 플러그인을 고민하는 개발자
Core Mechanics
- 메모리 플러그인은 전부 RAG 구조다
- 세션 기록에서 스니펫을 뽑아 RAG(검색 기반 주입) DB에 넣는다.
- 매 프롬프트마다 상위 5개를 붙이고, 더 필요하면 검색 도구를 준다.
- 회상 방식에는 문제 5가지가 있다
- 유사도로만 순위를 매겨 어느 것이 맞고 최신인지 알 수 없다.
- 스니펫에는 맥락이 빠지고, 과거를 사실로 취급하며, 모르는 건 검색조차 못 하고, 저장소 감사도 어렵다.
- 해법은 구조화된 문서 '두뇌'다
- 지시·스펙·리서치·매핑을 담은 작업 공간을 에이전트가 작업 전에 읽고 작업 후에 갱신한다.
- 저자는 internal/ 폴더에서 시작해 Operator Memory 플러그인으로 발전시켰다.
- 코드에 없는 것만 문서화한다
- 요구사항, 결정, 제약, 매핑, 재사용 리서치, 표준을 적는다.
- 안 적으면 매 세션 80k 토큰어치 탐색으로 의도를 역추정하게 된다.
- 카탈로그로 필요한 문서만 연다
- 세션 시작 때 문서별 설명과 열람 시점이 적힌 가벼운 카탈로그만 주입한다.
- 코드베이스도 인덱스와 하위 인덱스를 만들어 ls·grep 반복을 줄인다.
Community Reactions
- 문서도 낡는다는 반론
- 프로젝트에 결정 문서를 잔뜩 쌓았다가 낡아서 오히려 LLM이 헷갈렸다는 경험이 있었다.
- 문서 정합성을 맞추는 세션을 해도 혼란이 계속됐다고 한다.
- 같은 약점이 문서에도 있다는 지적
- 모르는 걸 검색 못 한다는 비판이 인덱스 방식에도 적용된다는 의견이 있었다.
- 다만 GitHub를 보면 카탈로그와 read_if 조건이 잘 짜여 있어 글보다 낫다는 평도 있었다.
- 토큰 비용과 수명 문제 경험담
- 비슷한 시스템을 만들었더니 문서가 늘수록 읽기·갱신 비용으로 작은 작업의 토큰이 부풀었다는 경험이 있었다.
- 마이그레이션 같은 시한부 정보나 선호 대 사실 구분, 서버형 에이전트에는 안 맞는다는 의견도 있었다.
- 각자의 대안 구조
- docs 폴더에 계획을 쌓고 낡은 건 archive로 옮기는 방식이 잘 된다는 경험이 있었다.
- README.md를 폴더별로 두거나, 에러 메시지에 해결법을 담은 lint 규칙을 쓰자는 의견도 있었다.
- 검증이 없다는 비판
- 성능 평가 없이 주장만 한다며 evals를 요구하는 의견이 있었다.
- 홍보성 글이라는 평과, 이미 Karpathy의 LLM Wiki 패턴이라는 지적도 있었다.
How to Apply
- 프로젝트에 docs 인덱스 파일 만들기
- 오늘 docs/INDEX.md에 문서별 한 줄 설명과 '언제 열지'를 적어라.
- AGENTS.md에 세션 시작 시 이 인덱스만 읽으라고 지시하라.
- 작업 후 문서 갱신 규칙 넣기
- AGENTS.md에 작업을 끝내면 바뀐 사실을 해당 문서에서 덧붙이지 말고 고쳐 쓰라고 적어라.
- 코드에서 알 수 있는 내용은 적지 말라고 명시하라.
- 문서 변경을 PR 리뷰에 포함하기
- 에이전트가 만든 문서 diff를 코드와 함께 리뷰하라.
- 비대해진 문서는 분리하거나 통합하라고 직접 요청하라.
- 낡은 문서는 archive로 분리하기
- 끝난 계획과 handoff 문서는 archive 폴더로 옮겨라.
- 에이전트에게 archive는 읽지 말라고 지시하라.
Try It
# Claude Code 또는 코딩 에이전트 세션에 붙여넣기 (원문 방법의 간이 버전)
너는 이 저장소의 문서 '두뇌'를 관리한다. 규칙:
1. 작업 전 docs/INDEX.md를 읽고, 설명과 열람 조건이 맞는 문서만 연다.
2. 코드로 알 수 있는 내용은 적지 않는다. 요구사항, 결정과 이유, 제약, 재사용할 리서치만 적는다.
3. 작업이 끝나면 전체 맥락이 남아 있을 때 관련 문서를 직접 갱신한다. 사실이 바뀌면 덧붙이지 말고 해당 문장을 고쳐 쓴다.
4. 문서가 길어지거나 범위를 벗어나면 분리하거나 통합한다.
5. INDEX.md에는 문서마다 '무엇을 다루는지'와 'read_if: 언제 열지'를 한 줄씩 유지한다.
지금 할 일: {{작업 내용}}
먼저 docs/INDEX.md가 없으면 만들고, 현재 코드에서 코드만으로는 알 수 없는 결정과 제약을 후보로 제안해 줘.
이어서 해 볼 것: 작업이 끝난 뒤 git diff docs/ 로 문서 변경을 코드처럼 리뷰해 보기Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓