AI 통합

8. Recall — AI 가 맥락을 가져오는 방식

8.1 한 줄 정의

recall(query, mode, scope, max_tokens) — 사용자의 워크스페이스에서 블록 단위로 매칭 해서, 토큰 예산 안에 가장 관련 있는 블록 + 그 인접 블록 을 묶어 돌려주는 도구. v3 의 핵심 retrieval 채널.

8.2 응답 모드 (token budget)

mode 토큰 / hit 용도
titles ~30 "이 토픽 워크스페이스에 있나" 싸게 probe
summary ~150 대화에 짧게 인용
blocks (default) 가변 매칭 블록 + 인접 블록 — 일반 답변용
full 전체 본문 — 사실 검증, 긴 노트 재작성용. 자주 쓰지 말 것

8.3 Scope (v3.0 Phase 3)

  • scope: 'pages' — 페이지(notes)만 검색.
  • scope: 'raws' — 원본(raw_items)만 검색.
  • scope: 'both' (default) — 둘 다. 결과는 kind: 'page' | 'raw' 로 구분되어 옵니다.

원본은 보통 사용자가 직접 안 봅니다. AI 가 분기 전 원본을 다시 확인 하고 싶을 때만 raws 또는 both 로 부릅니다.

8.4 Hop expansion (그래프 따라가기)

Top hit 의 멘션 칩을 따라 부모/자식/백링크 페이지가 추가로 끌려옵니다. 이게 임베딩 없이도 의미적으로 가까운 페이지를 가져오는 메커니즘. Hop 은 페이지 간에서만 동작합니다 — 원본은 칩이 거의 없으니까.

8.5 mention_md 자동 첨부

모든 hit 에 mention_md 가 따라옵니다. AI 가 페이지 본문을 작성하면서 방금 발견한 페이지를 인용 하려면 그 문자열을 그대로 붙이면 됩니다. UUID 를 손으로 만들지 않습니다.

8.6 사용 패턴 (시스템 프롬프트 권장)

  • 사용자가 과거 맥락 을 언급하면 → recall(query, mode='blocks', max_tokens=8000).
  • 페이지를 새로 작성하기 직전recall(query=concept names, mode='titles') 로 멘션 박을 페이지를 찾기.
  • 같은 대화 안에서 같은 토픽으로 두 번 부르지 말 것 — 첫 결과를 컨텍스트에 살려두세요.