ブログ | CTO オフィス

AIエージェントの理解: 設計、動作、境界の設定

ロリ・マクヴィッティ サムネイル
ロリ・マクヴィッティ
2025年8月21日公開

一部の人はLLMとAIエージェントを混同しているようです。 ここではっきりさせましょう。 確かにチャットボットにツール実行機能を加え、それをAIエージェントと呼ぶこともありますが、高度な自動化にエージェントを活用したいなら、その手法は未熟です。 あなたがそれを望むのは明らかです。なぜならハイブリッドやマルチクラウドの複雑さで増える運用負担に、本質的に価値ある解決策だからです

AI エージェントは、目標を解釈し、コンテキストを維持し、ツールを呼び出してアクションを実行するソフトウェア ユニット (application) 境界付きシステムである必要があります。 何が起こる必要があるかを推論するために大規模言語モデル (LLM)を使用することがありますが、LLM はメカニズムの一部分にすぎません。 エージェントはシステムです。

実際のところ、AIエージェントはタスク(明確または推測)を受け取り、その状況を踏まえて評価し、どのように動くかを決定します。 その行動には、ツールの起動、システムへの問い合わせ、ワークフローの作動などが含まれます。

今では、多数のエージェントを導入する必要なく、1つのエージェントだけでも十分に価値を生み出せます。 適切な範囲で、しっかりとしたツールチェーンに結びついた単一のエージェントが、すぐに役立つ作業を行います。 まとめの自動化、レポート作成、チケット分類、さらにはアラートを適切なキューへ振り分ける作業も可能です。 範囲とポリシーを守る限り、すでに十分に価値があります。

エージェントAIを使うことはできますが、エージェント同士が協力し始めたら、たとえそのためのアーキテクチャが整っていなくても、あなたはエージェンティックAIを実践していることになります

当社の最新の調査に基づくと、あなたはすでにエージェント行動に向き合っている(回答者の9%)か、間もなくそうなる(回答者の79%)状況にあると考えています。 エージェント型AIには、複数のエージェント(「ミニオン」と呼びますが、これはエージェント型AIとの区別を明確にするためです)が共有ツールや状況に応じた目標、そしてMCPのような適用レイヤーと連携しながら、制御した実行動作を行うフレームワークが求められます。

エージェントとは何か、ご存知ですか?

エージェントは、明確に定められた制約の中で自律的または半自律的に動作するソフトウェアの構成要素です。 エージェントはタスクを解釈し、状況を管理してツールを呼び出し、ユーザーや大きなシステムを代表して判断を下します。 MCPに準拠したアーキテクチャでは、エージェントはタスク、状態、ポリシーがどのように連携するかを定めた構造化されたプロトコルに従います。

エージェントは推論し、委任し、行動できますが、それは与えられたサンドボックスの範囲内だけに限ります。 システムコールを即興で作り出すことはありません。 ツールへのアクセスを勝手に作り出すこともありません。 すべての行動は、保護・監視・取り消しが可能な宣言型インターフェイスを通して行うべきです。

エージェントは最低限、次の要素を備えています。

  1. コンテキストハンドラ – 状態や目標、短期または永続的な記憶を管理します
  2. 推論エンジン– タスクを解釈して実行計画を立てる、通常はLLMかシンボリックプランナーです
  3. ツールインターフェイス – あなたの意図を具体的な操作に変換し、エージェントが実行できる動作を管理します
  4. セキュリティ境界– エージェントの権限と適用範囲を明確に規定します
  5. トランスポート層 – 通常、MCP、HTTP、またはイベントバスを使ってメッセージとコンテキストを転送します

LLM は思考します。 エージェントは行動を起こします。 プラットフォームは管理します

エージェント導入モデル

主流の導入モデルは2つありますが、そのうちの1つには注意が必要です。

図1 AIエージェントを構築する際、現在主に2つの方法があります: LLM中心型とアプリケーション限定型です。 LLM中心型はチャットボットには適していますが、より高度な自動化の用途には向きません。

1. LLMに特化したエージェント(モノリシック型)

これが現在ほとんどのフレームワークの標準です: LangChain、AutoGen、CrewAIなど。 エージェントは、単一のLLMセッションを土台に、ツールと必要に応じたメモリを組み込んだチャットプロンプトと考えてください。

  • 素早くプロトタイプを作成
  • デモが手軽にできます
  • 拡張にリスクがあります

制限事項:

  • 継続的なアーキテクチャはありません
  • ネイティブなポリシー実施がありません
  • モデルがツールの呼び出しを誤認したり、制約を見落としたりしやすい
  • トークンログ以外の可視性は拡張しない限りありません

簡単に言えば、ルートアクセスを持ち管理者のいない有能なインターンです。 順調に動作しますが、そうでなくなる時もあります。

2. アプリケーション固有エージェント(モジュラー型)

これが貴社の本番環境に適したモデルです。

ここで、エージェントは、LLMを使用するフレームワーク上に構築された完全なソフトウェア サービスですが、実行の処理には LLM に依存しません。

  • 状態は外部のRedis、ベクターデータベース、ポリシーエンジンにあります
  • ツールの使用は明確にされ、制御層(MCPサーバー、ゲートウェイプロキシ)で管理しています。
  • セキュリティと可視化は最優先の課題であり、後回しにしません
  • エージェントはプロンプトではなく、提供されるサービスです

これにより、バージョン管理、アクセスログ、ツール単位のガバナンス、ランタイムの隔離を実現できます。 エージェントを単なるツールから重要なインフラへと変える方法です。

エージェントはペルソナとは異なります

エージェントを知的な存在として設計すると、人は無意識に人間中心のアクセスモデル、つまりロールベースのアクセス制御(RBAC)、ログイントークン、ユーザー属性、アイデンティティスコープに頼りがちです。 セッション全体を通じて一貫した人間の身元を扱う場合には、それらが合理的です。 しかし、エージェントはそうは動きません。 彼らはユーザーではありません。 彼らは実行者です。 それがすべてを変えるのです。

エージェントは作業を進めながら役割を変えていきます。 ひとつのエージェントが、同じセッションやタスクの中でデータ取得者、計画者、自動化のトリガー役を連続して担当します。 ログインして静的なトークンを取得し、固定した役割だけに留まることはありません。

ここで従来のアクセス制御は機能しません。 RBACは静的な役割を前提としています。 属性ベースのアクセス制御(ABAC)は固定の属性を基にしています。 セッショントークンは一定のスコープに依存します。 エージェントが動的であれば、どれも通用しません。 エージェント型システムのアイデンティティは個人ではなく、機能に基づいています。

だからこそ、エージェント管理をアイデンティティベースのポリシーから実行ベースのポリシーへシフトする必要があります。 すべてのツール呼び出しは、そのエージェントの現在のタスク役割、コンテキスト状態、許可された範囲に対してリアルタイムで検証します。 ポリシーは認証層ではなく、ツール層で適用されます。 これらのポリシーを適用するために必要なメタデータは、ログインセッションではなくコンテキストブロックが保持します。 この考え方の変革を「Policy in Payload」と呼ぶのは、ポリシーが実際にペイロード内に組み込まれているからです。

エージェントはエージェントとして扱いましょう。 ソフトウェアのように管理してください。 忘れないでください。LLMが考え、エージェントが動き、プラットフォームが統制します。 役割を混同すると、管理権限を持ちながら過去の過ちを覚えていない人格を作ってしまいます。

LLMが思考します。 エージェントが動きます。 プラットフォームが制御します。

この方針を守れば、拡張性が高く、安全で、現実の変化にも強いエージェント インフラストラクチャを構築できます。