Re Reference AI

エージェント

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機能を組み込みやすい
  • プロンプトや処理手順をプラグインとして再利用しやすい設計になっている

欠点

  • マルチエージェント関連の機能は比較的新しく、ベストプラクティスが発展途上にある
  • プラグイン・エージェント関連のAPI変更頻度が高く、追従コストがかかる
  • LangChain等の他フレームワークと比べ、コミュニティ発の外部連携コンポーネントの数はまだ少ない

比較

  • LangChainLangChainと同様LLMアプリ構築のためのフレームワークだが、Semantic Kernelは.NETエコシステムとの親和性やエンタープライズ統合に重点を置く
  • LangGraphSemantic KernelがLLM統合SDKの一部としてマルチエージェント機能を提供するのに対し、LangGraphはグラフ構造による明示的な状態遷移の制御を軸にする
  • Agent Development Kitいずれもマルチエージェントシステムの構築を扱うが、Semantic Kernelは.NETエコシステムとのエンタープライズ統合に重点を置くのに対し、ADKはGoogle Cloud・Geminiとの統合を軸にする
  • OpenAI Agents SDKOpenAI Agents SDKがエージェント間のハンドオフという軽量な概念を中心に設計されるのに対し、Semantic Kernelはプラグインやプロセスの仕組みを含むより包括的なSDKという違いがある

関連用語

マルチエージェントLangGraphCrewAIAutoGenAgent Development KitOpenAI Agents SDK

よくある質問

Semantic Kernelはどのプログラミング言語に対応する?

.NET(C#)・Python・Javaに対応しており、既存のエンタープライズアプリケーションへ組み込みやすい設計になっている。

Semantic KernelとLangChainはどちらを選ぶべき?

Pythonエコシステム中心ならLangChain、.NET中心のエンタープライズ環境ならSemantic Kernelが選ばれやすい。両者はコンセプトが似ているが、対応言語やエコシステムの重心が異なる。

参考文献

関連する比較

LangGraph vs Semantic Kernel

LangGraphはLangChainのチームが開発する、状態遷移をグラフとして定義するマルチエージェントフレームワーク。Semantic Kernelは、Microsoftが提供するLLM統合SDKで、マルチエージェントのオーケストレーション機能も備える。

LangGraphSemantic Kernel