AIエージェント開発の個人的な研究と知見の共有
本記事は3部構成です。
はじめに:個人プロジェクトとTech-Verse 2025
本記事は著者の個人プロジェクトとして、Codingエージェントとの協働で作成されました。AIエージェント開発についての知 見と実装手法をまとめたものです。Codingエージェントの効果的な活用方法についての詳細は、Tech-Verse 2025イベントで発表予定です。
AIエージェント技術は多くの企業で注目されており、私の勤務するLINEヤフーでも技術革新の一環として探求が進められています。高度な技術基盤と「つくる」を大切にする企業文化に触れる中で、私はAIエージェントの可能性に個人的な関心を持ち、この記事シリーズを通じて学びを共有したいと思います。
注意: 本記事は筆者の個人的な研究に基づくもので、所属企業の公式見解を代表するものではありません。
本パートの概要:サブエージェントとMCPの詳細
パート1:アーキテクチャの理解と実装アプローチとパート2:Central Agentの内部詳細では、Central-Sub Agentシステムの全体アーキテクチャとCentral Agentの内部動作について説明しました。パート3では、システムの「最下層」—サブエージェントが外部世界と直接やり取りする部分—に焦点を当てます。
本パートでは、サブエージェントを効果的に実装する方法、特にModel Context Protocol(MCP)を活用して柔軟で強力かつ安全なサブエージェントを作る方法を解説します。
1. エージェントアーキテクチャにおけるサブエージェント
1.1 サブエージェントの役割
サブエージェントはAIエージェントシステム内の専門的なコンポーネントであり、それぞ れが特定のタスクを担当し、特定の外部システムとやり取りします。サブエージェントは、Central Agentが調整する「専門家」と考えることができます。
1.2 サブエージェントの特徴
理想的なサブエージェントは以下の特徴を備える必要があります:
- 専門性:特定のドメイン(Jira、Slack、Calendarなど)に特化
- 一貫したインターフェース:Central Agentが容易に調整できる標準化されたインターフェースを提供
- エラー処理能力:外部APIからの例外を確実に処理
- 解釈能力:自然言語と特定APIリクエストの変換
- アクセス制御:外部システムとのやり取り時の安全性を確保
1.3 サブエージェントの実装方法
サブエージェントの実装方法はいくつかあり、それぞれに長所と短所があります:
方法 | 説明 | 長所 | 短所 |
---|---|---|---|
直接 | サブエージェントが外部APIを直接呼び出す | シンプル、高い制御性 | API構造に依存、保守が困難 |
SDK/ライブラリ | 既存ライブラリを利用してAPIを呼び出す | テスト済みコードの活用、時間短縮 | サードパーティライブラリの更新に依存 |
Function Calling | 関数を定義し、LLMが呼び出し方法を決定 | 柔軟、拡張が容易 | 精度に欠ける場合があり、制御が難しい |
MCP(Model Context Protocol) | AIが外部システムとやり取りするための標準プロトコル | 標準化、安全、柔軟 | MCPサーバーの実装が必要 |
2. Model Context Protocol(MCP)
2.1 MCPとは
Model Context Protocol(MCP)は、AIモデルが外部データソースやシステムと標準化された方法でやり取りできるようにするオープンプロトコルです。MCPは、AIが現実世界のデータや機能に安全かつ効率的にアクセス・操作するという重要な課題を解決します。
MCPは以下を実現するための構造化フレームワークを提供します:
- 様々なソースからのデータクエリ
- 外部システムへのアクション実行
- AIとシステム間のやり取りの一貫性確保
2.2 MCPの主な構成要素
MCPエコシステムは以下の主要コンポーネントで構成されます:
- MCPクライアント:AIがMCPサーバーとやり取りするためのライブラリ
- MCPサーバー:AIリクエストをバックエンドシステムに橋渡し
- トランスポート:クライアントとサーバー間の通信チャネル(STDIO、HTTP/SSE、WebSockets)
2.3 MCPのコア概念
2.3.1 リソース
リソースは、AI がMCPでデータにアクセスするための主要な手段です。URIでアドレス指定可能なデータエンティティです。
jira://issues - すべてのissue一覧
jira://issues/PROJ-123 - 特定issueの詳細
リソースの特徴:
- 読み取り専用:データのクエリ/取得専用、状態変更なし
- 構造化:返却データは一貫した構造
- フィルタ可能:多くの場合、クエリパラメータで結果を絞り込み可能
2.3.2 ツール
ツールは、AIがシステムの状態を変更するアクションを実行するための関数です。ツールはパラメータ付きの関数のようなものです。
// MCPでのツール定義例
{
name: "createIssue",
description: "Jiraで新しいissueを作成",
input: {
projectKey: "string", // プロジェクトキー
summary: "string", // issueタイトル
description: "string" // issue説明
}
}
ツールの特徴:
- 状態変更:データの作成・更新・削除に使用
- パラメータあり:特定の入力が必要で、バリデーションされる
- 結果返却:実行結果を通知
2.4 MCPとFunction Callingの比較
観点 | MCP | Function Calling |
---|---|---|
標準化 | 標準プロトコル、アプリ間で一貫 | 実装ごとに異なる |
データ型 | リソースとツール | 入出力付き関数 |
やり取り | 双方向、ストリ ーミング対応 | 通常は単発呼び出し |
スコープ | オープンでクロスプラットフォーム | 特定LLMに紐づく場合が多い |
セキュリティ | アクセス制御・制限に対応 | 実装依存 |
3. MCPを用いたサブエージェントの実装
3.1 MCPサブエージェントのアーキテクチャと通信プロセス
MCPサブエージェントは、処理ロジックの分離とAPI操作の簡素化を同時に実現する標準化されたアーキテクチャで構築されています。以下は、リクエスト処理中の静的構造と動的通信フローの両方を示す2つの図です。
システム内の各コンポーネントには明確な役割があります:
- Agent Coordinator: リクエストを適切な専門サブエージェントに振り分け
- Prompt Processor: 自然言語を意図とエンティティに変換
- MCP Client: MCP標準に従ってMCPサーバーに接続・リクエスト送信
- MCP Server: MCPリクエストを対応するAPI呼び出しに変換
リクエストの処理フローは次のシーケンス図で詳細に示されています:
MCPサブエージェントアーキテクチャの主な特徴:
- 言語変換: 自然言語リクエストを自動的にMCPコマンドに分析
- 関心の分離: サブエージェントロジックをAPI詳細から切り離し
- インターフェース標準化: システム間の通信プロトコル統一
- 読み書き対応: データクエリとアクション実行の両方を同時にサポート
- セキュリティ: 個々のリソース/ツールレベルまでの精密なアクセス制御
3.2 MCPベースサブエージェントの利点
- 関心の分離:MCPによりサブエージェントのロジックとAPI接続の詳細が分離
- 一貫したインターフェース:外部システムに関わらず統一されたインターフェース
- 拡張性:Central Agentに影響なく新しいリソース/ツールを追加可能
- 高いセキュリティ:AIが実行できるデータ・アクションを厳密に制御
- 再利用性:MCPサーバーは複数AIアプリで利用可能
4. MCPサーバーの利用と実装
4.1 既存のMCPサーバーの活用
MCPの利点を活かすには、既存のMCPサーバーを利用するか、独自のサーバーを実装する方法があります。
パブリックなマーケットプレイスでは、様々なシステム向けのMCPサーバー実装が提供されています(GitHub、Slackなど)
これらの既存サーバーは、AIエージェントと様々な外部システムとの接続を即座に実現し、開発時間を大幅に短縮できます。
4.2 独自MCPサーバーの構築
既存のAPIサービスがあれば、それをMCPサーバーとして公開することで、AIエージェントからアクセス可能にできます。
実装ステップ
- 公式MCPリソース参照:Model Context ProtocolのドキュメントとSDKを活用
- SDKのインストール:
npm install @modelcontextprotocol/sdk
などでSDKをセットアップ - リソースとツールの定義:外部システムへのアクセスポイントを特定
- MCPサーバーの実装:SDKを使用してプロトコル準拠のサーバーを構築
- 安全な接続の確立:適切な認証と権限設定
4.3 MCPサーバー活用の利点
独自のMCPサーバーを構築または既存のものを活用することで、以下の利点が得られます。
- AIと既存システムの統合:自然言語インターフェースで既存システムにアクセス
- 標準化されたアクセス:AIエージェントが一貫した方法でシステムとやり取り
- セキュリティ強化:明示的な権限管理とアクセス制御
- 開発効率の向上:標準プロトコルによる実装工数の削減
ヒント:MCPサーバーの詳細については、Model Context Protocolの公式リポジトリを参照してください。プロトコルの仕様、実装ガイドライン、SDKなどが提供されています。
5. まとめと展望
MCPは柔軟 なAIエージェント構築の新時代を切り開き、多くの企業システムと安全かつ効率的に連携可能にします。
方向性 | 概要 |
---|---|
エコシステム拡大 | GitHub、Slack、Mail、Calendarなど他サービス向けMCPサーバー開発 |
高度なAIエージェント | Agentic-RAGや自己学習機構の統合で効率向上 |
多様なサブエージェント | 専門サブエージェントの連携・クロスプラットフォーム運用 |
MCPの強みは、AIと外部システムをつなぐだけでなく、異なるAIエージェント同士が包括的なエコシステムとして協調できる共通標準を作ることにあります。これにより現代AIシステムの可能性が大きく広がります。この個人研究を通じて、その可能性の一端を探ってきました。
個人研究とTech-Verse 2025への展望
この記事はAIエージェント開発に関する個人的な探求と研究の一部です。Central-Sub Agentモデルのアーキテクチャ設計は、実用的なAIエージェントシステム構築への第一歩として、私の個人的な見解に基づいています。
2025年に開催されるTech-Verse 2025イベントでは、この研究過程でのCodingエージェントとの協働体験を共有する予定です。この個人研究は、AIエージェント技術の発展可能性を探るための一助となることを願っています。
「Tech-Verse 2025」開催概要
Tech-Verse 2025は、LINEヤフーが開催するエンジニア・デザイナー・プロダクトマネージャーのための技術カンファレンスです。最先端の挑戦や積み重ねてきた知識を共有します。
- 開催日時:6月30日(月)、7月1日(火) 10:00 - 20:00
- 開催形式:オンライン(Zoomウェビナー形式)、オフライン(招待制)
- 参加費用:無料
- オンライン視聴方法:事前登録後、公式サイトより視聴可能です。
- 言語:日本語、英語、韓国語