この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:atom
更新日時:2026-05-13 12:18:13

タイトル: AIエージェント
SEOタイトル: AIエージェントとは?Tool Use・LangGraph・MCP・実装例

本稿は AI エージェント(AI Agent) に関する記事です。

この記事の要点
  • AI エージェント = LLM が自分でツールを選び、複数手順を実行する自律システム
  • 従来のチャット (1 ターン質問応答) と違い、計画 → 実行 → 観察 → 修正のループを回す
  • 主要 3 構成要素: LLM(頭脳)/ ツール (Tool / Function)(手足)/ メモリ(状態)
  • 業界の進化形: ChatGPT Agent / Claude Computer Use / Claude Code / Devin / Manus / Codex Cloud
  • 定番フレームワーク: LangChain / LangGraph / LlamaIndex / AutoGen / CrewAI
  • 業務上の難所: 暴走防止 / コスト管理 / セキュリティ / 監査ログ / 失敗時のリカバリ

AI エージェントとは?

AI エージェント は、LLM が単発の質問応答にとどまらず、目的達成のために自分でツールを選び、複数のステップを自律実行するシステムです。「考えて」「道具を使って」「結果を見て」「次の手を決める」というループ(ReAct パターン)を回す点が、ただのチャットと決定的に違います。

2024〜2026 年に「エージェンティック AI (Agentic AI)」と呼ばれるブームが起き、開発支援・業務自動化・ブラウザ操作・データ分析などの実用領域で急速に普及しました。

3 つの構成要素

要素役割例
LLM(頭脳)意思決定・推論・計画GPT-4o / Claude / Gemini
ツール (Tool / Function)外部世界に作用する手段Web 検索・コード実行・ファイル操作・DB 問合せ・API 呼出
メモリ / 状態過去の行動と結果を保持会話履歴・スクラッチパッド・ベクトルDB

動作パターン(ReAct)

ループLLM の役割
1. Thought(思考)「次に何をすべきか」を考える
2. Action(行動)適切なツールと引数を選ぶ
3. Observation(観察)ツール実行結果を読む
4. 繰り返し目的達成まで 1〜3 を繰り返す
5. Final Answer結果をまとめてユーザに返す

エージェントの種類

種類特徴代表例
Tool-Use Agent関数呼び出し / API 連携OpenAI Function Calling、Anthropic Tool Use
Coding Agentコード生成・編集・実行Claude Code、OpenAI Codex、Devin、Aider
Browser-Use Agentブラウザ操作で Web タスクを実行Claude Computer Use、ChatGPT Agent、Project Mariner
Computer-Use AgentOS 全体を操作Claude Computer Use、Anthropic 公開
Multi-Agent複数エージェントが役割分担CrewAI、AutoGen、MetaGPT
Research Agent調査・要約・レポート生成OpenAI Deep Research、Gemini Deep Research、Perplexity Spaces
Workflow Agent定型業務の自動化Zapier AI、Make、n8n + AI

主要フレームワーク

フレームワーク特徴
LangGraphLangChain 系。状態機械でエージェント設計。本番運用に強い
LangChain(旧 AgentExecutor)プロト用。複雑化すると LangGraph に移行
LlamaIndex AgentWorkflowRAG と統合しやすい
AutoGen (Microsoft)マルチエージェント対話特化
CrewAI役割を持ったエージェント編成 (PM・Dev・Tester 等)
smolagents (Hugging Face)小さく書ける軽量エージェント
OpenAI Agents SDKOpenAI 公式のエージェント実装支援
Anthropic SDK + MCPClaude + Model Context Protocol で道具接続
Vercel AI SDKWeb フロントエンド統合

Tool Use (Function Calling) の最小サンプル

from openai import OpenAI
import json

client = OpenAI()

# 1) 利用可能ツールを宣言
tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "指定都市の天気を取得",
        "parameters": {"type": "object",
            "properties": {"city": {"type": "string"}}, "required": ["city"]}
    }
}]

# 2) LLM 呼び出し
messages = [{"role": "user", "content": "東京の天気を教えて"}]
res = client.chat.completions.create(model="gpt-4o", messages=messages, tools=tools)

# 3) LLM がツール選択 → 実行
call = res.choices[0].message.tool_calls[0]
args = json.loads(call.function.arguments)
result = {"city": args["city"], "weather": "晴れ"}

# 4) 結果を LLM に返して最終回答
messages.append(res.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": json.dumps(result)})
final = client.chat.completions.create(model="gpt-4o", messages=messages, tools=tools)
print(final.choices[0].message.content)

MCP(Model Context Protocol)

補足: 道具をプラグイン化する標準
Anthropic が 2024 年末に提唱し、業界標準化が進むModel Context Protocol (MCP) は、AI と外部ツール・データソースを接続するための共通プロトコルです。MCP サーバを実装すれば、Claude Desktop / Claude Code / Cursor / OpenAI ChatGPT などの対応クライアントから一律に呼び出せます。USB のように「道具を差し替え可能」にする仕組みで、エージェント連携の事実上の標準になりつつあります。

本格的なエージェント設計のポイント

設計観点押さえどころ
状態管理LangGraph 等で状態機械を明示。隠れ状態を持たない
ステップ上限ループ無限化防止。max_iterations
タイムアウト各ツール実行の時間制限
承認制 (Human-in-the-loop)危険操作(ファイル削除・送金・メール送信)は人間が承認
並列化独立タスクは並列実行
計画分離「計画」専門エージェントと「実行」専門エージェントを分ける
失敗時のリトライ / フォールバックツール失敗時の代替経路
監査ログ全ステップ(思考・ツール呼出・結果)を記録
コスト監視1 回のエージェント実行で消費トークン・API 費用を集計

主な応用

  • コーディング: バグ修正・テスト生成・リファクタ(Claude Code 等)
  • ブラウザ操作: フォーム入力・予約・情報収集
  • カスタマーサポート: チケット分類・回答案・エスカレ判定
  • データ分析: Python 実行で集計・グラフ生成
  • 研究調査: 複数情報源を巡回し要約レポート
  • マーケティング: コンテンツ生成・配信スケジューリング
  • 運用 DevOps: ログ調査・障害対応の初動
  • 金融: 取引・与信判定・コンプラチェック

運用上のヒント

Tips
  • 小さく始める: ツール 1〜2 個から。多すぎると LLM が選択を誤る
  • ツール説明文の質がエージェント精度を支配する。曖昧な説明は誤呼出の原因
  • 本番ではサンドボックス / 専用ユーザで隔離(root 権限・rm -rf 等を防ぐ)
  • 長時間タスクはチェックポイントで中断・再開可能に
  • 失敗ログを定期分析。同じ失敗を繰り返すならプロンプト改良 + ツール改良
  • マルチエージェントは見栄えはするが過剰な複雑性を生む。単一エージェントで足りるなら避ける
  • 定量評価セット(ベンチマーク)を作る。改善判断の根拠に

注意点(リスクと限界)

よくある落とし穴・リスク
  • 暴走: ループに陥り高コスト・予期せぬ操作。ステップ上限 / タイムアウト必須
  • プロンプトインジェクション: 検索結果やメール本文に「これまでの指示を無視せよ」が混入
  • 権限過大: ファイル削除・送金・メール送信のような不可逆操作は必ず人間承認
  • 幻覚行為: 存在しないツール・関数を呼ぶ / 存在しない引数を渡す
  • コスト爆発: 1 タスクで数百〜数千リクエストになることがある
  • ブラウザ操作では認証情報・Cookie の漏洩リスクが大きい
  • 監査困難: 何をしたか後追いできないと運用に乗せにくい
  • 過剰期待: 複雑タスクほど失敗率が掛け算で上がる。タスクを分解する

関連