代理工作流程:任務依附(預覽版)

確保您的 AI 代理始終符合使用者指示與任務目標。 任務依從訊號可識別差異,例如工具呼叫不對齊、工具輸入或輸出相較於使用者意圖不正確,以及回應與客戶輸入不一致。 此功能使系統開發人員能主動透過阻擋錯誤行為或升級問題以求人工介入來緩解偏離預期的操作。

任務遵循功能的主要目標包括:

  • 偵測工具動作與使用者目標或輸入意圖不符,或工具輸入/輸出相較於使用者意圖不當,或客服回應與客戶輸入不一致。
  • 在工具呼叫出現偏差時,提供判斷依據。
  • 當工作對齊有風險時,提供訊號,以便下游工具調用封鎖,並升級為人類參與迴路 (HITL) 審查。
  • 透過強化行為一致性、透明度與控制,促進使用者對代理系統的信任。

先決條件

  • Azure訂閱 - 免費建立
  • 當你擁有 Azure 訂閱後,請在 Azure 入口網站建立一個內容安全資源,以取得你的金鑰和端點。 輸入你的資源名稱,選擇訂閱,並選擇資源群組、地區及支援的價格層級。 然後選擇 「建立」。
    • 該資源部署需幾分鐘。 完成後,選擇 前往資源。 在左側窗格,在 資源管理下,選擇 訂閱金鑰和端點。 端點和任一金鑰用來呼叫 API。
  • 已安裝 cURL。

請求

註

關於提示盾範例,請參見 提示盾。

API 版本:2024-12-15-preview

網址中的欄位

名稱 必須 描述 類型
終點 是的 內容安全 API 的基礎網址。 將 <endpoint> 替換成你Azure服務提供的端點。 弦
API 版本 是的 要使用的 API 版本。 此特徵的版本為 2024-12-15-preview。 範例: <endpoint>/contentsafety/agent:analyzeTaskAdherence?api-version=2024-12-15-preview 弦

請求主體中的參數

名稱 必須 描述 類型
工具 是的 一份定義任務中可用函式的工具清單。 每個工具都包含一個型別(例如「function」)以及關於該功能的詳細資訊,包括名稱和描述。 JSON 物件陣列
訊息 是的 使用者、助理與工具之間交換的訊息清單。 每則訊息包含來源(例如「提示詞」、「完成」)、角色(例如「使用者」、「助理」、「工具」)、內容(訊息文字),以及可選的 toolCalls 或 toolCallId。 JSON 物件陣列

請求本體結構範例

以下表格為請求主體中金鑰欄位的描述:

工具領域
名稱 必須 描述 類型
型別 是的 所用工具的種類。 對於此功能,它是「Function」 弦
function.name 是的 功能名稱。 例如,「read_emails」 弦
功能描述 是的 簡要說明這個功能的功能。 例如,「閱讀使用者的電子郵件」 弦
訊息欄位
名稱 必須 描述 類型
來源 是的 訊息的來源。 可能的值:「提示」、「完成」 弦
角色 是的 與訊息相關的角色。 可能的值:「使用者」、「助理」、「工具」 弦
內容 是的 訊息的內容。 例如,「摘要我的電子郵件」 字串或陣列
工具呼叫 不 代理程式呼叫的工具清單,包括型別(例如「function」)、function.name、function.arguments 以及唯一的 ID。 JSON 物件陣列
toolCallId 不 (工具訊息)被回應的工具呼叫的ID。 與客服人員工具通話中提供的ID相符。 弦

API 回應

提交申請後,您將收到反映任務依從性分析的 JSON 資料。 這些資料能標示您的客服人員工作流程中的潛在漏洞。 以下是典型的輸出內容:

{
  "taskRiskDetected": true,
  "details": "Agent attempts to share a document externally without user request or confirmation."
}
名稱 描述 類型
任務風險偵測 包含輸入的風險偵測結果 布林值
細節 當偵測到風險時,提供推理結果 弦

若 taskRiskDetected 的值為 true,表示已偵測到風險;在此情況下,我們建議進行審查與處置,例如封鎖工具調用要求,或升級為人類參與迴路。

先決條件

一個 Azure 帳戶。 如果你還沒有,也可以免費建立一個。 一個 Azure AI 資源。

設定並使用工作遵循

請依照以下步驟使用 內容安全試用 頁面:

  1. 前往 Azure AI Foundry,並導覽到你的專案/集結區。 然後在左側導航中選擇 護欄+控制 標籤,再選擇「試用」標籤。
  2. 在 「試用 」頁面,你可以嘗試各種護欄與控制功能,如文字和圖片內容,並利用可調整的門檻來過濾有害內容。
  3. 進入 代理工作流程 ,選擇 任務遵循。
  4. 您可以選取一個已對齊或未對齊 Agent 工具呼叫的範例,或自行建立範例來測試 Task Adherence。
  5. 選擇 執行測試。 任務依從會為每個樣本回傳風險旗標,若偵測到風險,則回傳原因。

使用者情境

客戶支援

情境: 整合於企業平台的客戶支援助理協助使用者檢查資料使用情況、故障排除問題並管理帳號設定。 為維持準確自動化,系統整合任務依從(Task Adherence),在執行後端工具呼叫前驗證代理計畫。

使用者: 終端使用者、客服人員及客戶體驗團隊。

動作場面: 有用戶私訊聊天機器人:「你能幫我查一下這個月用了多少資料嗎?」助理計劃啟動一個 change_data_plan() 工具。 任務依從性偵測使用者意圖(資訊請求)與擬議行動(訂閱變更)之間的不一致。 工具調用可以被阻擋,系統會停止執行或要求使用者審查。

人力資源

情境: 企業助理自動化了例行的人力資源相關工作流程,如請假、申報費用及檢查保單細節。 任務遵循確保代理行動維持在預期範圍內,避免採取無意間的捷徑。

使用者: 員工、人力資源業務夥伴及工作流程自動化團隊。

動作場面: 一名員工打字:「我想知道我還剩多少年假。」代理人計劃啟動 apply_leave()。 任務遵循功能可辨識工作不一致的情況 — 使用者是要取得資訊,而不是啟動某個程序。 執行被阻擋;代理人會重新表述或提示確認。

生產力工具

情境: 內建於電子郵件平台的生產力助理,幫助專業人士連接資料庫,並撰寫、審核及發送訊息。 任務依從性用來區分撰寫草稿與執行發送指令,特別是在使用者意圖模糊的情況下。

使用者: 知識工作者、執行助理和IT合規團隊。

動作場面: 使用者提示:「寫封電子郵件給客戶說明錯過的截止日期。」代理人產生訊息並計劃呼叫 send_email()。 Task Adherence 會將計畫標示為可能過早;目前沒有明確指示要傳送。 系統反而阻擋預期的工具呼叫,並提示使用者檢視。

任務遵循:符合與不符合的工具使用

任務依從 API 訊號幫助開發者與平台擁有者了解代理工具調用何時符合或偏離使用者意圖。

範例

分類 描述 範例
對齊 探員在未採取意外行動的情況下取得所需資訊。 使用者: 「你能給我看我最近的行事曆嗎?」
規劃工具:get_calendar_events()
✅ 代理程式按照要求取得事件。

輸出:
{ "taskRiskDetected": false }
錯位 在僅有資訊請求時,代理程式嘗試修改使用者設定。 使用者: 「你能給我看我最近的行事曆嗎?」
規劃工具:clear_calendar_events()
❌ 代理準備刪除資料。

輸出:
{ "taskRiskDetected": true, "details": "Planned action deletes calendar events, but user only requested to view them."}
對齊 當使用者請求產生新文件後,代理程式會啟動文件建立流程。 使用者: 「為客戶製作一份新的專案提案文件。」
規劃工具:create_document()
✅ 與使用者的任務請求相符。

輸出:
{ "taskRiskDetected": false}
錯位 代理會將文件分享給外部協作者,無需使用者指示。 使用者: 「為客戶製作一份新的專案提案文件。」
規劃工具:share_document()
❌ 沒有可提供給用戶的指示。

輸出:
{ "taskRiskDetected": true, "details": "Agent attempts to share a document externally without user request or confirmation."}

限制

語言可用性

任務依從性已在英語文本中進行測試;不過,此功能可在多種語言中運作,雖然品質可能有所不同。 無論哪種情況,我們都建議針對你的使用案例和應用進行測試,以確保它們能在你的情境下運作。

文字長度限制

目前,任務遵循 API 有輸入長度限制。 最大文字長度為 100,000 字元。 如果你的輸入長度超過這個限制,你會收到錯誤。

區域可用性與資料處理

雖然任務遵循可在所有 Azure AI 內容安全 區域啟用,但資料可能會被路由至指定地理區域外的其他美國及歐盟區域處理。