toon-memoryTOON 기반

AI 에이전트를 위한 연속성 레이어

에이전트의 지식은 세션을 넘어 살아남습니다 — 오프라인, 비공개, LLM 불필요.

~/.toon-memory

$npm install -g toon-memory

왜 에이전트가 세션 간에 컨텍스트를 잃는가?

AI 코딩 에이전트는 매 세션 기억 상실로 시작합니다

컨텍스트가 매일 리셋됨

새 세션마다 에이전트는 어제 배운 결정, 패턴, 버그를 잊어버립니다. 같은 컨텍스트를 반복해서 설명해야 합니다.

기록에서 검색

메모리가 없으면 에이전트는 git 기록을 검색하고 파일을 다시 읽어서 왜 특정 방식으로 구축되었는지를 재구성합니다 — 토큰과 시간을 소모합니다.

복사-붙여넣기 메모

개발자가 채팅 간에 수동으로 컨텍스트를 붙여넣습니다. 이는 취약하고, 오래되고, 다음 자동 실행에는 전달되지 않습니다.

toon-memory는 에이전트에 지속적이고 쿼리 가능한 메모리를 제공합니다 — 컨텍스트가 자동으로 모든 세션에서 살아남습니다.

toon-memory 소개

코딩 워크플로우를 위한 연속성 레이어

메모리는 사실을 저장하지만, 연속성 레이어는 프로젝트가 작동하는 방식을 보존합니다 — 모든 세션이 이전 세션이 끝난 곳에서 시작되도록.

결정

모든 선택의 "이유" — 프레임워크, 라이브러리, 트레이드오프. 중요할 때 회상되고, 다시 논쟁되지 않습니다.

📏

관례

팀이 합의한 명명, 구조, 스타일 규칙. 다시 말하지 않아도 지켜집니다.

컨텍스트

단일 파일에 존재하지 않는 아키텍처, 환경, 운영 지식.

🤝

공유된 이해

모든 에이전트와 세션에서 사용할 수 있는 프로젝트 지식과 팀 결정.

toon-memory는 연속성 레이어의 개념을 소개합니다: AI 세션 간에 프로젝트 지식, 결정, 컨텍스트를 보존하는 가벼운 시스템 — 클라우드 서비스도 무거운 인프라도 필요 없습니다.

개발자가 toon-memory를 선택하는 이유

프라이빗, 가볍고, 범용적

프로젝트 메모리를 안전하게 유지하는 보장.

프라이버시 우선

  • 100% 로컬 — 클라우드, 서버, 텔레메트리 없음
  • 선택적 AES-256-GCM 암호화
  • 메모리 파일은 소스 파일처럼 당신의 것입니다

가벼움

  • 네이티브 TOON 형식 — JSON보다 22% 적은 토큰
  • 의존성 제로, Node.js 18+에서 동작
  • 결정적 로직 — LLM 호출 없음, API 키 불필요
🛰️

유니버설

  • 15+ 에이전트 지원: Claude Code, Codex, Gemini CLI, Cursor, OpenCode 등
  • 표준 MCP — 컨텍스트를 잃지 않고 에이전트 변경
  • 팀 전체가 공유하는 프로젝트별 메모리

같은 프로젝트. 두 세션.

에이전트가 기억하는 것이 결과를 바꿉니다.

toon-memory 없이
세션 1
Sequelize를 사용하세요.
알겠습니다.
세션 컨텍스트에 보관 — 토큰이 축적됩니다.
세션 2
우리 ORM은 무엇인가요?
세션 간 메모리가 없습니다.
모르겠습니다.
toon-memory 사용
세션 1
Sequelize를 사용하세요.
$ memory_remember({ category: "decision", key: "orm:sequelize", content: "ORM으로 Sequelize를 사용" })
알겠습니다.
메모리에 저장되었습니다.
세션 2
우리 ORM은 무엇인가요?
메모리에서 기억해냈습니다.
Sequelize를 사용 중입니다.

벤치마크

추측이 아닌 실측

실제 세션에서 측정한 토큰 및 도구 호출 절감

자동 로딩
~90%

토큰 절감

25 → 5
80%

도구 호출 절감

컴팩트 리콜
68%

토큰 절감

시스템 프라이머
58%

토큰 절감

배치 압축
14%

토큰 절감

TOON 형식

TOON 형식은 인간을 위해 만들어진 것이 아니라 LLM을 위해 만들어짐

지표
JSON보다 토큰 절감22.5%
단일 항목30.5%
파싱 속도 향상1.3x

JSON 1097TOON 850

gpt-tokenizer (cl100k_base)로 16개의 대표적인 메모리 항목을 측정. 실제 TOON 형식과 컴팩트 JSON 비교. 재현 가능: npm run bench.

순위 품질

187개 실제 항목 스냅샷에서 LongMemEval 스타일 검색 — gold queries 42개

지표선형RRF통합
R@5· gold 항목이 상위 5개 안0.6430.8610.829
nDCG@5· 순서 품질0.6540.7640.739
MRR@5· 정답의 위치0.7760.7880.760
97.6%의 쿼리가 상위 5개에서 답변 가능

실제 data.toon 스냅샷(187개, 2026-08-01), today 결정적, 읽기 전용·복사본 없음; priority 메타 항목 2개 제외. 재현: npm run bench:retrieval.

자동 로딩: OpenCode 플러그인은 모든 항목을 덤프하는 대신 파일 관련 메모리만 주입합니다. 전체 세션: 시작 → 디버그 → 구현 → 검토 → 마무리. 재현 가능: npm run bench:full, npm run bench:primer, npm run bench:compress-all.

어떻게 작동하나요?

기억 상실에서 메모리까지 4단계

1

설치

하나의 명령어. 15개 이상의 에이전트에 제로 구성.

npm install -g toon-memory
2

기억

작업하면서 결정, 패턴, 버그를 저장 — 자동 태그 추론과 선택적 TTL 포함.

memory_remember({
  category: "decision",
  key: "use-zod",
  content: "Use Zod for validation",
  file: "src/types.ts"
})
3

리콜

에이전트가 필요할 때 메모리를 쿼리 — 재설명 불필요, 토큰 낭비 없음.

memory_recall({ query: "validation" })
// [decision] use-zod (a1b2c3d4)
//   Use Zod for validation — src/types.ts
4

컨텍스트

한 번의 호출로 에이전트에 모든 것을 제공: 프로젝트, git, 메모리, 세션. 도구 호출 80% 절감.

context_generate({})
// # Project Briefing (full)
// ## Project — toon-memory v4.3.0
// ## Git — branch: main, 3 commits
// ## Memory — 26 entries, 18 edges
// ## Sessions — 2 active

멀티 에이전트

모든 주요 AI 코딩 에이전트와 호환. OpenCode, VS Code, Claude, Cursor, Windsurf, Cline, Continue — 제로 구성.

OpenCodeClaudeCursor

TOON 형식

JSON보다 22% 적은 토큰 (실측). LLM 이해와 토큰 효율성을 위해 설계된 맞춤 인코딩.

토큰 22% 절감파싱 속도 1.3x 향상

스마트 리콜

그래프 기반 리콜이 BM25 관련성과 그래프 중심성으로 재순위화됨 (쿼리 단어 없이도 허브가 부상). 홉당 감쇠로 먼 컨텍스트를 낮게 유지. 토큰 효율적인 `compact` 모드는 숫자 인덱스, 스니펫 잘린 결과를 반환.

BM25중심성compact

스마트 메모리

내장 어휘와 프로젝트 의존성에서 자동 태그 추론, 품질 점수, 신뢰도 점수, 병합 중복 제거, 관련 항목 제안, 메모리 diff, 및 구성 가능한 임시 컨텍스트 TTL.

자동 태그품질 점수병합 중복 제거

암호화

AES-256-GCM로 민감한 데이터 보호. 오래된 항목 자동 아카이브. Watch 모드로 N분마다 자동 백업.

AES-256-GCM자동 백업

메모리를 그래프로

결정을 사양, 버그, 아키텍처에 연결. 리콜은 올바른 컨텍스트를 반환 — 단순한 키워드 일치가 아님.

  • `links` 또는 `[[key]]` 참조로 항목 연결 — 임베딩 불필요, LLM 불필요
  • `memory_recall({ mode: "graph" })`가 관계 인식 서브그래프를 확장
standard1097 tokens
memory_recall({ query: "riesgo", mode: "graph" })
[decision] risk-engine-priority (a1b2c3d4)
  The engine prioritizes risk over speed.
  File: spec.md:10 | Tags: risk;spec | Date: 2026-07-01
  links: engine-arch
compact: true~520 tokens
memory_recall({ query: "riesgo", mode: "graph", compact: true })
[1] decision/risk-engine-priority
  The engine prioritizes risk over speed.
  tags: risk;spec · edges: ->2, ->3
뷰어 내부:
검색경로 찾기PNG / SVG 내보내기다크 & 라이트 테마

메모리 그래프 뷰어

메모리를 대화형 힘-방향 그래프로 시각화. 항목, 연결, 카테고리, 접근 패턴을 한눈에.

  • CLI 뷰어: npx toon-memory viewer가 HTTP 서버를 시작합니다
  • 인라인 MCP Apps 뷰어: memory_visualize()를 호출하면 MCP Apps 호환 호스트에서 그래프를 직접 렌더링 — 서버 불필요
  • 노드에 호버하면 콘텐츠 미리보기와 품질 점수가 있는 툴팁 표시
  • 클릭으로 선택·중앙 정렬, 더블 클릭으로 세부정보 열기
  • 검색은 항목을 필터링하고 일치 노드를 맥동하는 글로우로 강조
  • 경로 찾기는 두 항목 사이의 최단 연결을 찾아 강조
  • 물리 조정, 다크/라이트 테마, PNG/SVG 내보내기

메모리 도구 키트

에이전트의 기억, 리콜, 추론에 필요한 모든 것

핵심 메모리

memory_remember

메모리에 저장

결정, 패턴, 버그, 지식 또는 warning("하지 마세요" 부정적 메모리, 부스트와 함께 리콜) 저장 — 자동 품질 점수와 함께 세션 간 지속.

memory_recall

메모리 검색

파일을 읽기 전에 지식 그래프를 쿼리. 품질 가중 결과. path_scope와 예산 제어(tiny/normal/deep) 지원. explain: true는 항목별 이유 줄 추가, budget_tokens는 예상 토큰으로 출력 제한.

memory_stats

메모리 통계

품질 분포와 가장 많이 접근한 항목, 그리고 적중률/중복/폐기 지표를 포함한 프로젝트 메모리 통계 표시.

검색 및 인텔리전스

memory_smart_recall

스마트 리콜

BM25 + 그래프 중심성 + 품질 점수 + 신선도를 하나의 호출로 통합 검색. explain: true(항목별 이유)와 budget_tokens(출력 상한) 지원.

memory_consolidate

통합

mode 매개변수로 동일한 중복 항목을 제거하고 근사 중복(Jaccard >50%)을 병합하며 저품질 항목을 일괄 제거하고 오래된 라이브러리 버전 항목을 은퇴시킵니다(mode: "versions") — 결정적, LLM 불필요.

컨텍스트 브리핑

context_generate

전체 프로젝트 브리핑

한 번의 호출 브리핑: 프로젝트 구조 + git 상태 + 메모리 + 세션. 6회 수동 호출 대체. 토큰 93% 절약.

context_health

헬스 감사

고아 링크, 중복, 깨진 파일 참조, 만료된 TTL, 오래된 세션. 점수 0–100.

압축

memory_compress

LLM 압축

LLM 기반 2단계 압축: 요약 + 덮어쓰기. 사용 가능한 경우 Anthropic/OpenAI CLI 사용.

memory_primer

컨텍스트 프라이머

한 번의 호출 컨텍스트 프라이머: 상위 메모리 + 카테고리 + 세션 파일 변경 사항. 세션 시작 시 자동 주입.

세션

memory_sessions

세션

활성 에이전트 세션을 표시하고 소프트 충돌을 감지.

memory_merge_sessions

세션 병합

파일에 걸친 병렬 세션의 관찰을 병합. 중복 제거 및 자동 승격.

동기화 및 보안

memory_encrypt

암호화 활성화

자동 생성 키로 AES-256-GCM 암호화.

memory_backup

메모리 백업

타임스탬프가 있는 메모리 파일 백업 생성. 최신 10개로 자동 정리.

리소스:memory-entriesmemory-statsmemory-summariesmemory-viewer (ui://viewer)

15개 이상의 AI 코딩 에이전트 지원

제로 구성 — toon-memory가 각 에이전트를 자동 감지하고 구성

OpenCodeOpenCode
VS Code / CopilotVS Code / Copilot
ClaudeClaude
CursorCursor
WindsurfWindsurf
ClineCline
ContinueContinue
CodexCodex
GeminiGemini
ZedZed
AntigravityAntigravity
AiderAider
KiloCodeKiloCode
OpenClawOpenClaw
KiroKiro

자주 묻는 질문

에이전트에 메모리를 부여하기 위해 알아야 할 모든 것

toon-memory란?

35개 MCP 도구를 갖춘 AI 코딩 에이전트용 지속적 메모리 레이어. 결정, 패턴, 버그, 컨텍스트를 컴팩트 TOON 형식으로 저장하여 에이전트가 세션 간에 모든 것을 기억 — 세션당 80% 도구 호출 절감.

지원되는 에이전트는?

OpenCode, VS Code, Claude Code, Cursor, Windsurf, Cline, Continue, Codex, Gemini, Zed, Antigravity, Aider, KiloCode, OpenClaw, Kiro — MCP 서버를 통한 제로 구성의 15개 이상 에이전트.

데이터는 어떻게 저장되나요?

항목은 로컬 TOON 파일 (JSON보다 ~22% 작은 토큰 효율 형식, 실측)에 기록됩니다. 파일은 귀하의 것이며 다른 소스 파일처럼 커밋, diff, 백업이 가능합니다.

메모리가 암호화되나요?

네. memory_encrypt 도구로 암호화를 활성화하여 AES-256-GCM로 민감한 항목을 보호합니다. 키는 자동 생성되고 로컬에 유지됩니다.

오프라인에서 작동하나요?

완전히. toon-memory는 외부 서비스나 계정 없이 로컬에서 실행됩니다. Watch 모드는 예약에 따라 자동 백업도 생성합니다.

여러 에이전트가 같은 메모리를 공유할 수 있나요?

네. 메모리가 프로젝트의 일반 파일에 존재하기 때문에 해당 프로젝트에 설정된 모든 에이전트가 같은 컨텍스트를 읽고 씁니다.

메모리 백업은 어떻게 하나요?

Watch 모드로 예약된 자동 백업을 사용하거나 TOON 파일을 git에 커밋하기만 하면 됩니다. 오래된 항목은 30일 후 자동 아카이브됩니다.

무료이고 오픈 소스인가요?

네. toon-memory는 MIT 라이선스로 무료 사용 가능합니다. 소스는 GitHub에 있고 패키지는 npm에 게시됩니다.

에이전트의 내장 메모리와 어떻게 다른가요?

내장 메모리는 일반적으로 임시적이거나 벤더별입니다. toon-memory는 에이전트와 프로젝트 전반에서 완전히 제어할 수 있는 이식 가능하고 diff 가능한 암호화된 메모리 파일을 제공합니다.

임시 컨텍스트를 만료시킬 수 있나요?

네. 모든 항목에 TTL (예: ttl: "7d")을 설정하면 자동 만료 — 스프린트, 마감일, 시간 제한 메모에 적합합니다.

스마트 리콜이란?

memory_smart_recall은 BM25 키워드 검색, 그래프 중심성, 품질 스코어링, 신선도 감쇠를 하나의 호출로 결합 — 수동 오케스트레이션 없이 모든 순위 전략의 최고를 실현.

품질 스코어링은 어떻게 작동하나요?

모든 항목은 태그 커버리지, 링크 풍부함, 내용 상세도, 신선도, 구체성에 따라 자동 품질 점수 (0-1)를 받습니다. 고품질 항목이 리콜 결과에서 먼저 표시됩니다.

같은 키를 두 번 저장하면 어떻게 되나요?

시스템이 속성을 대체하지 않고 병합합니다: 태그와 링크는 합집합, 품질과 신뢰도는 최댓값, 날짜가 업데이트됩니다. 항목이 시간이 지남에 따라 풍부해집니다.

메모리 압축이란 무엇인가요?

memory_compress는 LLM이 관련 항목을 간결한 요약으로 압축하도록 합니다. memory_consolidate(mode: "low-quality")은 저품질 항목(태그 없음, 짧은 콘텐츠)을 결정적으로 제거합니다 — LLM 불필요. 둘 다 토큰 수를 줄입니다.

머신 간에 메모리를 동기화할 수 있나요?

네. memory_export_gist로 GitHub Gist에 항목을 푸시한 다음 다른 머신에서 memory_import_gist를 사용합니다. 항목은 자동으로 병합됩니다(태그 합집합, 최대 신뢰도).

에이전트에 연속성을 부여할 준비가 되셨나요?

몇 초 만에 설치하고 프로젝트를 다시 설명할 일이 없습니다.