共用方式為


Microsoft 代理程式架構

代理程式架構提供兩個主要類別的功能:

Description
代理 使用大型語言模型處理輸入、呼叫 工具MCP 伺服器,並產生回應的個別代理。 支援 Azure OpenAI、OpenAI、Anthropic、Ollama 等更多。
工作流程 基於圖形的工作流程,連結代理程式與函數,支援多步驟任務,並具備型別安全路由、檢查點管理及人員參與支援。

框架同時提供基礎建構組件,包括模型客戶端(聊天完成與回應)、用於狀態管理的代理會話、用於代理記憶體的上下文提供者、用於攔截代理行動的中介軟體,以及用於工具整合的 MCP 用戶端。 這些元件共同為您提供靈活性和能力,以建立互動式、強大且安全的 AI 應用程式。

開始

dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;

AIAgent agent = new AzureOpenAIClient(
        new Uri(Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!),
        new AzureCliCredential())
    .GetChatClient("gpt-4o-mini")
    .AsAIAgent(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 --pre
    credential = AzureCliCredential()
    client = AzureOpenAIResponsesClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        deployment_name=os.environ["AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME"],
        credential=credential,
    )

    agent = client.as_agent(
        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}")

總之,這是一個代理程序會呼叫大型語言模型並返回回應。 從這裡你可以 加入工具多回合對話中介軟體工作流程 來建立生產應用程式。

備註

代理框架 不會 自動載入 .env 檔案。 使用 .env 檔案時,請在應用程式開始時呼叫 load_dotenv() ,或直接在 shell 或 IDE 中設定環境變數。

何時使用代理與工作流程

使用代理時… 使用工作流程時......
這個任務可以是開放式的或對話式的。 這個過程有明確的步驟
你需要自動化的工具使用和規劃 你需要明確控制執行順序
只需一個 LLM 呼叫(可能搭配工具)即可 多個代理或函數必須協調

如果你能寫一個函式來處理這個任務,就用這個來處理,而不是用 AI 代理。

為什麼選擇代理框架?

Agent Framework 結合了 AutoGen 的簡單代理抽象與 Semantic Kernel 的企業特性——基於會話的狀態管理、型別安全、中介軟體、遙測——並新增基於圖形的工作流程,以實現明確的多代理協調。

Semantic KernelAutoGen 開創了 AI 代理和多代理編排的概念。 代理程式架構是直接的後繼者,由相同的團隊建立。 它結合了 AutoGen 對單代理與多代理模式的簡單抽象,與 Semantic Kernel 的企業級功能,如基於會話的狀態管理、型別安全、過濾器、遙測,以及廣泛的模型與嵌入支援。 除了合併兩者之外,代理框架還引入了工作流程,使開發人員能夠明確控制多代理執行路徑,以及用於長時間運行和人機迴路場景的強大狀態管理系統。 簡而言之,Agent Framework 是語義核心和 AutoGen 的下一代。

若要深入瞭解如何從語意核心或 AutoGen 移轉,請參閱 語意核心的移轉指南AutoGen 的移轉指南

Semantic Kernel 和 AutoGen 都從開源社群中受益匪淺,Agent Framework 也有望受益匪淺。 Microsoft 代理程式架構歡迎貢獻,並將透過新的特性和功能不斷改進。

備註

Microsoft Agent Framework 目前處於公開預覽階段。 請在 GitHub 存放庫上提交任何意見反應或問題。

這很重要

如果您使用 Microsoft 代理程式架構來建置與協力廠商伺服器或代理程式搭配運作的應用程式,則風險由您自行承擔。 我們建議您檢閱與第三方伺服器或代理程式共用的所有資料,並瞭解第三方資料保留和位置的做法。 您有責任管理您的資料是否會流向組織的 Azure 合規性和地理界限之外,以及任何相關影響。

後續步驟

深入探討: