Skip to main content

3부·11장 MEMORY.md — 에이전트가 기억하는 방식

규칙이 있는 에이전트는 덜 위험합니다. 사용자 정보가 있는 에이전트는 덜 눈치 없죠. 그런데 둘만으로는 아직 부족합니다. 어제 내린 결정을 오늘 다시 토론하고, 지난주에 고친 실수를 이번 주에 또 반복한다면, 그 에이전트는 여전히 매일 신입사원입니다.

OpenClaw에서 이 문제를 푸는 열쇠가 MEMORY.md입니다. 다만 여기서 중요한 사실이 하나 있습니다. OpenClaw의 기억은 사람의 기억처럼 흐릿하게 남아 있는 것이 아니라, 워크스페이스의 마크다운 파일에 실제로 적혀 있을 때만 존재합니다. 디스크에 안 써 있으면, 모델 입장에서는 없던 일과 거의 같습니다.1

이 장에서는 그 단순하지만 강력한 원리를 바탕으로, 최근 대화와 장기 기억을 어떻게 나누고, 무엇을 남기고 무엇을 잊게 만들며, 왜 그 설계가 비용과 품질을 동시에 좌우하는지 살펴보겠습니다.

3부·11장 MEMORY.md — 에이전트가 기억하는 방식

기억은 뇌가 아니라 파일이다

처음 OpenClaw를 쓰면 착각하기 쉽습니다. 며칠 동안 대화를 나눴으니 이제 나를 제법 잘 알겠지, 하고 말이죠. 하지만 OpenClaw의 기억은 신비한 내부 상태가 아닙니다. 기본적으로는 워크스페이스 안의 평문 마크다운 파일이 진실의 원천입니다. 모델은 그 파일을 읽고, 필요하면 검색하고, 다시 써서 연속성을 만듭니다.1

이 구조는 의외로 큰 장점이 있습니다. 기억이 틀리면 직접 열어서 고칠 수 있고, 오래된 내용은 지울 수 있고, Git으로 버전 관리도 할 수 있습니다. 기억이 블랙박스가 아니라 노트 정리라는 뜻입니다. AI를 쓰는 느낌보다, 일을 잘 받아 적는 디지털 동료를 키우는 느낌에 가깝습니다.

OpenClaw의 메모리 계층은 크게 세 가지로 이해하면 쉽습니다.12

  • 현재 세션의 대화 맥락

  • memory/YYYY-MM-DD.md 형태의 일일 노트

  • MEMORY.md의 장기 기억

여기에 선택적으로 DREAMS.md까지 붙일 수 있습니다. 이 파일은 배경 정리 작업이 어떤 내용을 장기 기억 후보로 보았는지 사람이 검토하는 용도입니다. 즉, 무작정 다 기억하는 대신, 한 번 더 걸러서 승격하는 통로입니다.2

핵심은 간단합니다. 지금 말한 내용이 정말 중요하다면, 채팅창에만 두지 말고 파일로 내려앉혀야 합니다. 대화는 흘러가지만, 파일은 남습니다.

최근 맥락과 장기 기억을 분리해야 하는 이유

많은 초보자가 하는 실수가 하나 있습니다. MEMORY.md를 만능 창고로 만드는 것입니다. 오늘 디버깅하다 막힌 로그, 이번 주 임시 일정, 어제 잠깐 떠오른 아이디어, 곧 바뀔 것 같은 결정까지 전부 넣어 버립니다. 처음 며칠은 든든해 보이지만, 곧 기억이 아니라 잡동사니 창고가 됩니다.

OpenClaw가 기본적으로 최근성과 지속성을 분리하는 이유도 여기에 있습니다. memory/YYYY-MM-DD.md는 그날그날의 흐름을 담는 일지이고, MEMORY.md는 오래 유지할 가치가 있는 사실과 결정만 남기는 선별 노트입니다. 세션 시작 시에는 오늘과 어제의 일일 노트가 자동으로 읽히고, MEMORY.md는 메인 개인 세션에서 장기 맥락으로 쓰입니다.12

이 구분이 중요한 이유는 세 가지입니다.

첫째, 최근성은 자주 바뀝니다. 오늘 아침 우선순위는 오후에 뒤집힐 수 있습니다. 이런 정보는 일일 노트가 맞습니다.

둘째, 장기 기억은 매번 불러올수록 비싸집니다. MEMORY.md가 비대해질수록 매 세션마다 더 많은 토큰을 먹고, 정작 중요한 정보는 묻히기 쉽습니다. 자주 안 바뀌는 핵심만 남겨야 하는 이유입니다.1

셋째, 오래 살아남을 정보는 더 엄격하게 관리해야 합니다. 장기 기억에 잘못된 사실이 들어가면, 에이전트는 틀린 자신감을 오래 유지합니다. 잠깐의 망각보다 오래된 오해가 더 위험한 셈입니다.

쉽게 비유하면 이렇습니다. 일일 노트는 책상 위 메모지이고, MEMORY.md는 지갑 속 신분증입니다. 메모지는 자주 바뀌어도 괜찮지만, 신분증은 자주 바뀌면 곤란합니다.

MEMORY.md에는 무엇을 남겨야 할까

판단 기준은 화려하지 않습니다. 두 가지만 보면 됩니다. 자주 바뀌는가, 그리고 다시 알아내기 비싼가 입니다.

잘 안 바뀌고, 다시 알아내기 귀찮거나 비용이 큰 정보는 MEMORY.md에 넣는 편이 좋습니다. 예를 들어 이런 것들입니다.

  • 사용자의 응답 선호: 결론 먼저, 과한 칭찬 싫어함, 한국어 우선

  • 작업 원칙: 외부 발신 전 승인, 삭제 전 확인, KST 기준으로 일정 계산

  • 현재 유지 중인 중요한 결정: 메인 메신저는 Telegram, 주간 보고는 금요일 오전, 고객 응대는 초안만 생성

  • 프로젝트의 장기 컨텍스트: 현재 운영 중인 SaaS 이름, 핵심 지표, 사용 중인 스택, 바꾸지 않기로 한 도구

  • 반복해서 부딪힌 교훈: 배포 전 스테이징 확인, 공지성 메시지는 아침보다 점심 이후 반응이 좋음

반대로 일일 노트로 보내야 하는 정보도 분명합니다.

  • 오늘 누구와 무슨 이야기를 했는지

  • 이번 세션에서 어디까지 작업했는지

  • 아직 확정되지 않은 아이디어

  • 한시적인 장애 상황과 임시 우회책

  • 내일 오전까지만 의미 있는 TODO

여기서 자주 나오는 질문이 있습니다. "중요한 결정은 오늘 일어난 일인데, 일일 노트냐 장기 기억이냐?" 정답은 보통 둘 다입니다. 먼저 오늘의 노트에 남기고, 며칠 뒤에도 유효하다고 확인되면 MEMORY.md로 승격하면 됩니다. 처음부터 영구 보관을 확정하지 말고, 짧게 관찰한 뒤 올리는 쪽이 안정적입니다.

좋은 기억은 '다 기억하기'가 아니라 '잘 승격하기'다

기억 설계에서 진짜 실력은 얼마나 많이 적느냐가 아니라, 무엇을 언제 승격하느냐에 있습니다. OpenClaw를 오래 쓰다 보면 결국 두 종류의 실패를 만나게 됩니다.

하나는 기억 부족입니다. 분명 말했는데 안 적혀 있어서 다음날 잊어버립니다.

다른 하나는 기억 과잉입니다. 너무 많은 것을 영구 기억에 넣어서, 에이전트가 예전 정보와 새 정보를 뒤섞습니다.

이 두 문제를 동시에 줄이는 가장 쉬운 방법은 다음과 같은 승격 규칙을 두는 것입니다.

  1. 세션 중 나온 중요한 내용은 우선 그날의 memory/YYYY-MM-DD.md에 남긴다.

  2. 같은 사실이 두 번 이상 다시 등장하거나, 다음 세션에도 필요할 것이 분명하면 MEMORY.md로 올린다.

  3. 이미 있는 항목과 충돌하면 새 항목을 추가만 하지 말고, 기존 내용을 갱신하거나 폐기 표시를 한다.

  4. 끝난 프로젝트, 바뀐 선호, 만료된 규칙은 장기 기억에서 과감히 제거한다.

이 규칙의 좋은 점은 아주 인간적이라는 데 있습니다. 사람도 처음 들은 이야기를 전부 평생 기억하지는 않습니다. 며칠 지나도 유효한 것만 남깁니다. OpenClaw도 그렇게 굴리는 편이 자연스럽고, 더 싸고, 더 정확합니다.

컨텍스트 윈도우는 캐시처럼 다뤄라

에이전트를 오래 돌리다 보면 어느 순간 대화가 길어집니다. 로그도 쌓이고, 툴 결과도 늘고, 이전 메시지도 길어집니다. 이때 중요한 것은 "이 대화가 영원히 메모리에 남겠지"라고 기대하지 않는 것입니다. 현재 세션 컨텍스트는 저장소가 아니라 캐시에 가깝습니다.

OpenClaw가 세션 압축에 가까워질 때 조용히 메모리 저장을 유도하는 이유도 여기에 있습니다. 기본 설정에서는 자동 컴팩션 직전에, 중요한 내용을 메모리 파일에 적어 두라고 에이전트에게 보이지 않게 한 번 더 상기시킵니다. 덕분에 오래된 대화가 요약되기 전에 남길 것을 남길 기회를 얻습니다.1

하지만 이 안전망에도 조건이 있습니다. 워크스페이스가 읽기 전용이면 저장할 수 없습니다. 즉, workspaceAccess가 읽기 전용이거나 아예 쓰기 금지인 환경에서는 기억을 잘 설계해도 실제로는 못 적습니다.1

여기서 배울 점은 단순합니다. 긴 대화에 모든 걸 걸지 말고, 세션은 작업 공간으로, 메모리 파일은 보관소로 생각하자는 것입니다. 캐시가 날아가도 DB는 남아야 하니까요.

최근 대화를 불러오는 법과 장기 기억을 찾는 법은 다르다

사람도 어제 일은 그냥 떠오르고, 두 달 전 일은 노트를 뒤집니다. OpenClaw도 비슷합니다.

최근 맥락은 오늘과 어제의 일일 노트를 통해 비교적 가볍게 이어집니다. 반면 예전의 결정이나 오래된 사실을 다시 꺼낼 때는 memory_search와 memory_get 같은 도구가 힘을 씁니다. memory_search는 의미 기반으로 관련 노트를 찾고, memory_get은 특정 파일이나 라인 범위를 직접 읽습니다.12

이 검색이 좋은 이유는 말이 꼭 똑같지 않아도 된다는 점입니다. 임베딩 제공자가 설정되어 있으면 OpenClaw는 의미 유사성과 키워드 일치를 함께 활용하는 하이브리드 검색을 쓸 수 있습니다. 그래서 "예전에 결제 전송 규칙 어떻게 정했지?"라고 물어도, 정확히 같은 문장을 안 썼더라도 관련 기록을 찾아낼 수 있습니다. 동시에 포트 번호나 환경변수 이름처럼 정확한 문자열이 중요한 정보도 키워드 매칭으로 놓치지 않게 합니다.12

이 말은 곧 메모를 쓸 때도 요령이 있다는 뜻입니다. 너무 암호처럼 쓰지 말고, 자연어 설명과 정확한 키워드를 함께 남기는 편이 좋습니다. 예를 들어 결제라고만 적는 것보다 Stripe 환불 요청은 초안만 작성하고 실제 전송 전 승인 필요라고 써 두는 쪽이 검색 품질이 훨씬 좋아집니다.

잊게 만드는 설계가 오히려 더 중요하다

기억 장치 이야기를 하면 대부분 "어떻게 더 많이 남길까"에만 집중합니다. 그런데 실전에서는 "어떻게 잊게 만들까"가 훨씬 중요합니다.

오래된 기억은 두 가지 방식으로 문제를 일으킵니다. 하나는 토큰 비용을 늘립니다. 다른 하나는 현재 판단을 흐립니다. 끝난 프로젝트가 아직도 최우선처럼 남아 있거나, 바뀐 선호가 옛 규칙과 나란히 적혀 있으면, 에이전트는 엉뚱하게 일관적이 됩니다. 틀린 기억을 성실하게 지키는 것이죠.

그래서 MEMORY.md는 누적 장부가 아니라 현재 유효한 사실의 큐레이션 문서로 보는 편이 좋습니다. 완료된 일은 아카이브로 보내고, 바뀐 사실은 새 항목을 덧붙이는 대신 기존 항목을 고치고, 충돌하는 내용은 하나만 남겨야 합니다.

실무에서는 보통 이런 식의 위생 관리가 효과적입니다.

  • 주 1회: 지난 7일의 일일 노트를 훑고 승격할 것만 올리기

  • 2주 또는 월 1회: MEMORY.md에서 끝난 프로젝트, 오래된 선호, 충돌 항목 정리하기

  • 큰 전환 직후: 새 결제 수단 도입, 메신저 변경, 운영 정책 변경 같은 굵직한 변화 즉시 반영하기

숙련자가 되면 dreaming 같은 배경 통합 기능도 검토할 수 있습니다. 이 기능은 단기 신호를 모아 점수화하고, 조건을 통과한 후보만 장기 기억으로 올리는 방식입니다. 그리고 그 검토 흔적을 DREAMS.md에 남겨 사람이 확인할 수 있게 해 줍니다. 중요한 점은 이 기능도 마법이 아니라, 결국 장기 기억의 신호 대 잡음비를 높이려는 보조 장치라는 것입니다.2

실전용 MEMORY.md 예시

이제 감보다 형태가 있는 편이 좋겠습니다. 아래는 솔로 창업가나 인디해커가 시작하기 좋은 MEMORY.md의 예시입니다.

# MEMORY.md

## 사용자 작업 스타일
- 한국어로 설명하되, 기술 키워드는 영어 병기 허용
- 결론 먼저 말하고, 바로 다음 행동을 제안할 것
- 과한 칭찬, 빈 인삿말, 검색하면 나오는 질문 되묻기 싫어함

## 운영 규칙에서 특히 중요한 것
- 외부 발신은 항상 초안만 만들고 전송 전 승인받기
- 삭제, 배포, 결제, 공개 게시 전에는 명시적 승인 필요
- 일정과 리마인더는 Asia/Seoul 기준으로 계산

## 현재 집중 중인 일
- OpenClaw 기반 개인 운영 자동화 구축
- Telegram 중심 운영, 주간 보고 자동화 먼저 완성
- 고객 응대 자동화는 초안 생성까지만 허용

## 장기 결정
- 장기 메신저는 Telegram 우선
- 주간 보고서는 금요일 오전 9시에 검토본 생성
- 반복 업무 자동화는 비용 절감보다 오류 복구 가능성을 우선

## 배운 점
- 긴 작업은 중간 상태를 파일로 남겨야 다음 세션 연결이 쉬움
- 공지성 메시지는 오전 첫 시간보다 점심 이후 반응이 좋음
- 승인 규칙은 채팅으로 말하는 것보다 파일에 적어야 잘 지켜짐

이 예시의 포인트는 세 가지입니다. 짧고, 현재형이고, 행동에 영향을 준다는 것입니다. 좋은 MEMORY.md는 읽으면 바로 추천과 판단이 달라져야 합니다. 그냥 "나에 대한 좋은 정보" 모음이면 아직 덜 다듬어진 것입니다.

일일 노트 예시와 승격 예시

같은 날의 memory/2026-04-28.md는 훨씬 더 거칠어도 됩니다.

# 2026-04-28

## 오늘 한 일
- Telegram 봇 응답 초안 흐름 점검
- 고객 문의 12건 분류 규칙 테스트
- 주간 보고서 초안 포맷을 표에서 불릿 중심으로 변경

## 오늘의 결정
- 긴급 표시가 붙은 문의도 즉시 전송하지 말고 초안만 생성
- 주간 보고서에는 매출, 장애, 신규 리드 3가지만 우선 노출

## 메모
- 저녁 시간대 문의 응답 톤이 너무 딱딱하다는 피드백
- 내일 Telegram 승인 플로우 다시 확인 필요

이 가운데 며칠 뒤에도 유효할 것이 확인된 내용만 MEMORY.md로 올리면 됩니다. 예를 들어 긴급 문의도 초안만 생성은 장기 규칙이 될 수 있지만, 내일 Telegram 승인 플로우 다시 확인은 일일 노트에만 남는 편이 맞습니다.

즉, 일일 노트는 현장 일지이고, MEMORY.md는 교범입니다. 현장 일지 전체를 교범에 베껴 쓰면 교범이 두꺼워지고, 교범이 두꺼워지면 아무도 안 읽습니다. 에이전트도 크게 다르지 않습니다.

기억을 잘 설계하면 왜 비용도 줄고 결과도 좋아질까

이 장의 핵심을 한 문장으로 줄이면 이렇습니다. 좋은 기억 설계는 더 많이 불러오는 기술이 아니라, 덜 읽고도 정확하게 움직이게 만드는 기술입니다.

MEMORY.md가 짧고 선명하면 매 세션 시작 비용이 줄어듭니다. 오늘과 어제의 노트만 읽고, 오래된 것은 필요할 때 검색하면 되니 불필요한 토큰 낭비도 적습니다.12

반대로 모든 것을 장기 기억에 밀어 넣으면 세 가지 손해를 봅니다.

  • 매번 읽는 비용이 커집니다.

  • 오래된 정보가 현재 판단을 방해합니다.

  • 중요한 항목이 긴 문서 속에 파묻혀 회수율이 떨어집니다.

결국 좋은 에이전트는 기억이 많은 에이전트가 아니라, 짧게 적고 잘 찾는 에이전트입니다. 메모리가 많다고 똑똑해지는 것이 아니라, 잡음이 적을 때 일관성이 생깁니다.

오늘 바로 적용할 운영 루틴

처음부터 거창하게 할 필요는 없습니다. 아래 정도면 충분히 체감이 납니다.

아침에는 어제와 오늘의 흐름을 확인합니다. OpenClaw가 최근 노트를 읽고 들어오도록 두고, 사용자는 "어제 어디까지 했지?"를 다시 설명하지 않아도 됩니다.

낮에는 중요한 결정이 나올 때마다 "이건 기억에 남겨"라고 명시적으로 말해 줍니다. 특히 승인 규칙, 선호 변화, 반복될 작업 방식은 그날 바로 적는 편이 좋습니다.

저녁이나 세션 종료 전에는 그날의 일지를 짧게 정리합니다. 길게 쓰지 말고, 오늘 있었던 일·결정·내일 이어질 일 세 덩어리만 남기면 됩니다.

주 1회에는 MEMORY.md를 다듬습니다. 끝난 일은 지우고, 반복되는 패턴은 올리고, 충돌하는 문장은 하나로 합칩니다. 이 5분이 다음 주의 50분을 아껴 줍니다.

기억이 좋은 에이전트는 말이 적고 맥락이 깊다

사람은 자꾸 설명하게 만드는 도구를 오래 쓰지 않습니다. OpenClaw가 진짜 운영 파트너가 되려면, 똑똑한 대답보다 먼저 "내가 이미 말한 걸 다시 말하지 않아도 되는 상태"를 만들어야 합니다.

그 출발점이 MEMORY.md입니다. 하지만 더 정확히 말하면, MEMORY.md 하나만이 아니라 최근 대화, 일일 노트, 장기 기억을 서로 다른 속도로 굴리는 설계 전체가 중요합니다. 오늘의 흐름은 가볍게, 오래갈 사실은 신중하게, 오래된 잡음은 과감하게 버리는 식으로 말이죠.

에이전트에게 기억은 능력이 아니라 운영입니다. 잘 설계된 기억은 화려하지 않습니다. 대신 같은 실수를 덜 하고, 설명을 덜 요구하고, 매번 조금 더 이어서 일합니다.

그게 결국 우리가 원하는 AI입니다. 많이 아는 AI보다, 내가 하던 일을 이어받아 자연스럽게 계속하는 AI.

다음 장에서는 이 기억 위에 능동성을 얹어 보겠습니다. HEARTBEAT.md를 통해, 묻지 않아도 먼저 움직이는 OpenClaw를 만드는 방법을 살펴보겠습니다.

참고

1Memory - OpenClaw

2Memory overview - OpenClaw

책 목록

오픈클로 OpenClaw: 메신저 안에서 일하는 나만의 AI 에이전트

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기