次の方法で共有


エージェント アーキテクチャの概要 (試験段階)

警告

Semantic Kernel Agent Framework はまだ開発中であり、変更される可能性があります。

この記事では、基本原則、設計目標、戦略的目標など、Agent Framework のアーキテクチャにおける主要な概念について説明します。

目標

Agent Framework は、次の重要な優先順位を念頭に置いて開発されました。

  • Semantic Kernel フレームワークは、エージェント機能を実装するためのコア 基盤として機能します。
  • 複数のエージェントは、人間の入力を統合しながら、1 つの会話内で共同作業を行うことができます。
  • エージェントは、複数の同時会話に同時に参加して管理できます。
  • 異なる種類のエージェントが同じ会話に参加でき、それぞれが独自の機能を提供します。

エージェント

abstract Agent クラスは、すべての種類のエージェントのコア抽象化として機能し、より特殊なエージェントを作成するために拡張できる基本構造を提供します。 主要なサブクラスの 1 つは Kernel Agent であり、 Kernel オブジェクトとの直接の関連付けを確立します。 この関係は、 Chat Completion AgentOpen AI Assistant Agent など、より具体的なエージェント実装の基礎を形成し、どちらもカーネルの機能を利用してそれぞれの機能を実行します。

現在、エージェントは Java では使用できません。

エージェントは、タスクを実行するために直接呼び出すか、 Agent Chat 内で調整できます。この場合、複数のエージェントがユーザー入力と動的に共同作業または対話を行うことができます。 この柔軟な構造により、エージェントはさまざまな会話型またはタスク駆動型のシナリオに適応でき、インテリジェントなマルチエージェント システムを構築するための堅牢なツールを開発者に提供できます。

Deep Dive:

エージェント チャット

Agent Chat クラスは、任意の種類のエージェントが特定の会話に参加できるようにする基本コンポーネントとして機能します。 このクラスは、チャット環境内でエージェントの対話を管理するために不可欠な機能を提供します。 これに基づいて、 Agent Group Chat クラスはステートジーベースのコンテナーを提供することでこれらの機能を拡張します。これにより、複数のエージェントが同じ会話内で多数の対話を行って共同作業を行うことができます。

この構造により、さまざまなエージェントが連携し、情報を共有し、進化する会話に動的に応答できる、より複雑なマルチエージェント シナリオが容易になり、カスタマー サポート、多面的なタスク管理、コラボレーションによる問題解決環境などの高度なユース ケースに最適なソリューションになります。

Deep Dive:

エージェント チャネル

Agent Channel クラスを使用すると、さまざまな種類のエージェントが Agent Chat に参加できます。 この機能は、 Agent Framework のユーザーには完全に隠されており カスタム Agentを作成する開発者のみが考慮する必要があります。

現在、エージェントは Java では使用できません。

Semantic カーネル機能を使用したエージェントの配置

Agent Framework は、多くの開発者が Semantic Kernel エコシステム内で知るようになった基本的な概念と機能に基づいて構築されています。 これらの基本原則は、Agent Framework の設計の構成要素として機能します。 Semantic Kernelの使い慣れた構造と機能を活用することで、Agent Framework は、より高度で自律的なエージェント動作を可能にするように機能を拡張し、より広範なSemantic Kernel アーキテクチャとの整合性を維持します。 これにより、開発者はスムーズに移行でき、既存の知識を適用して、フレームワーク内にインテリジェントで適応可能なエージェントを作成できます。

Kernel

Semantic Kernel エコシステムの中心にあるのは、AI 操作と対話を推進するコア オブジェクトとして機能する Kernel です。 このフレームワーク内にエージェントを作成するには、 Kernel インスタンス がエージェントの機能の基本コンテキストと機能を提供するため必要です。 Kernelは、命令の処理、状態の管理、およびエージェントの動作をサポートする必要な AI サービスの呼び出しを行うエンジンとして機能します。

Chat Completion AgentOpen AI Assistant Agent に関する記事では、各種類のエージェントを作成する方法について詳しく説明しています。 これらのリソースは、段階的な手順を提供し、さまざまな会話型またはタスクベースのアプリケーションにエージェントを調整するために必要な主要な構成を強調し、カーネルがさまざまなユース ケースで動的でインテリジェントなエージェント動作を可能にする方法を示します。

現在、エージェントは Java では使用できません。

プラグインと関数呼び出し

プラグインは Semantic Kernel の基本的な側面であり、開発者はカスタム機能を統合し、AI アプリケーションの機能を拡張できます。 これらのプラグインは、特殊な機能やビジネス固有のロジックをコア AI ワークフローに柔軟に組み込む方法を提供します。 さらに、フレームワーク内のエージェント機能は、Plugins を利用しFunction Callingを利用することで大幅に強化できます。 これにより、エージェントは外部サービスと動的にやり取りしたり、複雑なタスクを実行したりすることができ、多様なアプリケーション内で AI システムの範囲と汎用性をさらに広げます。

例:

現在、エージェントは Java では使用できません。

エージェント メッセージ

入力と応答の両方を含むエージェント メッセージングは、 Semantic Kernel のコア コンテンツ タイプに基づいて構築され、通信のための統一された構造を提供します。 この設計の選択により、従来のチャット完了パターンから、アプリケーション開発におけるより高度なエージェント駆動型パターンへの移行プロセスが簡略化されます。 使い慣れた Semantic Kernel コンテンツ タイプを活用することで、開発者は既存のシステムを見直すことなく、エージェント機能をアプリケーションにシームレスに統合できます。 この合理化により、基本的な会話型 AI からより自律的なタスク指向のエージェントに進化するにつれて、基になるフレームワークの一貫性が維持され、開発が迅速かつ効率的になります。

注: Open AI Assistant Agent'_ では、File ReferencesContent Annotation の使用に固有のコンテンツ タイプが導入されました

現在、エージェントは Java では使用できません。

テンプレート

エージェントの役割は、主に受け取る命令によって形成され、その動作とアクションが決まります。 Kernel promptの呼び出しと同様に、エージェントの命令には、実行中に動的に置換されるテンプレート化されたパラメーター (値と関数の両方) を含めることができます。 これにより、柔軟でコンテキストに対応した応答が可能になり、エージェントはリアルタイム入力に基づいて出力を調整できます。

さらに、エージェントは、 Prompt テンプレート構成を使用して直接構成できます。これにより、開発者は、その動作を定義するための構造化された再利用可能な方法を提供できます。 このアプローチは、エージェントの指示を標準化およびカスタマイズするための強力なツールを提供し、動的な適応性を維持しながら、さまざまなユース ケース間で一貫性を確保します。

例:

現在、エージェントは Java では使用できません。

チャット入力候補

Chat Completion Agent は、Semantic Kernel AI サービスを中心に設計されており、幅広いアプリケーションにシームレスに統合できる柔軟で便利なペルソナカプセル化を提供します。 このエージェントを使用すると、開発者は複雑な実装の詳細に対処することなく、会話型 AI 機能をシステムに簡単に取り込みます。 基になる AI サービスで見つかった機能とパターンを反映し自然言語処理、ダイアログ管理、コンテキスト理解などのすべての機能が、 Chat Completion Agent 内で完全にサポートされ、会話インターフェイスを構築するための強力なツールになります。

現在、エージェントは Java では使用できません。