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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
650
.NET ユーザーにやさしい GitHub Copilot の使い方
okazuki
0
600
Durable Task Extension for Microsoft Agent Framework はいいぞ
okazuki
2
420
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
1
3.1k
.NET のUnified AI Building Blocks 入門...!
okazuki
0
350
.NET Aspire を始めよう
okazuki
0
540
空のプロジェクトから始める Blazor
okazuki
1
730
.NET Aspire を使おう!
okazuki
0
440
Semantic Kernel を使って ChatGPT Plugins をアプリに組み込んでみよう
okazuki
1
940
Other Decks in Technology
See All in Technology
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
270
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
400
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.7k
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
1k
ChatworkとBPaaS 異なる特性で学んだAI機能開発の ベストプラクティス
kubell_hr
2
3k
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
160
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
610
Agentic Web
dynamis
1
160
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
0
210
Claude code Orchestra
ozakiomumkj
3
1k
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
290
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.8k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
390
Producing Creativity
orderedlist
PRO
348
40k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Language of Interfaces
destraynor
162
27k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Are puppies a ranking factor?
jonoalderson
1
3.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
580
Large-scale JavaScript Application Architecture
addyosmani
515
110k
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.