AI에게 코드를 다시 설명하는 것을 멈추세요: 로컬‑퍼스트 ‘장기 기억’ 엔진을 구축한 방법
Source: Dev.to
문제: AI 기억 상실
우리 모두 겪어봤을 겁니다: 복잡한 프로젝트를 진행하면서 12번째 채팅에 이르렀을 때. 아키텍처, 데이터베이스 스키마, 그리고 새벽 2시에 겨우 고친 그 까다로운 버그까지 설명했죠. 그런데 새 채팅을 열면 AI가 처음부터 시작합니다. 다음 20분을 다시 모든 것을 설명하는 데 쓰게 됩니다.
이 “컨텍스트 파산”에 지쳐서 SYNQ를 만들었습니다.
SYNQ란?
SYNQ는 오픈소스 Chrome 확장 프로그램 + 로컬 백엔드로, AI 어시스턴트(Claude, ChatGPT, Gemini 등)에 지속적인 메모리를 제공합니다. 대화를 캡처하고 의미론적 지식 그래프로 정제한 뒤, 제로‑손실 RAG 파이프라인을 이용해 다음 프롬프트에 자동으로 관련 컨텍스트를 주입합니다.
기술 스택
프라이버시와 속도를 모두 보장하기 위해 완전 로컬‑퍼스트 아키텍처를 선택했습니다:
- Backend: Node.js & Express 5
- Extension: TypeScript & Chrome Manifest V3
- Vector DB: ChromaDB for semantic search
- Graph DB: Neo4j for entity relationship mapping
- Local Embeddings: Ollama (nomic‑embed‑text)
- LLM Processing: Groq LLaMA 3.1 (for high‑speed graph extraction)
제가 자랑하는 핵심 기능
- Zero‑Loss Chunker – 대부분의 RAG 앱이 손실이 있는 LLM 요약을 사용하는 반면, SYNQ는 슬라이딩‑윈도우 청커를 사용해 작은 개인 정보(예: 고양이 이름)까지 보존합니다.
- Auto‑Connect – 실시간으로 프롬프트를 가로챕니다. AI가 메시지를 보기 전에 SYNQ가 가장 관련성이 높은 상위 3개의 “기억”을 조용히 앞에 붙입니다.
- Knowledge Graph – D3.js 로 구축된 그래프로 프로젝트 히스토리를 시각화하고, Database, User Auth, Stripe와 같은 엔티티가 시간에 따라 어떻게 연결되는지 보여줍니다.
- Privacy Scrubbing – API 키와 JWT를 자동으로 마스킹하여 처리 전에 제거합니다.
왜 오픈소스인가?
저는 현재 취업 준비 중인 공학도입니다. 이 프로젝트를 만들면서 제 작업 흐름을 관리하는 데 큰 도움이 되었지만, “컨텍스트 주권”(채팅 히스토리를 LLM 제공자가 아니라 사용자가 소유해야 한다는 개념)이 우리 모두에게 필요하다는 것을 깨달았습니다.
GitHub에서 확인해 보세요:
⭐