3.3 KB · updated 2026-07-31 · md

v0.20.2.ja.md

docs/i18n/release-notes/v0.20.2.ja.md

Tesserae v0.20.2 — モデルがすべてを読むようになりました

<!-- translations:start -->

English · 한국어 · 中文 · Русский · Español · Français · Deutsch

<!-- translations:end -->

Released 2026-07-14 · PyPI · GitHub release · pip install --upgrade tesserae==0.20.2

長時間セッション修正の後半です。v0.20.1 は 300 ターンの*インポート*上限を撤廃し、完全な会話履歴がストアに届くようになりました。今回のリリースは*消費*側を修正し、その履歴を読むすべての LLM が — 総長にかかわらず — 実際にすべてを読むようにします。

0.20.1 の後もまだ間違っていたこと

  • セッション抜粋が収まるように切り詰められていた: プロジェクトあたり 24,000 文字のホライズンを超えると、サマリーは "…more sessions omitted for length" とともにセッションを丸ごと落としていました — モデルはそれらを一度も見ていませんでした。
  • 無制限のプロンプトが 1 つ: サマリーのナラティブとエージェント決定のマイニングは、それぞれすべてを単一の LLM 呼び出しで送信していました — 忙しいウィンドウでは、どのコンテキストウィンドウよりも大きくなります。
  • max_turns_per_chunk はサイズではなくターン数をカウントしていた: 30 ターンが 1 つの 500KB のツールダンプを運ぶこともあり、セッショングラフ抽出のチャンクは依然としてオーバーフローする可能性がありました。

変更点

新しい tesserae/llm_chunking.py: 決定論的なブロックパッカーと、保守的なコンテキスト予算(48,000 文字 ≈ 12k トークン; TESSERAE_LLM_CHUNK_CHARS で調整可能)にサイズ調整された map-reduce ランナーです。セッション履歴のすべての LLM コンシューマーは、予算サイズのチャンクを反復するようになりました — PART i/N の map 呼び出し、その後に階層的なマージ — 切り詰めマーカーは消え、単一の巨大なターンはオーバーフローする代わりにチャンク間で行分割され、小さな入力は従来どおりの単一呼び出しパスを維持します。

--max-turns はスキャンメモリのガードとしてのみ残ります — モデルが読む範囲を制限することはもうありません。

要件に対して直接検証済み: 600KB のセッション履歴 → 82 回の制限付き呼び出し(8,000 文字のテスト予算に対して最大プロンプト 7,525 文字)→ すべてのセッションが反映された 1 つのマージ済みナラティブ。受け入れテストは、旧来の切り詰めホライズンを超えた*最後の*セッションに決定を仕込みます — 修正前のコードでは失敗します。