Agent Framework には、次の 4 つの主要な領域があります。
| 説明 | |
|---|---|
| エージェント | 入力の処理、 ツール と MCP サーバーの呼び出し、応答の生成に LLM を使用する個々のエージェント。 Microsoft、Foundry、Anthropic、Azure OpenAI、OpenAI、Ollama、moreをサポートします。 |
| ハーネス エージェント | バッテリを含む機能を備えたオピニオンエージェントは、計画とタスクの追跡、コンテキストの圧縮、ファイルアクセスとメモリ、ツールの承認を再要求せず、可観測性を備えています。 |
| ワークフロー | 明示的な実行パスを介してエージェントと関数を接続する機能ベースのワークフローとグラフ ベースのワークフロー。 |
| 統合 | モデル プロバイダー、エージェント サービス、ツール、コンテキスト プロバイダー、ミドルウェア、評価サービス、および UI フレームワークへの接続(プロバイダーとコンポーネント別)。 |
また、モデル クライアント (チャットの完了と応答)、状態管理用のエージェント セッション、エージェント メモリのコンテキスト プロバイダー、エージェント アクションをインターセプトするためのミドルウェア、ツール統合用の MCP クライアントなど、基本的な構成要素も提供します。 これらのコンポーネントを組み合わせることで、インタラクティブで堅牢で安全な AI アプリケーションを構築する柔軟性とパワーが得られます。
Important
Agent Framework for Go はパブリック プレビュー段階です。 宣言型エージェント、RAG、CodeAct、および機能ワークフローはまだ使用できません。 GitHub (https://github.com/microsoft/agent-framework-go/issues) に関するファイルの問題。
概要
dotnet add package Microsoft.Agents.AI.Foundry --prerelease
using System;
using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;
AIAgent agent = new AIProjectClient(
new Uri("https://your-foundry-service.services.ai.azure.com/api/projects/your-foundry-project"),
new AzureCliCredential())
.AsAIAgent(
model: "gpt-5.4-mini",
instructions: "You are a friendly assistant. Keep your answers brief.");
Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));
pip install agent-framework
from agent_framework import Agent
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential
agent = Agent(
client=FoundryChatClient(
project_endpoint="https://your-foundry-service.services.ai.azure.com/api/projects/your-foundry-project",
model="gpt-5.4-mini",
credential=AzureCliCredential(),
),
name="HelloAgent",
instructions="You are a friendly assistant. Keep your answers brief.",
)
# Non-streaming: get the complete response at once
result = await agent.run("What is the largest city in France?")
print(f"Agent: {result}")
go get github.com/microsoft/agent-framework-go
package main
import (
"context"
"fmt"
"os"
"github.com/microsoft/agent-framework-go/agent"
"github.com/microsoft/agent-framework-go/provider/foundryprovider"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
)
func main() {
endpoint := os.Getenv("FOUNDRY_PROJECT_ENDPOINT")
model := os.Getenv("FOUNDRY_MODEL")
token, err := azidentity.NewDefaultAzureCredential(nil)
if err != nil {
panic(err)
}
a := foundryprovider.NewAgent(
endpoint,
token,
foundryprovider.ModelDeployment(model),
foundryprovider.AgentConfig{
Instructions: "You are a friendly assistant. Keep your answers brief.",
Config: agent.Config{
Name: "HelloAgent",
},
},
)
resp, err := a.RunText(context.Background(), "What is the largest city in France?").Collect()
fmt.Println(resp, err)
}
これは、LLM を呼び出して応答を返すエージェントです。 ここから、ツール、複数ターンの会話、ミドルウェア、ワークフローを追加して、運用アプリケーションを構築できます。
Note
Agent Framework は、 ファイルを自動的に読み込.env。
.env ファイルを使用するには、アプリケーションの開始時にload_dotenv()を呼び出すか、シェルまたは IDE で環境変数を直接設定します。
エージェントとワークフローを使用する場合
| エージェントを使用する場合... | ワークフローを使用する場合... |
|---|---|
| タスクは、オープン エンドまたは会話型です | プロセスには明確に定義された手順があります |
| 自律的なツールの使用と計画が必要です | 実行順序を明示的に制御する必要がある |
| 1 回の LLM 呼び出し (場合によってはツールを使用) で十分です | 複数のエージェントまたは関数が連携する必要がある |
タスクを処理する関数を記述できる場合は、AI エージェントを使用する代わりにこれを行います。
エージェント フレームワークの理由
Agent Framework は、AutoGen の単純なエージェント抽象化とセマンティック カーネルのエンタープライズ機能 (セッション ベースの状態管理、タイプ セーフ、ミドルウェア、テレメトリ) を組み合わせ、明示的なマルチエージェント オーケストレーション用のグラフベースのワークフローを追加します。
セマンティック カーネル と AutoGen は 、AI エージェントとマルチエージェント オーケストレーションの概念を開拓しました。 Agent Framework は、同じチームによって作成された直接の後続タスクです。 AutoGen のシングル エージェント パターンとマルチエージェント パターンの単純な抽象化と、セッション ベースの状態管理、タイプ セーフ、フィルター、テレメトリ、広範なモデルと埋め込みのサポートなど、セマンティック カーネルのエンタープライズ レベルの機能が組み合わせられます。 この 2 つをマージする以外に、Agent Framework では、開発者がマルチエージェント実行パスを明示的に制御できるワークフローに加えて、実行時間の長いシナリオと人間がループ内で実行するシナリオ向けの堅牢な状態管理システムが導入されています。 つまり、Agent Framework はセマンティック カーネルと AutoGen の両方の次世代です。
セマンティック カーネルまたは AutoGen からの移行の詳細については、セマンティック カーネル からの移行ガイド と AutoGen からの移行ガイドを参照してください。
セマンティック カーネルと AutoGen はどちらもオープンソース コミュニティから大きなメリットを得ていて、Agent Framework でも同様のメリットが期待されています。 Microsoft Agent Framework は投稿を歓迎し、新しい機能を使用して改善を続けます。
Important
Microsoft Agent Framework を使用して、サードパーティ製のサーバー、エージェント、コード、または非Azure Direct モデル ("サード パーティ システム") で動作するアプリケーションを構築する場合は、ご自身の責任で行います。 第三者システムは、Microsoft製品使用条件に基づく非Microsoft製品であり、独自のサードパーティライセンス条項に準拠します。 使用および関連するコストについては、お客様が責任を負います。
サード パーティ システムと共有され、サード パーティ システムから受信されるすべてのデータを確認し、データの処理、共有、保持、および場所に関するサードパーティのプラクティスを認識することをお勧めします。 データが組織のAzureコンプライアンスと地理的境界の外部に流れるかどうか、および関連する影響、および適切なアクセス許可、境界、承認がプロビジョニングされるかどうかを管理するのは、お客様の責任です。
特定のユース ケースのコンテキストで Microsoft Agent Framework を使用して構築したアプリケーションを慎重に確認およびテストし、すべての適切な決定とカスタマイズを行う責任があります。 これには、metaprompt、コンテンツ フィルター、その他の安全システムなどの独自の責任ある AI 軽減策を実装し、アプリケーションが適切な品質、信頼性、セキュリティ、信頼性の標準を満たしていることを確認する必要があります。 「透明性に関する FAQ」も参照してください
次のステップ
より深く進む:
- エージェント — ランタイムと実行、エージェントの種類、会話、ミドルウェア、安全性
- エージェント ハーネス — 長時間の作業のためのアーキテクチャ、機能構成、およびカスタマイズ
- ワークフロー — 関数型 API とグラフ API、実行、状態、高度な構成
- 統合 — モデル、エージェント サービス、ツール、コンテキスト、ミドルウェア、評価、UI のプロバイダーとコンポーネント