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
850
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.4k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
270
.NET Aspire を始めよう
okazuki
0
420
空のプロジェクトから始める Blazor
okazuki
1
570
.NET Aspire を使おう!
okazuki
0
340
Semantic Kernel を使って ChatGPT Plugins をアプリに組み込んでみよう
okazuki
1
880
Other Decks in Technology
See All in Technology
Wasmで社内ツールを作って配布しよう
askua
0
150
Kiroから考える AIコーディングツールの潮流
s4yuba
1
280
複数のGemini CLIが同時開発する狂気 - Jujutsuが実現するAIエージェント協調の新世界
gunta
13
3.8k
robocopy の怖い話/scary-story-about-robocopy
emiki
0
400
完璧を目指さない小さく始める信頼性向上
kakehashi
PRO
0
110
分散トレーシングによる コネクティッドカーのデータ処理見える化の試み
thatsdone
0
270
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
330
Tiptapで実現する堅牢で柔軟なエディター開発
kirik
1
150
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
610
Ktor + Google Cloud Tasks/PubSub におけるOTel Messaging計装の実践
sansantech
PRO
1
330
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
15
7.6k
MCPと認可まわりの話 / mcp_and_authorization
convto
2
290
Featured
See All Featured
KATA
mclloyd
30
14k
Building an army of robots
kneath
306
45k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Practical Orchestrator
shlominoach
189
11k
Docker and Python
trallard
45
3.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
How GitHub (no longer) Works
holman
314
140k
Building Applications with DynamoDB
mza
95
6.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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.