SVG 시각화 생성

May 23, 2026 · View on GitHub

English | Français | Español | Deutsch | Italiano | Português | Nederlands | Polski | Русский | 日本語 | 中文 | العربية | 한국어

ICM — Infinite Context Memory

ICM

AI 에이전트를 위한 영구 메모리. 단일 바이너리, 의존성 없음, MCP 네이티브.

CI Release Source-Available


ICM은 AI 에이전트에게 진짜 메모리를 제공합니다 — 메모 도구도, 컨텍스트 관리자도 아닌, 메모리 그 자체입니다.

                       ICM (Infinite Context Memory)
            ┌──────────────────────┬─────────────────────────┐
            │   MEMORIES (Topics)  │   MEMOIRS (Knowledge)   │
            │                      │                         │
            │  Episodic, temporal  │  Permanent, structured  │
            │                      │                         │
            │  ┌───┐ ┌───┐ ┌───┐  │    ┌───┐               │
            │  │ m │ │ m │ │ m │  │    │ C │──depends_on──┐ │
            │  └─┬─┘ └─┬─┘ └─┬─┘  │    └───┘              │ │
            │    │decay │     │    │      │ refines      ┌─▼─┐│
            │    ▼      ▼     ▼    │    ┌─▼─┐            │ C ││
            │  weight decreases    │    │ C │──part_of──>└───┘│
            │  over time unless    │    └───┘                 │
            │  accessed/critical   │  Concepts + Relations    │
            ├──────────────────────┴─────────────────────────┤
            │             SQLite + FTS5 + sqlite-vec          │
            │        Hybrid search: BM25 (30%) + cosine (70%) │
            └─────────────────────────────────────────────────┘

두 가지 메모리 모델:

  • Memories — 중요도에 따른 시간적 감쇠와 함께 저장/검색. 중요 메모리는 절대 사라지지 않고, 낮은 중요도는 자연적으로 감쇠. 토픽 또는 키워드로 필터링 가능.
  • Memoirs — 영구 지식 그래프. 타입이 지정된 관계(depends_on, contradicts, superseded_by, ...)로 연결된 개념. 레이블로 필터링 가능.
  • Feedback — AI 예측이 틀렸을 때 수정 사항 기록. 새로운 예측 전에 과거 실수를 검색. 폐쇄 루프 학습.

설치

# Homebrew (macOS / Linux)
brew tap rtk-ai/tap && brew install icm

# 빠른 설치
curl -fsSL https://raw.githubusercontent.com/rtk-ai/icm/main/install.sh | sh

# 소스에서 빌드
cargo install --path crates/icm-cli

설정

# 지원되는 모든 도구를 자동 감지 및 구성
icm init

한 번의 명령으로 17개 도구를 구성합니다 (전체 통합 가이드):

도구MCP훅CLI스킬
Claude Code~/.claude.json5개 훅CLAUDE.md/recall /remember
Claude DesktopJSON———
Gemini CLI~/.gemini/settings.json5개 훅GEMINI.md—
Codex CLI~/.codex/config.toml4개 훅AGENTS.md—
Copilot CLI~/.copilot/mcp-config.json4개 훅.github/copilot-instructions.md—
Cursor~/.cursor/mcp.json——.mdc 규칙
WindsurfJSON—.windsurfrules—
VS Code~/Library/.../Code/User/mcp.json———
AmpJSON——/icm-recall /icm-remember
Amazon QJSON———
ClineVS Code globalStorage———
Roo CodeVS Code globalStorage——.md 규칙
Kilo CodeVS Code globalStorage———
Zed~/.zed/settings.json———
OpenCodeJSONTS 플러그인——
Continue.dev~/.continue/config.yaml———
Aider——.aider.conventions.md—

또는 수동으로:

# Claude Code
claude mcp add icm -- icm serve

# 컴팩트 모드 (더 짧은 응답, 토큰 절약)
claude mcp add icm -- icm serve --compact

# 모든 MCP 클라이언트: command = "icm", args = ["serve"]

스킬 / 규칙

icm init --mode skill

Claude Code(/recall, /remember), Cursor(.mdc 규칙), Roo Code(.md 규칙), Amp(/icm-recall, /icm-remember)에 슬래시 명령과 규칙을 설치합니다.

훅 (5개 도구)

icm init --mode hook

지원되는 모든 도구에 자동 추출 및 자동 회상 훅을 설치합니다:

도구SessionStartPreToolPostToolCompactPromptRecall설정
Claude Codeicm hook starticm hook preicm hook posticm hook compacticm hook prompt~/.claude/settings.json
Gemini CLIicm hook starticm hook preicm hook posticm hook compacticm hook prompt~/.gemini/settings.json
Codex CLIicm hook starticm hook preicm hook post—icm hook prompt~/.codex/hooks.json
Copilot CLIicm hook starticm hook preicm hook post—icm hook prompt.github/hooks/icm.json
OpenCodesession start—tool extractcompaction—~/.config/opencode/plugins/icm.ts

각 훅의 역할:

훅역할
icm hook start세션 시작 시 중요/높은 중요도 메모리의 웨이크업 팩 주입 (~500 토큰)
icm hook preicm CLI 명령 자동 허용 (권한 프롬프트 없음)
icm hook postN번 호출마다 도구 출력에서 사실 추출 (자동 추출)
icm hook compact컨텍스트 압축 전 대화 스크립트에서 메모리 추출
icm hook prompt각 사용자 프롬프트 시작 시 회상된 컨텍스트 주입

CLI vs MCP

ICM은 CLI(icm 명령) 또는 MCP 서버(icm serve)를 통해 사용할 수 있습니다. 둘 다 동일한 데이터베이스에 접근합니다.

CLIMCP
지연 시간~30ms (직접 바이너리)~50ms (JSON-RPC stdio)
토큰 비용0 (훅 기반, 보이지 않음)~20-50 토큰/호출 (도구 스키마)
설정icm init --mode hookicm init --mode mcp
호환 도구Claude Code, Gemini, Codex, Copilot, OpenCode (훅 통해)17개 MCP 호환 도구 모두
자동 추출예 (훅이 icm extract 트리거)예 (MCP 도구가 store 호출)
최적 용도파워 유저, 토큰 절약범용 호환성

CLI

Memories (에피소드, 감쇠 포함)

# 저장
icm store -t "my-project" -c "Use PostgreSQL for the main DB" -i high -k "db,postgres"

# 회상
icm recall "database choice"
icm recall "auth setup" --topic "my-project" --limit 10
icm recall "architecture" --keyword "postgres"

# 관리
icm forget <memory-id>
icm consolidate --topic "my-project"
icm topics
icm stats

# 텍스트에서 사실 추출 (규칙 기반, LLM 비용 없음)
echo "The parser uses Pratt algorithm" | icm extract -p my-project

Memoirs (영구 지식 그래프)

# memoir 생성
icm memoir create -n "system-architecture" -d "System design decisions"

# 레이블이 있는 개념 추가
icm memoir add-concept -m "system-architecture" -n "auth-service" \
  -d "Handles JWT tokens and OAuth2 flows" -l "domain:auth,type:service"

# 개념 연결
icm memoir link -m "system-architecture" --from "api-gateway" --to "auth-service" -r depends-on

# 레이블 필터로 검색
icm memoir search -m "system-architecture" "authentication"
icm memoir search -m "system-architecture" "service" --label "domain:auth"

# 이웃 검사
icm memoir inspect -m "system-architecture" "auth-service" -D 2

# 그래프 내보내기 (형식: json, dot, ascii, ai)
icm memoir export -m "system-architecture" -f ascii   # 신뢰도 바 포함 박스 드로잉
icm memoir export -m "system-architecture" -f dot      # Graphviz DOT (색상 = 신뢰도 수준)
icm memoir export -m "system-architecture" -f ai       # LLM 컨텍스트에 최적화된 마크다운
icm memoir export -m "system-architecture" -f json     # 모든 메타데이터 포함 구조화된 JSON

# SVG 시각화 생성
icm memoir export -m "system-architecture" -f dot | dot -Tsvg > graph.svg

MCP 도구 (31개)

메모리 도구

도구설명
icm_memory_store자동 중복 제거와 함께 저장 (>85% 유사도 → 중복 대신 업데이트)
icm_memory_recall쿼리로 검색, 토픽 및/또는 키워드로 필터링
icm_memory_update메모리 인플레이스 편집 (내용, 중요도, 키워드)
icm_memory_forgetID로 메모리 삭제
icm_memory_consolidate토픽의 모든 메모리를 하나의 요약으로 병합
icm_memory_list_topics카운트와 함께 모든 토픽 나열
icm_memory_stats글로벌 메모리 통계
icm_memory_health토픽별 위생 감사 (오래됨, 통합 필요)
icm_memory_embed_all벡터 검색을 위한 임베딩 백필

Memoir 도구 (지식 그래프)

도구설명
icm_memoir_create새 memoir 생성 (지식 컨테이너)
icm_memoir_list모든 memoir 나열
icm_memoir_showmemoir 세부 정보 및 모든 개념 표시
icm_memoir_add_concept레이블이 있는 개념 추가
icm_memoir_refine개념의 정의 업데이트
icm_memoir_search전체 텍스트 검색, 레이블로 선택적 필터링
icm_memoir_search_all모든 memoir에서 검색
icm_memoir_link개념 간 타입이 지정된 관계 생성
icm_memoir_inspect개념 및 그래프 이웃 검사 (BFS)
icm_memoir_export신뢰도 수준과 함께 그래프 내보내기 (json, dot, ascii, ai)

피드백 도구 (실수로부터 학습)

도구설명
icm_feedback_recordAI 예측이 틀렸을 때 수정 사항 기록
icm_feedback_search미래 예측 정보를 위한 과거 수정 사항 검색
icm_feedback_stats피드백 통계: 총 카운트, 토픽별 분류, 가장 많이 적용된 항목

관계 타입

part_of · depends_on · related_to · contradicts · refines · alternative_to · caused_by · instance_of · superseded_by

작동 방식

이중 메모리 모델

**에피소드 메모리 (Topics)**는 결정, 오류, 선호도를 캡처합니다. 각 메모리는 중요도에 따라 시간이 지남에 따라 감쇠하는 가중치를 가집니다:

중요도감쇠정리동작
critical없음절대 안 함절대 잊혀지지 않음, 절대 정리되지 않음
high느림 (0.5x 속도)절대 안 함느리게 감쇠, 자동 삭제 없음
medium보통예표준 감쇠, 가중치 < 임계값이면 정리됨
low빠름 (2x 속도)예빠르게 잊혀짐

감쇠는 접근 인식 방식입니다: 자주 회상되는 메모리는 더 느리게 감쇠합니다(decay / (1 + access_count × 0.1)). 회상 시 자동으로 적용됩니다 (마지막 감쇠 이후 >24시간인 경우).

메모리 위생이 내장되어 있습니다:

  • 자동 중복 제거: 같은 토픽에서 기존 메모리와 >85% 유사한 내용을 저장하면 중복 생성 대신 업데이트됨
  • 통합 힌트: 토픽이 7개 항목을 초과하면 icm_memory_store가 호출자에게 통합 권고
  • 건강 감사: icm_memory_health는 토픽별 항목 수, 평균 가중치, 오래된 항목, 통합 필요 여부 보고
  • 무음 데이터 손실 없음: critical 및 high 중요도 메모리는 자동 정리되지 않음

**시맨틱 메모리 (Memoirs)**는 구조화된 지식을 그래프로 캡처합니다. 개념은 영구적입니다 — 정제되며, 감쇠되지 않습니다. 사실을 삭제하는 대신 superseded_by를 사용하여 오래된 사실을 표시합니다.

하이브리드 검색

임베딩이 활성화되면 ICM은 하이브리드 검색을 사용합니다:

  • FTS5 BM25 (30%) — 전체 텍스트 키워드 매칭
  • 코사인 유사도 (70%) — sqlite-vec를 통한 시맨틱 벡터 검색

기본 모델: intfloat/multilingual-e5-base (768d, 100+ 언어). 설정 파일에서 구성 가능:

[embeddings]
# enabled = false                          # 완전히 비활성화 (모델 다운로드 없음)
model = "intfloat/multilingual-e5-base"    # 768d, 다국어 (기본값)
# model = "intfloat/multilingual-e5-small" # 384d, 다국어 (더 가벼움)
# model = "intfloat/multilingual-e5-large" # 1024d, 다국어 (최고 정확도)
# model = "Xenova/bge-small-en-v1.5"      # 384d, 영어 전용 (가장 빠름)
# model = "jinaai/jina-embeddings-v2-base-code"  # 768d, 코드 최적화

임베딩 모델 다운로드를 완전히 건너뛰려면 다음 중 하나를 사용합니다:

icm --no-embeddings serve          # CLI 플래그
ICM_NO_EMBEDDINGS=1 icm serve     # 환경 변수

또는 설정 파일에서 enabled = false로 설정합니다. ICM은 FTS5 키워드 검색으로 대체됩니다 (여전히 작동하지만 시맨틱 매칭 없음).

모델을 변경하면 자동으로 벡터 인덱스가 재생성됩니다 (기존 임베딩이 지워지며 icm_memory_embed_all로 재생성 가능).

저장소

단일 SQLite 파일. 외부 서비스, 네트워크 의존성 없음.

~/Library/Application Support/dev.icm.icm/memories.db                    # macOS
~/.local/share/dev.icm.icm/memories.db                                   # Linux
C:\Users\<user>\AppData\Local\icm\icm\data\memories.db                   # Windows

설정

icm config                    # 활성 설정 표시

설정 파일 위치 (플랫폼별, 또는 $ICM_CONFIG):

~/Library/Application Support/dev.icm.icm/config.toml                    # macOS
~/.config/icm/config.toml                                                # Linux
C:\Users\<user>\AppData\Roaming\icm\icm\config\config.toml              # Windows

모든 옵션은 config/default.toml을 참조하세요.

멀티 프로젝트 & 멀티 에이전트

ICM은 한 명의 사용자가 여러 프로젝트에 걸쳐 다수의 에이전트와 협업하는 경우를 위해 만들어졌습니다. 메모리는 항상 관련성을 유지해야 합니다: 프로젝트 A의 결정이 프로젝트 B로 절대 새어 들어가서는 안 되고, dev 에이전트가 mentor 에이전트가 저장한 내용으로 hydrate되어서도 안 됩니다.

프로젝트 격리

ICM은 별도의 컬럼이 아니라 topic 명명 규칙으로 메모리를 스코프합니다. 규칙은 다음과 같습니다:

{kind}-{project}              # e.g. decisions-icm, errors-resolved-icm, contexte-rtk-cloud
preferences                   # global, always included
identity                      # global, always included

icm_wake_up { project: "icm" }은 세그먼트 인식(segment-aware) 매칭을 수행합니다: "icm"은 decisions-icm, errors-icm-core, contexte-icm과 매칭되지만 icmp-notes와는 절대 매칭되지 않습니다(거짓 양성 없음). 토픽은 -, ., _, /, : 단위로 분할됩니다. 선호(preferences)와 정체성(identity) 토픽은 설계상 프로젝트 간 공유됩니다 — 사용자 수준의 가이드는 결코 제거되지 않습니다.

UserPromptSubmit 훅(icm hook prompt)과 SessionStart 훅(icm hook start)은 모두 훅 JSON의 cwd 필드(작업 디렉토리의 basename)에서 프로젝트를 도출합니다. 각 프로젝트를 자체 디렉토리에서 실행하면 격리는 자동으로 이루어집니다.

좋은 메모리 작성하기

icm_memory_store는 에이전트가 topic과 content를 직접 선택하도록 요구합니다 — 자동 분류기는 없습니다. 모범 사례:

필드가이드
topic{kind}-{project}. 종류: decisions, errors-resolved, contexte, preferences.
content한 번의 store에 하나의 사실. 밀도 있는 영문 요약 — topic + content가 임베딩 텍스트가 됩니다.
raw_excerpt원문 그대로일 때만 사용(코드, 정확한 에러 메시지, 명령어 출력).
keywordsBM25 검색을 강화하기 위한 3–5개의 용어.
importance절대 잊지 말아야 할 것은 critical, 프로젝트 결정은 high, 기본값은 medium, 일시적인 것은 low.

나머지는 ICM이 처리합니다: 85% 유사도에서 dedup, 의미적으로 가까운 메모리 간 자동 링크(auto-link), 토픽당 10개 항목을 초과할 때 자동 통합(auto-consolidation), 그리고 접근 횟수에 가중치가 부여된 decay. 일괄 덤프보다 호출당 하나의 사실이 낫습니다 — retriever는 개별적으로 저장된 사실을 더 높게 랭킹합니다.

멀티 에이전트 역할

ICM은 아직 일급 role 컬럼을 가지고 있지 않습니다. 현재로서는, 토픽 접미사와 에이전트별 작업 디렉토리를 조합해 역할을 에뮬레이트합니다:

decisions-icm-dev             # dev agent: code patterns, library choices, refactors
decisions-icm-architect       # architect: design, workflows, subtask decomposition
decisions-icm-mentor          # mentor / BA: business goals, non-technical context

각 에이전트는 자체 작업 디렉토리(~/projects/icm-dev/, ~/projects/icm-architect/, ...)에서 실행되어, icm hook prompt와 icm hook start가 cwd에서 서로 다른 프로젝트 세그먼트를 도출하고 매칭되는 메모리만 recall하도록 합니다. 선호(preferences)는 글로벌하게 유지됩니다 — 사용자 정체성은 모든 역할에 걸쳐 이어집니다.

단일 에이전트 내에서도 recall을 수동으로 좁힐 수 있습니다:

// icm_memory_recall
{ "query": "auth flow", "topic": "decisions-icm-architect", "limit": 5 }

일급 role 필드(wake-up과 recall에서 네이티브 필터링 지원)는 로드맵에 있습니다. 그때까지는 토픽 접미사 규칙이 지원되는 패턴입니다.

자동 추출

ICM은 세 가지 레이어를 통해 메모리를 자동으로 추출합니다:

  Layer 0: Pattern hooks              Layer 1: PreCompact           Layer 2: UserPromptSubmit
  (zero LLM cost)                     (zero LLM cost)               (zero LLM cost)
  ┌──────────────────┐                ┌──────────────────┐          ┌──────────────────┐
  │ PostToolUse hook  │                │ PreCompact hook   │          │ UserPromptSubmit  │
  │                   │                │                   │          │                   │
  │ • Bash errors     │                │ Context about to  │          │ User sends prompt │
  │ • git commits     │                │ be compressed →   │          │ → icm recall      │
  │ • config changes  │                │ extract memories  │          │ → inject context  │
  │ • decisions       │                │ from transcript   │          │                   │
  │ • preferences     │                │ before they're    │          │ Agent starts with  │
  │ • learnings       │                │ lost forever      │          │ relevant memories  │
  │ • constraints     │                │                   │          │ already loaded     │
  │                   │                │ Same patterns +   │          │                   │
  │ Rule-based, no LLM│                │ --store-raw fallbk│          │                   │
  └──────────────────┘                └──────────────────┘          └──────────────────┘
레이어상태LLM 비용훅 명령설명
Layer 0구현됨0icm hook post도구 출력에서 규칙 기반 키워드 추출
Layer 1구현됨0icm hook compact컨텍스트 압축 전 스크립트에서 추출
Layer 2구현됨0icm hook prompt각 사용자 프롬프트에서 회상된 메모리 주입

3개 레이어 모두 icm init --mode hook으로 자동 설치됩니다.

대안과의 비교

시스템방법LLM 비용지연 시간압축 캡처?
ICM3레이어 추출0 ~ ~500 토큰/세션0ms예 (PreCompact)
Mem0메시지당 2번 LLM 호출~2k 토큰/메시지200-2000ms아니오
claude-memPostToolUse + 비동기~1-5k 토큰/세션8ms 훅아니오
MemGPT/Letta에이전트 자체 관리추가 비용 없음0ms아니오
DiffMemGit 기반 diff00ms아니오

벤치마크

저장 성능

ICM Benchmark (1000 memories, 384d embeddings)
──────────────────────────────────────────────────────────
Store (no embeddings)      1000 ops      34.2 ms      34.2 µs/op
Store (with embeddings)    1000 ops      51.6 ms      51.6 µs/op
FTS5 search                 100 ops       4.7 ms      46.6 µs/op
Vector search (KNN)         100 ops      59.0 ms     590.0 µs/op
Hybrid search               100 ops      95.1 ms     951.1 µs/op
Decay (batch)                 1 ops       5.8 ms       5.8 ms/op
──────────────────────────────────────────────────────────

Apple M1 Pro, 인메모리 SQLite, 단일 스레드. icm bench --count 1000

에이전트 효율성

실제 Rust 프로젝트(12개 파일, ~550줄)를 사용한 다중 세션 워크플로. 세션 2+에서 ICM이 파일을 다시 읽는 대신 회상하면서 가장 큰 효율을 보입니다.

ICM Agent Benchmark (10 sessions, model: haiku, 3 runs averaged)
══════════════════════════════════════════════════════════════════
                            Without ICM         With ICM      Delta
Session 2 (recall)
  Turns                             5.7              4.0       -29%
  Context (input)                 99.9k            67.5k       -32%
  Cost                          \$0.0298          \$0.0249       -17%

Session 3 (recall)
  Turns                             3.3              2.0       -40%
  Context (input)                 74.7k            41.6k       -44%
  Cost                          \$0.0249          \$0.0194       -22%
══════════════════════════════════════════════════════════════════

icm bench-agent --sessions 10 --model haiku

지식 보존

에이전트가 세션 간에 밀도 높은 기술 문서에서 특정 사실을 회상합니다. 세션 1은 읽고 기억하며; 세션 2+는 소스 텍스트 없이 10개의 사실적 질문에 답합니다.

ICM Recall Benchmark (10 questions, model: haiku, 5 runs averaged)
══════════════════════════════════════════════════════════════════════
                                               No ICM     With ICM
──────────────────────────────────────────────────────────────────────
Average score                                      5%          68%
Questions passed                                 0/10         5/10
══════════════════════════════════════════════════════════════════════

icm bench-recall --model haiku

로컬 LLM (ollama)

로컬 모델로 동일한 테스트 — 순수 컨텍스트 주입, 도구 사용 필요 없음.

Model               Params   No ICM   With ICM     Delta
─────────────────────────────────────────────────────────
qwen2.5:14b           14B       4%       97%       +93%
mistral:7b             7B       4%       93%       +89%
llama3.1:8b            8B       4%       93%       +89%
qwen2.5:7b             7B       4%       90%       +86%
phi4:14b              14B       6%       79%       +73%
llama3.2:3b            3B       0%       76%       +76%
gemma2:9b              9B       4%       76%       +72%
qwen2.5:3b             3B       2%       58%       +56%
─────────────────────────────────────────────────────────

scripts/bench-ollama.sh qwen2.5:14b

테스트 프로토콜

모든 벤치마크는 실제 API 호출을 사용합니다 — 목(mock) 없음, 시뮬레이션된 응답 없음, 캐시된 답변 없음.

  • 에이전트 벤치마크: 임시 디렉터리에 실제 Rust 프로젝트를 생성합니다. claude -p --output-format json으로 N개의 세션을 실행합니다. ICM 없이: 빈 MCP 설정. ICM 있이: 실제 MCP 서버 + 자동 추출 + 컨텍스트 주입.
  • 지식 보존: 가상의 기술 문서("Meridian Protocol")를 사용합니다. 예상 사실에 대한 키워드 매칭으로 답변 채점. 호출당 120초 타임아웃.
  • 격리: 각 실행은 자체 임시 디렉터리와 새로운 SQLite DB를 사용합니다. 세션 지속성 없음.

멀티 에이전트 통합 메모리

17개 도구 모두 동일한 SQLite 데이터베이스를 공유합니다. Claude가 저장한 메모리는 즉시 Gemini, Codex, Copilot, Cursor 및 모든 다른 도구에서 사용할 수 있습니다.

ICM Multi-Agent Efficiency Benchmark (10 seeded facts, 5 CLI agents)
╔══════════════╦═══════╦══════════╦════════╦═══════════╦═══════╗
║ Agent        ║ Facts ║ Accuracy ║ Detail ║ Latency   ║ Score ║
╠══════════════╬═══════╬══════════╬════════╬═══════════╬═══════╣
║ Claude Code  ║ 10/10 ║   100%   ║  5/5   ║    ~15s   ║   99  ║
║ Gemini CLI   ║ 10/10 ║   100%   ║  5/5   ║    ~33s   ║   94  ║
║ Copilot CLI  ║ 10/10 ║   100%   ║  5/5   ║    ~10s   ║  100  ║
║ Cursor Agent ║ 10/10 ║   100%   ║  5/5   ║    ~16s   ║   99  ║
║ Aider        ║ 10/10 ║   100%   ║  5/5   ║     ~5s   ║  100  ║
╠══════════════╬═══════╬══════════╬════════╬═══════════╬═══════╣
║ AVERAGE      ║       ║          ║        ║           ║   98  ║
╚══════════════╩═══════╩══════════╩════════╩═══════════╩═══════╝

점수 = 60% 회상 정확도 + 30% 사실 세부 정보 + 10% 속도. 98% 멀티 에이전트 효율성.

ICM을 선택하는 이유

기능ICMMem0EngramAgentMemory
도구 지원17SDK만~6-8~10
원커맨드 설정icm init수동 SDK수동수동
훅 (시작 시 자동 회상)5개 도구없음MCP 통해1개 도구
하이브리드 검색 (FTS5 + 벡터)30/70 가중치벡터만FTS5만FTS5+벡터
다국어 임베딩100+ 언어 (768d)상황에 따라없음영어 384d
지식 그래프Memoir 시스템없음없음없음
시간적 감쇠 + 통합접근 인식없음기본기본
TUI 대시보드icm dashboard없음있음웹 뷰어
도구 출력에서 자동 추출3 레이어, 제로 LLM없음없음없음
피드백/수정 루프icm_feedback_*없음없음없음
런타임Rust 단일 바이너리PythonGoNode.js
로컬 우선, 제로 의존성SQLite 파일클라우드 우선SQLiteSQLite
멀티 에이전트 회상 정확도98%N/AN/A95.2%

문서

문서설명
통합 가이드17개 도구 모두 설정: Claude Code, Copilot, Cursor, Windsurf, Zed, Amp 등
기술 아키텍처크레이트 구조, 검색 파이프라인, 감쇠 모델, sqlite-vec 통합, 테스트
사용자 가이드설치, 토픽 구성, 통합, 추출, 문제 해결
제품 개요사용 사례, 벤치마크, 대안과의 비교

라이선스

Source-Available — 개인 및 20명 이하 팀에게 무료. 대규모 조직은 엔터프라이즈 라이선스 필요. 문의: contact@rtk-ai.app