Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Semantic Kernel の Agent 機能試してみた!
Search
Kazuki
October 05, 2024
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Semantic Kernel の Agent 機能試してみた!
Japan Azure User Group 14周年イベント の登壇資料です。
https://jazug.connpass.com/event/327273/
Kazuki
October 05, 2024
More Decks by Kazuki
See All by Kazuki
GitHub Copilot CLI の 個人的な好きなところ
okazuki
1
710
.NET ユーザーにやさしい GitHub Copilot の使い方
okazuki
0
660
Durable Task Extension for Microsoft Agent Framework はいいぞ
okazuki
2
460
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
3.3k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
380
.NET Aspire を始めよう
okazuki
0
580
空のプロジェクトから始める Blazor
okazuki
1
770
.NET Aspire を使おう!
okazuki
0
460
Semantic Kernel を使って ChatGPT Plugins をアプリに組み込んでみよう
okazuki
1
970
Other Decks in Technology
See All in Technology
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
210
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
190
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
430
セルフサービスのオブザーバビリティ基盤をOpenTelemetryで作る / Building a Self-Service Observability Platform with OpenTelemetry
ymotongpoo
3
490
Mastering Agentic Development: Harness Engineering for Effective Coding Agents
konippi
3
660
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
520
Lambda MicroVMsが分からなすぎたので使い所を1から考えてみた
tsukuboshi
1
260
営業オントロジーの作り方と、エージェントからの辿り方 ── ナレッジワークの現場から
kworkdev
PRO
1
200
Claude起点の仕様駆動開発
tanakaseiya
0
230
AIエージェント時代のPlatform as a Product —— テックリードがPdMとして回す発見・導入・計測 / Platform as a Product in the AI Agent Era
toshi0607
1
530
VS Code × GitHub Copilot での Fabric 開発
ryomaru0825
1
190
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
310
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
430
Code Reviewing Like a Champion
maltzj
528
40k
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
Embracing the Ebb and Flow
colly
88
5.2k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
250
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Unsuck your backbone
ammeep
672
58k
Transcript
#JAZUG Semantic Kernel の Agent 機能試してみた! Japan Azure User Group
14周年イベント 日本マイクロソフト 大田 一希
#JAZUG 自己紹介 日本マイクロソフト クラウド ソリューション アーキテクト 大田 一希 (Kazuki Ota)
好きな技術:C# (20 年以上ほぼ一筋)、Azure PaaS 系サービス 苦手な言語:変数に型のない言語全般 SNS や Blog: X(旧Twitter): @okazuki (https://x.com/okazuki) GitHub: @runceel (https://github.com/runceel) Zenn: https://zenn.dev/okazuki 趣味:プログラミング、ゲーム、お絵描き 好きな食べ物: 出身地:広島 近況:ダイエット中、喘息になってます
#JAZUG もくじ Semantic Kernel とは Semantic Kernel の
Agent 機能 まとめ
#JAZUG 注意事項 今回後半で話す Semantic Kernel のエージェント機能は プレビューです。明日には変わっているかもしれないので 注意してください。 正式版が公開されたタイミングで記事を書きます!
#JAZUG Semantic Kernel とは
#JAZUG Semantic Kernel とは 以下のようなことを実現するためのもの 最新の AI モデルをアプリに統合
C#, Python, Java に対応 モジュール式で拡張可能 エンタープライズ アプリケーションに 求められる機能の実装 安定した API (バージョン 1 系)
#JAZUG Semantic Kernel の立ち位置 AI orchestration を作るための機能の詰め合わせ Your App Plugin
extensibility Copilots AI orchestration Foundation models AI infrastructure APIs and AI Azure + GitHub + Visual Studio この部分を カバー
#JAZUG Semantic Kernel の基本機能 AI 系サービスの呼び出し方法の抽象化 例:Chat Completions
API 用の抽象化インターフェース IChatCompletionService インターフェース Azure OpenAI Service 用の実装、OpenAI 用の実装、Gemini 用の実装、etc... プラグイン機能 AI が外部リソースや外部 API にアクセスするために拡張可能 OpenAI の Tools や Function calling 相当にマッピングされる プランナー (Preview のまま終わる) AI に目的を達成するためのプラン (プラグインの呼び出しなど)を組み立ててもらって実行 する機能 → Tools や Function calling で代替可能 フィルター・可観測性 (Preview) 関数呼び出し前後に処理の追加可能 ログ・メトリクス対応
#JAZUG Semantic Kernel の基本機能 (.NET 向け) 汎用ホスト (Generic Host) でも
自然に使える!
#JAZUG デモ: Semantic Kernel の基本機能を使ってみる
#JAZUG ここまでのまとめ Semantic Kernel は Copilot Stack の AI
Orchestrator を作るためのラ イブラリ 各種 AI 系サービスとのコネクタ プラグイン機能 エンタープライズで利用可能 ログ、フィルターなど 安定した API OSS で開発 C#、Python、Java に対応
#JAZUG Semantic Kernel の Agent 機能
#JAZUG Agent を作るには… システム メッセージできちんとどういう振る舞いをするのかを定義 するのがポイント Chat Completions API でも
Agent は作れる
#JAZUG エージェントを作る流れ Chat Completions API でエージェントを作る場合 1. システム プロンプトをきちんと設定 2.
ユーザーメッセージを追加 3. AI からの返信を表示 4. 2 ~ 3 を繰り返す
#JAZUG Semantic Kernel の Agent 作成用パッケージ Agent を作るためのパッケージがプレビューで存在 OpenAI の
Assistants API を使ったエージェント 今回説明するエージェントはこちら
#JAZUG Semantic Kernel の Agent 用新機能を使う場合 Microsoft.SemanticKernel.Agents.Core パッケージを使うと以下のように書けます プロンプトは省略 Instructions
にシステムプロンプトを設定
#JAZUG Semantic Kernel の Agent 用新機能を使う場合 Agent の InvokeAsync メソッドでチャット履歴をもとに回答を作成
ChatHistory にはシステムプロンプトは含めない InvokeAsync を呼ぶと IAsyncEnumerable<ChatMessageContent> 形式で 返事が返ってくる
#JAZUG Semantic Kernel の Agent 用新機能を使う場合 Agent の InvokeAsync メソッドでチャット履歴をもとに回答を作成
ChatHistory にはシステムプロンプトは含めない InvokeAsync を呼ぶと IAsyncEnumerable<ChatMessageContent> 形式で 返事が返ってくる API がエージェントを作るように整理整頓されている (個人の感想)
#JAZUG デモ: Semantic Kernel の エージェント機能を使ってみる
#JAZUG マルチ エージェント システム 複数の自律的なエージェントが対話・連携して目的を達成するシステム Agent C Agent A Agent
B あーでもない そーでもない こーでもない 課 題 答 え ディスカッション
#JAZUG マルチ エージェントの使いどころ マルチ エージェントにすることで以下のような特徴があるため より良い結果が出る可能性が高くなる 1 つのエージェントを単一タスクに集中させることが出来る エージェントごとにプラグインを絞ることが出来る エージェントごとに
AI モデルを切り替えることが出来る 回答 → レビュー → 指摘反映の鉄板の流れを自然に組める
#JAZUG マルチ エージェント システム 処理の流れを図で表すと以下のような感じ 話す Agent の選択 Agent A
終了判定 Agent B Agent C 課題 答え 継続 終了 選択された Agent を実行
#JAZUG Microsoft.SemanticKernel.Agents.Core パッケージ マルチ エージェント向けに整理された API のパッケージ Agent クラス
1 つの Agent を表すクラス ChatCompletionAgent: Chat Completions API を使った基本的な Agent AggregatorAgent: 複数の Agent を 1 つの Agent にまとめる Agent のチャット履歴が長くなったときに履歴を短くするための機能も提供 AgentGroupChat クラス 複数の Agent が会話をするチャット グループを表すクラス SelectionStrategy: 次に処理を行う Agent を選択する戦略を設定する TerminationStrategy: 処理を完了するかどうかの戦略を設定する
#JAZUG デモ: Semantic Kernel の マルチ エージェント機能を使ってみる
#JAZUG まとめ
#JAZUG まとめ Semantic Kernel Copilot Stack の AI
Orchestrator を実装するためのライブラリ エンタープライズでの使用を想定 エージェント機能 現時点ではプレビュー!破壊的変更に注意! エージェントという視点で API が整理されている マルチ エージェント システムにも対応
#JAZUG まとめ Semantic Kernel Copilot Stack の AI
Orchestrator を実装するためのライブラリ エンタープライズでの使用を想定 エージェント機能 現時点ではプレビュー!破壊的変更に注意! エージェントという視点で API が整理されている マルチ エージェント システムにも対応 マルチ エージェント システムを 簡単に作れるので是非試してみてください!
#JAZUG © Copyright Microsoft Corporation. All rights reserved.