LINEヤフー Tech Blog

LINEヤフー株式会社のサービスを支える、技術・開発文化を発信しています。

AIエージェント開発への探求 - パート3:サブエージェントとMCPの深掘り

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が調整する「専門家」と考えることができます。

AIエージェントのサブエージェント例

1.2 サブエージェントの特徴

理想的なサブエージェントは以下の特徴を備える必要があります:

  1. 専門性:特定のドメイン(Jira、Slack、Calendarなど)に特化
  2. 一貫したインターフェース:Central Agentが容易に調整できる標準化されたインターフェースを提供
  3. エラー処理能力:外部APIからの例外を確実に処理
  4. 解釈能力:自然言語と特定APIリクエストの変換
  5. アクセス制御:外部システムとのやり取り時の安全性を確保

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の導入図

MCPは以下を実現するための構造化フレームワークを提供します:

  • 様々なソースからのデータクエリ
  • 外部システムへのアクション実行
  • AIとシステム間のやり取りの一貫性確保

2.2 MCPの主な構成要素

MCPエコシステムは以下の主要コンポーネントで構成されます:

  1. MCPクライアント:AIがMCPサーバーとやり取りするためのライブラリ
  2. MCPサーバー:AIリクエストをバックエンドシステムに橋渡し
  3. トランスポート:クライアントとサーバー間の通信チャネル(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の比較

観点MCPFunction Calling
標準化標準プロトコル、アプリ間で一貫実装ごとに異なる
データ型リソースとツール入出力付き関数
やり取り双方向、ストリーミング対応通常は単発呼び出し
スコープオープンでクロスプラットフォーム特定LLMに紐づく場合が多い
セキュリティアクセス制御・制限に対応実装依存

3. MCPを用いたサブエージェントの実装

3.1 MCPサブエージェントのアーキテクチャと通信プロセス

MCPサブエージェントは、処理ロジックの分離とAPI操作の簡素化を同時に実現する標準化されたアーキテクチャで構築されています。以下は、リクエスト処理中の静的構造と動的通信フローの両方を示す2つの図です。

MCPサブエージェントのアーキテクチャ

システム内の各コンポーネントには明確な役割があります:

  • Agent Coordinator: リクエストを適切な専門サブエージェントに振り分け
  • Prompt Processor: 自然言語を意図とエンティティに変換
  • MCP Client: MCP標準に従ってMCPサーバーに接続・リクエスト送信
  • MCP Server: MCPリクエストを対応するAPI呼び出しに変換

リクエストの処理フローは次のシーケンス図で詳細に示されています:

MCPサブエージェントのシーケンス図

MCPサブエージェントアーキテクチャの主な特徴:

  1. 言語変換: 自然言語リクエストを自動的にMCPコマンドに分析
  2. 関心の分離: サブエージェントロジックをAPI詳細から切り離し
  3. インターフェース標準化: システム間の通信プロトコル統一
  4. 読み書き対応: データクエリとアクション実行の両方を同時にサポート
  5. セキュリティ: 個々のリソース/ツールレベルまでの精密なアクセス制御

3.2 MCPベースサブエージェントの利点

  1. 関心の分離:MCPによりサブエージェントのロジックとAPI接続の詳細が分離
  2. 一貫したインターフェース:外部システムに関わらず統一されたインターフェース
  3. 拡張性:Central Agentに影響なく新しいリソース/ツールを追加可能
  4. 高いセキュリティ:AIが実行できるデータ・アクションを厳密に制御
  5. 再利用性:MCPサーバーは複数AIアプリで利用可能

4. MCPサーバーの利用と実装

4.1 既存のMCPサーバーの活用

MCPの利点を活かすには、既存のMCPサーバーを利用するか、独自のサーバーを実装する方法があります。

パブリックなマーケットプレイスでは、様々なシステム向けのMCPサーバー実装が提供されています(GitHub、Slackなど)

これらの既存サーバーは、AIエージェントと様々な外部システムとの接続を即座に実現し、開発時間を大幅に短縮できます。

4.2 独自MCPサーバーの構築

既存のAPIサービスがあれば、それをMCPサーバーとして公開することで、AIエージェントからアクセス可能にできます。

実装ステップ

  1. 公式MCPリソース参照Model Context ProtocolのドキュメントとSDKを活用
  2. SDKのインストールnpm install @modelcontextprotocol/sdkなどでSDKをセットアップ
  3. リソースとツールの定義:外部システムへのアクセスポイントを特定
  4. MCPサーバーの実装:SDKを使用してプロトコル準拠のサーバーを構築
  5. 安全な接続の確立:適切な認証と権限設定

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ウェビナー形式)、オフライン(招待制)
  • 参加費用:無料
  • オンライン視聴方法:事前登録後、公式サイトより視聴可能です。
  • 言語:日本語、英語、韓国語
Nguyễn Trọng Phúc(フック)

Name:Nguyễn Trọng Phúc(フック)

Description:2020年にTechbase Vietnamに入社し、Yahoo!オークションベトナム開発チームのBrSEを務めています。仕事や日常生活でAIを活用することが好きで、AIに関するニュースや知識を定期的に共有しています。IBM AI Product Manager、PSM II、PSPO IIの資格を保有しています。