エージェントの文脈は有限 全部流し込むと、精度も費用も悪くなります

エージェントに cat src/main.rs を実行させると、2,000行のファイルが丸ごと文脈に入ります。必要だったのが一つの関数だけだったとしても、残りの1,950行は最後まで居座り、以降のやり取りの余白を削り続けます。

文脈は有限の資源です。使い方の設計が、そのまま回答の精度と利用料金に出ます。

必要な部分だけ読む

コードを読む道具は、人が読むために作られてきました。cat、grep、sed。モデルに渡すのであれば、返ってくる形が違うほうが適しています。

hewは、関数や型を名前で指定すると、その部分だけを返します。行番号とファイルのサイズが付くので、続きが必要かどうかをモデル自身が判断できます。grep は同じ形の行をまとめ、一致した行がどの関数の中にあるかを添えます。

頼んでいない行を読ませない、という一点だけの道具ですが、長い作業ほど効き方が大きくなります。一度読んだものは消せないためです。

大きな出力は、外に置く

テストの出力、ビルドのログ、依存の一覧。一度きりしか使わない巨大な出力が、以後ずっと文脈を占有します。

ctxgateは、ツールの生の出力をローカルの保管庫へ入れ、モデルには要約と取り出し用のIDだけを見せます。中身が必要なときは、該当する断面だけを引き出します。

コマンドを二度走らせずに済むのも利点です。同じ出力をもう一度得るために再実行すると、その間に状態が変わっていることがあります。

余白を残すと、作業が崩れにくい

文脈が埋まったときに起きるのは、単に入らなくなることではありません。要約や切り詰めが挟まり、途中の決定が静かに落ちます。最初に決めた方針を忘れたまま作業が進む、という壊れ方をします。

先に削っておけば、この種の事故が減ります。

渡す情報を絞るという点では、権限と同じ

読ませる範囲を絞ることは、渡す情報を絞ることでもあります。ソースコードも、ログも、業務データも同じです。

WASIのcapabilityが「渡していない権限は行使できない」と定めるのと、文脈の設計は同じ形をしています。必要なものだけを渡す。渡したものは記録に残る。どちらも、任せる範囲を先に決めるという話になります。

費用が気になっている場合

エージェントの利用料が想定より高いときは、モデルを安いものに替える前に、何を読ませているかを確認する価値があります。ファイル全体を読ませていないか。一度しか使わない出力を抱えたまま会話を続けていないか。読ませる量が減ると、費用と精度の両方が同時に改善することがあります。

まずはお気軽にご相談ください。目的や課題を丁寧にヒアリングし、
ご予算や納期に合わせた最適なご提案をいたします。

まずはお気軽にご相談ください。
目的や課題を丁寧にヒアリングし、
ご予算や納期に合わせた最適な
ご提案をいたします。

無料相談はこちら