Semantic Kernelとは
Microsoftが提供する、LLMを既存アプリケーションへ統合するためのオープンソースSDK。マルチエージェントのオーケストレーション機能も備える
ひとことで言うと
Microsoftが作った、AIをアプリに組み込みやすくするSDK。複数のAIエージェントを協調させる機能もある。
概要
Semantic Kernelは、Microsoftが提供するオープンソースのSDK。 LLMの呼び出しをプラグインとして既存の.NET・Python・Javaアプリケーションへ統合できる。エージェント機能として、複数のエージェントに役割を与え協調させるマルチエージェントオーケストレーションの仕組みも提供する。
背景
既存のエンタープライズアプリケーションへLLMの機能を段階的に組み込みたいというニーズから、MicrosoftはLLM呼び出しをプラグイン化しつつ複数言語のエコシステムに対応するSDKとしてSemantic Kernelを開発した。
歴史
2023年: MicrosoftがオープンソースSDK「Semantic Kernel」を公開。
利点
- .NET・Python・Java等、複数言語のエコシステムに対応する
- 既存のエンタープライズアプリケーションへLLM機能を組み込みやすい
- プロンプトや処理手順をプラグインとして再利用しやすい設計になっている
欠点
比較
- LangChain — LangChainと同様LLMアプリ構築のためのフレームワークだが、Semantic Kernelは.NETエコシステムとの親和性やエンタープライズ統合に重点を置く
- LangGraph — Semantic KernelがLLM統合SDKの一部としてマルチエージェント機能を提供するのに対し、LangGraphはグラフ構造による明示的な状態遷移の制御を軸にする
- Agent Development Kit — いずれもマルチエージェントシステムの構築を扱うが、Semantic Kernelは.NETエコシステムとのエンタープライズ統合に重点を置くのに対し、ADKはGoogle Cloud・Geminiとの統合を軸にする
- OpenAI Agents SDK — OpenAI Agents SDKがエージェント間のハンドオフという軽量な概念を中心に設計されるのに対し、Semantic Kernelはプラグインやプロセスの仕組みを含むより包括的なSDKという違いがある
関連用語
よくある質問
Semantic Kernelはどのプログラミング言語に対応する?
.NET(C#)・Python・Javaに対応しており、既存のエンタープライズアプリケーションへ組み込みやすい設計になっている。
Semantic KernelとLangChainはどちらを選ぶべき?
Pythonエコシステム中心ならLangChain、.NET中心のエンタープライズ環境ならSemantic Kernelが選ばれやすい。両者はコンセプトが似ているが、対応言語やエコシステムの重心が異なる。
参考文献
- GitHubmicrosoft/semantic-kernel
- DocumentationSemantic Kernel Documentation