第 39 章:Prompt Cache の安定性
キャッシュ可能性はシリアライズ契約です。意味的な類似だけでは足りません。
公開ソースのスナップショット:実装例は 2026-07-27 に確認した Kocoro 公開
origin/mainのコミット4ec6772に基づきます。学ぶべき対象は不変条件であり、定数は最新ソースで再確認してください。
39.1 解くべき問題
無害な並び替え、Turn ごとの Schema フィルタ、時刻、履歴のインプレース書き換えで Prompt Cache は失効します。意味が同じでも byte 接頭辞が一致しません。
39.2 設計原則
安定した system scaffold、決定順のツール、安定した Skill metadata で正規接頭辞を作ります。allowed-tools は Schema を消すのではなく実行時に拒否します。Fork request では可変 slice を clone し、共有接頭辞の byte equality を保ち、意図的な書き換えを計測します。
39.3 スナップショットの根拠
| ソーススナップショット | 観測 |
|---|---|
4ec6772 | BuildForkedRequest は byte-equal な共有接頭辞を維持 |
4ec6772 | allowed-tools は実行制限であり Schema filter ではない |
4ec6772 | Message のインプレース書き換えは Cache Compaction telemetry を送出 |
上記の値は特定時点の実装例であり、普遍的な契約ではありません。
39.4 実装チェックリスト
- シリアライズ済み接頭辞をスナップショットテストする。
- Map 由来の一覧は必ずソートする。
- キャッシュ率を成功率・遅延と併せて追跡する。
39.5 まとめ
キャッシュ可能性はシリアライズ契約です。意味的な類似だけでは足りません。
各章は一つのシステムとして読んでください。コンテキスト、Tool Schema、永続化、ステアリング、時間規律、ループ検出、並列性は相互に影響します。