はじめに
- AIのコーディング結果が期待どおりでないとき、むやみにトークンを消費するよりも、意図に本当に必要な情報だけを選んでコンテキストとして渡すほうがはるかに効果的。
- モデルのコンテキストウィンドウが大きくなっても、情報が多すぎると、かえってAIが必要な箇所を見つけて理解する妨げになるため。
- レガシーコードベースでコーディングエージェントからより満足のいく結果を得るために私が使っている4つの手法を紹介する。モデル性能に大きく依存せず、今すぐ時間とコストの両方を節約できる実践的な方法。
1. 実装の前に探索と理解から始める
- 問題を解いたりコードを修正したりする前に、ドメインとコードベースへの理解を深めることに時間を投資するのが有利。
- これにより、より正確な技術用語を使い、適切なファイルを参照させてAIにピンポイントで働かせることができる。
- この段階ではコード修正は控え、AIに質問を投げながら知識を蓄えることに集中するのがよい。
2. 手本となるコードを見せる
- LLMは平均へ収束しようとする傾向があるため、良いコード例を与えて成果物の水準を引き上げる必要がある。
- コード規約を文章で長く説明するよりも、「この関数のように書いて」と、よくできたサンプルコードを見せるほうがはるかに効果的。
- 特に特定パターンをマイグレーションするときは、まずいくつかだけ正しく変換してからAIに例として見せると、残りを非常にうまく処理する。
3. スクリプトを道具として持たせる
- 静的解析ツールをAIに使わせれば、LLMの性能の底が低いという問題を補い、成果物の品質を高められる。
- また、i18nキーを探すスクリプトのように、繰り返しミスが起きやすい作業をスクリプト化してAIに活用させれば、問題を確実に防げる。
- 同様に、パターンが明確な抽出・変換作業は、AIに直接やらせるより、その作業を行うスクリプトを書かせて実行させるほうがはるかに正確。
4. 川上を直す
- 間違った成果物を見て直してもらうよりも、そもそもそうした結果が出た原因である「プロンプト」を改善するほうが有利。
- さらに、プロンプトを作るプロセス自体を改善できるとよい(サンプルコードやテストコードを先に書く、など)。
- さらに言えば、そのプロセスを作る自分の頭も改善できるともっとよい。AIと不要なピンポンをしてしまった経験を振り返り、いつ直接介入し、いつAIを使うかを判断する力を養うべき。
終わりに
- エージェントの主要なベンチマークの1つは「どれだけ長く働けるか」だが、現実には(私を含めた)大多数のユーザーには、エージェントの限界まで仕事を任せられるだけの力量がまだない。
- 「エージェントに任せるべき仕事を見つけ、適切なツールを持たせ、適切なプロンプティングで長時間働かせられる」人こそ、AI時代の最上級の人材になると思う。
- この記事で紹介した手法が、そうした人材になるための訓練に役立てばうれしい。
1件のコメント
とても共感します!