在 Microsoft Foundry 中建立工作流程(預覽版)

重要

本文中標示為預覽的項目目前仍在預覽中。 此預覽版未簽訂服務等級協議,Microsoft 不建議用於生產工作負載。 某些功能可能不被支援或功能受限。 欲了解更多資訊,請參閱 Microsoft Azure 預覽版補充使用條款。

重要

Microsoft Foundry 將於 2026 年 12 月 1 日停止提供工作流程功能。 如果你想建立新的工作流程,建議使用 Microsoft Agent Framework。 若要遷移現有工作流程,請參閱本文的 遷移指南 章節,了解所有支援的路徑。

工作流程是 Microsoft Foundry 中基於 UI 的工具。 利用它們來建立宣告式、預先定義的動作序列,協調代理與業務邏輯,並以視覺化建構器呈現。

工作流程讓您能打造智慧自動化系統,將 AI 代理與業務流程無縫結合,呈現視覺化效果。 傳統的單代理系統在處理複雜且多面向任務的能力上有限。 透過協調多個由 Foundry 模型驅動、具備專業技能或角色的代理,你可以打造更穩健、適應性強,並能協作解決現實世界問題的系統。

先決條件

  • 一個有有效訂閱的 Azure 帳號。 如果你還沒有,請建立一個free Azure帳號,其中包含免費試用訂閱。
  • 一個在 Microsoft Foundry 裡的專案。 欲了解更多資訊,請參閱 「創建專案」。
  • 在您的 Foundry 專案中建立並執行工作流程的存取權。 欲了解更多資訊,請參閱Foundry中的Azure 角色型存取控制(RBAC)。

決定何時使用工作流程

工作流程非常適合需要用於此類情境的時候:

  • 在可重複的流程中協調多個代理。
  • 加入分支邏輯(例如 if/else)和變數處理,無需撰寫程式碼。
  • 建立人手參與的步驟(例如批准或澄清問題)。

若要維護現有工作流程或在 Visual Studio Code 中建立基於程式碼的編排,請參見:

了解工作流程模式

Foundry 提供常見的編排模式範本。 從空白工作流程開始,或選擇範本:

模式 描述 典型使用情境
迴圈中的人員 向使用者提問並等待使用者輸入以繼續 在工作流程執行過程中建立核准請求並等待人工核准,或從使用者那裡取得資訊
序列式 將結果依明確順序從一位代理人傳遞給下一位代理人 逐步工作流程、管道或多階段處理
群組聊天 根據內容上下文或規則在 Agent 之間動態傳遞控制項 動態工作流程、升級、備用或專家交接情境

欲了解更多資訊,請參閱 Microsoft 代理框架工作流程協調。

建立工作流程

這個流程展示了如何建立序列式工作流程。 其他工作流程類型也適用相同的一般步驟。

  1. 登入 Microsoft Foundry。 確定 新鑄造廠 的開關是開啟的。 以下步驟適用於 Foundry(新)。

  2. 在右上角選單,選擇 建造。

  3. 選擇 建立新工作流程>,順序式。

  4. 透過在工作流程中選取每個代理節點,選擇想要的代理或建立新的代理,來指派代理給代理節點。 欲了解更多資訊,請參閱本文後面的 「新增代理人 」。

  5. 在視覺化工具中選擇 「儲存 」來儲存變更。

    重要

    Foundry 不會自動儲存工作流程。 每次變更後選擇 儲存 以保留你的作品。

  6. 選擇 執行工作流程。

  7. 在聊天視窗中與工作流程互動。

  8. 可選擇性地,在工作流程中新增節點。 本文下一節將提供關於節點的資訊。

驗證你的工作流程運行

選擇 執行工作流程後,請確認:

  • 每個節點都會在視覺化工具中完成。
  • 你會在聊天視窗看到預期的回應。
  • 你儲存的任何變數(例如代理節點的 JSON 輸出)都包含你預期的值。

新增節點

節點是你工作流程的基石。 每個節點依序執行特定動作。

常見的節點類型包括:

  • 代理人:召喚代理人。
  • 邏輯:使用 if/else、 go to 或 for each。
  • 資料轉換:設定變數或解析值。
  • 基本聊天:發送訊息或向客服提問。

當你選擇預先建置的工作流程時,建構器會依序顯示節點。 要重新排序節點,先選取節點上的三個點,然後選擇 移動。 要新增節點,請在工作區中選擇加號(+)圖示。

新增代理人

將你專案中的任何 Foundry 代理加入工作流程。 代理節點也允許你透過設定模型、提示符和工具來建立具備自訂能力的新代理。

關於進階的代理建立選項,請前往 Foundry 入口網站中的 Foundry 代理 標籤。

註

工作流程設計器不支援託管代理。 若要協調任務、呼叫其他代理,或在託管代理內協調工作流程,請使用 Microsoft代理框架工作流程或其他支援你託管代理程式碼工作流程能力的代理框架。

新增現有的代理人

  1. 在工作流程視覺化工具中,選擇加號。

  2. 在彈出視窗下拉選單中,選擇呼叫代理。

  3. 在 「建立新代理」 視窗中,選擇 「現有」。

  4. 輸入代理人名稱即可搜尋 Foundry 專案中的現有代理人。

  5. 選擇想要的代理人,將其加入你的工作流程。

建立一個新的代理人

  1. 在工作流程視覺化工具中,選擇加號。

  2. 在彈出視窗下拉選單中,選擇呼叫代理。

  3. 輸入代理人姓名及其工作內容描述。

  4. 選擇 新增。

  5. 在 呼叫代理 程式視窗中,設定代理程式。

  6. 選擇 儲存。

設定輸出響應格式

要設定代理程式回傳結構化 JSON 輸出:

  1. 在 Invoke agent 設定視窗中,選擇 「建立新代理」。

  2. 設定代理程式以 JSON 架構傳送輸出:

    1. 選擇 細節。
    2. 選擇參數圖示。
    3. 文字 格式請選擇 JSON Schema。

    截圖顯示了設定 JSON 結構格式輸出的視窗。

  3. 複製所需的 JSON 架構,並貼上到 新增回應格式 視窗。 以下截圖展示了一個數學範例。 選擇 儲存。

    截圖顯示新增了 JSON 回應格式。

重要

不要在 JSON 架構、提示詞或儲存的工作流程變數中包含秘密(密碼、金鑰、令牌)。

{
  "name": "math_response",
  "schema": {
    "type": "object",
    "properties": {
      "steps": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "explanation": {
              "type": "string"
            },
            "output": {
              "type": "string"
            }
          },
          "required": [
            "explanation",
            "output"
          ],
          "additionalProperties": false
        }
      },
      "final_answer": {
        "type": "string"
      }
    },
    "additionalProperties": false,
    "required": [
      "steps",
      "final_answer"
    ]
  },
  "strict": true
}
  1. 選擇 動作設定。 然後選擇 儲存輸出 json_object/json_schema 為。

  2. 選擇 建立新變數。 選擇變數名稱,然後選擇 完成。

    截圖,顯示在 Microsoft Foundry 工作流程中建立新變數的選項。

配置額外功能

  • YAML 視覺化檢視器檢視:將 YAML 視覺化檢視 切換切換為 開啟 ,以儲存工作流程為 YAML 檔案。 在視覺化工具或 YAML 視圖中編輯。 儲存會建立一個包含完整版本歷史的新版本。

    視覺化工具和 YAML 都可以編輯。 YAML 檔案的變更會立即顯示在視覺化工具中。

  • 版本設定:每個存檔都會產生一個新的、無法更改的版本。 若要查看版本歷史或刪除舊版本,請在儲存按鈕左側開啟版本下拉選單。

  • 備註:在工作流程視覺化工具中加入筆記以提供更多背景資訊。 在視覺化工具的左上角,選擇 新增備註。

用 Power Fx 建立表達式

Power Fx 是一種低程式碼語言,使用類似 Excel 的公式。 利用 Power Fx 建立複雜的邏輯,讓你的經紀人能操作資料。 例如,Power Fx 公式可以設定變數值、解析字串或評估條件。 欲了解更多資訊,請參閱 Power Fx 概述 與 公式參考。

在公式中使用變數

要在 Power Fx 公式中使用變數,必須在其名稱後加上前綴以標示變數的範圍:

  • 系統變數則使用 System.
  • 對於區域變數,請使用 Local.

以下是系統變數:

名稱 描述
Activity 關於目前活動的資訊
Bot 關於代理人的資訊
Conversation 關於當前對話的資訊
Conversation.Id 目前對話的唯一識別碼
Conversation.LocalTimeZone 使用者的時區,依 IANA 時區資料庫格式呈現
Conversation.LocalTimeZoneOffset 目前當地時區的 UTC 的時間位移
Conversation.InTestMode 布林旗標代表對話是否在測試畫布上進行
ConversationId 目前對話的唯一識別碼
InternalId 系統內部識別碼
LastMessage 關於使用者先前發送訊息的資訊
LastMessage.Id 使用者先前發送的訊息 ID
LastMessage.Text 使用者先前發送的訊息
LastMessageId 使用者先前發送的訊息 ID
LastMessageText 使用者先前發送的訊息
Recognizer 關於意圖識別及觸發訊息的資訊
User 關於目前與客服人員通話的使用者資訊
User.Language 每段對話的使用者語言地點
UserLanguage 每段對話的使用者語言地點

在公式中使用字面值

除了在 Power FX 公式中使用變數外,你還可以輸入字面值。 要在公式中使用字面值,必須以對應 該公式類型的格式輸入。

下表列出資料型態及其對應的字面值格式:

類型 格式範例
弦 "hi", "hello world!", "copilot"
布林值 只有 true 或 false
編號 1, 532, , 5.258-9201
記錄與表格 [1],[45, 8, 2],["cats", "dogs"],{ id: 1 },{ message: "hello" },{ name: "John", info: { age: 25, weight: 175 } }
日期與時間 Time(5,0,23), Date(2022,5,24), DateTimeValue("May 10, 2022 5:00:00 PM")
選擇 不支援
空白 只有 Blank()

常見的Power Fx公式

下表列出了你可以在每種資料型別中使用的 Power Fx 公式。

類型 Power Fx 公式
弦 文字功能
Concat 和 Concatenate 函式
Len 函數
Lower、Upper 和 Proper 函式
IsMatch、Match 與 MatchAll 函式
EndsWith 與 StartsWith 函數
尋找函數
替換與取代函數
布林值 布林函數
And、Or 和 Not 函式
If 和 Switch 函數
編號 小數、浮點與值函數
Int、Round、RoundDown、RoundUp 與 Trunc 函數
記錄與表格 Concat 和 Concatenate 函式
Count、CountA、CountIf 與 CountRows 函式
ForAll 函數
First、FirstN、Index、Last 和 LastN 函數
篩選、搜尋與查詢功能
JSON 函式
ParseJSON 函數
日期與時間 Date、DateTime 和 Time 功能
DateValue、TimeValue 與 DateTimeValue 函式
日、月、年、時、分鐘、秒及平日功能
Now、Today、IsToday、UTCNow、UTCToday 和 IsUTCToday 函式
DateAdd、DateDiff 與 TimeZoneOffset 函式
文字功能
空白 空白、聚合、IsBlank 與 IsEmpty 函式
Error、IfError、IsError、IsBlankOrError 函式

使用 Power Fx 設定變數

此範例展示了如何以大寫字母儲存並輸出客戶姓名:

  1. 建立工作流程並新增 提問 節點。

  2. 在出現的「 提問 」欄格中,輸入「 你叫什麼名字?」 或其他訊息。 在 「儲存使用者回應為」 的欄位中,輸入變數名稱;例如, Var01。 然後選擇 完成。

    截圖顯示發送訊息時問題的設定。

  3. 新增 一個發送訊息 的動作。 在面板出現後,在訊息發送區域,輸入{Upper(Local.Var01)}。 然後選擇 完成。

    截圖顯示傳送訊息動作的變數實例化。

  4. 選擇 預覽。

  5. 在預覽窗格中,發送訊息給代理以啟動工作流程。

    截圖顯示了發送訊息行為的問題預覽。

使用 Power FX 創建 if/else 流程

這個範例展示了如何加入 if/else 流程,並用系統變數建立條件。

  1. 建立工作流程並新增 提問 節點。

  2. 選擇圖示 + 並新增 if/else 流程。

  3. 在 System. 欄位輸入,為每個 if/else 分支建立條件陳述。

    一張顯示 if-else 條件文字框中系統變數的截圖。

  4. 選擇 下一步 動作,進入工作流程下一步。

  5. 選擇 完成。 選擇 儲存 以儲存您的工作流程。

故障排除

問題 解法
工作流程 選項不可見或無法建立/編輯工作流程 確認你在專案中擁有貢獻者角色或更高的角色。 請參見 Foundry 中的 Azure 角色為基礎的存取控制(RBAC)。
編輯後不會有變更 在視覺化工具中選擇 儲存 。 Foundry 不會自動儲存變更。
工作流程執行會產生意想不到的輸出 確認每個代理節點都有分配代理。 檢查儲存的輸出(JSON schema)是否有效。
Power Fx 公式錯誤:「名稱無效」 加上正確的範圍前綴。 用於 System. 系統變數與 Local. 區域變數。
Power Fx 公式錯誤:「型別不匹配」 確認變數類型是否符合預期輸入。 如果需要,可以使用轉換Text()Value()函數。
工作流程逾時 將複雜的工作流程拆分成更小的部分。 請確認外部服務是否在預期時間內回應。

清理資源

要刪除工作流程,你不再需要:

  1. 在 Foundry 入口網站開啟工作流程。
  2. 選擇儲存按鈕左側的版本下拉選單。
  3. 選擇你想刪除的版本,然後點擊刪除。

遷徙指南

Foundry 正在將工作流程創作轉向以程式碼為先的模式。 視覺化工作流程並不會消失作為一項能力。 你視覺化建立的編排模式(序列與群組聊天協調、分支邏輯,以及人機參與步驟)都能在程式碼和設定中表達,所以遷移時會保留它們。 2026 年 12 月 1 日之後,視覺化設計工具和入口網站中的工作流程執行將不再受支援,但如果將其部署為 託管代理,Foundry 仍會繼續執行以 YAML 為基礎的工作流程定義。

選擇符合你想要建造方式的路徑。 大多數團隊應該從 Microsoft 代理框架開始。

如果您想要... 遷移至 最適合用於
請將你的編排邏輯維持在支援且以程式碼為優先的執行環境上 Microsoft 代理程式架構 熟悉 YAML 或程式碼、想要最接近現今工作流程的團隊
保持完全視覺化、低程式碼的設計工具 Azure Logic 應用程式 結合確定性步驟與 AI 推理的業務流程自動化
在沒有正式工作流程的情況下,將一位經紀人連接到另一位 代理對代理(A2A) 兩個 Agent 之間的輕量移交

遷移前:匯出你的工作流程定義

工作流程的 YAML 定義就是推行到下列任一路徑的可攜式成品。 在設計師退休前保存下來:

  1. 在 Foundry 工作流程設計器中開啟你的工作流程。
  2. 切換到 YAML 視圖即可查看完整配置。
  3. 複製或匯出 YAML 檔案,這樣你就能在新環境中重用。

Foundry AI 工具包中的 Agent Inspector 可用於 Visual Studio Code,讓你視覺化並執行 Foundry 工作流程定義,這在驗證遷移時非常有幫助。

大多數工作流程都用 Microsoft Agent Framework。 您所建立的協調流程能以視覺化方式直接對應至 Agent Framework,並接著透過宣告式 YAML 或程式碼優先撰寫方式支援相同模式。 在很多情況下,你可以將匯出的工作流程 YAML 帶到 Agent Framework 專案中,並以最小的改動執行。 然後,繼續在 Visual Studio Code 裡迭代,而不是用入口網站。 由於工作流程不再是獨立的代理類型,你可以透過將結果部署為託管代理來執行它——也就是與託管你其他程式碼型代理相同的受管執行階段環境。

Option 2: Azure Logic Apps

如果主要是為了視覺化設計工具而使用工作流程,則 Azure Logic Apps 能讓您使用功能完整的低程式碼編排畫布來推進協調流程,並可分步驟來呼叫 Foundry Agent。 Azure Logic Apps 讓你能在同一執行中結合確定性步驟,包括預設內建動作、API 和 MCP 伺服器,以及 Foundry 代理的機率推理。 你可以逐步採用代理,豐富你已有的流程,而不是從頭重建。

選項三:直接與 A2A 連接客服人員

對於只需要由一個代理直接呼叫另一個代理、而不需要正式多步驟工作流程的輕量情境,可將代理公開為代理對代理(A2A)端點,並直接呼叫它。 此方法讓呼叫代理保持控制,同時將任務委派給專業代理。 如需詳細資訊,請參閱 在 Foundry 代理程式上啟用傳入 A2A 端點。