Share
Embed
MCP Server as a Judge
JAWS-UG AI/ML #25:Generative AI / ML LT大会の登壇資料です。
https://jawsug-ai.connpass.com/event/348312/
matsukada
April 21, 2025
Transcript
15 slides
-
©Mitsubishi Electric Corporation M C P S e r v
e r a s a J u d g e 塚田 真規 2 0 2 5 / 4 / 2 1 -
©Mitsubishi Electric Corporation 自 己 紹 介 2 @ma_tsukada •
名前: • 塚田 真規 (つかだ まさき) • 所属: • 三菱電機株式会社 デジタルイノベーション事業本部 AI戦略プロジェクトグループ • 2024 Japan AWS All Certifications Engineers • AWS Community Builder 2025 • カテゴリ「AI Engineering」 -
©Mitsubishi Electric Corporation M o d e l C o
n t e x t P r o t o c o l ( M C P ) と は 3 • Model Context Protocol (MCP) • Anthropicが提唱 • AIアプリケーションと外部ツールとの通信方式を規格化したもの AIアプリケーション Web検索ツール ブラウザ操作ツール データベースツール MCP未使用時のイメージ:ツールごとに通信の実装が必要 通信実装 通信実装 通信実装 AIアプリケーション MCP Server Web検索ツール MCP Server ブラウザ操作ツール MCP Server データベースツール MCP Client MCP使用時のイメージ:ツールとの通信実装方式が共通化 -
©Mitsubishi Electric Corporation M C P a s a J
u d g e • 評価基盤をMCP Serverとして構築 • 評価指標の一覧を管理 • 指定された評価指標を用いて評価を実施 • 評価した結果をデータベースに保存 4 AIアプリケーション MCP Client MCP Server 評価指標管理ツール 評価値記録ツール 評価値測定ツール AIアプリケーション MCP Client AIアプリケーション MCP Client 何故MCP Serverとして構築するか? AIアプリケーションに共通した評価基盤を提供するため -
©Mitsubishi Electric Corporation 全 体 概 要 図 5 AWS
Bedrock InlineAgent MCP Server 評価指標管理ツール 評価値記録ツール 評価値測定ツール (*) https://github.com/awslabs/amazon-bedrock-agent-samples/tree/main/src/InlineAgent AWS Bedrock Knowledge Bases Amazon OpenSearch Service Amazon DynamoDB AWS Cloud RAGアプリケーション InlineAgent SDK* MCP Client stdio エンジニア -
©Mitsubishi Electric Corporation St e p . 1 : 評
価 ツ ー ル の M C P S e r v e r 化 6 AWS Bedrock InlineAgent MCP Server 評価値測定ツール AWS Cloud InlineAgent SDK* MCP Client stdio @mcp.tool(name="eval") async def eval(query, response, retrieved): ………… eval_mcp_server = await MCPStdio.create(…) eval_action_group = ActionGroup( ・・・ mcp_clients=[eval_mcp_server], ) await InlineAgent( ・・・ action_groups=[eval_action_group], ・・・ ) .invoke(query) ②MCP ServerをActionGroupとして定義し、 InlineAgentに登録 ①評価値を測定する関数を「@mcp.tool」として定義 ③データを入力して、実行 Step.1:評価関数をMCP Server toolとして定義し、InlineAgentから利用可能とする -
©Mitsubishi Electric Corporation St e p . 2 : M
C P S e r v e r に ツ ー ル を 追 加 8 AWS Bedrock InlineAgent MCP Server 評価値測定ツール AWS Cloud InlineAgent SDK* MCP Client stdio @mcp.tool(name=“get_metrics") async def get_metrics() -> list[str]: ………… @mcp.tool(name="eval") async def eval(query, response, retrieved): ………… @mcp.tool(name="record_score") async def record_score(metric: str, score: str): ………… ①新たなツール関数をMCP Toolとして定義 ②データと評価指標を指示して、実行 Step.2:MCP Serverに新たなtoolを追加して、ユーザ要求ごとに使い分ける 評価指標管理ツール 評価値記録ツール Amazon DynamoDB -
©Mitsubishi Electric Corporation St e p . 2 実 行
結 果 9 入力データを基に信頼指標を評価してください。 -
©Mitsubishi Electric Corporation St e p . 3 : A
I ア プ リ ケ ー シ ョ ン 実 行 を 自 動 化 10 MCP Server 評価値測定ツール InlineAgent SDK* MCP Client stdio Step.3:エージェントがRAGアプリケーション実行から評価まで自動化 評価指標管理ツール 評価値記録ツール AWS Bedrock InlineAgent AWS Cloud Amazon DynamoDB AWS Bedrock Knowledge Bases Amazon OpenSearch Service RAGアプリケーション rag_action_group = ActionGroup( ・・・ tools=[retrieve, generate_answer], ) await InlineAgent( ・・・ action_groups=[ eval_action_group, rag_action_group ], ).invoke(query) ①RAGアプリケーションの関数を ActionGroupとして定義 ②InlineAgentにRAGアプリケーションの ActionGroupを登録 ③アプリケーションと 評価の実行を指示 -
©Mitsubishi Electric Corporation St e p . 3 実 行
結 果 11 質問は…です。 これに対するResponseRelevancy を評価してください。 結果と評価値を出力してください。 (i)RAGアプリケーションの実行 (ii)実行結果の評価&記録 (iii)アプリケーション実行結果と 評価結果の表示 中略 中略 中略 -
©Mitsubishi Electric Corporation St e p . 4 : A
I ア プ リ ケ ー シ ョ ン の 置 き 換 え ( R A G → B e d r o c k A g e n t ) 12 MCP Server 評価値測定ツール InlineAgent SDK* MCP Client stdio Step.4:Bedrock Agentを実行から評価まで自動化 評価指標管理ツール 評価値記録ツール AWS Bedrock InlineAgent AWS Cloud Amazon DynamoDB AWS Bedrock Agents ragAgent = CollaboratorAgent( agent_name="RagAgent", agent_alias_id=“…", … ) await InlineAgent( … action_groups=[eval_action_group], collaborators=[ragAgent], agent_collaboration="SUPERVISOR", ).invoke(query) ①Bedrock Agentを CollaboratorAgentとして定義 ②InlineAgentにcollaboratorとして エージェントを登録 collaborators ③アプリケーションと 評価の実行を指示 -
©Mitsubishi Electric Corporation St e p . 4 実 行
結 果 13 中略 中略 中略 (i)Bedrockエージェント の呼び出し (ii)エージェント呼び出し 以降はこれまでと同じ -
©Mitsubishi Electric Corporation ま と め • AIアプリケーションの評価機能をMCP Serverとして実装し、複数のクライアントから利用 14
InlineAgent SDK* MCP Client stdio MCP Server 評価値測定ツール 評価指標管理ツール 評価値記録ツール RAGアプリケーション AWS Bedrock Agents エンジニア 1. 入出力データを手入力して評価 3. 作成済みのBedrock Agentsを Collaborator Agentとして定義して評価 2. RAGアプリケーションをAction Groupと して定義して評価 共通評価基盤を様々なアプリケーションに提供