상위: 06_00_MOC
Write 전략 — 스크래치패드 · 파일시스템 · 크로스세션 메모리
한 줄 정의
Write 전략은 에이전트가 지금 하는 작업을 돕기 위해 정보를 컨텍스트 창 밖에 저장하는 기법을 통틀어 가리킨다. 컨텍스트 소실(05 부패)과 과부하를 미리 막아 주며, “무한 컨텍스트”라는 환상을 떠받치는 핵심 축이다.
“We treat the file system as the ultimate context in Manus: unlimited in size, persistent by nature.” — Yichao ‘Peak’ Ji, Manus, 2025
왜 Write인가 — 동기
에이전트 실행이 길어질수록 두 가지 문제가 맞부딪힌다.
- 절삭(Truncation) 위험: 컨텍스트 창이 한계(예: 200,000 토큰)를 넘으면 과거 내용이 잘려 나가, 계획과 중간 결과, 오류 흔적이 사라진다.
- Lost-in-the-Middle: 긴 컨텍스트 한가운데 놓인 정보는 모델이 흘려보내기 쉽다(05 부패 참고).
Write 전략은 정보를 컨텍스트 창 밖으로 옮겨 이 두 문제를 한꺼번에 푼다.
flowchart LR subgraph InContext["컨텍스트 창 (RAM — 제한됨)"] SYS["시스템 프롬프트"] CUR["현재 작업 상태"] REF["파일 경로 / 메모리 키"] end subgraph External["외부 저장소 (Disk — 무제한)"] FS["파일시스템<br/>(웹페이지·PDF·대용량 관측값)"] MEM["메모리 DB<br/>(크로스세션 기억)"] TODO["todo.md<br/>(목표·진행상황)"] end CUR -->|"write_file()"| FS CUR -->|"memory_save()"| MEM CUR -->|"재기록 (Attention Recitation)"| TODO REF -.->|"참조만 컨텍스트에"| FS
1. 스크래치패드 (Scratchpad)
에이전트가 작업 중 중간 메모를 저장하는 임시 외부 저장소. 구현 방식은 세 가지다.
1-1. 파일시스템 Tool Call
MCP filesystem server 등으로 파일에 직접 기록하고, 컨텍스트에는 경로(URL/path)만 남긴다.
- 대용량 관측값(웹페이지, PDF, 이미지)은 파일에 저장한다.
- 필요할 때 경로로 원본을 되살릴 수 있다. 곧 손실 없는 압축(Restorable Compression)이다.
“The content of a web page can be dropped from the context as long as the URL is preserved.” — Ji, Manus, 2025
1-2. 런타임 State 객체
LangGraph의 state 객체 필드에 세션 내 상태를 담아 둔다. 각 스텝에서 LLM에 어떤 필드를 노출할지 개발자가 세밀하게 정할 수 있어, 격리(Isolate) 전략과 결합하면 컨텍스트 오염을 막는다.
1-3. 전용 Memory 도구 (Anthropic 사례)
Anthropic 멀티에이전트 리서치 시스템의 리드 에이전트는 컨텍스트 창 절삭 전에 계획을 먼저 Memory 도구에 저장한다.
“The LeadResearcher begins by thinking through the approach and saving its plan to Memory to persist the context, since if the context window exceeds 200,000 tokens it will be truncated and it is important to retain the plan.” — Anthropic Engineering, 2025
절삭은 언제든 일어날 수 있으니, 중요한 것은 먼저 써 둔다는 Write First 원칙이 나온다.
2. Manus의 파일시스템 무한 컨텍스트
Manus(Ji, 2025)는 파일시스템을 단순한 저장소가 아니라 궁극의 컨텍스트 계층으로 본다.
2-1. 복원 가능한 압축 (Restorable Compression)
| 방식 | 내용 |
|---|---|
| 기존 Compress | 정보를 요약·손실 후 버린다 |
| Restorable Compression | 파일에 저장 후 경로만 유지 → 언제든 원본 복원 가능 |
손실 없이 컨텍스트를 줄이는 핵심 기법이다.
2-2. todo.md 패턴 — Attention Recitation
작업 목표와 진행상황을 컨텍스트 끝부분에 계속 다시 적는다.
“By reciting its objectives and progress into the end of the context, the model’s attention is biased towards its global plan.” — Ji, Manus, 2025
이렇게 하면 모델의 주의(attention)가 전역 계획 쪽으로 쏠려 “lost-in-the-middle” 현상(05 부패)을 막는다. 50단계를 넘기는 복잡한 작업일수록 효과가 두드러진다.
sequenceDiagram participant A as Agent participant T as todo.md (External) participant C as Context Window A->>T: 목표 + 진행상황 기록 (Step 1) A->>C: 컨텍스트 끝에 todo.md 내용 재기록 Note over C: 모델 주의가 전역 계획으로 편향 A->>T: 진행상황 업데이트 (Step N) A->>C: 재기록 반복 (Recitation) Note over C: Lost-in-Middle 방어
2-3. 실패 흔적 보존 (Failure Trace Preservation)
언뜻 반직관적이지만 Manus가 중요하게 여기는 Write 원칙이다. 실패한 액션과 스택 트레이스를 컨텍스트에서 지우지 않는다.
“Erasing failure removes evidence. And without evidence, the model can’t adapt.” — Ji, Manus, 2025
Ji는 오류 복구 능력이야말로 진짜 에이전틱 행동을 가르는 가장 분명한 지표라고 본다.
오염(01 오염)과의 경계: 실패 흔적은 남기되, 환각이나 잘못된 사실은 걷어낸다. 가르는 기준은 “그 정보가 모델의 적응을 돕는 증거인가, 아니면 모델을 오도하는 허위 정보인가”다.
3. 크로스세션 메모리 (Cross-session Memory)
하나의 세션을 넘어 이어지는 메모리로, 학습 방식에 따라 세 유형으로 나뉜다(LangChain, 2025).
| 유형 | 영문 | 내용 | 저장 대상 | 실사례 |
|---|---|---|---|---|
| 에피소드 기억 | Episodic Memory | 과거 상호작용 사례 | few-shot 예시 | ChatGPT 대화 기억 |
| 절차 기억 | Procedural Memory | 행동 지침·워크플로우 | 행동 조정 | CLAUDE.md, .cursorrules |
| 의미 기억 | Semantic Memory | 사실과 지식 | 과제 관련 맥락 | 프로젝트 도메인 지식 |
실제 채택 사례를 보면 ChatGPT, Cursor, Windsurf가 reflection과 synthesis 기법으로 장기 메모리를 자동 생성한다(LangChain, 2025).
4. 직렬화 변이 — 과일반화 방지
반복 태스크에서 같은 직렬화 템플릿을 그대로 쓰면 모델이 그 패턴을 흉내 내 비최적 행동에 빠진다(과일반화, Overgeneralization). Manus는 이를 막으려고 phrasing과 포맷에 일부러 소량의 변이를 섞는다.
“Introduce controlled variation in serialization templates and phrasing to break the pattern and tweak the model’s attention, preventing drift during batch operations.” — Ji, Manus, 2025
5. Write 전략이 막는 실패모드
| 실패모드 | Write 기법 | 메커니즘 |
|---|---|---|
| 컨텍스트 소실 (Lost in Middle) | todo.md 재기록 | 전역 계획을 끝부분에 유지 |
| 컨텍스트 과부하 (Overload) | 파일시스템 외부화 | 대용량 데이터를 컨텍스트 밖으로 |
| 절삭(Truncation) 위험 | Memory 도구 선저장 | 중요 계획을 절삭 전에 Write |
| 오류 반복 | 실패 흔적 보존 | 증거 유지로 적응 능력 확보 |
참고문헌
- Context Engineering for Agents — The LangChain Team, 2025, LangChain Blog
- Context Engineering for AI Agents: Lessons from Building Manus — Yichao ‘Peak’ Ji, 2025, Manus Blog
- How we built our multi-agent research system — Anthropic Engineering Team, 2025, Anthropic Engineering
- How to Fix Your Context — Drew Breunig, 2025, dbreunig.com
- [MemGPT: Towards LLMs as Operating Systems (arXiv:2310.08560)](https://arxiv.org/abs/2310.08560) — Packer et al., 2023, arXiv
관련 노트
- 06_02-Select전략-RAG-하이브리드검색-ToolLoadout — 외부화된 정보를 다시 끌어오는 Select
- 06_03-Compress전략-요약-프루닝-KV캐시최적화 — Write와 결합해 비용 최적화
- 06_07-Manus-KV캐시-파일시스템-교훈 — Manus 파일시스템 전략의 KV-캐시 연계
- 06_08-MemGPT-Letta-OS형-롱텀메모리 — OS형 크로스세션 메모리의 완성형
- 05 부패 — Write가 직접 방어하는 소실·부패 실패모드