重要なポイント
- MIT license——完全に無料で利用・改変・自己ホストでき、SDK自体に利用上限なし
- Microsoftが開発し、2023年3月にオープンソースとして初リリース——まずC#/.NETで、後からPythonとJavaが後付けではなく第一級のsdkとして追加された
- GitHubリポジトリmicrosoft/semantic-kernelは28,000スターを突破
- 主要コンセプト:Kernel(中心的なオーケストレーター)、Plugins(モデルが呼び出せる関数・プロンプトテンプレート)、Planners(現在は主にネイティブLLM function callingに置き換えられている)
- Microsoft Agent Framework(MAF)は2026年4月2日に一般提供(GA)に到達し、Semantic KernelとAutoGenを1つのサポート対象プラットフォームに統合——両者に対するMicrosoftの明言された後継製品
- MAFのリリース以降、Semantic Kernelはメンテナンスモード:重大なバグ修正とセキュリティパッチのみ、サポートは少なくとも2027年まで約束
- SDK自体は無料。コストは接続するモデルAPI(Azure OpenAI、OpenAIなど)と、Azureにデプロイする場合はそのホスティングから発生する
📍 一文で説明
Semantic Kernelは、C#/.NET、Python、Javaのネイティブsdkでllmアプリケーションを構築するためのMicrosoftの無料・MIT-licensedオープンソースSDKであり、Microsoftが開発を後継製品Microsoft Agent Frameworkへシフトしたため、現在はメンテナンスモードです。
💬 簡潔に説明
Semantic Kernelは、.NET、Python、Javaの開発者に同じ構成要素を提供します——AIサービスを保持する'カーネル'、モデルが呼び出せる'プラグイン'、どのプラグインを実行するか決めるプランニングロジックです——ただしMicrosoftは現在、新しいエージェントプロジェクトをMicrosoft Agent Frameworkで開始することを推奨しています。
📌補足: Semantic Kernelはコードを書いて利用するライブラリであり、インストールするGUIアプリではありません。メンテナンスモードは廃止を意味しません——Microsoftは既存の本番デプロイメントに対してバグ修正とセキュリティパッチを提供し続けています。単に新機能の投資先がMicrosoft Agent Frameworkに移ったということです。
Semantic Kernelは誰が開発したのか、そして今後どうなるのか
Microsoftは2023年3月にSemantic Kernelをオープンソースsdkとしてリリースし、それ以来Microsoft Agent Frameworkがその明言された後継製品となっています。 Semantic Kernelは'カーネル'という抽象化を通じて大規模言語モデルと従来のアプリケーションコードを組み合わせ、寛容なMIT licenseの下で提供されました。多くのエージェントフレームワークがまずPythonを対象にし後から他言語を追加するのに対し、Semantic KernelはC#/.NETを主要言語としてローンチし、PythonとJavaを後付けのポートではなく第一級のsdkとして追加しました。
Semantic Kernelは、業界が後に別の名前で採用した'プラグイン'と'プランナー'という語彙を広めました。プラグインはモデルが発見・呼び出しできるネイティブ関数やプロンプトテンプレートであり、プランナーはどのプラグインをどの順序で呼び出すかを決定していました。初期の専用プランナー——SequentialPlanner、ActionPlanner、StepwisePlanner——は、モデルプロバイダーがネイティブfunction callingを追加したことで大きく置き換えられ、Semantic Kernelは現在FunctionChoiceBehavior設定を通じてこれをデフォルトで使用しています。
2026年、Microsoftはより大きな統合の中でSemantic Kernelを再定位しました。Microsoft Agent Framework(MAF)は2026年4月2日に一般提供(GA)に到達し、Semantic Kernelのエンタープライズ基盤——Kernel、プラグイン、フィルター、可観測性——をAutoGenのマルチエージェント・オーケストレーションモデルと統合し、1つのサポート対象プラットフォームにまとめました。それ以降、microsoft/semantic-kernelリポジトリはメンテナンスモードにあります。Microsoftは重大なバグ修正とセキュリティパッチを提供し、サポートは少なくとも2027年まで約束されていますが、新機能への投資はAgent Frameworkに向けられています。
初リリース
- 日付:
- 2023-03
- 意味:
- MicrosoftがSemantic KernelをオープンソースのMIT-licensed SDKとしてリリース、まずC#/.NET
Python・Java SDK
- 日付:
- 2023
- 意味:
- PythonとJavaのポートが第一級のsdkとして続き、Semantic Kernelは数少ない多言語対応エージェントフレームワークの1つになる
プランナーの置き換え
- 日付:
- 継続中
- 意味:
- 初期の専用プランナークラスが、デフォルトのプランニング機構としてLLMネイティブのfunction callingに取って代わられる
Microsoft Agent Frameworkプレビュー
- 日付:
- 2025-10
- 意味:
- MicrosoftがSemantic KernelとAutoGenを組み合わせた明言された後継製品、Agent Frameworkをプレビュー公開
Microsoft Agent Framework GA
- 日付:
- 2026-04-02
- 意味:
- MAFが一般提供に到達。MicrosoftはこれをSemantic KernelとAutoGen両方の後継と位置づける
Semantic Kernelメンテナンスモード
- 日付:
- 2026-04
- 意味:
- microsoft/semantic-kernelが重大なバグ修正とセキュリティパッチのみの提供に移行、サポートは少なくとも2027年まで約束
📌補足: この移行によってMIT licenseが変わることはありません——既存のSemantic Kernelデプロイメントは今後も無期限に無料で実行・改変・自己ホストできます。変わるのは、Microsoftが新機能開発をどこに投資するかであり、それが現在Microsoft Agent Frameworkになったということです。
Semantic Kernelとは何か
Semantic Kernelは、大規模言語モデルをアプリケーションに統合するためのオープンソースSDK(MIT license、github.com/microsoft/semantic-kernel)であり、C#/.NET、Python、Java向けのネイティブsdkとして提供されています。中心的な抽象化であるKernelは、AIサービス接続、プラグイン、メモリを保持し、それらの間の呼び出しをオーケストレーションします。
- Kernel:登録されたAIサービス(chat completion、embeddings)、プラグイン、設定を保持する中心的なオブジェクト——すべてのSemantic Kernelアプリケーションはこれを1つ構築する
- Plugins:メタデータが付与された(Pythonでは
@kernel_function、C#では`[KernelFunction]`)ネイティブコード関数またはプロンプトテンプレートで、モデルが発見・呼び出しできる——他フレームワークの「tools」に相当 - Planners:リクエストを満たすためにどのプラグインを呼び出すか決定するロジック。現在の標準は、古い専用プランナークラスではなくモデルプロバイダーのネイティブfunction calling(
FunctionChoiceBehavior.Auto())に依存する - ベクトルストアコネクタ(メモリ):対応するベクトルデータベース間でembeddingsを保存・取得するための標準インターフェース、Retrieval-Augmented Generationに使用
- Process Framework:Kernelの上に構築された、より長時間・多段階のビジネスプロセス向けワークフロー抽象化
- エンタープライズコンポーネント:本番Azureデプロイメント向けに設計された組み込みフィルター、可観測性・テレメトリフック、構造化ロギング
import asyncio
from semantic_kernel import Kernel
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion
from semantic_kernel.connectors.ai.function_choice_behavior import FunctionChoiceBehavior
from semantic_kernel.contents.chat_history import ChatHistory
from semantic_kernel.functions import kernel_function
class LightsPlugin:
@kernel_function(description="Turns a light on or off")
def change_state(self, is_on: bool) -> str:
return f"Light is now {'on' if is_on else 'off'}"
async def main():
kernel = Kernel()
kernel.add_service(AzureChatCompletion(deployment_name="gpt-4o-mini", api_key="...", base_url="..."))
kernel.add_plugin(LightsPlugin(), plugin_name="Lights")
history = ChatHistory()
history.add_user_message("Turn on the light")
chat = kernel.get_service(type=AzureChatCompletion)
result = await chat.get_chat_message_contents(
chat_history=history,
settings=AzureChatCompletion.get_prompt_execution_settings_class()(
function_choice_behavior=FunctionChoiceBehavior.Auto()
),
kernel=kernel,
)
print(result[0])
asyncio.run(main())Semantic Kernelの料金はいくらか
Semantic Kernel SDK自体は完全に無料です——Microsoftはこのフレームワークに料金を課しておらず、Semantic Kernelに有料プランはありません。実際のコストは、呼び出す大規模言語モデルと、Azureにデプロイする場合はアプリケーションを実行するインフラから発生します。
- Semantic Kernel(SDK):永久に無料、MIT license、セルフホストまたはクラウド、フレームワーク自体に利用上限なし
- モデルAPIのコスト:接続するLLMプロバイダー(Azure OpenAI Service、OpenAIなど)ごとの従量課金——Semantic Kernel自体はモデルアクセスをホストも再販もしない
- Azureホスティングのコスト(任意):Azure App Service、Azure Functions、Azure Kubernetes Serviceへのデプロイは標準のAzureコンピュート料金がかかる——Semantic KernelはAzureを必須としないが、Microsoft自身のサンプルとエンタープライズコンポーネントはデフォルトでAzureを前提としている
- ベクトルデータベースのコスト(任意):メモリ/RAG用にAzure AI Searchや他のベクトルストアを接続する場合、そのサービス独自の料金がかかる
- サポート:既存のSemantic Kernelデプロイメントに対するMicrosoftの約束されたメンテナンス期間(重大なバグ修正とセキュリティパッチ)は少なくとも2027年まで続き、既存のMicrosoftまたはAzure契約以上の追加コストはかからない
項目 | 価格 | 最適な対象 |
|---|---|---|
| Semantic Kernel SDK | 無料(MIT license) | 全員——コストは一切なし |
| モデルAPI利用 | プロバイダーごとの従量課金 | 接続する任意のLLM |
| Azureホスティング(任意) | 標準のAzure料金 | Azureにデプロイするチーム |
| ベクトルストア(任意) | プロバイダーによる | RAG/メモリのユースケース |
2026年9月時点で、Semantic Kernelの公式ドキュメントとGitHubリポジトリをもとに確認済み——モデルAPIとAzureホスティングの料金はそれぞれのサービスが独自に設定し、時間とともに変わるため、予算策定前に最新の料金ページを確認してください。
Semantic Kernelのインストールと使い始め方
Semantic Kernelのインストールは、サポートされている3言語のいずれかでパッケージマネージャーのコマンドを1つ実行するだけです——SDK自体にアカウントやライセンスキーは不要です。
- 1使用する言語向けにSDKをインストールする:
dotnet add package Microsoft.SemanticKernel(.NET)、pip install semantic-kernel(Python)、またはcom.microsoft.semantic-kernel依存関係を追加(Java)。 - 2モデルプロバイダーの認証情報を環境変数または設定として設定する——Semantic Kernel自体はモデルアクセスを提供しない。Azure OpenAI、OpenAI、または他の対応コネクタを接続する。
- 3
Kernelを作成し、AIサービス(例:.NETではAddAzureOpenAIChatCompletion、PythonではAzureChatCompletion)を追加し、モデルが呼び出せるプラグインを登録する。 - 4自動function calling(
FunctionChoiceBehavior.Auto())を有効にし、専用のプランナーを書かずにモデルが登録済みプラグインを直接呼び出せるようにする。 - 5全く新規のプロジェクトの場合、メンテナンスモードのSDKの上に構築する代わりに、Microsoftの明言された後継製品で2026年4月から一般提供されているMicrosoft Agent Frameworkから直接始めるべきか検討する。
- 6最新のAPIリファレンスと移行ガイドについては、Semantic Kernelの公式ドキュメントとGitHubリポジトリを参照する。
Semantic Kernelを使うのにAzureは必要ですか。
いいえ。Semantic Kernelは多くのMicrosoftのサンプルでデフォルトでAzure OpenAI Serviceに接続しますが、コネクタを通じて素のOpenAIや他のプロバイダーもサポートしています。SDK自体を実行するのにAzureは必須ではありません。
新規プロジェクトはSemantic KernelとMicrosoft Agent Frameworkのどちらで始めるべきですか。
Microsoft自身のガイダンスは、新規プロジェクトを2026年4月2日から一般提供されている後継製品Microsoft Agent Frameworkへ誘導しています。Semantic Kernelは、すでに本番環境で運用しているチームにとって主に理にかなった選択肢です。
Semantic Kernelはどのような人に向いているか
Semantic Kernelは、すでに投資済みのチーム、または最大級のコミュニティよりもネイティブな多言語sdkを重視する既存の.NET/Azureスタックを持つチームに向いています。2026年に完全にゼロから始める人にとっては弱い選択肢です。
どのような場合にSemantic Kernelを使うべきでないか
Microsoft Agent Frameworkを避ける具体的な理由がない限り、2026年の全く新規のプロジェクトではSemantic Kernelを避けましょう。別のツールが適している具体的な状況をいくつか挙げます。
- 既存のSemantic Kernelへの投資がなく2026年にゼロから始める場合——メンテナンスモードのSDKの上に構築する代わりに、Microsoft自身の一般提供された後継製品Microsoft Agent Frameworkへ直接進む
- .NET/Azureエコシステムの外にあり、LangChainやLlamaIndex周辺のより大きなコミュニティ、チュートリアル、統合カタログから恩恵を受けられるチーム
- 単一のkernelがプラグインを呼び出すのではなく、グループチャット内で名前付きエージェントが議論・交渉するといった、AutoGen/AG2スタイルの特定のマルチエージェント会話パターンを必要とするプロジェクト
- Kernel/プラグイン/プランナーの抽象化を採用するより、モデルプロバイダーへの直接APIコールの方がシンプルな軽量スクリプトやプロトタイプ
- プロジェクト途中での切り替えではなく、すでに動作している本番デプロイメントがあり、約束されたサポート期間がスケジュールをカバーしている場合にのみSemantic Kernelを使う
Semantic Kernel vs. 代替ツール
Semantic Kernelは、LLMアプリケーションとエージェントを構築するための他のフレームワークと競合しており、Microsoft自身のロードマップにおいてはそのうちの1つと統合されつつあります。
ツール | インターフェース | ライセンス | 運営元 | 最適な対象 |
|---|---|---|---|---|
| Semantic Kernel | C# / Python / Javaコード | MIT | Microsoft(メンテナンスモード) | 既存の.NET/Azureエンタープライズアプリ |
| Microsoft Agent Framework | C# / Pythonコード | MIT | Microsoft | Microsoftエコシステムでの新規エージェントプロジェクト |
| LangChain | Python / JSコード | MIT | LangChain Inc.(VC出資) | 汎用LLMアプリ・エージェント |
| LlamaIndex | Python / TSコード | MIT | LlamaIndex Inc.(VC出資) | RAGファーストのインデックス化・検索 |
| CrewAI | Pythonコード | MIT | CrewAI Inc.(VC出資) | ロールベースのマルチエージェントクルー |
| AutoGen | Pythonコード | MIT / CC-BY | Microsoft Research(メンテナンスモード) | マルチエージェント会話パターン |
| LangGraph | Python / JSコード | MIT | LangChain Inc. | グラフベースのステートフルエージェント |
Semantic Kernel評価時によくある誤解
これらの誤解は、「メンテナンスモード」の意味を誤って解釈すること、またはSemantic Kernelをその後継製品と混同することから生じます。
よくある質問
Semantic Kernelは無料で使えますか。
はい。Semantic KernelはMIT licenseのもとでオープンソースであり、商用製品を含むあらゆる用途に無料で、SDK自体に利用制限はありません。
Semantic Kernelを開発したのは誰ですか。
Microsoftが開発し、2023年3月にオープンソースSDKとしてリリースしました。
Semantic Kernelは廃止されましたか。
いいえ——廃止ではなくメンテナンスモードです。Microsoftは引き続きSemantic Kernelの重大なバグ修正とセキュリティパッチを提供しており、サポートは少なくとも2027年まで約束されていますが、新機能開発は現在Microsoft Agent Frameworkに向けられています。
Microsoft Agent Frameworkとは何ですか。Semantic Kernelとの関係は?
Microsoft Agent Framework(MAF)は、Semantic KernelとAutoGenの両方に対するMicrosoftの明言された後継製品であり、Semantic Kernelのエンタープライズ基盤とAutoGenのマルチエージェント・オーケストレーションモデルを1つのサポート対象プラットフォームに統合します。2026年4月2日に一般提供に到達しました。
新規プロジェクトにはSemantic KernelとMicrosoft Agent Frameworkのどちらを使うべきですか。
Microsoft自身のドキュメントは新規プロジェクトをMicrosoft Agent Frameworkへ誘導しています。Semantic Kernelは、すでに本番デプロイメントを持ち、約束されたサポート期間中それを維持したいチームにとって主に妥当な選択肢です。
Semantic Kernelはどのプログラミング言語をサポートしていますか。
C#/.NET、Python、Javaで、いずれもネイティブsdkとして提供されます——Semantic KernelはまずC#/.NETでローンチし、後からPythonとJavaを後付けのポートではなく第一級のsdkとして追加しました。
Semantic Kernelにおける「プラグイン」とは何ですか。
プラグインは、Kernelが読み取れるメタデータが付与されたネイティブコード関数またはプロンプトテンプレートで、モデルが発見・呼び出しできます——他のエージェントフレームワークにおける「tools」に相当します。
Semantic Kernelの実行にAzureは必須ですか。
いいえ。Semantic KernelはAzure OpenAI Serviceに加えて、素のOpenAIや他のモデルコネクタもサポートしています。AzureはMicrosoft自身のサンプルやエンタープライズコンポーネントでは一般的ですが、SDKの必須要件ではありません。
Semantic KernelはGitHubで何スター獲得していますか。
microsoft/semantic-kernelリポジトリは28,000 GitHubスターを突破しています。
Semantic KernelはLangChainより優れていますか。
どちらが厳密に優れているというわけではなく、状況によって適性が異なります。Semantic Kernelはネイティブな多言語sdk(C#/.NET、Python、Java)とAzure志向のエンタープライズコンポーネントを提供しますが、現在はメンテナンスモードです。LangChainはPython/JavaScript-firstで、より大きなコミュニティを持ち、活発に開発が続いています。
