samvallad33/vestige

Vestige enhances agents by deterministic root-cause retrieval that reaches backward through time to find the quiet change, decision, or service that caused today’s failure, not the lookalike.

Vestige – AI 지원 개발자를 위한 로컬 우선 메모리

무엇인가요 – Vestige는 오픈소스이며 로컬에서 실행되는 메모리 계층으로, 대규모 언어 모델(LLM) 코딩 에이전트(Claude Code, Claude Desktop, Codex, Cursor 등)가 코드베이스에 대한 "기억"을 저장하고 검색할 수 있게 해줍니다. 작업 중에 결정사항, 설정 선택, 기타 맥락 정보를 기록한 후, 장애가 발생했을 때 단순한 유사성 검색이 아닌 인과적-시계열적 링크를 사용하여 가장 관련 있는 정보를 다시 제시합니다.


핵심 아이디어 (README에서)

개념 Vestige의 구현 방식
예측 오차 게이팅 새로운 사실만 기록되며, 중복된 사실은 통합되고 모순된 사실은 경고됨.
후행적 중요성 백필 버그가 보고되면 Vestige는 메모리 그래프를 거슬러 올라가, 실패에 기여한 이전 사실의 중요성을 높임.
간격 반복 페이딩 (FSRS-6) 사용되지 않은 기억은 점차 가중치를 잃어 저장소를 작게 유지함.
이중 강도 저장 "저장 강도"(사실을 얼마나 단단히 유지하는지)와 "검색 강도"(어떻게 쉽게 찾는지)를 별도로 관리.
오프라인 작동 130MB 임베딩 모델과 약 150MB 재정렬 모델을 한 번 다운로드한 후, 네트워크 호출 없이 완전히 로컬에서 작동.

주요 사용자 시각 기능

  • 자동 쓰기 반환: 어떤 MCP 호환 에이전트도 smart_ingest를 호출해 사실을 저장할 수 있으며, Vestige는 그것이 새로운지, 중복인지, 모순인지 판단하여 처리함.
  • 집중적 재기억: recall은 단순히 텍스트가 유사한 것이 아니라, 현재 코드 컨텍스트와 인과적으로 연결된 기억을 반환함.
  • 백필: vestige backfill --contrast는 오류에서 시작해 그 원인이 되었을 가능성이 높은 가장 초기 기억을 제시하며, 수령증(증거 경로)을 함께 제공함.
  • 대시보드: WebGPU 시각화 도구(vestige dashboard)는 실시간으로 메모리 그래프를 표시(1000+ 노드에서 60fps), 짧은 동영상이나 "브레인 프린트"(실제 데이터를 노출하지 않고 그래프 형태만 표현)를 내보낼 수 있음.
  • 프로젝트 투영: 지속적인 결정은 Markdown 규칙 파일(예: CLAUDE.md)로 내보내어 에이전트가 향후 세션에서 존중할 수 있도록 함.
  • 프로 티어 (옵션, 월 19달러): XChaCha20-Poly1305와 Argon2id를 사용한 암호화된, 다중 기기 연속성. 무료 티어는 완전히 오프라인이고 무제한임.

설치 및 빠른 시작 (설명대로)

  1. Node로 MCP 서버를 전역 설치:
    npm install -g vestige-mcp-server@latest
    
  2. 에이전트의 MCP 설정에 서버를 추가 (README에 JSON 예시 있음). README에는 Claude Code, Codex, Cursor, Claude Desktop 등에 대한 정확한 명령어가 나와 있음.
  3. vestige dashboard를 실행하고 http://localhost:3927/dashboard를 열기.
  4. 첫 실행 시 바이너리가 임베딩 및 재정렬 모델을 다운로드함. 이후에는 완전히 오프라인으로 작동함.

일반 RAG와의 차이점

RAG (벡터 유사성) Vestige
쿼리 텍스트와 비슷한 항목을 검색. 인과적 + 시계열적 관계로 연결된 항목을 검색한 후 유사성으로 재정렬.
모순 개념 없음; 중복이 누적됨. 모순 탐지, 중복 통합, 사용되지 않은 기억 페이딩.
데이터는 일반적으로 클라우드 서비스에 저장됨. 모든 데이터는 개발자의 기기에서만 유지됨 (SQLite, 선택적 SQLCipher 암호화).
증상과 관련 없는 버그의 근본 원인을 지정할 수 없음. backfill을 통해 실패를 유발한 결정까지 거슬러 올라가, 수령증 기반 후보 원인 제공.

벤치마크 및 증거 (보고된 내용)

  • 사라진 회전 벤치마크 – 246개의 에이전트 트랜스크립트를 사용해 세 가지 설정(메모리 없음, dense-cosine RAG, Vestige)을 비교.
  • 결과 (각 설정 23회 시도): Vestige는 23회 중 20회에서 정확한 수정에 수렴했으며, 오류 수렴은 0회. 반면 RAG는 정확한 수렴이 4/23, 잘못된 수정이 12/23.
  • 벤치마크는 제공된 Python 스크립트로 몇 초 내에 재현 가능 (see benchmark/silent-rotation).

기술 스택 ("내부 구조" 표에서)

  • 엔진: Rust (약 145k LOC), 단일 ~25MB 바이너리로 컴파일, 2000개 이상의 테스트, clippy 정리됨.
  • 검색: Nomic Embed v1.5 (Matryoshka 768→256), USearch HNSW 인덱스, SQLite FTS5; 선택적 Qwen-3 재정렬 모델.
  • 저장소: SQLite (암호화에는 선택적 SQLCipher).
  • 임베딩 모델: 한 번 다운로드 후 영구적으로 오프라인 사용 가능.

누가 이득을 볼 수 있나요?

  • LLM 코딩 어시스턴트를 사용하며 반복적으로 "에이전트의 망각" 문제에 직면하는 개발자.
  • AI 에이전트가 내린 결정의 감사 추적을 필요로 하는 팀 (수령증이 재현 가능한 증거 제공).
  • 엄격한 데이터 프라이버시를 요구하는 사용자 (모든 처리는 기기 내부, API 키 필요 없음).

제한 및 미해결 사항 (인식됨)

  • 시스템은 하위 임베딩 모델과 선택적 재정렬 모델의 품질에 의존함. 이 모델들이 열악하면 유사성 랭킹이 관련 사실을 놓칠 수 있음.
  • "백필" 메커니즘은 기록된 인과 링크의 질에 따라 달라짐. 핵심 결정이 기록되지 않으면 나중에 가져올 수 없음.
  • 메모리를 여러 기기 간에 동기화하는 유일한 방법은 Pro 티어. 무료 티어는 단일 기기 전용.
  • 벤치마크는 저자들이 제시한 것. 보다 넓은 신뢰를 얻기 위해 독립적인 재현이 필요.

라이선스

  • AGPL-3.0 (전체 소스 공개; 상용 사용은 코피레프트 조건 준수 필요).

결론 – Vestige는 연구 기반의 진정한 도구로, LLM 코딩 에이전트에 인과적, 로컬 메모리 그래프를 추가하여, 결정의 이유를 기억하고 장애 발생 시 해당 맥락을 제시함으로써 반복적인 실수를 제거하는 것을 목표로 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트