なぜほとんどのAIエージェントはオーバーエンジニアリングされているのか

AIエージェントはどこにでも存在します。エージェント・スウォーム(群れ)、自律型チーム、自己改善型システムなど、あらゆるものを目にします。毎週のように、次世代のAIを構築すると謳う新しいフレームワークが登場しています。

AIワークフローを研究した結果、私はシンプルな結論に達しました。ほとんどのAIエージェントはオーバーエンジニアリングされています。

エージェントが無用だと言っているのではありません。しかし、多くの開発者が、もっとシンプルな方法で解決できる問題に対して、エージェントを使って解決しようとしています。

業界は複雑さを好む

PDFを読み取り、データを抽出し、質問に答えるシステムを構築したいと考えてみましょう。多くの開発者は、6つのエージェント、複数のプロンプト、状態管理を備えた複雑なアーキテクチャを作成します。これが多くの悩みの種となります。

同じ問題は、多くの場合、シンプルなシーケンスで解決できます:

  • PDFからチャンクへ
  • チャンクから埋め込みへ
  • 埋め込みからベクトルDBへ
  • LLMから回答へ

時にはワークフローだけで十分なこともあります。エージェントの軍団は必要ありません。

ワークフローがほとんどの問題を解決する

ほとんどのAIアプリケーションは決定論的(deterministic)です。それらは一連のシーケンスに従います。例として以下が挙げられます:

  • ドキュメントのQ&A
  • カスタマーサポート
  • 会議の要約
  • ブログ生成
  • コードレビュー

これらはワークフローであり、自律型システムではありません。ワークフローの方が、デバッグ、スケーリング、メンテナンス、そして説明が容易です。

エージェントは隠れたコストをもたらす

新しいエージェントを追加するたびに、以下のような問題が発生します:

  • プロンプトの増加によるトークンコストの上昇
  • 追加ステップによるレイテンシの増大
  • ハルシネーション(幻覚)の発生確率の上昇
  • デバッグの困難化
  • インフラ要件の増加

シンプルなアプリケーションが、巨大なエンジニアリングプロジェクトへと変貌してしまいます。

エージェントが真に輝く場面

私はエージェントに反対しているわけではありません。エージェントは以下のような場合に有用です:

  • 複数のウェブサイトを調査するなど、タスクの実行に長い時間がかかる場合。
  • 特定のロジックに基づいた意思決定が必要な場合。
  • 人間による介入がプロセスに含まれる場合。
  • Slack、GitHub、メールなどの複数のツールを連携させる必要がある場合。

私のルール

開発者はしばしば、いきなり複雑なフレームワークに飛びつきます。そうする前に、一つの質問を自分に投げかけてみてください。「これはワークフローで解決できるか?」

もし答えが「はい」なら、そこから始めてください。複雑さが必要になったときに初めて、エージェントを追加してください。

次の原則に従ってください:

  • 第一にワークフロー。
  • 第二にエージェント。
  • 第三にマルチエージェント。

複雑さはイノベーションではありません。複雑さはコストです。ユーザーは、あなたがいくつのエージェントを使っているかなど気にしません。彼らが気にするのは、ツールが機能するかどうかです。シンプルさは一つの機能(feature)なのです。

出典: https://dev.to/jaideepparashar/why-i-think-most-ai-agents-are-overengineered-249o