Hermesエージェントはファイルを読み込みすぎてトークン消費が高くなるので、まずタスク範囲を調整してからfile_read_max_charsを確認してください。リポジトリ全体を無差別に読み込ませないでください。まず場所を検索させ、その後関連する断片だけを読み込むように指示してください。
なぜファイルの読み込みが高価なのか
ファイル内容はモデルコンテキスト、特にログ、ビルドプロダクト、圧縮コード、大きなJSON、大規模なマークダウン文書などに入り込み、一度に数万トークンを詰め込むことができます。公式構成では、file_read_max_charsはデフォルトで1回の読み取り文字数を制限するために使われており、大きなコンテキストモデルは増やせ、小さなコンテキストやローカルモデルは縮小することが推奨されます。
すぐにできる最適化
- Hermesはローカルファイルを読む前にキーワードを検索でターゲットにさせてください。
node_modules、dist、build、大きなログ、キャッシュディレクトリを読み取らないように頼みましょう。- 小型モデルのシナリオでは
file_read_max_charsをより保守的な値に還元します。 - 大きなファイルをセクションごとに読み、まとめを一度に詰めずに各段落の後に結論を抽出します。
自動重複除去の境界に注目してください
Hermesは重複ファイル読み取りの重複除去を行います。同じファイル領域が変更されない場合、その後の読み取りでは全コンテンツを繰り返し送信する代わりにライトプロンプトが返されることがあります。しかし、コンテキスト圧縮後は重要なファイルを再読み込む必要があるため、読み取り範囲の制御は依然として必要です。
プロンプトの最良の方法は「読むべきファイルとその理由をリストアップし、私が確認するまで待ってから読む」ことです。これにより、エージェントに予算でルートを考えさせるのではなく、本当に関連性の高いコンテキストにトークンを使えます。