tuning.ja.md
docs/i18n/tuning.ja.md
チューニングリファレンス — 環境変数
<!-- translations:start -->
English · 한국어 · 中文 · 日本語 · Русский · Español · Français · Deutsch
<!-- translations:end -->
Tesserae が環境から読み取るすべてのノブ、そのデフォルト値、 および実際に変更する時期について説明します。ここのすべてが必須ではありません: デフォルト値は、単純な tesserae compile が正しく機能するように選択されています。
プロジェクトおよびグローバル設定(.tesserae/config.json、~/.tesserae/config.json) は LLM バックエンド設定に優先権を持ちます;下記の環境変数は、設定の実行でそれら両方に優先します。
お金を費やすフック
Claude Code プラグインはコンパイルをバックグラウンドできるフックを付属します。 費用をかけるものはすべてデフォルトではオフです:
export TESSERAE_HOOK_AUTOCOMPILE=1 # 自動リコンパイルにオプトイン
ゲート:posttooluse-edit.sh(毎回の Edit/Write で起火)および session-end.sh。 ゲートされていません。費用がかからないため:session-start.sh は決定的な tesserae code sync を実行し、pretooluse-compile.sh はあなたが自分で入力した tesserae compile をインターセプトするだけです。
このデフォルトが存在する理由は、代替案が測定されたからです。~/.tesserae の ナレッジベースは $HOME をプロジェクトルートのように見せかけ、フックリゾルバーは 作業ディレクトリから上へ歩んで、最初に見つかった .tesserae/ に到達しました。 そのため、登録されたプロジェクト外のセッションはすべて $HOME に解決され、 ホームディレクトリ全体をコンパイルしました:15k ファイル、795 MB のグラフ、 およそ 10 時間の LLM 費用、それを開始したセッションより長く生き残った デタッチされたプロセスから。
resolve_project_root() は現在、どちらのパスでも $HOME を拒否し、作業ディレクトリに フォールバックする代わりに空を返します。そのため、呼び出し側は推測する代わりに 何もしません。バックグラウンドでモデルワークを行うフックは、請求が到着した後に オフにスイッチするのではなく、意図的にオンに切り替えるべきです。
抽出
TESSERAE_EXTRACT_TIMEOUT
デフォルト 1800(秒)、試行ごと。 各 codex/claude 抽出呼び出しを制限し、 wedged CLI 子プロセスがコンパイルをハングさせないようにします。
これは実際に起こりました:コンパイルが 5 h 43 m の間 0% CPU で 観察され、4 h 6 m の間アイドル状態の codex exec 子プロセスが背後にあり、 .tesserae/compile.lock をずっと保持していました。 すでにメモリ内に 32 個のコミュニティサマリーを構築していましたが、 それらを永続化することはできませんでした。
試行ごと、ドキュメントごとではありません。タイムアウト時に、クライアントは次の CODEX_HOME / claude 設定ディレクトリにローテーションするため、 1 つのドキュメントの最悪のケースは timeout × 設定されたプロファイル です。
export TESSERAE_EXTRACT_TIMEOUT=3600 # 非常に大きなドキュメントのためのより多くの余裕
export TESSERAE_EXTRACT_TIMEOUT=0 # 制限なし—完了まで実行
設定されているが使用不可な値(10m、600s、負、inf)は stderr に警告し、 デフォルトを保つ。タイプミスがセーフティバルブをサイレントに無効にしてはいけません。
TESSERAE_EXTRACT_CONCURRENCY
デフォルト 4。 並行して抽出されたドキュメント。各々はおよそ 1 分かかる ブロッキング CLI サブプロセスであるため、シーケンシャルループは壁時計を すべてのモデルラウンドトリップの文字通りの合計にします— 161 個のドキュメントで ~2 h 40 m として測定されました。
上限はあなたのマシンではなく、プロバイダーアカウントのレート制限です。 これが デフォルト値が控えめである理由です。 厳密にシーケンシャルな動作のために 1 に設定します。
並行性は出力を変更することはありません:作業リストは経路順で固定され、 結果はインデックスで収集されるため、並行実行はシーケンシャル実行と バイト単位で同じです。
TESSERAE_LLM_CACHE
デフォルトオン。 CLI プロバイダー応答のコンテンツアドレス指定キャッシュは、 ~/.tesserae/llm_cache の下にあり、(ドキュメント、種類、ガイダンス) およびモデルと推理努力によってキー付けされます—したがって、 モデルを切り替えると、前のモデルの回答を供給する代わりに再度質問します。 解析可能な応答のみが保存されるため、1 つの悪い生成も永続的になることはできません。
export TESSERAE_LLM_CACHE=0 # 常に再度質問
TESSERAE_LLM_CHUNK_CHARS
ドキュメントが 1 回の呼び出しに対して大きすぎる場合のチャックあたりの文字数。 コンテキスト制限に達していない限り、設定されていないままにしておきます。
LLM バックエンド
| 変数 | デフォルト | 注記 |
|---|---|---|
TESSERAE_LLM_PROVIDER | claude | codex、claude、anthropic、custom |
TESSERAE_LLM_MODEL | プロバイダー固有 | プロバイダーによってスコープされるため、claude 型のモデルが codex パスに落ちることはありません |
TESSERAE_CODEX_REASONING_EFFORT | medium | 構造化抽出は、インタラクティブな作業のために設定される可能性のある xhigh を必要としません—xhigh はマルチドキュメントコンパイルを何倍も遅くします |
tesserae config status は解決されたバックエンドを出力し、生存性をチェックします。
コンパイルパス
| 変数 | デフォルト | 何を制御するか |
|---|---|---|
TESSERAE_COMMUNITY_SUMMARIES | オン | GraphRAG スタイルのサマリーパス。≥ 5 メンバーのクラスタあたり LLM 呼び出し 1 回、メンバーシップダイジェストでキャッシュ。false/0/no/off で無効化 |
TESSERAE_ENABLE_LLM_PASSES | オフ | 抽出以外のオプションの LLM 拡張パス |
TESSERAE_AGENT_DISTILL | オフ | エージェントごとの L1 専門知識アーティファクト(tesserae distill) |
TESSERAE_RUNBOOK_DISTILLATION | オフ | Runbook/Gotcha 蒸留メモリノード |
TESSERAE_INSIGHT_SYMBOL_LINK | オン | セッション洞察をコードシンボルにリンク |
TESSERAE_SUPERSEDE_PASS | オン | 修正されたクレーム間の superseded_by エッジ |
TESSERAE_PROMPT_SIGNATURES | オフ | ドリフト検出のためのプロンプトシグネチャの記録 |
TESSERAE_COMPILE_LOCK_WAIT | — | .tesserae/compile.lock を待つまでの秒数 |
コミュニティサマリーについて: コンパイルパスは最も粗い粒度を積極的にカバーします; graph_map はさらに、冷たいスコープに最初に下降するときに、サマリーを遅延して具体化し、 レベルごとにキャッシュします。パスをオフにすることは正当なコスト戦略です— 実際にアクセスするブランチにのみ料金を支払います—ただし 1 つの注意があります: 連合下降は遅延具体化を行いません。 兄弟プロジェクトのカードは、 そのインビデオサマリーまたは既にウォームなキャッシュからのみ命名できるため、 クロスプロジェクトナビゲートするプロジェクトはイーグルパスをオンにしたいです。
クエリと合成
| 変数 | デフォルト | 注記 |
|---|---|---|
TESSERAE_QUERY_LLM | オフ | tesserae query の LLM プランナー |
TESSERAE_QUERY_DRY_RUN | オフ | モデルを呼び出さずにプラン |
TESSERAE_SYNTHESIS_LLM | オフ | tesserae ask での散文合成 |
TESSERAE_SYNTHESIS_MODEL | — | 合成モデルのオーバーライド |
TESSERAE_SYNTHESIS_WORKERS | — | 並行合成ワーカー |
TESSERAE_SYNTHESIS_DRY_RUN | オフ | モデルをスキップ、パイプラインを実行 |
パスとインフラストラクチャ
| 変数 | デフォルト | 注記 |
|---|---|---|
TESSERAE_REGISTRY | ~/.tesserae/registry.json | プロジェクトレジストリの場所 |
TESSERAE_DISCOVERY_CACHE | — | セッション発見キャッシュ |
TESSERAE_ARXIV_CACHE | — | arXiv メタデータキャッシュ |
TESSERAE_NO_FEDERATION_CACHE | オフ | フェデレーション グラフ LRU を無効化 |
TESSERAE_INCLUDE_COMBINED_GRAPH | オフ | 結合されたクロスプロジェクトグラフを出力 |
TESSERAE_FLEET_PIDFILE | — | エンジンフリート pidfile |
TESSERAE_CLIP_TOKEN | — | Web クリッパーの共有シークレット |
TESSERAE_SCHEMA_DRIFT_APPLY | オフ | スキーマドリフト提案を適用(tesserae lab) |
低下したコーパスの復旧
ドキュメントの抽出が失敗すると、決定論的ベースラインによって提供され、 .tesserae/manifest.json でマークされます。マークなしでは、 クリーン抽出と区別できないため、--changed-only はそれを永遠にスキップし、 低下はファイル自体のコンテンツが変更されるまで永続的になります。
tesserae compile --changed-only --retry-fallbacks
マークされたドキュメントのみ再試行;クリーンなものはスキップのままです。
階層構造の検査
tesserae graph-map # ルートマップ
tesserae graph-map --scope <scope_id> # 下降
tesserae graph-map --scope '<alias>::' # 兄弟登録プロジェクト
各カードは階層サイドカーから size と leaf_member_count を報告し、 さらに live_member_count—*現在の*グラフが実際に保持するメンバーの数。 0 があるところはスコープが死んでいます(sidecar/グラフスキュー): 下降するのではなくスキップしてください。
エージェントがグラフに書き込む
\graph_write\ (MCP)はスキーマ検証済みの型付きノードとエッジを必須の出所と共に受け取るため、エージェントは抽出器が型を推測する必要がある散文ではなく*構造*として発見を記録します。
強制ではなく拒否します。型なしエッジ、制御語彙外のノードまたはエッジ型、ダングリングエンドポイント、および出所がない書き込みはすべて拒否されます。重複書き込みはべき等です。エージェントが書いたノードは、完全な再コンパイル、削除された \graph.json\、\--limit\、および完全なコーパス削除に耐えます。
グラフに対して主張を検証する
\verify_claim\ (MCP) はグラフがトリプルをライセンスするかどうかに答えます。\(subject, predicate, object)\ を取ります — 自然言語パラメータがありません、設計上、パーサーが以前のバージョンに、それが支持した主張の否定に対して SUPPORTED で答えるようにさせたからです。
判定はグラフバイトの純粋な関数です:LLM、埋め込み、決定パスのどこにも曖昧なマッチングがありません。
| 判定 | 意味 |
|---|---|
\SUPPORTED\ | エッジが存在し、それ自体の証拠を持ち、そのテキストはソースファイルに対して再接地されました |
\PRESENT_UNEVIDENCED\ | エッジが存在しますが、文書がそれを支持していません |
\CONTRADICTED\ | 同じ 2 つのエンドポイント間のドキュメント裏付き \contradicts_claim\ |
\DISPUTED_UNEVIDENCED\ | 主張された不一致、なし証拠 |
\CONFLICTING\ | 両極ともドキュメント裏付き — ツールが判定を辞退 |
\ABSENT\ | このグラフはトリプルを主張していません。反論ではありません |
\NOT_RESOLVABLE\ | エンドポイントまたは述語を正確に解決できません |
意図的にしないことが 2 つあります。\supersedes\ を反論として扱いません — その関係は*ノード*が置き換えられたことを言う、トリプルが偽であることではありません。エージェント書き込みは出処クラスを*弱める*ことしかできず、1 つをアップグレードできない、そのため、エージェントが主張するものは文書接地として提示できません。
結果を読むときに値するという知識:15,284 エッジの実際のグラフで、約 40% の \SUPPORTED\ 判定は同語反復です — \evidenced_by\ エッジ、その引用されたスパンはエッジ自体のターゲットです。真ですが、情報がありません。
質問をルーティングする
\tesserae ask\ は質問の形状によって検索パスを選択します:単一エンティティルックアップは安いバックエンドに行き、マルチホップ / "何が変わったか" / "なぜ" / コーパス全体の質問はグラフに行きます。独立したベンチマークは、グラフがマルチホップ、時間的および合成質問で先行し、単純な事実検索とコストで*後退*していることを示しています — したがって、すべての質問にグラフ価格を支払うことは損失です。
決定は返された封筒に表示されるため、安い回答は監査可能です。CLI では \--route\ で、または MCP ツールでは \route\ パラメータでオーバーライドします。