AIが「答える」だけでなく、仕事を進めるようになってきました。
Claude CodeやCodex、AntigravityのようなCoding Agentでは、AIに目的を伝えると、コードを読み、ファイルを変更し、必要に応じてコマンドを実行し、結果を確認しながら作業を進めます。
こうした仕組みを理解するうえで、避けて通れなくなっている言葉がAIエージェント(AI Agent)です。
ただし、「AIエージェント」という言葉はかなり広く使われています。
ChatGPTのようなChatbotもAgentなのでしょうか。
決められた手順をAIで自動化するWorkflowとは何が違うのでしょうか。
Claude CodeやCodexのようなCoding AgentだけがAgentなのでしょうか。
最初に結論から整理します。
⚡ 30秒で分かる結論
CORE SPECでは、AIエージェントを次のように考えます。
AIエージェントとは、目的に向かって状況を判断し、必要に応じてToolを使いながら、複数のステップを進める仕組みです。
重要なのは、「AIを使っているか」ではありません。
次に何をするかという判断の一部を、モデル側へ委ねているか。
ここが、従来のChatbotや固定的なWorkflowとの大きな違いです。
大まかに整理すると、
| 仕組み | 主な役割 | 次の処理を決める主体 |
|---|---|---|
| Chatbot | 会話・質問応答 | 基本的に人間 |
| Workflow | 決められた仕事を処理 | 主に事前設計されたルール |
| Agent | 目的に向かって仕事を進める | モデル+設計されたルール |
です。
ただし、これは三者が完全に別物という意味ではありません。
Chatbotの中でAgentが動くこともあります。
Workflowの一部にAgentを組み込むこともあります。
重要なのは名前ではなく、
誰が次の行動を決めているのか
という構造を見ることです。
1. AIエージェントとは何か
OpenAIはAgentを、ユーザーに代わってタスクを遂行するシステムとして説明しています。
単にLLMへ質問して文章を生成するだけではなく、
- 今の状況を確認する
- 次に必要な行動を判断する
- Toolを選ぶ
- Toolの結果を確認する
- 必要なら別の方法を試す
- 終了条件を判断する
といった一連の処理を進めます。
OpenAIは、LLMがワークフロー実行を管理し、現在の状態に応じてToolを動的に選択することをAgentの主要な特徴として挙げています。
たとえば「このリポジトリのエラーを修正して」とCoding Agentへ頼んだとします。
単純なChatbotなら、
「このコードをこう直してください」
と回答して終わるかもしれません。
Agentの場合は、
目的を理解する
↓
リポジトリを見る
↓
関連ファイルを探す
↓
原因を推測する
↓
コードを変更する
↓
テストする
↓
失敗したら原因を再確認する
↓
修正する
↓
完了を報告する
という複数ステップを進められます。
ここではLLMが「文章生成装置」ではなく、
仕事を進めるための判断装置
として使われています。
2. ChatbotとAIエージェントは何が違う?
最も分かりやすい違いは、
Chatbotは会話が中心、Agentはタスク遂行が中心
という点です。
従来型のChatbotでは、
人間
↓
質問
↓
AI
↓
回答
↓
人間が次の質問
という流れが中心です。
AIが回答した後、「次に何をするか」は基本的に人間が決めます。
一方Agentでは、
人間
↓
Goal
↓
Agent
↓
判断
↓
行動
↓
結果確認
↓
次の判断
↓
行動
↓
完了
となります。
人間は毎ステップを細かく指示するのではなく、
目的と制約を渡す
側へ移ります。
OpenAIのWorkspace Agentsも、Toolや外部システムを利用しながら、チーム内で繰り返す業務をAgentとして実行する仕組みとして提供されています。
ただし、
ChatbotだからAgentではない
と単純に分けることもできません。
Chat画面を入口として、その裏側でAgentが複数ステップの処理を行うシステムもあります。
つまり、
Chatbotは「インターフェース」
Agentは「仕事を進める仕組み」
として考えると分かりやすくなります。
3. WorkflowとAgentは何が違う?
ここはAIエージェントを理解するうえで最も重要なポイントです。
Workflowでは、仕事の進め方を人間側が比較的あらかじめ決めています。
たとえば、
問い合わせを受け取る
↓
カテゴリー分類
↓
データベース検索
↓
回答生成
↓
メール送信
という処理です。
途中でAIを使っていても、
「次にどの処理へ進むか」
という大枠はシステム側で設計されています。
一方Agentでは、
次に何をすべきかという判断の一部をモデルへ委任します。
Anthropicは、Workflowを「LLMやToolがあらかじめ定められたコードパスによって制御されるシステム」、Agentを「LLMが自身の処理やTool利用を動的に指揮するシステム」と区別しています。
たとえば調査タスクなら、
Workflow:
Google検索
↓
上位5ページ取得
↓
要約
↓
レポート生成
Agent:
目的を理解
↓
検索
↓
情報が十分か判断
├ 十分 → レポート作成
└ 不十分
↓
別の検索語を考える
↓
再検索
↓
必要なら別資料を探す
となります。
Agentでは、
状況によって処理経路が変わります。
4. Agentの方がWorkflowより高度なのか?
必ずしもそうではありません。
むしろ、
決まった手順で解ける仕事なら、Workflowの方が適している
ことも多くあります。
Workflowは、
- 動作を予測しやすい
- テストしやすい
- コストを管理しやすい
- 再現性を確保しやすい
というメリットがあります。
Agentは柔軟ですが、
- 処理時間
- APIコスト
- Toolの誤選択
- 無駄な試行
- 再現性
- セキュリティ
など、設計すべき項目が増えます。
Anthropicも、Agentic Systemでは複雑さとコストが増えるため、必要な場合だけ複雑性を増やし、可能な限り単純な仕組みを選ぶことを推奨しています。
CORE SPECでは、
Agentを使うこと自体を目的にしない
ことが重要だと考えます。
判断すべきなのは、
その仕事に「状況に応じた判断」が必要か
です。
5. Agentを構成するもの
Agentにはさまざまな実装があります。
すべてのAgentが同じ部品を持つわけではありません。
ただし、現在の主要なAgentシステムを理解するうえでは、次の構造で考えると整理しやすくなります。
人間
↓
Goal / Intent
↓
Agent
├ Instruction
├ Model
├ State / Context
├ Tools
├ Environment / Sandbox
└ Subagents
↓
Execution
↓
Result / Artifact
↓
Evaluation / Logs
これをCORE SPECでは、AIエージェントを理解するためのAgent Stackとして扱います。
重要なのは、Agentが単なるLLMではないことです。
Model
GPT、Claude、Gemini、ローカルLLMなど。
推論・判断を担う部分です。
ただし、
強いModel=強いAgent
とは限りません。
Agentの能力はModelだけでなく、Tool、Context、実行環境、権限、評価方法などにも大きく左右されます。
Instruction
Agentへ、
- 何をするのか
- どこまで行うのか
- 何をしてはいけないのか
- いつ人間へ確認するのか
を伝えるルールです。
Google ADKでも、InstructionにはAgentの役割だけでなく、いつ他のAgentやToolへ委任するか、どのように応答するかを記述できます。
Tool
検索、API、データベース、ファイル、コード実行など、Agentが外の世界へアクセスするための能力です。
ここには、
- Function Calling
- MCP
- Built-in Tools
などがあります。
詳しくは、「AIエージェントのToolとは?Function Calling・MCPとの違い」で整理します。
State / Context
Agentが、
「今どこまで仕事を進めたのか」
を把握するための情報です。
長い仕事になるほど、
- 会話履歴
- Toolの結果
- 作業状況
- 過去の判断
などをどう扱うかが重要になります。
詳しくは、「AIエージェントに『状態』はなぜ必要?Session・Context・Memoryの違い」で扱います。
Environment / Sandbox
Agentがコードやファイルを扱う場合、
どこで実行するか
も重要になります。
Google Cloudでは、ADK Agentから利用できるAgent Runtime Code Execution Toolが提供されており、AI生成コードをSandbox環境で実行できます。
ただしSandboxがあるから絶対安全というわけではありません。
何を実行できるか。
どこへアクセスできるか。
どの権限を与えるか。
という設計が必要です。
詳しくは、「AIエージェントのSandboxとは?コード実行・ファイル・権限の安全設計」で扱います。
Subagent
一つのAgentですべて処理するのではなく、
複数のAgentへ役割を分ける構成もあります。
ただし、
Multi-Agentの方が高度
という意味ではありません。
仕事を独立して分割できる場合には有効ですが、Agent間の調整や状態共有など新たな複雑さも生まれます。
詳しくは、「Single AgentとMulti-Agentの違い|いつ複数のAgentに分けるべき?」で扱います。
Evaluation / Logs
Agentが動いたからといって、
期待通り仕事ができたとは限りません。
- 正しいToolを選んだか
- 必要な手順を通ったか
- タスクを完了できたか
- 同じ失敗を繰り返していないか
などを確認する必要があります。
Agentでは最終回答だけでなく、
そこへ至る行動そのもの
を見ることが重要になります。
詳しくは、「AIエージェントはどうテストする?Eval・ログ・再現性・失敗分析の基本」で扱います。
6. Claude Code・Codex・Antigravityは何なのか
ここまで整理すると、
Claude Code、Codex、Antigravityの位置づけも分かりやすくなります。
これらは単なるLLMではありません。
モデルに加えて、
- ファイルアクセス
- コード編集
- コマンド実行
- Tool利用
- 状態管理
- 実行環境
などを組み合わせ、
ソフトウェア開発という仕事を進められるように設計されたCoding Agent / Agent環境
として考えられます。
Googleでは、ADKを基盤とするAgents CLIを通じて、Antigravity、Claude Code、CursorなどのCoding Agent環境から、Agentの構築・評価・デプロイを進められる仕組みも提供されています。
大切なのは、
Claude Codeを覚えること
Codexを覚えること
Antigravityを覚えること
だけではありません。
その裏側にある、
Agent / Tool / State / Environment / Eval
という構造を理解することです。
製品が変わっても、この構造は残ります。
7. Agentはクラウドで動くものなのか?
必ずしもそうではありません。
Agentシステム全体は、利用するModel・Tool・実行環境の対応状況に応じて、
- Cloud
- Local
- Hybrid
の構成を選べます。
たとえば、
モデルはクラウド
+
Toolやファイルはローカル
という構成も可能です。
逆にローカルLLMをモデルとして使い、Agent全体を自分のPCやサーバー側へ置く構成も考えられます。
ここでは詳しく扱いません。
実行場所の判断については、「AIエージェントはローカルで動かすべき?クラウドAgentとの違いと使い分け」で整理します。
8. では、AIエージェントはいつ必要なのか?
すべてのAI処理をAgentにする必要はありません。
一つの判断基準は、
途中の状況によって、次にやることを変える必要があるか
です。
Agentを使わなくてもよい例
「この文章を300文字に要約する」
「CSVの列名を変換する」
「決められた入力を決められたAPIへ送る」
こうした処理は、単発LLMやWorkflowの方がシンプルです。
Agentが向いている可能性がある例
「このエラーの原因を調べ、必要ならコードを修正し、テストが通るまで対応する」
「複数の資料を調査し、情報が足りなければ追加調査したうえでレポートを作る」
「問い合わせ内容を確認し、必要な情報をシステムから探し、状況に応じて処理する」
こうした仕事では、
途中の結果によって次の行動が変わります。
Agentを検討する意味があります。
9. Agent設計とは「AIに全部任せること」ではない
Agentという言葉から、
「AIが人間の代わりに完全自律で仕事をする」
というイメージを持つかもしれません。
しかし実際のAgent設計で重要なのは、
どこまでAIに判断させるのか
です。
たとえば、
Agentが判断
↓
Toolを実行
↓
結果を確認
↓
危険性が低ければ継続
↓
重要操作だけ人間へ確認
という設計もできます。
AIへすべてを任せる必要はありません。
むしろ、
- 何をAIへ任せるか
- 何をWorkflowとして固定するか
- 何をToolとして許可するか
- 何をSandbox内だけで実行するか
- どこで人間が確認するか
- どう評価するか
を決めることがAgent設計です。
10. AIを「使う」から、仕事を「設計する」へ
これまで生成AI学習では、
- Prompt
- Python
- API
- RAG
- Claude Code
- Codex
- MCP
など、個別の技術を学ぶことが中心でした。
Agentという視点を持つと、それらの位置関係が見えてきます。
Model
↓
Agent
↓
Tool
↓
State
↓
Environment
↓
Execution
↓
Evaluation
PythonはAgentを実装する手段として、APIやMCPはModel・Tool・外部Systemを接続する手段として、Agentというシステムの中で位置づけ直せます。
AIエージェント時代に重要になるのは、
新しいツールを一つずつ覚え続けることだけではありません。
目的に応じて、AI・Tool・データ・実行環境・人間の役割をどう配置するか。
そこを考えられることです。
Agent設計とは、AIへ仕事を丸投げする技術ではありません。
仕事そのものを、AIと人間へどう分解するかを設計する技術
だと考えると分かりやすくなります。