134 Views
October 25, 25
スライド概要
2025年10月25日に開催された .NETラボ 勉強会 2025年10月の登壇資料です。
Microsoft AgentframeworkでAIエージェントを開発して
Microsoft.Extensions.AIとAzure AI FoundryでAIエージェントを評価するデモをやりました。
デモで使ったリポジトリ:https://github.com/ymd65536/CloudRunBlazor
スライド内のリンク
Strands Agents
https://github.com/strands-agents/sdk-python
サンプルコード:
https://github.com/ymd65536/strands_agents_sdk/blob/main/sample/getting_started/agent.py
ADK徹底解説
https://speakerdeck.com/ymd65536/google-agent-development-kit-deline-botwozuo-tutemita
Microsoft Agent Framework
https://learn.microsoft.com/ja-jp/agent-framework/overview/agent-framework-overview
【GitHub Codespaces】Microsoft Agent FrameworkをBlazorで動かしてみる
https://zenn.dev/ymd65536/articles/ms_agent_framework_codespaces
Microsoft Agent Framework: インテリジェント AI エージェントのためのオープンソース エンジン - YouTube
https://www.youtube.com/watch?v=yOBcPuLLmuY&t=32s
リスクおよび安全性評価者 (プレビュー)
https://learn.microsoft.com/ja-jp/azure/ai-foundry/concepts/evaluation-evaluators/risk-safety-evaluators
汎用エバリュエーター
https://learn.microsoft.com/ja-jp/azure/ai-foundry/concepts/evaluation-evaluators/general-purpose-evaluators
Relevance
https://learn.microsoft.com/ja-jp/azure/ai-foundry/concepts/evaluation-evaluators/rag-evaluators#relevance
一般男性,Cloud Developer,404ニキ,Microsoft MVP, LINE API Expert ,Google PTE 2025 DataAnalytics,AWS Community Builder Dev Tools, #dotnetlab 運営,投稿は個人の見解 , #AzPoC No.5
さまざまなAgent FrameworkとAIエージェントの評価 .NETラボ 勉強会 2025年10月 1
自己紹介 山田顕人(Kento.Yamada) @ymd65536 仕事:クラウドインテグレーション開発 ロール:マルチクラウドデベロッパー 活動:.NETラボ勉強会の運営、Azure AI Community運営 最近:Microsoft MVP 2年目になりました。 受賞歴 LAPRAS OUTPUT AWARD 2024 01 Google Cloud Partner Top Engineer 2025 DataAnalytics(2024年〜) Google Cloud Partner Tech Blog Challenge 2023 Cloud AI/ML 部門 2
今日話すこと ゴール:AIエージェントを開発/評価するといった内容を学ぶ ● 前回の話 ここから本題:AIエージェントの評価方法について ● ● ● ● ● ● ● AIエージェントとは何か(定義の話) さまざまなAgent Framework AIエージェントの評価・モニタリング Microsoft Agent Frameworkとは デモ そもそも:~を使えば良いんじゃないかって? まとめ 3
前回の話 簡単にまとめると ● AI(LLM)の応答は不確実なので応答を評価(テスト)するのは難しい ● AIエージェントの根っことなるLLMの評価項目はさまざま ● AIエージェントにはエバリュエータを使おう AIエージェントを評価する場合は根っことなるLLMの理解が不可欠になる。 LLMの理解を助けるツールとしてエバリュエータが存在する。 4
AIエージェントとは何か(定義の話) ● ある目標に向けて与えられたタスクを(自律性をもって)遂行する ● (時には)自律性と知性を持ち、計画を立て、タスクを実行する 2025/YY/MMに .NETラボが 開催されます。 イベントをカレンダーに登録します! 資料も作成しておきます! 5
さまざまなAgent Framework(一部紹介) ● ● ● ● ● ● ● LangChain Strands Agents(AWS) Agent Development Kit(Google) Mastra CrewAI Claude Agents SDK OpenAI Agents SDK 今回紹介するものに関連 ● Semantic Kernel ● AutoGen ● Microsoft.Extensions.AI 6
Strands Agentsとは 7
Strands Agents(AWS) ● AWSにおける代表的なAIエージェントフレームワーク ● AWSのサービス開発・運用においても利用されていることで有名 Strands Agents 引用:https://github.com/strands-agents/sdk-python 8
Strands Agents(AWS) 引用:https://github.com/ymd65536/strands_agents_sdk/blob/main/sample/getting_started/agent.py 10行程度でサンプルが動くという驚異の短さ 9
Google ADK(Agent Development Kit)とは 10
Google Agent Development Kitの構造 Agent ルートエージェント name model description instruction Tool Runner エージェントの起動 SubAgent エージェントの情報 Toolの設定 SubAgentの設定 SessionService チャットセッションの管理 MemoryService チャット履歴の管理 11
基本:ADKはルートとサブでエージェントが必要 質問:天気について教えてくれる人は誰だ? d:文章を要約するエージェントです。 d:地域の天気を教えてくれるエージェントです。 d:今日のニュースを教えてくれるエージェントです。 ルートエージェント ルートエージェントはサブエージェントのdescriptionを判断する。 12
補足:徹底解説している資料 参考:https://speakerdeck.com/ymd65536/google-agent-development-kit-deline-botwozuo-tutemita 13
14
Microsoft Agent Frameworkとは 参考:https://learn.microsoft.com/ja-jp/agent-framework/overview/agent-framework-overview Semantic KernelやAutoGen、Microsoft Exstension.AIをベースにした開発キット 15
インテリジェント AI エージェントのためのオープンソース エンジン Microsoft Agent Framework: インテリジェント AI エージェントのためのオープンソース エンジン - YouTube https://www.youtube.com/watch?v=yOBcPuLLmuY&t=32s 16
補足:Blazorを使ったハンズオン資料 参考:https://zenn.dev/ymd65536/articles/ms_agent_framework_codespaces 17
AIエージェントの評価・モニタリング 18
自然言語の回答はどう評価するか .NETラボ勉強会はどんな勉強会ですか? .NETラボ勉強会は毎月第4土曜日に開催される勉強会で す。Surfaceが大好きな人が集まる場所でもあり、 Copilot愛好家が登壇したこともあります。 どなたでも参加できるCopilotファミリーなコミュニ ティです。 どんな出力がされるかわからない確率的なものなので ソフトウェアテストの概念では評価ができない。そこで評価器を使う 19
自然言語の回答からAIエージェントを評価する 大事なこと ● 性能の検証 ● 信頼性と安全性の確保(Azure Content Safetyの機能) ● ユーザー体験の向上 以下の2つで実現可能 Azure AI Evaluation SDK Microsoft.Extensions.AI.Evaluation ※他の方法もあるけど、それは最後のオチで説明します 20
AIエージェントの性能検証(まだやっていない。今回は省略) ● IntentResolutionEvaluator ○ 明確な正解がある場合にどれだけ正確な答えを出せるか。意図したものか ● ToolCallAccuracyEvaluator ○ 指示通りのツールを使用できているか ● TaskAdherenceEvaluator ○ 指示したタスクをどれくらい遂行できているか 21
AIエージェントの信頼性と安全性の確保(前回やった) ● HateUnfairnessEvaluator ○ ヘイト判定 ● SexualEvaluator ○ 性的コンテンツ判定(Learnではエロ用語という記述もある) ● ViolenceEvaluator ○ 暴力コンテンツ判定 ● SelfHarmEvaluator ○ 自傷コンテンツ判定 ● CodeVulnerabilityEvaluator ○ コードの脆弱性 参考:https://learn.microsoft.com/ja-jp/azure/ai-foundry/concepts/evaluation-evaluators/risk-safety-evaluators 22
ユーザー体験の向上 ユーザにとって受け取りやすいか(流暢性)などを評価する。 ● 一貫性 ○ CoherenceEvaluator ○ 次のスライドで例を紹介 ● 流暢性 ○ FluencyEvaluator ● 質問と応答の関連性 ○ RelevanceEvaluator 参考 :https://learn.microsoft.com/ja-jp/azure/ai-foundry/concepts/evaluationevaluators/general-purpose-evaluators 23
質問例:「地球温暖化の主な原因をいくつか説明してください。」 検証の回答 まず第一に、最大の原因は化石燃料の燃焼です。 発電や輸送のために石炭、石油、天然ガスが燃やされると、大量の二酸化炭素 が大気中に排出されます。 このガスが温室効果を強め、地球の気温を上昇させているのです。 次に重要なのは、森林破壊です。 木々は「地球の肺」として機能し、大気中の二酸化炭素を吸収しますが、大規模 な伐採によってこの天然の吸収源が減少しています。 さらに、 農業や産業プロセスからも、メタンや亜酸化窒素といった強力な温室効 果ガスが排出されています。 回答の評価 回答は首尾一貫しており、論理的に構成され、明確な関連性と適切な接続を用い て質問に効果的に対応している。 24
デモ用の構成 Microsoft Azure マネージドIDを呼び出し Blazor Server Cloud Run Secret Manager Cloud Build Cloud Monitoring 25
デモ 26
デモのサンプル 27
デモのサンプル 28
オチ:そもそも~を使えば良いんじゃないかって? Azure AI Foundry Agent Service を使おう!! 29
オチ:そもそも~を使えば良いんじゃないかって? Azure AI Foundry Agent Serviceではなく Azure AI Evaluation SDKやMicrosoft.Extensions.AI.Evaluationを使う理由 ● 特定の評価項目に対してより小さいアプローチをかけたい ● ローカルテストコードに組み込みたい ● CI/CDに組み込む ○ GitHub Actionsに組み込むなど 30
まとめ ● ● ● ● ● ● 前回の振り返り さまざまなAgent Framework Microsoft Agent Frameworkについて 評価器の説明をいくつか 実際にいくつかデモを見た 使い分けが大事 31
次回予告 ● .NETラボ 勉強会 2025年12月 32
おわり 33