You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> "how to consolidate without catastrophic loss, how to retrieve by cause rather than similarity, how to reflect without entrenching errors, and how to forget safely"
15
16
> — [Memory for Autonomous LLM Agents (2026)](https://arxiv.org/html/2603.07670)
16
17
17
-
저장과 검색은 발전했지만, **학습, 망각, 구조화**는 아직 미해결이다.
18
+
저장과 검색은 발전했지만, **학습, 망각, 구조화**는 아직 미해결이다. 그리고 하나 더 — 대부분의 시스템이 **"에이전트가 대화하면서 축적한 메모리"** 만 다루고, **임의의 기업 데이터(CSV, PDF, DB 덤프)**를 그래프로 흡수해 같은 검색 파이프라인에서 다루는 통합된 기질(substrate)은 드물다.
Intent별로 resonance 가중치가 다르다. `past_failures`는 importance(성공률)에 0.35를, `context_explore`는 context(태그 친화도)에 0.40을 준다. 하나의 그래프에서 쿼리 시점에 전략만 바꾸므로 MAGMA 같은 multi-graph 유지 비용이 없다.
139
+
Intent는 `similar_decisions | past_failures | related_rules | reasoning_chain | context_explore | general` 6종. 각각 5축 resonance 가중치(relevance / importance / recency / vitality / context)와 spreading activation 감쇠율이 다르다. `past_failures`는 importance(성공률)에 0.25를, `context_explore`는 spread factor에 0.75를 준다. 하나의 그래프에서 쿼리 시점에 전략만 바꾸므로 MAGMA 같은 multi-graph 유지 비용이 없다.
-`QueryRewriter` — 검색어 재작성 (stage 3 폴백, 결과 부족 시에만)
173
-
-`EmbeddingProvider` — 벡터 임베딩 생성 (벡터 검색 사용 시에만)
174
-
-`Digester` — 구조화 컨텍스트에서 노드/엣지 추출 (consolidation 시 선택적)
180
+
*Cross-encoder는 로컬 모델. LLM API 호출 아님.
181
+
182
+
LLM이 관여하는 지점은 **사용 시점**뿐이다:
183
+
- 에이전트가 `search` / `deep_search` / `filter_nodes` 등 MCP 도구를 호출
184
+
- LLM이 결과를 읽고 판단·합성
185
+
186
+
즉, 지식의 **관리**는 규칙 기반이고, 지식의 **사용**만 LLM이 한다. 이 분리가 비용·지연·hallucination 문제를 동시에 해결한다.
187
+
188
+
또한 임베더/리랭커는 **torch 의존성 0** 원칙으로 BYO(Bring-Your-Own)다. Ollama, TEI, OpenAI API 등 HTTP endpoint만 있으면 주입 가능. 덕분에 `pip install synaptic-memory` 코어가 수 MB에 머무른다.
`from_data("./hr_data/", profile="profiles/hr.toml")` 한 줄이면 위 설정이 인덱싱·검색 전체 파이프라인에 적용된다. 같은 라이브러리로 법률·의료·전자상거래 도메인을 각각 TOML 한 장으로 전환. Profile은 `profile_generator` 3-tier(rule → classifier → LLM)로 자동 생성도 가능.
249
+
250
+
이로써 "코어 코드에 도메인 종속 로직을 두지 않는다"는 원칙이 실제로 작동한다.
251
+
252
+
---
253
+
254
+
### 3-6. 비정형 + 정형 데이터를 함께 다루지 못한다 (Document-only or KV-only)
255
+
256
+
대부분의 에이전트 메모리는 **텍스트 문서** 또는 **대화 히스토리**만 받는다. 하지만 실제 기업에서 가장 중요한 지식은:
257
+
-**비정형**: 정책 문서, 매뉴얼, 회의록, PDF, 마크다운
258
+
-**정형**: 제품 DB, 직원 테이블, 주문 이력, 스펙 시트, CSV/Parquet
259
+
260
+
두 종류가 **하나의 그래프** 안에 섞여 있어야 "이 직원이 담당한 프로젝트와 관련된 회의록은?" 같은 질의가 가능하다.
261
+
262
+
**HippoRAG / Mem0 / A-MEM / MAGMA**: 텍스트만 다룬다. 테이블 행을 넣으려면 사용자가 직접 자연어로 변환해야 한다.
263
+
**Zep**: 에피소드 = 대화 메시지. 기업 DB ingestion 경로 없음.
264
+
**Letta/MemGPT**: core/archival 전부 텍스트 블록.
265
+
266
+
#### Synaptic Memory의 접근
267
+
268
+
`TableIngester` + `DBIngester` 가 CSV/Parquet/PostgreSQL 테이블을 **typed property 노드**로 전환한다. 각 행은 ontology type 을 갖는 노드가 되고, 외래키는 그래프 엣지가 된다. 그리고 3개의 정형 전용 MCP 도구가 LLM에 노출된다:
**✅** = 완전 지원 / **△** = 부분 지원 또는 제한적 / **✗** = 미지원
247
369
248
370
---
249
371
250
-
## 5. 포지셔닝
372
+
## 6. 포지셔닝
251
373
252
-
Synaptic Memory는 기존 연구의 개별 아이디어를 조합한 것이 아니라, **뇌의 작동 원리를 일관되게 적용한 통합 시스템**이다:
374
+
Synaptic Memory는 기존 연구의 개별 아이디어를 조합한 것이 아니라, **뇌의 작동 원리**와 **범용 검색 기질** 이라는 두 축을 일관되게 적용한 통합 시스템이다.
253
375
376
+
**뇌 쪽 영감:**
254
377
-**HippoRAG**에서 spreading activation의 가치를 확인했지만, "읽기 전용"이라는 한계를 넘어 **쓰기(활동 기록) + 학습(Hebbian) + 망각(consolidation)**을 추가
255
378
-**Zep**에서 temporal KG의 가치를 확인했지만, 시간만 추적하는 한계를 넘어 **사용 패턴(access_count, success_rate) 기반 생명주기**를 구현
256
379
-**MAGMA**에서 intent-aware retrieval의 가치를 확인했지만, 4개 그래프 유지 비용을 회피하고 **하나의 그래프에서 intent별 전략 전환**으로 해결
257
-
-**시맨틱 웹**에서 온톨로지의 가치를 가져왔지만, OWL/RDF의 복잡도를 피하고 **Python dataclass + Protocol 기반 경량 타입 시스템**으로 구현
380
+
-**시맨틱 웹**에서 온톨로지의 가치를 가져왔지만, OWL/RDF의 복잡도를 피하고 **Python dataclass + TOML DomainProfile 기반 경량 타입 시스템**으로 구현
381
+
382
+
**범용 기질 쪽:**
383
+
-**GraphRAG 계열**이 문서 인덱싱에 LLM을 필수로 쓰는 것을 회피하고, BM25 + HNSW + MENTIONS phrase hub 로 **LLM-free indexing** 을 달성
384
+
-**정형 + 비정형**을 같은 그래프에 올려서, 문서 검색과 SQL-like 연산을 같은 에이전트가 자연스럽게 사용할 수 있게 함
385
+
-**BYO embedder/reranker** 로 torch 의존성을 제거, 코어를 가볍게 유지하면서도 Ollama·TEI·API 등 사용자가 고른 런타임을 그대로 쓰게 함
386
+
-**`from_data()` 2줄** 로 진입 장벽을 낮추고, 복잡한 튜닝은 DomainProfile TOML 로 옵트인
258
387
259
-
핵심 차별점은 **LLM 의존도**: 기존 시스템들이 메모리의 핵심 연산(추출, 업데이트, 조직화)에 LLM을 필수로 사용하는 반면, Synaptic Memory는 코어가 순수 Python이다. LLM은 에이전트가 지식을 **사용**하는 시점에만 관여하고, 지식의 **관리**(학습, 정리, 검증)는 규칙 기반으로 작동한다.
388
+
핵심 차별점은 **LLM 의존도**다. 기존 시스템들이 메모리의 핵심 연산(추출, 업데이트, 조직화)에 LLM을 필수로 사용하는 반면, Synaptic Memory는 **인덱싱에 LLM 비용 0원** 이다. LLM은 에이전트가 지식을 **사용**하는 시점(검색 결과 해석, 도구 호출, 답변 합성)에만 관여하고, 지식의 **관리**(학습, 정리, 검증, 인덱싱)는 규칙·통계 기반으로 작동한다.
0 commit comments