Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Semantic Kernel の Agent 機能試してみた!
Search
Kazuki
October 05, 2024
Technology
1.1k
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
680
.NET ユーザーにやさしい GitHub Copilot の使い方
okazuki
0
620
Durable Task Extension for Microsoft Agent Framework はいいぞ
okazuki
2
430
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
3.2k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
360
.NET Aspire を始めよう
okazuki
0
550
空のプロジェクトから始める Blazor
okazuki
1
750
.NET Aspire を使おう!
okazuki
0
440
Semantic Kernel を使って ChatGPT Plugins をアプリに組み込んでみよう
okazuki
1
950
Other Decks in Technology
See All in Technology
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
280
文字起こし基盤の信頼性
abnoumaru
0
130
伝票作成AIエージェントを支える、LLMOpsとインフラの選択肢 / AICon2026_takeda
rakus_dev
0
270
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
660
そのドキュメント、自動化しませんか?
yuksew
1
420
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
160
OPENLOGI Company Profile for engineer
hr01
1
75k
大 AI 時代におけるC# の事情 ~ぶっちゃけトークを交えながら~
nenonaninu
1
160
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
amanda_hinchman
1
110
AI、CDK と協働する Full TypeScript アプリケーション開発 / Full TypeScript Application with AI and CDK
geekplus_tech
2
490
Jitera Company Deck
jitera
0
400
システム監視入門
grimoh
1
260
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
160
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Embracing the Ebb and Flow
colly
88
5.1k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Optimizing for Happiness
mojombo
378
71k
Statistics for Hackers
jakevdp
799
230k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Abbi's Birthday
coloredviolet
3
8.8k
Navigating Weather and Climate Data
rabernat
0
400
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.