なぜ「AIエージェント」は微妙なのか? — LangGraphは「アンチ・エージェント」であるという逆説
はじめに
Zennでは初めての記事投稿になります。
とあるSIer企業でAI開発をしている4年目エンジニアです。
AIエージェントの開発を始めて1年弱、AIエージェントについて感じていることを、この記事で綴っていこうと思います。
1. AIエージェントブームへの違和感
きっかけは、AIエージェント開発の文脈でLangGraphに触れたことでした。
私が考える「AIエージェント」の理想像(エージェントたる所以)が 「自律性」 にあるとすれば、その自律性を厳格に 「制御」 しようとするLangGraphの設計思想は、むしろ 「アンチ・AIエージェント」 的なのではないか?
そんな違和感から、現在のAIエージェントのあり方について考察します。
2. AIエージェントのジレンマ:「自律性」と「制御」
AIエージェントの魅力は、人間が目標を与えるだけで、AIが自ら計画し、ツールを使いこなし、試行錯誤(ループ)しながらタスクを完遂する 「自律性」 にあると思います。
しかし、現在のLLMの技術では、完全な自律性を与えるとすぐに「無限ループ」に陥ったり、「想定外の動作」をしたりと、ビジネスユースに耐えうる信頼性を担保できません。
だからこそ、LangGraphのようなフレームワークが必要になります。LangGraphは、「状態(State)」と「グラフ(流れ)」を人間が明示的に定義することで、AIの動作を 「制御」 し、信頼性を確保するものです。
これは皮肉な逆説です。私たちはエージェントの「自律性」に夢を見る一方で、現場ではその「自律性」を殺すための「制御」に苦心しているのです。
3. 制御されたエージェントは「AIワークフロー」でしかない
ここでひとつの疑問が生まれます。「そこまで厳密に制御されたエージェントは、従来のLLMチェーンや、RPA的なワークフローと何が違うのか?」
確かに、LangGraphは「サイクル(ループ)」や「状態管理」をアーキテクチャとして扱える点で、単純なLLMチェーン(DAG)とは異なります。
しかし、ビジネス現場のユースケースのほとんどは、この「サイクル(自律的な試行錯誤)」を必要としていません。
- 「請求書を処理する」
- 「議事録を要約する」
- 「日報をSaaSに入力する」
これらの業務は、やり方が(ほぼ)固定された 「AIワークフロー」 です。プロセスは定型的であり、必要なのは「自律性」ではなく、決められた手順を高速かつ正確にこなす「信頼性」です。
ほとんどの業務は、エージェントではなく、LLMを組み込んだワークフローで解決してしまうのです。
4. 成功例としての「コーディング支援」
では、AIエージェントは「微妙」な技術なのでしょうか?
私は、AIエージェントの代表的な成功例のひとつが、GitHub CopilotやGemini CLIのような 「コーディング支援」 のエージェントだと考えています。
これらは、開発のあり方を「Vibe Coding(バイブコーディング)」——曖昧な指示(Vibe)でAIと協働するスタイル——へとシフトさせ、開発のあり方を根底から変えようとしています。まさに開発におけるDXです。
なぜコーディング支援はAIエージェントとして成功したのか?
それは、コーディングが 「非定型な知的生産」 だからだと考えます。
- ゴールは明確(例:「ログイン機能を作る」)
- プロセスは非定型(書き方、使うライブラリ、設計は人それぞれ)
- 試行錯誤(サイクル)が前提(「書く→試す→エラー→直す」の繰り返し)
固定化された「AIワークフロー」では対応できない、まさに 「自律的な試行錯誤」が価値を生む 領域。それがコーディングだったのです。
まとめ:エージェントの真価が発揮される場所
私たちが今「AIエージェント」と呼んでいるものの本質は、「何でもできる汎用AI(AGI)」では(まだ)ありません。
AIエージェントが「微妙」だと感じるのは、それを「定型的なワークフロー」に無理やり適用しようとしているからかもしれません。
コーディング支援が成功したように、曖昧さと試行錯誤を伴う 『非定型な知的生産業務』 こそが、AIエージェントの真価が発揮される場所なのだと感じます。AIエージェントとは、そうした領域で人間の「Vibe(曖昧な指示)」を解釈し、試行錯誤のサイクルを高速で回してくれる 「専門領域の副操縦士(コパイロット)」 なのだと、私は考えています。
Discussion