내 AI가 모든 것을 계속 잊어버립니다. 해결 방법은 다음과 같습니다.
요약
LLM의 stateless 특성으로 인해 발생하는 기억 상실 문제를 해결하기 위한 메모리 아키텍처 설계 방법을 제안합니다. MEMORY.md 파일을 활용하여 에이전트가 비즈니스 컨텍스트를 지속적으로 유지하고 업데이트하는 구체적인 가이드를 제공합니다.
핵심 포인트
- LLM은 기본적으로 상태가 없는(stateless) 특성을 가짐
- 단순 시스템 프롬프트는 메모리가 아닌 임시 방편(포스트잇)에 불과함
- 진정한 자동화를 위해 파일 읽기/쓰기 단계가 포함된 메모리 구조 필요
- MEMORY.md 파일에 정체성, 운영 규칙, 프로젝트 등 5개 섹션 구성 권장
당신은 당신의 비즈니스에 대해 AI에게 브리핑하는 데 20분을 소비합니다. 당신의 고객, 당신의 말투, 당신의 기술 스택(stack), 그리고 당신이 무엇을 만들고 있는지에 대해 말이죠. AI는 마침내 이해했다는 듯이 답변합니다.
다음 날: 백지상태입니다. 아무것도 모릅니다.
이것은 모델의 버그가 아닙니다. 메모리 아키텍처 (memory architecture)가 없는 모든 AI 시스템의 기본 상태입니다. 모델은 상태가 없는 (stateless) 특성을 가집니다. 별도로 설계하지 않는 한, 각 세션은 제로(zero)에서 시작됩니다.
대부분의 사람들은 매번 새로운 채팅에 컨텍스트 (context)를 복사하여 붙여넣는 방식으로 이를 임시방편으로 해결합니다. 그러다 보면 결국 한계에 부딪힙니다. 이는 확장성 (scale)이 없습니다. 모든 세션을 마치 어제 퇴사한 사람에게 면접을 보고 있는 듯한 기분이 들게 만듭니다.
이 문제를 실제로 해결하는 방법은 다음과 같습니다.
왜 내 AI 에이전트는 세션 사이에 내용을 잊어버릴까요?
모든 대규모 언어 모델 (Large Language Model, LLM)은 컨텍스트 윈도우 (context window) 안에 있는 내용을 처리하고 출력을 생성합니다. 해당 세션이 종료되면 컨텍스트는 사라집니다. 소비자용 도구들은 몇 가지 저장된 선호 사항을 포함하는 숨겨진 시스템 프롬프트 (system prompt)를 통해 지속성을 흉내 냅니다. 그것은 메모리가 아니라 포스트잇 (sticky note)일 뿐입니다. 진정한 1인 창업자 (solo founder)의 자동화 작업을 위해서는 파일, 읽기 단계 (read step), 그리고 쓰기 단계 (write step)가 필요합니다.
"하지만 제 선호 사항을 기억한다고 생각했는데요?" 일부 소비자용 도구들은 저장된 몇 줄의 선호 사항을 포함하는 숨겨진 시스템 프롬프트로 이를 흉내 냅니다. 그것은 메모리가 아닙니다. 그것은 포스트잇입니다. 복잡한 작업으로 확장할 수 없습니다.
실제 자동화를 운영하는 1인 창업자에게는 세 가지가 필요합니다:
- 에이전트가 당신의 비즈니스에 대해 알고 있는 내용을 저장하는 파일
- 매 세션 시작 시 해당 파일을 읽는 단계
- 세션이 종료될 때 새로운 내용을 파일에 다시 쓰는 단계
이것이 시스템의 전부입니다.
AI 에이전트를 위한 MEMORY.md 파일을 어떻게 만드나요?
프로젝트 루트 (project root)에 MEMORY.md라는 이름의 마크다운 (markdown) 파일을 하나 만드세요. 이것이 당신의 에이전트를 위한 장기 기억 장치 (long-term brain)입니다. 다음 다섯 가지 섹션이 모든 것을 다룹니다: 정체성 컨텍스트 (identity context), 운영 규칙 (operating rules), 진행 중인 프로젝트 (active projects), 반복되는 컨텍스트 참조 (recurring context references), 그리고 날짜가 기록된 결정 로그 (dated decisions log). 2,000단어 이내로 유지하세요. 정확하고 짧은 컨텍스트가 오래된 섹션으로 가득 찬 비대한 파일보다 언제나 더 나은 성능을 발휘합니다.
각 섹션의 포함 내용은 다음과 같습니다:
Identity context (정체성 컨텍스트). 당신이 누구인지, 무엇을 만들고 있는지, 현재 어느 단계에 있는지에 대한 정보입니다. 에이전트는 당신의 이름, 주요 제품, 타겟 고객, 현재 집중하고 있는 사항, 그리고 가장 큰 제약 사항을 알고 있어야 합니다.
예시 구조:
Name: Michael
Building: Xero AI Agency + Xero Scout (Reddit 고객 발굴 도구)
Target customer: AI가 비즈니스를 운영하기를 원하는 비기술직 1인 창업자
...
Operating rules (운영 규칙). 에이전트가 어떻게 행동해야 하는지에 대한 규칙입니다. 절대 해서는 안 될 행동, 게시할 채널, 대기해야 하는 승인 절차 등이 포함됩니다.
Active projects (진행 중인 프로젝트). 현재 진행 중인 작업에 대한 간략한 상태 정보입니다. 이 섹션은 가장 자주 변경됩니다.
Recurring context (반복되는 컨텍스트). 비밀번호, 보이스 가이드(voice guides), 전략 문서 등을 어디에서 찾을 수 있는지에 대한 정보입니다. 메모리 파일은 정보를 직접 포함하는 것이 아니라, 정보가 어디에 위치해 있는지를 참조해야 합니다.
Decisions log (결정 로그). 에이전트가 의구심을 갖지 말아야 할 결정을 내렸을 때 작성하는 짧은 기록입니다. 날짜를 기입하며, 기존 내용을 수정하지 않고 아래에 추가(append-only)하는 방식으로 작성합니다.
파일을 2,000단어 이내로 유지하세요. 긴 컨텍스트가 더 나은 컨텍스트는 아닙니다. 정확한 컨텍스트가 더 나은 컨텍스트입니다.
AI 에이전트가 실제로 메모리 파일을 사용하게 만들려면 어떻게 해야 하나요?
아무도 메모리 파일을 읽지 않는다면 그 파일은 가치가 없습니다. 복잡한 작업이 수행되기 전에 실행되는 필수적인 회상(recall) 단계를 시스템 프롬프트(system prompt)에 추가하세요. OpenClaw에서는 이것이 에이전트 지침에 내장되어 있습니다: 현재 프로젝트에 관한 질문에 답하기 전에 memory_search를 실행하도록 합니다. 이 단 하나의 지침만으로도 에이전트가 추측하는 대신 사실을 확인하게 함으로써, 잘못된 행동을 하는 상황의 약 80%를 제거할 수 있습니다.
OpenClaw에서 Xero의 내부 AI 운영자인 Evo를 위한 시스템 프롬프트에는 다음 내용이 포함되어 있습니다:
현재 프로젝트, 계획 또는 선호도에 관한 질문에 답하기 전에,
memory_search를 실행하여 MEMORY.md 및 memory/*.md를 확인하십시오.
확인 없이 현재 상태를 알고 있다고 가정하지 마십시오.
이 단 하나의 지침이 "내 AI가 왜 잘못된 행동을 했지?"라고 느끼는 상황의 약 80%를 없애줍니다. 에이전트는 세션 컨텍스트(session context)를 통해 추측하는 것이 아니라, 파일을 확인하는 것입니다.
OpenClaw를 사용하지 않더라도, 여러분이 사용하는 어떤 프레임워크에서든 이 패턴을 복제하여 적용할 수 있습니다. 메커니즘은 동일합니다: 시스템 프롬프트(system prompt)가 에이전트에게 관련 작업 시작 시 메모리 파일을 읽으라고 지시하면, 에이전트는 그 내용을 검색하여 작업 컨텍스트(working context)에 포함시키고, 해당 근거가 있는 컨텍스트(grounded context)를 바탕으로 답변하거나 행동합니다.
일부 설정에서는 이를 첫 번째 도구 호출(tool call)로 구현합니다. 모든 세션은 다른 어떤 것이 실행되기 전에 read_memory()로 시작합니다. 핵심은 이것이 선택 사항이 되어서는 안 된다는 점입니다.
메모리에 업데이트를 전혀 다시 쓰지 않는다면 어떤 일이 벌어질까요?
결코 업데이트되지 않는 메모리는 오히려 부담(liability)이 됩니다. 만약 파일에는 여러분이 MVP를 구축 중이라고 되어 있는데 실제로는 6개월 전에 출시했다면, 에이전트는 확신에 차 있지만 틀린 결정을 내리게 됩니다. 이는 메모리 파일이 없는 것보다 더 나쁜 상황인데, 에이전트 스스로가 자신이 틀렸다는 사실을 모르기 때문입니다. 수동 업데이트는 3분이면 충분합니다. 이를 지속적으로 건너뛰는 것은 여러분의 메모리 계층을 함정으로 만드는 일입니다.
쓰기 작업을 처리하는 두 가지 방법:
수동 세션 종료 업데이트. 중요한 일이 발생한 세션이 끝난 후, 여러분이나 에이전트가 MEMORY.md의 관련 섹션을 업데이트합니다. 결정 사항이 생겼나요? 결정 로그(decisions log)에 추가하세요. 프로젝트를 출시했나요? 활성 프로젝트(active projects) 섹션을 업데이트하세요.
이 작업은 약 3분 정도 소요됩니다. 대부분의 사람들은 하겠다고 말만 하고 실행하지 않습니다. 이를 하루 일과 마무리 루틴에 포함시키거나, 오후 6시에 "메모리 업데이트"라는 알림을 보내는 cron 리마인더를 추가하세요.
자동 추출. Evo의 설정에서는 매일 밤 브리핑 작업(nightly briefing job)이 그날의 세션 기록에서 주목할 만한 결정이나 상태 변화를 추출하여 메모리 파일에 나타나도록 합니다. 자동으로 쓰지는 않습니다. 업데이트 초안을 작성하고 검토를 위해 표시(flag)를 해둡니다. 이를 통해 에이전트가 무엇을 배웠다고 생각하는지에 대해 인간이 개입(human in the loop)할 수 있게 합니다.
완전 자동화된 메모리 쓰기에는 세심한 가드레일(guardrails)이 필요합니다. 에이전트가 단 한 번의 세션에서 추론한 선호도를 바탕으로 여러분의 운영 규칙을 덮어쓰는 것을 원치 않을 것입니다. 범위를 엄격하게 제한하세요. 에이전트가 파일의 어느 부분이든 편집하게 두는 것보다, 매주 검토하는 "최근 관찰 사항(recent observations)" 섹션에 추가만(append-only) 하는 방식이 더 안전합니다.
완전한 AI 에이전트 메모리 아키텍처(Memory Architecture)는 어떤 모습인가요?
메모리를 하나의 커다란 문서로 만드는 대신, 짧고 목적에 특화된 여러 개의 파일로 분할하세요. 각 파일은 집중도를 유지하며 각자의 리듬에 따라 업데이트됩니다. 핵심인 MEMORY.md는 정체성(identity)과 규칙을 담고 있으며 거의 변경되지 않습니다. 프로젝트, 결정 사항, 연락처 등은 각각 별도의 파일을 가집니다. 회상(recall) 단계에서는 모든 파일을 함께 검색하여, 매 요청마다 모든 내용을 컨텍스트(context)에 로드하지 않고도 관련 있는 내용을 찾아냅니다.
Evo가 실행되는 실제 파일 구조는 다음과 같습니다:
MEMORY.md # 핵심 정체성, 규칙, 선호도
memory/projects.md # 활성 프로젝트 상태
memory/decisions.md # 결정 로그, 날짜별 항목
...
각 파일은 짧습니다. MEMORY.md는 600단어 미만으로 유지됩니다. projects.md는 프로젝트가 출시되거나 중단될 때 업데이트됩니다. decisions.md는 추가만(append-only) 가능하며, 가장 최신 항목이 상단에 위치합니다.
OpenClaw에서 memory_search는 인덱싱된 모든 메모리 파일에 대해 시맨틱 검색(semantic search)을 수행하므로, 에이전트가 매번 모든 파일을 읽지 않고도 관련 정보를 찾아낼 수 있습니다. 더 단순한 설정을 사용 중이라면, 세션 시작 시 전체 내용을 컨텍스트(context)에 로드하세요. 이 정도 규모에서는 문제없이 작동합니다.
Anthropic의 에이전트 아키텍처에 관한 연구에 따르면, 지속적인 컨텍스트 관리(persistent context management)는 실제 업무를 위한 신뢰할 수 있는 AI 에이전트를 배포하는 데 있어 해결되지 않은 핵심 과제 중 하나입니다.
오늘 바로 AI 에이전트 메모리를 실행하는 가장 빠른 방법은 무엇인가요?
전체 아키텍처를 구축할 준비가 되지 않았다면, CONTEXT.md라는 이름의 파일 하나를 만드세요. 당신이 누구인지, 무엇을 만들고 있는지, 집중 분야는 무엇인지, 그리고 에이전트가 반드시 따라야 할 세 가지 규칙을 포함하여 300~500단어 정도로 작성합니다. 이를 매 세션 시작 시 상단에 붙여넣거나 시스템 프롬프트(system prompt)로 설정하세요. 그리고 매주 업데이트하세요.
이 방식은 한계가 올 때까지는 작동합니다. 서로 다른 스케줄로 실행되는 자동화(automation)가 세 개 이상이 되면, 컨텍스트 드리프트 (context drift) 비용이 커지기 시작합니다. 하나의 자동화가 오래된 프로젝트 상태를 바탕으로 실행되어, 어제 다른 자동화가 수행한 작업과 충돌하는 결정을 내리게 됩니다. 바로 그때가 전체 파일 구조를 구축해야 할 시점입니다.
AI 에이전트 메모리에서 가장 흔히 발생하는 실수는 무엇인가요?
대부분의 설정은 동일한 방식으로 실패합니다. 파일이 너무 길어지거나, 전혀 업데이트되지 않거나, 에이전트가 사용할 수 없는 가공되지 않은 콘텐츠(raw content)로 가득 차게 됩니다. 과도하게 긴 메모리는 신호(signal)를 희석시킵니다. 오래된 메모리는 에이전트가 잘못된 사실을 바탕으로 확신을 가지고 행동하게 만들기 때문에 해롭습니다. 컨텍스트 윈도우 (context window)를 통해 전달되는 마크다운 (markdown) 파일 내의 비밀 정보(secrets)는 조기에 해결해야 할 보안 리스크입니다.
메모리 파일을 너무 길게 만드는 것. 공격적으로 다듬으세요. 특정 섹션이 3개월 동안 변경되지 않았고 현재 작업 중인 내용에서 아무런 참조도 하지 않는다면, 아카이브 (archive) 하세요.
에이전트가 사용할 수 없는 것을 저장하는 것. 스크린샷, 가공되지 않은 전사 데이터 (raw transcripts), 형식이 지정되지 않은 로그 (unformatted logs) 등이 해당됩니다. 에이전트에게는 구조화되고 검색 가능한 정보가 필요합니다. 가공되지 않은 데이터 덤프 (raw dumps)는 도움이 되지 않습니다.
메모리에 비밀 정보를 넣는 것. 비밀번호, API 키, 민감한 고객 정보는 평문 (plaintext) 메모리 파일에 포함해서는 안 됩니다. 이러한 정보는 .env 파일이나 비밀 관리자 (secrets manager)에 보관해야 합니다. 메모리 파일은 비밀 정보가 어디에 있는지 참조해야 하며, 이를 직접 포함해서는 안 됩니다.
프로덕션급 (production-grade) 메모리 패턴에 대한 더 자세한 내용은, LangChain의 메모리 모듈 관련 문서에서 버퍼 메모리 (buffer memory), 요약 메모리 (summary memory), 그리고 벡터 스토어 (vector store) 방식 간의 기술적 트레이드오프 (tradeoffs)를 다루고 있습니다.
메모리는 더 큰 AI 에이전트 스택에서 어떤 역할을 하나요?
메모리는 3계층 시스템 중 하나의 계층입니다. 아이덴티티 파일 (identity file)이 없다면 에이전트는 자신의 규칙을 알지 못합니다. 메모리 파일이 없다면 에이전트는 사용자의 현재 상태를 알지 못합니다. 워크플로우 계층 (workflow layer)이 없다면 에이전트는 작업 간에 컨텍스트를 전달할 수 없습니다. 대부분의 1인 창업자 설정은 이 세 가지 중 두 가지를 건너뜁니다. 이 세 가지가 모두 합쳐졌을 때 비로소 스스로 작동하는 에이전트가 만들어집니다.
아직 identity file (정체성 파일)을 설정하지 않았다면, 다음으로 AI 에이전트를 위한 identity file 작성 방법을 읽어보세요. identity file과 memory file (메모리 파일)은 함께 작동합니다. 하나는 에이전트에게 자신이 누구인지 알려주고, 다른 하나는 현재 무엇이 일어나고 있는지를 알려줍니다.
또한, 여러 작업을 순차적으로 수행하며 밤새 안정적으로 실행되어야 하는 AI 설정을 구축하고 있다면, 1인 창업자를 위한 AI 에이전트 워크플로우(workflow) 설정 방법에서 작업 간의 충돌을 방지하는 스케줄링(scheduling) 및 컨텍스트 핸드오프(context handoff) 패턴을 다룹니다.
목표는 완벽한 기억력이 아닙니다. 목표는 채팅을 열 때마다 매번 다시 브리핑할 필요가 없는 에이전트를 만드는 것입니다. 세 개의 파일, 두 단계, 매주 업데이트. 그것이면 충분합니다.
Evo가 사용하는 정확한 MEMORY.md 구조와 회상 프롬프트(recall prompts)를 포함한 전체 메모리 아키텍처(memory architecture) 템플릿을 원하시나요? First AI Agent 가이드에서 전체 설정 과정을 안내합니다. 또는 귀하의 특정 스택(stack)에 맞춰 구축하고 싶다면, Build 세션을 예약하세요. 당일 바로 지속 가능한 메모리(persistent memory)를 가진 에이전트를 실행할 수 있도록 도와드립니다.
자신만의 AI 시스템 구축 시작하기
- Your First AI Agent - $1 런칭 테스트 가이드, 즉시 다운로드 가능. 가장 빠르게 시작할 수 있는 방법입니다.
- Build an AI Co-Founder - 전체 아키텍처 ($19).
자신만의 AI 공동 창업자(AI co-founder)를 구축하고 싶으신가요?
저는 제가 풀타임 직업을 가진 동안 배포, 콘텐츠, 운영을 수행하는 AI 시스템인 Xero를 공개적으로 구축(building in public)하고 있습니다.
- 여기서 시작하세요: Your First AI Agent — $7 가이드, 즉시 다운로드
- 더 깊이 알아보기: Build an AI Co-Founder — 전체 아키텍처 ($19)
• 사이트: xeroaiagency.com
_원문 게시일: xeroaiagency.com
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기