언제 관계 그래프가 맞나
이 정보를 자유 텍스트 노트로 저장하고 리트리벌이 찾게 해도 됩니다. 됩니다. 하지만 이럴 때는 관계 그래프가 낫습니다.- Agent가 여러 홉 질문에 답해야 할 때(“Alice와 같은 회사에서 일하는 다른 사람은?”).
- 안정된 ID를 가진 정본 엔티티가 있을 때(고객, 제품, 티켓, 프로젝트).
- 관계를 거르거나 집계 해야 할 때(“이번 분기에 환불을 몇 건 했나?”).
구성
트리플은(subject, relationship, object) 입니다. subject와 object는 둘 다 ID를 가진 엔티티고, relationship은 이름 붙은 엣지 타입입니다.
그래프 메모리 스페이스 만들기
메모리 스페이스를 만들 때 Index 타입을 고르고 Graph mode를 켭니다. 표준 벡터 인덱스 위에 엔티티/관계 모델을 켭니다.트리플 쓰기
Agent로:remember_fact도구를subject,relationship,object와 함께 씁니다.- 또는 스페이스에 Auto-extract triples를 켜면, Nora가 자유형 Agent 노트에서 엔티티와 관계를 자동으로 뽑습니다.
순회
그래프 스페이스에 붙으면 Agent가 도구 두 개를 얻습니다.recall_factsID나 이름으로 엔티티에 대한 사실을 리트리벌합니다.traverse엣지를 따라갑니다. “Alice가 어디서 일해?” 를 물으면(entity, path)쌍 묶음으로 답합니다.
양방향 엣지
관계를 대칭으로 표시할 수 있습니다(same_as, sibling_of). 그러면 양방향으로 걷습니다. 아니면 방향을 두고(works_at, parent_of) 정해진 역(employs, child_of)과 짝지웁니다.
스페이스 스키마에서 관계 타입마다 정합니다.
엔티티 해소
같은 엔티티를 여러 번 말한 것은 같은 노드로 모아야 합니다. Nora가 자동으로 모읍니다.- 정확한 ID 매치.
- 별칭 매치(엔티티마다 별칭 목록).
- 유사도 임계값을 넘는 퍼지 이름 매치(조정 가능).
모순
새 트리플이 기존과 부딪히면(works_at이 Acme 였는데 새 트리플이 Beta), Nora는 조용히 덮어쓰지 않습니다. 리뷰용으로 모순을 표시하거나, auto-supersede on conflict를 켜면 새 트리플이 이기고 옛것은 이력이 됩니다.