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
930
Semantic Kernel の Agent 機能試してみた!
Japan Azure User Group 14周年イベント の登壇資料です。
https://jazug.connpass.com/event/327273/
Kazuki
October 05, 2024
Tweet
Share
More Decks by Kazuki
See All by Kazuki
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
2.6k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
300
.NET Aspire を始めよう
okazuki
0
450
空のプロジェクトから始める Blazor
okazuki
1
610
.NET Aspire を使おう!
okazuki
0
370
Semantic Kernel を使って ChatGPT Plugins をアプリに組み込んでみよう
okazuki
1
900
Other Decks in Technology
See All in Technology
AI時代の発信活動 ~技術者として認知してもらうための発信法~ / 20251028 Masaki Okuda
shift_evolve
PRO
1
120
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
250
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
420
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
530
マルチエージェントのチームビルディング_2025-10-25
shinoyamada
0
200
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
130
RemoteFunctionを使ったコロケーション
mkazutaka
1
130
アウトプットから始めるOSSコントリビューション 〜eslint-plugin-vueの場合〜 #vuefes
bengo4com
3
1.8k
Kubernetes self-healing of your workload
hwchiu
1
600
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
130
ハノーファーメッセ2025で見た生成AI活用ユースケース.pdf
hamadakoji
1
500
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
6
1.4k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
It's Worth the Effort
3n
187
28k
How GitHub (no longer) Works
holman
315
140k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
A designer walks into a library…
pauljervisheath
209
24k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
What's in a price? How to price your products and services
michaelherold
246
12k
Building Adaptive Systems
keathley
44
2.8k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Building an army of robots
kneath
305
46k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
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.