TL;DR
人間から独立して判断し、目標を追い、行動する AI のプログラム。外部のツールを使い、環境に働きかけながら、複数の手順からなる作業を自律的に進める。広く合意された定義はないが、大規模言語モデル(LLM)を使ったものが多い。
なぜ必要か
2023 年ごろによく使われたチャットボットは、質問に答えるような狭く決まった作業に AI を道具として使うものだった。AI エージェントは応答を返すだけでなく、複数の手順にわたる作業を自分で進められる。
仕組み
AI エージェントのシステムは記憶、計画のロジック、ツールとのインタフェース、それらをまとめるオーケストレーションのソフトウェアで構成されることがある。制御の流れは、多くの場合 LLM が決める。外部のツールやデータとつなぐ仕組みには Model Context Protocol がある。
例
- コーディングエージェント: Devin、OpenHands、Gemini CLI、OpenAI Codex CLI など
- Manus: スライドや Web サイトの作成から定期タスクの実行までを任せられる
- Kombai: フロントエンド開発に特化している
- Serena: LLM にセマンティックなコード検索・編集の機能を与えるツールキット
- GitHub Spec Kit: AI エージェントで仕様の策定から実装までを進める
注意点
Carnegie Mellon 大学の研究では、模擬のソフトウェア会社に置いたエージェントは、割り当てられたタスクの大半を完了できなかった。無限ループに陥ることもある。セキュリティの脆弱性、報酬ハッキング、人間による監督の弱まり、評価方法が標準化されていないことも懸念されている。
AIと共に進化する開発手法:形式手法と関数型プログラミングの可能性 では、AI エージェントによる開発の問題として、必要のないものまで追加すること、複雑な依存関係や暗黙の前提を把握しきれないこと、長期の品質保証が分からないことを挙げ、形式手法で仕様を厳密に書くことで軽減できるとしている。