mirror of
https://github.com/shareAI-lab/analysis_claude_code.git
synced 2026-06-21 04:33:36 +08:00
Document read_file compact trade-off
This commit is contained in:
@@ -252,6 +252,12 @@ CC ソース `query.ts` での実際の順序:
|
||||
|
||||
教学版の budget → snip → micro の順序はこれと一致する。教学版には contextCollapse メカニズムがない。
|
||||
|
||||
### read_file のトレードオフ
|
||||
|
||||
教学版の `micro_compact` は、古い `tool_result` を一律にプレースホルダへ置き換える。`read_file` も例外ではない。これは通常、機能的な正しさには影響しない。後でファイル内容が必要になれば、モデルはもう一度そのファイルを読めばよい。代償は、追加のツール呼び出しが発生し得ることと、prompt cache のヒット率が下がり得ること。
|
||||
|
||||
Claude Code は、この問題を教学版のような単純なルールでは処理していない。`Read` も microcompact 可能なツール集合に入れる一方で、別途 `readFileState` を維持している。変更されていないファイルの再読込では `FILE_UNCHANGED_STUB` を返し、compact 後には予算内で直近に読んだファイル内容を復元する(例:最大 5 ファイル、1 ファイル 5K token、合計 50K token)。これは本番実装向けのキャッシュと復元メカニズムである。教学版ではそこまで展開せず、「古い結果を圧縮し、必要なら再読込する」という単純な trade-off を残している。
|
||||
|
||||
### 完全な定数リファレンス
|
||||
|
||||
| 定数 | 値 | ソースファイル |
|
||||
@@ -282,6 +288,7 @@ CC の圧縮プロンプトには 2 つの厳格な要件がある:
|
||||
### 教学版の簡略化は意図的
|
||||
|
||||
- micro_compact でテキストプレースホルダを使用 → API 層の `cache_edits` 権限がないため
|
||||
- read_file は特別扱いしない → 教学版では必要時の再読込を受け入れ、readFileState と圧縮後復元の仕組みを導入しない
|
||||
- token を文字数で推定 → 精密な tokenizer は教学の対象外
|
||||
- 圧縮後のリカバリを省略 → 教学版は要約のみを保持し、ファイルの自動再付加を行わない
|
||||
- 2 つの補助メカニズムを展開しない → 10% の細部に属する
|
||||
@@ -290,4 +297,4 @@ CC の圧縮プロンプトには 2 つの厳格な要件がある:
|
||||
|
||||
</details>
|
||||
|
||||
<!-- translation-sync: zh@v1, en@v1, ja@v1 -->
|
||||
<!-- translation-sync: zh@v2, en@v2, ja@v2 -->
|
||||
|
||||
Reference in New Issue
Block a user