eidetic은(는) 무엇을 하나요?
AI 에이전트를 위한 두 번째 뇌: 자동 메모리 주입, FTS5/벡터/코드 검색, 복합화, 드리프트 감지, MCP 및 선택적 Obsidian 내보내기.
개요
LARIkoz/eidetic은 AI 에이전트(Claude Code, Cursor, Codex 등)가 작업 중에 관련 메모리를 자동으로 주입하고 검색할 수 있는 '두 번째 뇌' 시스템입니다. 이는 에이전트가 컨텍스트를 잃지 않고 장기 작업을 수행할 수 있도록 돕습니다.
주요 기능
- 자동 메모리 주입: 에이전트가 작업을 수행하는 동안 관련 메모리를 자동으로 검색하여 컨텍스트에 주입합니다.
- 다중 검색 방식:
- FTS5(전문 검색) - 텍스트 기반 빠른 검색
- 벡터 검색 - 의미 기반 유사도 검색
- 코드 검색 - 코드 패턴 및 구조 검색
- 메모리 복합화: 여러 관련 메모리를 하나의 요약된 메모리로 결합하여 저장 공간을 최적화합니다.
- 드리프트 감지: 에이전트의 행동 패턴 변화를 감지하여 메모리 업데이트가 필요한 시점을 알립니다.
- MCP(Model Context Protocol) 지원: 표준화된 컨텍스트 교환 프로토콜을 통해 다양한 도구와 통합됩니다.
- 선택적 Obsidian 내보내기: 메모리를 Obsidian 노트 형식으로 내보내어 사용자가 직접 검토하고 편집할 수 있습니다.
지원 플랫폼
- Claude Code
- Cursor
- Codex
- 기타 MCP 호환 AI 에이전트
설치 및 설정
사전 요구 사항
- Node.js 18 이상
- npm 또는 yarn
- (선택 사항) Obsidian 앱 - 내보내기 기능 사용 시
설치
npm install @lari/koz-eidetic
# 또는
yarn add @lari/koz-eidetic
환경 변수 설정
# 필수
EIDETIC_DB_PATH=./eidetic_memory.db
EIDETIC_MODEL_PATH=./models/all-MiniLM-L6-v2
# 선택 사항
EIDETIC_OBSIDIAN_VAULT_PATH=/path/to/obsidian/vault
EIDETIC_AUTO_INJECT=true
EIDETIC_DRIFT_THRESHOLD=0.8
사용법
기본 메모리 저장 및 검색
import { Eidetic } from '@lari/koz-eidetic';
const eidetic = new Eidetic();
// 메모리 저장
await eidetic.store('사용자 선호도: 선호하는 언어는 TypeScript입니다.');
// 메모리 검색
const memories = await eidetic.search('TypeScript')
console.log(memories);
AI 에이전트와 통합
// MCP를 통해 Claude Code와 통합
import { MCPClient } from '@lari/koz-eidetic/mcp';
const client = new MCPClient();
await client.connect();
// 에이전트에게 메모리 주입
await client.injectMemory('현재 프로젝트는 React와 TypeScript를 사용합니다.');
// 관련 메모리 검색
const context = await client.retrieveContext();
API 참조
| 메서드 | 설명 |
|---|---|
store(content) | 새 메모리 저장 |
search(query) | 관련 메모리 검색 |
inject(context) | 에이전트 컨텍스트에 메모리 주입 |
compound() | 유사 메모리 복합화 |
detectDrift() | 드리프트 감지 실행 |
exportObsidian() | 메모리를 Obsidian 형식으로 내보내기 |
구성 옵션
| 옵션 | 유형 | 기본값 | 설명 |
|---|---|---|---|
dbPath | string | ./eidetic.db | 메모리 데이터베이스 경로 |
autoInject | boolean | true | 자동 메모리 주입 활성화 |
driftThreshold | number | 0.8 | 드리프트 감지 임계값 |
obsidianVault | string | undefined | Obsidian 볼트 경로 |
searchMethod | string | 'fts5' | 기본 검색 방식 (fts5, vector, code) |
기여
기여는 언제나 환영합니다! 자세한 내용은 기여 가이드를 참조하세요.
라이선스
MIT