13.1 KB · updated 2026-07-06 · md

v0.4.0.ko.md

docs/i18n/release-notes/v0.4.0.ko.md

Tesserae v0.4.0 — 추출-피드백 루프, 리서치 모드, 기본 활성화된 진화

<!-- translations:start -->

English · 中文 · 日本語 · Русский · Español · Français · Deutsch

<!-- translations:end -->

릴리스 일자 2026-05-26 · PyPI · GitHub release · pip install --upgrade tesserae==0.4.0

Tesserae 0.4.0은 지식 기반을 사용자가 교정하고, 성장시키며, 기본적으로 신뢰할 수 있는 것으로 바꿉니다. 헤드라인은 추출-피드백 루프입니다. 사용자가 Obsidian 볼트에서 가하는 교정이 타입드 FeedbackEvent로 수집되고, LLM이 표현한 가이던스로 클러스터링되어 다음 추출에 다시 주입됨으로써 엔진이 같은 실수를 반복하지 않게 됩니다. 이와 함께 리서치 모드(tesserae project research)가 제공됩니다 — dzhng 스타일의 에이전트형 계획 → 검색 → 성찰 → 합성 루프로, 타입드 OpenQuestion / SessionHypothesis 노드를 만들어 리서치 스레드가 컴파일을 가로질러 살아남게 합니다. v0.3.0에서 옵트인이던 두 진화 패스 — 커뮤니티 요약산문-코드 discusses 링커 — 가 이제 기본 활성화되며, LLM 백엔드는 일련의 견고성 수정을 받습니다(~/.claude* 자격 증명 자동 검색, Claude CLI 미로그인 시 우아한 처리). 모두 추가적이며 호환성 변경은 없습니다.

목차:

  1. 추출-피드백 루프 (기능 E)
  2. MD0 — 에이전트형 리서치 모드 (기능 G)
  3. 기본 활성화된 진화 — 커뮤니티 + 인사이트 링크
  4. LLM 백엔드 견고성 + 그래프 뷰 기반 작업
  5. v0.3.0에서 업그레이드
  6. 전략적 맥락

1. 추출-피드백 루프 (기능 E)

무엇인가

사용자와 추출기 사이의 닫힌 교정 루프입니다. Obsidian 볼트에서 노드 본문을 편집하면 — 잘못된 타입 수정, 환각 사실 삭제, 망가진 인사이트 재작성 — Tesserae의 볼트 오버레이가 그 편집을 타입드 FeedbackEvent중복 제거된 JSONL 스토어에 기록합니다. 이 이벤트들은 클러스터링되고, LLM이 각 클러스터를 짧은 추출 가이던스로 표현하며(노이즈가 규칙이 되지 않도록 네거티브 필터 포함), 그 가이던스가 슬라이스되어 다음 컴파일의 프롬프트에 주입됩니다. 결과적으로, 한 번 한 교정은 매 재추출 후 다시 적용할 필요 없이 재발이 멈춥니다.

루프에는 네 가지 움직이는 부분이 있습니다.

부분역할
FeedbackEvent 모델 + JSONL 스토어모든 교정의 내구성 있는 중복 제거 기록.
볼트 오버레이 어댑터Obsidian 볼트를 백싱크하는 동안 교정 이벤트 수집.
가이던스 빌드 (클러스터 + LLM 표현)원시 교정을 캐시되고 재사용 가능한 가이던스로 변환(폴백 및 네거티브 필터 포함).
가이던스 렌더/파싱/슬라이스가이던스를 마크다운으로 렌더링하고 다시 파싱하며, 관련 부분을 각 추출 프롬프트에 슬라이스.

사용 방법

루프는 일반적인 볼트 왕복에 연결되어 있습니다. Obsidian에서 노드를 편집하고 obsidian-sync(또는 리프레시 체인)을 실행하면 교정이 자동으로 수집됩니다. 다음 tesserae project compile에서 누적된 가이던스가 작동합니다.

# 1. Obsidian 볼트에서 노드 본문 편집 (타입 수정, 환각 정리)
# 2. 볼트를 다시 동기화 — 교정이 FeedbackEvent로 수집됨
tesserae project obsidian-sync

# 3. 재컴파일 — 클러스터링된 가이던스가 추출에 주입됨
tesserae project compile

언제 활성화할 것인가

  • 볼트를 손으로 큐레이션하며, 매 컴파일 후 같은 추출 실수가 다시 나타나는 데 지친 경우.
  • 코퍼스가 도메인 특화 표현을 가지고 있어 일반 추출기가 계속 잘못 타이핑하는 경우 — 몇 번의 교정으로 당신의 관례를 가르칩니다.

어디에 있는가

핵심 구현: tesserae/feedback/ (FeedbackEvent 모델, JSONL 스토어, 가이던스 빌드/렌더/파싱/슬라이스)와 볼트 오버레이 수집 경로. 설계 스펙과 7개 작업 TDD 계획은 Codex와 함께 브레인스토밍되어 PR #20으로 병합되었습니다.

유의사항

  • 결정적 베이스라인 추출기는 여전히 LLM 경로를 통해서만 가이던스를 따릅니다. LLM 백엔드가 꺼져 있으면 교정은 기록되지만 아직 재주입되지 않습니다. (결정적 경로에서 가이던스 존중은 후속 작업으로 추적됩니다.)
  • 가이던스는 캐시됩니다. 교정 패턴의 큰 변화는 클러스터가 재형성되면서 완전히 반영되기까지 컴파일 한두 번이 걸릴 수 있습니다.

2. tesserae project research — 에이전트형 리서치 모드 (기능 G)

무엇인가

컴파일된 그래프에 대해 너비/깊이 제한 계획 → 검색 → 성찰 → 합성 루프를 실행하고 인용이 포함된 마크다운 보고서를 .tesserae/research/<slug>.md에 쓰는 새 tesserae project research <query> 서브커맨드입니다. dzhng deep-research 패턴을 모델로 하지만, 열린 웹이 아니라 당신 자신의 지식 기반에 근거합니다.

결정적으로, 루프는 진행하면서 타입드 노드와 엣지를 만들어내므로 이후 컴파일이 리서치 스레드를 복구할 수 있습니다.

  • 하위 질문마다 하나의 OpenQuestion(후속을 위한 metadata.parent_question_idderived_from 엣지 포함),
  • LLM이 생성한 가설마다 하나의 SessionHypothesis(근거로 삼은 증거 노드 id로의 references 엣지 포함),
  • 그리고 (WebFetcher 백엔드가 연결된 경우) 웹 결과마다 하나의 SourceDocument.

모든 백엔드는 Protocol을 통해 주입되므로, 루프는 테스트에서 완전히 결정적이며 페처를 연결하지 않는 한 네트워크를 건드리지 않습니다.

사용 방법

tesserae project research "우리 검색 스택은 후보를 어떻게 순위 매기는가?"
# → .tesserae/research/...md 작성 및 다음 컴파일에서 복구 가능한
#   OpenQuestion / SessionHypothesis 노드 생성

웹 검색은 v1에서 의도적으로 보류됩니다. --no-webWebFetcher 백엔드가 제공될 때까지 전방 호환 no-op입니다.

언제 활성화할 것인가

  • 단일 노드 조회나 평면 ask 답변이 아니라, 당신 자신의 그래프에 대한 인용된 합성을 원하는 경우.
  • 리서치 질문과 가설이 그래프 노드로 영속되어, 미래 세션이 그것을 다시 묻는 대신 그 위에 쌓아 가기를 원하는 경우.

어디에 있는가

핵심 구현: tesserae/research/(LLMJsonClient, LLMWikiMCPServer.search_nodes, ResearchGraphBuilder, stable_id 재사용). CLI 연결: tesserae/cli.pyresearch 서브파서. 12개 테스트가 계획/검색/성찰/합성, 그래프 연결, max_iters 제한, 플래너/합성 실패 폴백을 다룹니다. PR #18로 병합되었습니다.

유의사항

  • v1은 로컬 그래프에 대해서만 합성합니다. 웹 계층은 페처 백엔드가 도착할 때까지 전방 호환 no-op입니다.
  • 원자적 디스크 쓰기는 batch._write_manifest의 PID + 랜덤 임시 접미사 패턴을 사용하므로, 동시 리서치 실행이 충돌하지 않습니다.

3. 기본 활성화된 진화 — 커뮤니티 + 인사이트 링크

v0.3.0에서 옵트인이던 두 패스가 이제 기본 활성화되어, 별도 플래그 없이도 바로 쓸 수 있는 그래프가 더 풍부해집니다.

  • 커뮤니티 요약(PR #14) — Louvain 커뮤니티 탐지와 LLM 요약이 이제 플래그 뒤에 게이트되는 대신 기본 컴파일에서 실행됩니다. 그래프는 기본적으로 클러스터 수준 개요와 함께 제공됩니다.
  • 산문-코드 discusses 링커(PR #13) — v0.3.0의 기능 H 인사이트-심볼 링커(TESSERAE_INSIGHT_SYMBOL_LINK)가 v0.4.0에서 기본 활성화되어, 환경 변수를 설정하지 않아도 세션 발견이 언급하는 코드 심볼에 연결됩니다. (코퍼스가 코드 논의가 거의 없는 대부분 산문인 경우 명시적으로 비활성화할 수 있습니다.)

의도는 첫 컴파일이 이미 커뮤니티 개요와 산문-코드 엣지를 가진 그래프를 생성하여, 각 패스를 발견하고 토글하도록 사용자에게 요구하는 대신 "에이전트에게 곧바로 넘길 준비가 된 자기 개선형 기반" 미션에 부합하게 하는 것입니다.


4. LLM 백엔드 견고성 + 그래프 뷰 기반 작업

LLM 백엔드에 대한 일련의 신뢰성 수정과, 다가오는 그래프 뷰를 위한 스펙입니다.

  • ~/.claude* 자격 증명 자동 검색(PR #19) — 기본 LLM 경로가 이제 ~/.claude* 디렉터리들에서 Claude 자격 증명을 찾아 기본 백엔드의 환경을 채우므로, 다중 계정 머신에서 첫 실행 설정이 덜 까다롭습니다.
  • 우아한 "Claude CLI 미로그인"(PR #17) — Claude CLI가 설치되었지만 인증되지 않은 경우, Tesserae는 컴파일 중간에 충돌하는 대신 실행 가능한 메시지와 함께 깔끔하게 강등됩니다.
  • PostToolUse sync-code hook(PR #15) — v0.3.0의 SessionStart sync-code hook을 보완하여, 세션 내 도구 편집 후에도 코드 그래프가 리프레시됩니다.
  • 그래프 뷰 v1 스펙 — HypePaper 인코딩과 노드 드로어를 Tesserae 사이트로 포팅하는 설계가 Codex와 함께 브레인스토밍되어 스펙 + 계획으로 도착했으며, 뒤따르는 시각적 그래프 작업을 준비합니다.

v0.3.0에서 업그레이드

pip install --upgrade tesserae==0.4.0

업그레이드는 이것이 전부입니다 — v0.4.0은 호환성 변경 없이 추가적입니다. 알아두어야 할 한 가지 동작 변경은 커뮤니티 요약과 산문-코드 discusses 링커가 이제 기본 실행된다는 것입니다. 이전에 이들이 꺼져 있는 데 의존했다면 명시적으로 비활성화하세요.

머슬 메모리에 추가할 새 CLI 서브커맨드:

tesserae project research "<질문>"   # 그래프에 대한 에이전트형 계획→검색→성찰→합성

이제 기본 활성화된 동작(이전에는 옵트인):

  • 커뮤니티 요약(Louvain + LLM).
  • 산문-코드 discusses 엣지(v0.3.0의 TESSERAE_INSIGHT_SYMBOL_LINK 패스).

그 외 모든 것 — graph_ppr, 하이브리드 search_nodes, sync-code, 라이브 SessionStart hook, embedding_status, fresh_insights, 디케이 스코어링, supersedes, schema-drift, 슬래시 커맨드, 위키 / Obsidian 프로젝션 — 은 v0.3.0에서 변경되지 않았습니다.


전략적 맥락

v0.3.0은 산문 결정을 그것을 구현하는 코드 심볼에 연결했습니다. v0.4.0은 기반이 스스로를 교정하고 성장시키기 시작하는 릴리스입니다. 추출-피드백 루프는 "사용자가 한 번 고쳤다"와 "추출기가 그것을 학습한다" 사이의 간극을 닫고, 리서치 모드는 에이전트가 이미 존재하는 것을 수집하는 데 그치지 않고 자신의 타입드 질문과 가설로 그래프를 성장시키게 합니다. 커뮤니티 요약과 discusses 링커를 기본 활성화하는 것은 제품 측면에서 같은 테마입니다 — 엔진은 사용자가 플래그를 찾게 하지 않고 에이전트에게 풍부한 기반을 넘겨야 합니다.

이것은 다리 릴리스입니다. v0.3.0은 타입드 산문-코드 그래프를 증명했고, v0.5.0은 그 전체를 온디맨드 컨텍스트 컴파일러를 갖춘 지속 실행 엔진으로 바꿉니다. v0.4.0은 자기 개선 기둥이 첫 실제 표면(피드백 교정, 에이전트형 리서치 스레드)을 얻는 곳으로, 그 모든 것을 지속적으로 실행하게 하는 v0.5.0 스파인에 앞섭니다.

함께 보기: