AGENTS.mdの匂いが熟しているなら、コードは期待に応えられない
研究者は、AIコーディングエージェントの設定ファイルは最小限にすべきと指摘。532,000ファイルの分析により、91%のAGENTS.mdファイルに少なくとも1つの「設定の臭い」が存在し、トークンとパフォーマンスを浪費していることが判明。
コーディングエージェント用の設定ファイル(AGENTS.mdやCLAUDE.mdなど)は、AIエージェントに期待される動作を指示するために使われる。しかし、不適切な設定はパフォーマンス低下やリソースの無駄遣いを引き起こす可能性がある。最近、ブラジルのミナスジェライス連邦大学の研究チームは、53万2000ファイルを調査し、その中からAGENTS.mdまたはCLAUDE.mdファイルを含む100の人気オープンソースプロジェクトを抽出して分析した。その結果、6種類の一般的な設定の「臭い」が広く存在することが明らかになった。
最も多かったのはLint漏洩で、全体の62%のファイルに見られた。Lint漏洩とは、既にlinterや静的解析ツールが担当しているルールをエージェントの指示として重複させることを指す。これにより、モデルのコンテキストが無駄に消費され、トークンコストが増加する。次に多いのはコンテキスト膨張で、42%のファイルに発生していた。開発者がエージェントの動作を過度に詳細に指定することで、ファイルがAnthropic推奨の200行を超え、トークン消費とコストが増大する。スキル漏洩は35%のファイルに見られ、まれにしか使わないツールやプラクティスをメインの設定ファイルに直接記述してしまう問題である。これらは本来、必要なときだけ読み込まれる別ファイル(SKILLS.mdなど)に分離すべきであり、そうしないとエージェントのコンテキストが不必要に拡大し、主要タスクの妨げになる。
さらに、研究では他にも3つの臭いが特定された。外部ドキュメントをURLで参照するが、そのリソースがいつ関連するかを説明しない「ブラインド参照」、プロジェクト初期化時に設定されたが現在は不要な詳細が残る「初期化の化石化」、エージェント指示同士が矛盾する「競合する指示」である。研究論文によると、テストした100プロジェクトのうち少なくとも91に1つ以上の設定の臭いが存在した。
これに加えて、ETHチューリッヒ工科大学が数ヶ月前に行った研究でも似たような結論が得られている。同研究では、開発者が書いたコンテキストファイルはコードパフォーマンスを約4%しか向上させず、コストは増加させた。一方、AIが生成したコンテキストは逆に約3%の悪影響を及ぼした。これらの結果から、コーディングエージェントの設定に関しては「少ないほど良い」という原則が浮かび上がる。時には、設定ファイルを一切用意せず、エージェントのデフォルト動作に任せることさえ最善の選択となり得る。