앤드류가 리서치 작업을 마친 뒤 이전 컨텍스트를 읽으려 했는데, 파일이 없어서 실패한 것이었다.
"아, 앤드류가 이전 작업을 기억 못 하는 이유가 이거였구나."
처음엔 설정 문제인 줄 알았다. 바로 AGENTS.md를 확인하러 들어갔다가 이미 이런 문장이 적혀 있는 걸 봤다.
Write It Down: 세션 후 MEMORY.md에 핵심 내용을 기록하라.
지시는 이미 있었다. 파일이 없었을 뿐이다.
에이전트 기억은 어떻게 작동하나
3단 구조로 나뉜다
OpenClaw 에이전트의 기억은 3개 계층으로 설계돼 있다.
계층
파일
유지 범위
단기
세션 컨텍스트
현재 대화 중에만
중기
memory/YYYY-MM-DD.md
날짜별 작업 로그
장기
MEMORY.md
영구 누적
단기 기억은 자동이다. 대화가 진행되는 동안 에이전트는 맥락을 유지한다.
하지만 장기 기억은 파일에 써야만 남는다. 대화가 끝나는 순간 세션 컨텍스트는 사라진다. 다음 대화가 시작될 때 에이전트는 MEMORY.md를 읽어서 이전 상황을 복원한다.
ENOENT는 설정 에러가 아니다
ENOENT는 "No such file or directory" — 파일이 없다는 에러다. 설정이 잘못된 게 아니라 파일을 만들지 않은 것이다.
앤드류의 워크스페이스를 확인해보니 memory/ 폴더와 날짜별 로그 파일들은 있었다. MEMORY.md 파일만 없었다.
앤드류는 리서치를 마칠 때마다 MEMORY.md를 읽고 새 내용을 기록하도록 설계돼 있었는데, 그 파일이 처음부터 만들어지지 않았던 것이다.
해결은 파일을 만드는 것이었다
복잡한 설정 변경이 필요하지 않았다. MEMORY.md 파일을 생성했다.
앤드류 워크스페이스의 두 경로에 파일을 만들었다. AGENTS.md가 참조하는 경로와 HEARTBEAT.md가 지정한 경로, 둘 다. 파일 안에는 지금까지 앤드류가 처리한 작업 요약을 간단히 기록해뒀다.
다음 세션부터 앤드류는 이 파일을 읽고 이전 컨텍스트를 복원할 수 있다.
알게 된 것
기억은 지시가 아니라 파일이다
AI 에이전트에게 "기억해"라고 말하는 건 의미가 없다. 대화가 끝나면 세션 컨텍스트는 사라진다. 기억이 남으려면 파일에 써야 한다.
AGENTS.md에 "기록하라"고 써있어도, MEMORY.md가 없으면 실행할 곳이 없다. 지시와 파일, 둘 다 있어야 기억이 작동한다.
파일로 연결된 크루 구조
엘론(메인 에이전트)은 텔레그램 그룹방에서 나온 상태다. 그럼 앤드류가 뭘 했는지 어떻게 알게 될까?
HEARTBEAT.md에 "대화 시작 시 crew MEMORY.md를 먼저 읽는다"는 지시가 있다. 앤드류가 작업 후 기록 → 엘론이 다음 대화 시작 시 읽음 → 그룹방 없이도 크루 상황 파악. 이 과정에 API 비용이 없다. 파일 읽기는 LLM 호출이 아니기 때문이다.
사용자가 텔레그램으로 말을 걸 때만 에이전트가 작동하는 현재 구성에서는, 대화 없음 → 호출 없음 → 비용 없음이다.
에이전트를 처음 구성한다면
이 경험을 체크리스트로 정리했다.
각 에이전트 워크스페이스에 MEMORY.md 파일 직접 생성
AGENTS.md 또는 SOUL.md에 "세션 후 MEMORY.md에 기록하라" 지시 포함
HEARTBEAT.md에 "대화 시작 시 MEMORY.md 읽기" 설정
memory/날짜.md 폴더 구조도 미리 확인
첫 기동 후 로그에서 ENOENT 에러 없는지 확인
기억하게 하려면 파일을 만들어야 한다. 지시만으로는 충분하지 않다.
Th
「The Architect of AI Workforce」を購読
サイトを購読すると、新規投稿などの最新情報を通知やメールでいち早く受け取れます。
Slashpageに登録して「The Architect of AI Workforce」を購読しましょう!