수업 #8 — 그 많은 정보를 다 기억해?
Source: bbojjak-viewer.vercel.app/lessons/lesson-08 Type: article By: 뽀짝이 / 뽀짝이의 서재 (지피터스 AI스터디) Valid as of: 2026-04-28
Key Insight
에이전트 기억은 3단계로 구성된다 — 대화 맥락(휘발) → 메모리 파일(반영구) → 시스템 파일(영구). RAG 대신 Full-context Loading을 쓰는 이유는 파일이 ~10개 수준으로 적기 때문. Prompt Caching으로 반복되는 시스템 프롬프트 비용을 90% 절감. 핵심: “대화는 휘발되지만, 파일은 남는다.”
핵심 Takeaway
- Full-context Loading vs RAG: 에이전트 시스템 파일이 6~10개 수준이면 RAG보다 Full-context(통째로 읽기)가 정확하고 간단. 벡터 검색 누락 없음. RAG는 수천 개 문서의 기업 규모에 적합 (출처: “RAG 안 쓰나?” 섹션)
- 기억의 3단계: (1) 대화 맥락(세션 안, 컴팩션 대상) → (2) 메모리 파일(memory/YYYY-MM-DD.md, 반영구) → (3) 시스템 파일(AGENTS.md/MEMORY.md, 매 대화 자동 로딩, 영구). 중요도에 따라 승격 (출처: “기억의 3단계” 섹션)
- 컴팩션 방어 3가지: (1) 시스템 파일은 컴팩션 안 됨 (2) 중요한 건 즉시 파일 기록 (3) “MEMORY.md에 추가해줘” 사용자 명시 승격. “칠판은 지워져도 노트는 남는다” (출처: “컴팩션” 섹션)
- Prompt Caching = 단골 할인: Anthropic API 레벨에서 반복 시스템 프롬프트를 캐시 처리. 캐시 적중 시 입력 토큰 비용 90% 절감. 시스템 프롬프트(변경 적음) 앞 / 대화(매번 변경) 뒤 배치가 최적 (출처: “Prompt Caching” 섹션)
- 기억의 전이 = 에이전트 기억의 핵심 전략: 대화(휘발) → memory/ 파일(반영구) → MEMORY.md/AGENTS.md(영구). “이거 MEMORY.md에 추가해줘” 한마디로 영구 승격 가능 (출처: “세션의 일생” 섹션)
상세 요약
RAG 적합 규모 vs Full-context 적합 규모
| 기준 | RAG 적합 | Full-context 적합 |
|---|---|---|
| 문서 수 | 수백~수천 개 | ~10개 수준 |
| 구축 복잡도 | 벡터 DB + 임베딩 + 검색 | 없음 (그냥 읽기) |
| 정확성 | 검색 누락 가능 | 모든 문맥 포함 |
| 적합 상황 | 기업 지식 베이스 | 에이전트 운영 파일 |
뽀짝이의 시스템 파일은 6개(SOUL/AGENTS/TOOLS/USER/IDENTITY/HEARTBEAT) + MEMORY.md. 이 규모에서는 Full-context가 최선이다.
기억 승격 흐름
대화에서 중요한 것 발견 (1단계: 휘발)
↓ "이거 기록해줘"
memory/YYYY-MM-DD.md에 기록 (2단계: 반영구)
↓ "MEMORY.md에 추가해줘"
MEMORY.md / AGENTS.md 반영 (3단계: 영구)
세션이 종료되고 컴팩션이 발동해도 3단계에 도달한 정보는 사라지지 않는다.
Prompt Caching 최적 구조
[시스템 프롬프트] ← 잘 안 바뀜 → 캐시 적중 가능
SOUL.md + AGENTS.md + TOOLS.md + ...
[대화 히스토리] ← 매번 바뀜 → 캐시 미적중
최근 대화 원본
[현재 메시지]
OpenClaw가 이 배치를 자동으로 구성. 사용자 별도 설정 불필요.
연결되는 위키 페이지
- agent-memory-architecture — 이 소스에서 추출한 에이전트 기억 시스템 개념
- agent-session-architecture — 컴팩션 메커니즘 + 세션 수명 (Lesson 06)
- agent-workspace-structure — memory/ 폴더 + 시스템 파일 구조 (Lesson 01)
- agent-error-learning-loop — AGENTS.md 절대 규칙이 3단계 기억으로 영구 보존
- rag — Full-context Loading과의 대비
- agent-runtime-architecture — Prompt Caching이 런타임 레이어의 비용 최적화
- bbojjak-openclaw-agentic-architecture-lesson01 — 시리즈 Lesson 01
- bbojjak-openclaw-session-architecture-lesson06 — 시리즈 Lesson 06 (컴팩션 원리)
- bbojjak-openclaw-runtime-architecture-lesson07 — 시리즈 Lesson 07 (시스템 프롬프트 자동 로딩)
- bbojjak-openclaw-scheduling-design-lesson09 — 시리즈 Lesson 09 (하트비트 vs 크론잡·3가지 사고·스케줄링 설계)
- bbojjak-openclaw-skill-design-lesson10 — 시리즈 Lesson 10 (에이전트 스킬 시스템·SKILL.md·n8n→스킬 전환)
- bbojjak-openclaw-automation-layers-lesson11 — 시리즈 Lesson 11 (exec·자동화 3계층·exec-approvals·Trust but verify)
- bbojjak-openclaw-subagent-orchestration-lesson12 — 시리즈 Lesson 12 (sessions_spawn·맥락의 격차·판단 최소화 원칙)
- bbojjak-openclaw-playwright-image-pipeline-lesson13 — 시리즈 Lesson 13 (Playwright·HTML→PNG·browser 도구·디자인 시스템)
- bbojjak-openclaw-gateway-architecture-lesson14 — 시리즈 Lesson 14 (Gateway·멀티채널 라우팅·Tailscale Funnel·보안 4중 잠금)
- bbojjak-openclaw-multichannel-session-lesson15 — 시리즈 Lesson 15 특별편 (Slack 스레드·텔레그램 토픽 세션 분리·DM 함정·bindings)
- bbojjak-openclaw-token-optimization-lesson16 — 시리즈 Lesson 16 (토큰 소비처 5순위·RTK·hook vs 지침·능동적 compact·Sonnet 전환)
- bbojjak-openclaw-agent-security-lesson17 — 시리즈 Lesson 17 (프롬프트 인젝션·보안 3원칙·에이전트 분리·심층 방어)
- bbojjak-openclaw-skill-ecosystem-lesson18 — 시리즈 Lesson 18 (보안 스킬 선택 3단계·구조>스킬·즉시 학습+SSOT·오픈 생태계 신뢰 평가)
- bbojjak-openclaw-resilience-failover-lesson19 — 시리즈 Lesson 19 (Model Failover·세션 스티킨스·Agent Loop·작업별 모델 분리·34% 절감)
- bbojjak-openclaw-information-boundary-lesson20 — 시리즈 Lesson 20 (분리 이후 운영·일방향 동기화·민감정보 추출·에스컬레이션·오탐 관리)