共用方式為


快速入門:設定並執行 Python Agent 框架範例代理

在這份快速入門中,請一步步使用Agent 365建立一個可用的Docker架構代理程式,用於工具、通知、可觀察性,以及使用Agents Playground和Teams測試代理程式。

先決條件

  • 如果你打算使用 Visual Studio Code,必須安裝 .NET。 (建議使用 .NET 8.0。)

  • 已安裝 Python 3.8.x

  • 已安裝 UV 套件管理器 。 在終端機中安裝此程式,使用 pip install uv

  • Microsoft Agents Toolkit / Agent Framework dependencies

    本次攻略所用的範例依賴於 Microsoft 365 代理工具包(ATK)所提供的代理框架函式庫。 當你使用 VS Code 中的 Agents Toolkit 擴充功能來架構範例時,這些套件會自動安裝,或者你也可以使用以下指令手動安裝套件:

    uv pip install -e . --find-links ../dist --pre
    
  • GitHub 存取權限

  • 一個現有的 AI 代理專案。 此快速入門使用來自 Microsoft 365 代理工具包 (VS Code 中的 ATK)中的 Agent 範例代理。

  • A365 CLI

  • 代理身份認證

Set the Agent framework + Python 範例,取自 Microsoft 365 Agents Toolkit

要準備好一切,你可以在 VS Code 安裝 Microsoft 365 代理工具包,打開範例庫,並在本地搭建 Agent 框架 + Python 範例,方便之後設定和執行。 以下截圖展示了你在過程中應該預期會看到的內容。

  1. 打開 Visual Studio Code,然後在擴充功能面板中用 Ctrl+Shift X+ 鍵。

  2. 在搜尋欄輸入「Agents Toolkit」。
    你應該會在這裡看到截圖中的結果:

    Agents Toolkit 的 Extensions Marketplace 搜尋截圖。

  3. Microsoft 365 Agents Toolkit

  4. 選取安裝

    VS Code 顯示的擴充功能詳細檢視方式如下:

    擴充功能詳細頁面的截圖,附有安裝與啟用按鈕。

  5. 安裝後, M365 代理工具包 圖示會出現在左側導航列。

  6. 選擇它即可開啟歡迎體驗。

    你現在應該會看到像是「建立宣告式代理」、「建立新代理/應用程式」和「檢視範例」等選項,如這裡所示:

    工具包歡迎檢視截圖,包含建立宣告式代理、建立新代理或應用程式,以及查看範例選項。

  7. 選擇 「查看範例」。

  8. 在範例列表中,往下滑可找到 Agent framework + Python agent 範例。

  9. 加以選取。

    你會看到兩個選項: 建立 (本地支架)或 在 GitHub 查看。

  10. 選擇 [建立]

    使用 Python 範例的 A365 SDK Agent Framework Agent 截圖。

  11. 當提示時,選擇你電腦上的一個資料夾來產生樣本。 例如:C:\A365-python-sample

    工具包會將 Agent 框架 + Python 範例架構到子資料夾(例如 sample_agent),然後自動在 VS Code 中開啟。

    一旦支架完成,你就擁有一個完整運作的 Agent 框架 + Python 代理專案

  12. 安裝必要套件

    在執行範例前,先在你的專案中開啟 , package.json 確認所有必須的 Agent 365 和 Agent 框架相依關係都已列出。 Microsoft 365 代理工具包產生的樣本已經包含這些條目。

    檢視完package.json後,請執行以下指令安裝所有東西:

    uv pip install -e
    

    這會拉出所有 Agent 365 SDK 函式庫、代理框架相依、主機元件,以及範例中定義的其他相依關係。

  13. 安裝後,請使用以下指令啟動開發伺服器,驗證專案是否能建置並執行:

    uv run python start_with_generic_host.py
    

新增 Microsoft 365 工具(MCP 伺服器)

你可以使用 CLI 中的 a365 開發指令 來探索和管理 MCP 伺服器。

在使用 MCP 伺服器時,你可以:

  • 了解哪些 MCP 伺服器可供使用
  • 將一台或多台 MCP 伺服器加入您的代理程式配置
  • 檢視目前配置的 MCP 伺服器
  • 移除不再需要的 MCP 伺服器

MCP 伺服器加入後,您的代理工具清單會擴展至包含類似的條目:

{
   "mcpServers": [
      {
         "mcpServerName": "mcp_MailTools",
         "mcpServerUniqueName": "mcp_MailTools",
         "scope": "McpServers.Mail.All",
         "audience": "api://00001111-aaaa-2222-bbbb-3333cccc4444"
      }
   ]
}

學習如何新增和管理工具

通知訂閱與處理

範例代理訂閱所有 Agent 365 onAgentNotification("*") SDK 通知,並將其路由至單一處理器。 此處理器允許代理對背景或系統事件作出反應,而不僅僅是直接的使用者訊息。

了解如何通知代理人

以下程式碼顯示通知在檔案中的 agent.py 設定方式。

if notification_type == NotificationTypes.EMAIL_NOTIFICATION: 
if not hasattr(notification_activity, "email") or not notification_activity.email: return "I could not find the email notification details."
email = notification_activity.email
email_body = getattr(email, "html_body", "") or getattr(email, "body", "")

message = (
    "You have received the following email. "
    "Please follow any instructions in it. "
    f"{email_body}"
)

result = await self.agent.run(message)
return self._extract_result(result) or "Email notification processed."

可檢視性

這段片段顯示了讓樣品可觀察所需的最小變化。 它初始化 Agent 365 可觀察性 SDK,並將每個代理呼叫包裹在 InferenceScope 一個能自動擷取輸入、輸出與元資料的環境中。

以下程式碼展示了檔案中 agent.py 一個簡化的可觀察性範例。

def _enable_agentframework_instrumentation(self): 
"""Enable Agent Framework instrumentation.""" 
try: 
AgentFrameworkInstrumentor().instrument() 
logger.info("✅ Instrumentation enabled")
 except Exception as e: 
logger.warning(f"⚠️ Instrumentation failed: {e}")

這段程式碼是 Python + Agent 框架範例所需的完整可觀察性設定。 了解更多關於可觀察性的資訊

測試您的 Agent

設定必要的環境變數,選擇認證模式,然後在本地啟動代理程式。 你可以用 Agents Playground 端對端測試所有東西,除非你想發佈代理並在 Teams 或 Outlook 等應用程式中使用,否則不需要 Microsoft 365 租戶。

測試步驟概述

  • 把你的 API 金鑰和模型設定加入 .env 檔案,讓範例能和 LLM 溝通。
  • 選擇您的驗證方法 針對本地開發,範例支援使用由代理藍圖建立的值來執行代理認證。
  • 在本地啟動代理,讓它接觸像是代理遊樂場這類工具。
  • 使用 Agents Playground 測試訊息、工具和通知,無需設定租戶或部署任何東西。
  • 當你準備好體驗實際行為時,發布一個 Microsoft 365 租戶,並在 Teams、Outlook 或其他 Microsoft 365 表面中測試代理程式。

了解更多關於檢測的資訊

發佈您的 Agent

當你的客服人員準備好使用真正的 Microsoft 365 體驗,如 Teams 聊天、Outlook 訊息、Word @mentions時,你就將它發佈給 Microsoft 365 租戶。 Agent 365 CLI publish 指令負責打包:它更新你的清單、打包所有內容,並將代理程式上傳到 Microsoft 管理中心。

發布時,請在完成上傳前,檢視並自訂代理人的名稱、描述、圖示及版本。 一旦發布,你的代理就會在租戶中被發現並安裝。

你可以在這裡查看已發表的代理人: https://admin.cloud.microsoft/#/agents/all

了解更多完整的工作流程與逐步說明