初めに
生成AI関連の資料を読んでいると、次のような言葉がよく登場します。
- Agent
- Agent Runtime
- Agent Platform
- MCP
- Skills
- Memory
どれも似た文脈で使われるため、最初は違いが分かりにくいです。
今回は、Agent、Agent Runtime、Agent Platformの違いを、「作業者」「仕事場」「会社」という例えで整理します。
先に結論
簡単に言うと、次のように整理できます。
Agent = 目的を持って仕事をする作業者
Agent Runtime = Agentを実際に動かす実行環境
Agent Platform = 複数のAgentやRuntimeを管理・提供する基盤
会社に例えるなら、
Agent = 社員
Agent Runtime = 社員が働くオフィス
Agent Platform = オフィスや社員を管理する会社
という関係です。
Agentとは何か
Agentは、ユーザーから目的を受け取り、その目的を達成するために次の行動を判断する主体です。
例えば、コードレビューを行うAgentであれば、次のように動きます。
- 変更されたコードを確認する
- 変更の目的を理解する
- 関連ファイルを調査する
- テストを実行する
- 問題を見つける
- 修正案を提示する
通常の関数は、指定された処理を実行して終了します。
一方、Agentは実行結果を観察しながら、
次に何をすべきか
を繰り返し判断します。
そのため、Agentは単なる「機能ブロック」ではありません。
Agentは、目的、役割、指示、判断ロジックを持った実行主体です。
なお、「機能ブロック」に近いものは、AgentよりもToolやSkillです。
Agent Runtimeとは何か
Agent Runtimeは、Agentを実際に動かすための実行環境です。
Agentが「何をするか」を判断する存在だとすれば、Runtimeはその判断を実行に移す存在です。
主な役割には、次のようなものがあります。
- LLMの呼び出し
- Agent Loopの制御
- Toolの実行
- MCP Serverとの接続
- Skillsの読み込み
- MemoryやSessionの管理
- ファイルやコマンドの実行
- 権限と承認の管理
- エラー処理
- ログの記録
構造にすると、次のようになります。
User
↓
Agent
├─ Goal
├─ Role
├─ Instructions
└─ Decision
↓
Agent Runtime
├─ LLM Call
├─ Agent Loop
├─ Tool Execution
├─ MCP
├─ Skills
├─ Memory
├─ Session
└─ Permission
↓
External Systems
例えば、Agentが「ログを確認する必要がある」と判断しても、Agent自身が直接ログを取得するわけではありません。
RuntimeがToolやMCPを通してログを取得し、その結果をAgentへ返します。
つまり、
Agentが考え、Agent Runtimeが動かす
という関係です。
Agent Platformとは何か
Agent Platformは、AgentやAgent Runtimeを作成、実行、管理、監視するための、より上位の基盤です。
Agent Runtimeが1つのAgentを動かす仕事場だとすると、Agent Platformは複数の仕事場や作業者を管理する会社に相当します。
Agent Platformには、次のような機能が含まれます。
- Agentの作成と登録
- Agent Runtimeの提供
- 複数Agentの管理
- Agent間の連携
- Modelの選択と切り替え
- Tool、MCP、Skillsの管理
- Memory Storeの管理
- ユーザーと権限の管理
- 実行履歴の確認
- ログ、トレース、評価
- コストと利用量の管理
- Agentのデプロイ
- APIやUIの提供
整理すると、次のような階層になります。
Agent Platform
├─ Agent A
│ └─ Agent Runtime
├─ Agent B
│ └─ Agent Runtime
├─ Shared Tools
├─ MCP Servers
├─ Skills
├─ Memory Store
├─ Observability
└─ Access Control
ただし、実際の製品ではRuntimeとPlatformの境界が明確に分かれていないこともあります。
1つの製品が、Agent、Runtime、Platformの機能をまとめて提供している場合もあります。
Tool、Skill、MCP、Memoryとの関係
Agent周辺の用語も整理しておきます。
| 要素 | 役割 | 会社での例え |
|---|---|---|
| LLM | 推論する | 頭脳 |
| Agent | 目的に向かって判断する | 社員 |
| Tool | 実際の操作を行う | 道具 |
| Skill | 再利用可能な作業手順 | マニュアル |
| MCP | 外部システムとの接続方式 | 共通接続口 |
| Memory | 過去の情報を保持する | ノート、業務履歴 |
| Agent Runtime | Agentを動かす | オフィス |
| Agent Platform | 全体を管理する | 会社 |
ここで重要なのは、SkillやToolはAgentそのものではない、という点です。
例えば「Jiraのチケットを確認する」という処理はToolです。
「Jiraを確認し、優先順位を判断して、週次報告を作る」という再利用可能な手順はSkillです。
そして、そのSkillやToolを使いながら、目的に応じて行動するのがAgentです。
CodexやClaude Codeは何に分類されるのか
CodexやClaude Codeを、単純にAgent Runtimeと呼ぶのは少し不十分です。
これらは、Agent Runtimeを内包したCoding Agent製品と考える方が分かりやすいです。
Codex
= Coding Agent
+ Agent Runtime
+ Tool実行環境
+ Skills / MCP
+ ユーザーインターフェース
Claude Code
= Coding Agent
+ Agent Runtime
+ Tool実行環境
+ Skills / MCP
+ ユーザーインターフェース
OpenClawやHermes Agentも、Runtimeだけではなく、Agentや拡張機能を含むAgentシステムとして見る方が自然です。
製品によっては、さらに複数Agentの管理、権限制御、監視、デプロイ機能などを提供します。
その場合、その製品はAgent Platformに近い存在になります。
つまり、製品名を次のどれか1つだけに分類できるとは限りません。
Agent
Agent Runtime
Agent Platform
多くの製品は、これらを組み合わせて提供しています。
MCP、Skills、Memoryは必須なのか
MCP、Skills、Memoryは、実用的なAgentシステムを作るうえで重要な要素です。
ただし、Agent Runtimeの必須条件ではありません。
最小構成のAgent Runtimeは、次のようなものです。
LLMを呼び出す
↓
LLMがToolを選ぶ
↓
Toolを実行する
↓
結果をLLMへ返す
↓
完了するまで繰り返す
MCP、Skills、Memoryは、このRuntimeを拡張するための仕組みです。
- MCP:外部システムとの接続を標準化する
- Skills:作業手順を再利用可能にする
- Memory:過去の情報や経験を利用可能にする
つまり、必須ではありませんが、複雑な業務を安定して実行するには重要です。
まとめ
Agent、Agent Runtime、Agent Platformの違いは、次のように整理できます。
Agent
= 目的を持ち、次の行動を判断する主体
Agent Runtime
= Agentの判断を実行し、ToolやMemoryを管理する環境
Agent Platform
= AgentとRuntimeを作成、運用、監視、管理する上位基盤
さらに短く表現すると、
Agent = 考えて判断する
Agent Runtime = 判断を実行する
Agent Platform = 全体を管理する
です。
Agent開発では、LLMやPromptだけを見るのではなく、
どのAgentを、どのRuntime上で動かし、どのPlatformで管理するか
を考える必要があります。
また、Tool、Skill、MCP、Memoryは、それぞれAgentを支える部品です。
これらを分けて考えると、Agent関連の製品やアーキテクチャを理解しやすくなると思います。