AIエージェントとは
AI Agent / エージェント
LLMを中核に、周囲の状況を認識し計画を立てツールを使って自律的にタスクを遂行するシステム
ひとことで言うと
自分で状況を判断し、計画を立て、ツールを使ってタスクをこなすAI。
概要
AIエージェントとは、LLMを中核の推論エンジンとして用い、与えられた目標に対し状況認識・計画立案を行いながら、外部ツールやAPIを呼び出し複数ステップにわたってタスクを自律的に遂行するシステム。 単発の質問に一度だけ応答する通常のチャットボット的な使い方と異なり、AIエージェントは「認識(観測) → 計画 → 行動 → 結果の観測」というループを繰り返しながら、目標が達成されるまで、あるいは終了条件を満たすまで処理を継続する点が特徴。 Webブラウジング、コード実行、外部APIの呼び出しといったツール利用(Tool Calling)と組み合わせることで、LLM単体では完結しない実世界のタスクを遂行できる。
背景
LLM単体は、入力されたプロンプトに対して1回のテキスト生成で応答する仕組みであり、外部の最新情報を取得したり複数ステップの作業を計画的にこなしたりするのは苦手だった。 AIエージェントは、LLMの推論能力へツール利用と反復的な行動ループを組み合わせ、この制約を超えた自律的なタスク遂行を実現するため発展した。
歴史
2022年: ReAct論文が、LLMに「思考」と「行動」を交互に出力させ外部ツールと連携する枠組みを提案。 2023年: AutoGPT・BabyAGI等、LLMに自律的にタスクを分解・実行させるオープンソースプロジェクトが登場し注目を集める。 2023年6月: OpenAIがFunction Calling機能を公開し、LLMからのツール呼び出しを構造化して行う仕組みが標準化。 2024年以降: AnthropicやOpenAI等がエージェント向けAPI・フレームワークを拡充し、実務での活用が広がる。
アーキテクチャ
LLMを推論の中核とし、外部ツール群(検索・コード実行・API呼び出し等)、状況を記憶するメモリ、目標達成の計画を立てるプランナーといった要素を組み合わせて構成される。 多くの実装は、LLMが次に取るべき行動を出力し、その行動の実行結果を再びLLMへ入力するループ構造を持つ。
ワークフロー
ユーザーから目標を受け取る → LLMが現状を踏まえ次の行動(ツール呼び出し等)を計画・出力 → ツールを実行し結果を取得 → 結果をLLMへ入力し次の行動を再計画 → 目標達成または終了条件を満たすまで繰り返す。
コード例
ツール呼び出しを繰り返す簡易的なエージェントループ
from openai import OpenAI
client = OpenAI()
messages = [{"role": "user", "content": "東京の現在の気温を調べて教えてください。"}]
while True:
response = client.chat.completions.create(
model="gpt-4o", messages=messages, tools=tools
)
message = response.choices[0].message
if not message.tool_calls:
print(message.content)
break
messages.append(message)
for call in message.tool_calls:
result = execute_tool(call.function.name, call.function.arguments)
messages.append(
{"role": "tool", "tool_call_id": call.id, "content": result}
)利点
- 複数ステップにまたがる複雑なタスクを、人手を介さず遂行できる
- 外部ツールとの連携により、LLM単体の知識・能力の限界を超えた作業ができる
欠点
- 行動のたびに推論コストが発生し、単発の応答より時間とコストがかかる
- 誤った計画や判断が連鎖すると、意図しない結果に至るリスクがある
- ツールの誤用や無限ループ等、想定外の挙動を防ぐ設計・監視を要する
比較
- エージェンティックAI — Agentic AIは、AIエージェントを中心に据えたシステム設計・開発の潮流全体を指す、より広い概念
- ツールコーリング — AIエージェントは、外部ツールを呼び出す仕組み(Tool Calling)を通じて実世界のタスクを遂行する
- マルチエージェント — 複数のAIエージェントが役割分担して協調するアーキテクチャがマルチエージェント
- LLM — AIエージェントは、LLMを推論エンジンとして中核に据えたシステム
- LangGraph — LangGraphは、状態を持つ複雑なエージェントを構築するためのフレームワーク
- CrewAI — CrewAIは、役割ベースのマルチエージェントシステムを構築するためのフレームワーク
- AutoGen — AutoGenは、対話ベースのマルチエージェントシステムを構築するためのフレームワーク
- SWE-bench — SWE-benchは、コーディングを行うAIエージェントの実務能力を評価するベンチマークとしてよく使われる
- プロンプトインジェクション — AIエージェントが外部データを処理する場合、間接プロンプトインジェクションの攻撃経路が生まれる
- AgentCore — AgentCoreは、AIエージェントを本番環境で安全かつスケーラブルに運用するためのAWSのマネージドサービス群
関連用語
よくある質問
AIエージェントとチャットボットの違いは?
チャットボットは基本的に1回の入力に対し1回の応答を返す対話システム。 AIエージェントは、目標達成まで複数ステップの行動(ツール呼び出し等)を自律的に繰り返す点が異なる。
AIエージェントの暴走を防ぐには?
実行できるツールの範囲を制限する、重要な操作の前に人間の承認を挟む(Human-in-the-Loop)、サンドボックス環境で実行する、最大ステップ数を設けるといった対策が一般的に用いられる。