Skip to main content
어떤 메모리는 자연스럽게 그래프 모양입니다. Alice → works at → Acme, Order 42 → refunded on → 2026-07-15 처럼요. 이를 관계 트리플로 저장하면 Agent가 걸어 다닐 수 있습니다. 구조 질문에 답하려고 관계를 따라가죠.

언제 관계 그래프가 맞나

이 정보를 자유 텍스트 노트로 저장하고 리트리벌이 찾게 해도 됩니다. 됩니다. 하지만 이럴 때는 관계 그래프가 낫습니다.
  • Agent가 여러 홉 질문에 답해야 할 때(“Alice와 같은 회사에서 일하는 다른 사람은?”).
  • 안정된 ID를 가진 정본 엔티티가 있을 때(고객, 제품, 티켓, 프로젝트).
  • 관계를 거르거나 집계 해야 할 때(“이번 분기에 환불을 몇 건 했나?”).

구성

트리플은 (subject, relationship, object) 입니다. subject와 object는 둘 다 ID를 가진 엔티티고, relationship은 이름 붙은 엣지 타입입니다.
엔티티는 ID 말고도 속성(name, created_at, 커스텀 필드)을 가질 수 있습니다.

그래프 메모리 스페이스 만들기

메모리 스페이스를 만들 때 Index 타입을 고르고 Graph mode를 켭니다. 표준 벡터 인덱스 위에 엔티티/관계 모델을 켭니다.

트리플 쓰기

Agent로:
  • remember_fact 도구를 subject, relationship, object와 함께 씁니다.
  • 또는 스페이스에 Auto-extract triples를 켜면, Nora가 자유형 Agent 노트에서 엔티티와 관계를 자동으로 뽑습니다.
CLI로:

순회

그래프 스페이스에 붙으면 Agent가 도구 두 개를 얻습니다.
  • recall_facts ID나 이름으로 엔티티에 대한 사실을 리트리벌합니다.
  • traverse 엣지를 따라갑니다. “Alice가 어디서 일해?” 를 물으면 (entity, path) 쌍 묶음으로 답합니다.
그래프 스페이스가 붙으면 두 도구가 자동으로 더해집니다.

양방향 엣지

관계를 대칭으로 표시할 수 있습니다(same_as, sibling_of). 그러면 양방향으로 걷습니다. 아니면 방향을 두고(works_at, parent_of) 정해진 역(employs, child_of)과 짝지웁니다. 스페이스 스키마에서 관계 타입마다 정합니다.

엔티티 해소

같은 엔티티를 여러 번 말한 것은 같은 노드로 모아야 합니다. Nora가 자동으로 모읍니다.
  • 정확한 ID 매치.
  • 별칭 매치(엔티티마다 별칭 목록).
  • 유사도 임계값을 넘는 퍼지 이름 매치(조정 가능).
손으로 합칠 수도 있습니다. Space → Entities → 중복 선택 → Merge 입니다.

모순

새 트리플이 기존과 부딪히면(works_at이 Acme 였는데 새 트리플이 Beta), Nora는 조용히 덮어쓰지 않습니다. 리뷰용으로 모순을 표시하거나, auto-supersede on conflict를 켜면 새 트리플이 이기고 옛것은 이력이 됩니다.

관계 그래프와 인과 그래프

관계 그래프 메모리는 Agent가 쌓는 엔티티-관계 데이터입니다. 인과 그래프(인과 그래프 개요 참고)는 검증과 분석에 쓰는, 여러분이 만든 원인-결과 변수 그래프입니다. 다른 도구, 다른 작업이고, 둘 다 쓸 수 있습니다.