>100 Views
October 29, 25
スライド概要
2025/10
I'm a software development engineer. (Microsoft MVP Jul. 2005 - Jun. 2026)
ITエンジニア (Developer) 向け AIエージェント開発 ハンズオンセミナー 2025年10月 小島 富治雄
自己紹介 小島 富治雄 @Fujiwo Microsoft MVP (2005-2026)
社内での取り組み 2018年 『機械学習勉強会』 2019年 『AI/ML勉強会 基本編』 『AI/ML勉強会 IoT編』 2021年~ 『AI・ML勉強会』 チャンネル (Teams) 2024年 『生成AI入門 ~人工知能/機械学習とは~』 2025年 『AIエージェント勉強会 ~マイクロソフトの最新技術発表を受けて~』 『AIエージェント開発ハンズオンセミナー』 2
社外での取り組み 2018年 【de:code 2018】『C# でニューラルネットワークをスクラッチで書いて機械学習の原理を理解しよう』 講演 2019年 【Global AI Nights Fukui】 主催・ 講演 【福井工業大学 AI&IoTセンター設立シンポジウム】 講演 2020年 【de:code 2020】 『Azure Machine Learning Studio (Preview) と Python と C#/.NET による ディープ ラーニングのサンプル/チュートリアル』 【Global AI On Tour Toyama】 主催 3
本日のゴール C#/.NET でAIエージェントが 作れるようになる 4
アジェンダ 前回の復習 生成 AI AIエージェント MCP (Model Context Protocol) AIエージェントとMCPサーバーの開発 Microsoft Agent Framework チュートリアル 5
前回の復習 ITエンジニア (Developer) 向け AIエージェント勉強会 (2025/07) 6
生成AI 7
生成AI 8
LLM (Large Language Models:大規模言語モデル) 9
【図解】ChatGPTの原理/仕組みとは?データの学習方法も解説 - AI総研 10
AIエージェント 11
生成AIとAIエージェント 例1. 開発の例 生成AI プロンプトでサンプル コードを書く プロンプトで「計画立案 → 情報収集 → コーディング AIエージェント → テスト → 結果報告」まで自律的に実行 例2. 資料作成の例 生成AI プロンプトで参考文献一覧を作成 プロンプトで「計画立案 → 参考文献収集 → 分析 → AIエージェント 資料作成 → PDFで出力」まで自律的に実行 12
AIエージェントの例 (主にコーディング関連) Claude Code | Anthropic Gemini CLI | Google GitHub Copilot CLI Codex | OpenAI GitHub Copilot Agent Mode GitHub Copilot Coding Agent … 13
Claude Code | Anthropic npm install -g @anthropic-ai/claude-code claude 14
Gemini CLI | Google npm install -g @google/gemini-cli gemini 15
GitHub Copilot CLI npm install -g @github/copilot copilot 16
Codex | OpenAI npm install -g @openai/codex codex 17
AIエージェントの例 AIエージェント NotebookLM | Google Genspark Manus Perplexity Labs skywork Napkin AIエージェント ブラウザー Fellou Genspark Browser Opera Neona Dia 18
AI エージェント開発 AI エージェント開発ツール n8n Make Zapier 19
マイクロソフト技術でのAIエージェントの開発 Microsoft Agent Framework Microsoft Copilot Studio Azure AI Foundry Agent Service | Microsoft Azure Microsoft 365 Agents SDK 20
MCP (Model Context Protocol) 21
MCP (Model Context Protocol) MCP (Model Context Protocol) とは Anthropic が開発 オープンソース LLM (大規模言語モデル) に コンテキストを提供する方法の標準化 「AIのためのUSB-C」 【参考】 Introduction - Model Context Protocol 22
MCP (Model Context Protocol) 参考サイト Introduction - Model Context Protocol 多プログラミング言語対応SDK Python, TypeScript, Java, Kotlin, C#, Swift 23
MCP Server データ フォーマット: JSON-RPC2.0 提供する機能: 「ツール」「リソース」「プロンプト」 種類: 種類 通信方法 コンソール プログラム Stdio Web API SSE (Server Sent-Events / HTTP POST) 24
多数の MCP サーバー MCP Registry | GitHub Model Context Protocol | GitHub modelcontextprotocol/servers: Model Context Protocol Servers | GitHub Official Microsoft MCP (Model Context Protocol) server マイクロソフト、WindowsがMCPをサポートすると発表 CData MCP Servers 25
MCP (Model Context Protocol) 【参考】 API の仕様から一つ一つ紐解くMCP 入門 とても分かりやすい のでお勧め! 26
MCP (Model Context Protocol) LLM ・GPT ・Claude ・Gemini など AIエージェント (MCPクライアント) ユーザー ① ツール一覧の取得 ・Claude Desktop ・VS Code ・GPT-CLI など MCPサーバー ② ツール一覧 ・GitHub ・Slack ・独自サーバーなど 外部システム 27
MCP (Model Context Protocol) LLM ③ 質問・指示 ユーザー AIエージェント ・GPT ・Claude ・Gemini など (MCPクライアント) ・Claude Desktop ・VS Code ・GPT-CLI など MCPサーバー ・GitHub ・Slack ・独自サーバーなど 外部システム 28
MCP (Model Context Protocol) LLM ④ ツール一覧と共に問いかけ ・GPT ・Claude ・Gemini など AIエージェント (MCPクライアント) ユーザー ・Claude Desktop ・VS Code ・GPT-CLI など ⑤ ツール呼び出し依頼 MCPサーバー ・GitHub ・Slack ・独自サーバーなど 外部システム 29
MCP (Model Context Protocol) LLM ・GPT ・Claude ・Gemini など AIエージェント (MCPクライアント) ユーザー ・Claude Desktop ・VS Code ・GPT-CLI など MCPサーバー ⑥ ツール呼び出し ・GitHub ・Slack ・独自サーバーなど ⑦ データ取得 外部システム 30
MCP (Model Context Protocol) LLM ・GPT ・Claude ・Gemini など AIエージェント (MCPクライアント) ユーザー ・Claude Desktop ・VS Code ・GPT-CLI など MCPサーバー ⑨ データ ・GitHub ・Slack ・独自サーバーなど ⑧ データ 外部システム 31
MCP (Model Context Protocol) ⑩ データ AIエージェント (MCPクライアント) ユーザー ・Claude Desktop ・VS Code ・GPT-CLI など LLM ・GPT ・Claude ・Gemini など ⑪ 回答 MCPサーバー ・GitHub ・Slack ・独自サーバーなど 外部システム 32
MCP (Model Context Protocol) LLM AIエージェント ・GPT ・Claude ・Gemini など (MCPクライアント) ユーザー ⑫ 回答 ・Claude Desktop ・VS Code ・GPT-CLI など MCPサーバー ・GitHub ・Slack ・独自サーバーなど 外部システム 33
【参考】 Function Calling 【参考】 Function calling | OpenAI 34
【参考】 Function Calling と MCP 「M×N問題」を 「M + N問題」に 35
【参考】 RAG (Retrieval-Augmented Generation) ユーザーの質問に基づき 外部データベースを検索し、 それを元に LLM に回答 させる 【参考】 Retrieval-Augmented Generation (RAG) とは? | NVidia 36
【参考】 RAG (Retrieval-Augmented Generation) 【参考】 Retrieval-Augmented Generation (RAG) とは? | NVidia 37
【参考】 ファインチューニング 38
【参考】 A2A (Agent-to-Agent) 特徴 Agent2Agent (A2A) 目的 エージェント間の相互運用と協調作業 AIモデルと外部システムの接続とコンテキスト提供 対象 異なるエージェント間 AIモデルと外部のツール/データソース 焦点 エージェント間の「会話と協力」 エージェントとツールの「接続」 機能 目標交換、状態管理、アクション呼び出し 構造化された呼び出し、コンテキスト提供 関係性 MCPを補完し、その上に構築される A2Aの基盤となるコンテキスト共有を提供 Model Context Protocol (MCP) A2A: 水平的連携 MCP: 垂直的連携 エージェント同士の直接的な協調 AIモデルとツール/データの接続 39
AIエージェントと MCPサーバーの 開発 40
SemanticKernel (AIエージェント構築用ミドルウェア) microsoft/semantic-kernel: Integrate cutting-edge LLM technology quickly and easily into your apps セマンティック カーネルの概要 | Microsoft Learn 41
10月1日に発表 Introducing Microsoft Agent Framework | Microsoft Azure Blog 42
Microsoft Agent Framework microsoft/agent-framework: A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Python and .NET. 43
Microsoft Agent Framework Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer - .NET Blog 44
Microsoft Agent Framework Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer - .NET Blog 45
Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer - .NET Blog 46
Microsoft Agent Framework の特長 Python (3.10以降) と C#/.NET (.NET 8.0以降) 対応 各種 LLM を簡単に使える マルチエージェント対応 Thread (会話の状態・履歴などを管理) 対応 ワークフロー対応 MCPサーバー等のツールを簡単に使える A2A 対応 Microsoft Copilot Studio との連携機能 ・・・ 47
Microsoft Agent Framework Microsoft Agent Framework (MAF) の概要 48
MCP サーバーと MCP クライアントの開発 Model Context Protocol The official C# SDK for Model Context Protocol servers and clients 49
【参考】 AIエージェントのログ (LLMへの指示の例)
You are Claude, an AI assistant created by
Anthropic.
In this environment you have access to a set of
<functions>
{
"messages": [
tools you can use to answer the user's question.
{
You can invoke functions by writing a
"role": "user",
"$FUNCTION_NAME" block like the following as part
"content": "ファイルシステムの内容を確認してください"
of your reply to the user:
String and scalar parameters should be specified as
}
is, while lists and objects should use JSON format.
],
Here are the functions available in JSONSchema
"tools": [
format:
{
Shos.AIAgentSample/Documents/aiagentlog.md at master · Fujiwo/Shos.AIAgentSample
50
まとめ 前回の復習 生成 AI AIエージェント MCP (Model Context Protocol) AIエージェントとMCPサーバーの開発 Microsoft Agent Framework チュートリアル 52