AI Agents 入門課程 · 第 6 課 / 共 18 課

打造可信賴的 AI Agent

原文:Microsoft AI Agents for Beginners · MIT 授權

一句話:可信賴的 AI Agent 不是靠一句「別亂來」就能達成——它需要系統訊息框架、威脅緩解策略、以及人在迴圈中的回饋機制,三者缺一不可。

課程簡介

本課將涵蓋:

學習目標

學完本課後,你將能夠:

安全性(Safety)

先談安全——這裡的「安全」指 AI Agent 按照設計預期正常運作。做為 Agent 開發者,我們有數種方法與工具來最大化安全性:

建立系統訊息框架 (System Message Framework)

如果你曾用 LLM 建過 AI 應用,你一定知道設計一個健壯的「系統提示(system prompt)」有多重要。這些提示建立了 LLM 與使用者、資料互動的元規則、指令與指引。

對 AI Agent 而言,系統提示更加重要——因為 Agent 需要高度具體的指示來完成我們設計的任務。

要建立可擴展的系統提示,可以使用以下四步驟框架:

四步驟框架

步驟 1:建立「元系統訊息」(Meta System Message)

元提示由一個 LLM 使用,用來為我們建立的 Agent 生成系統提示。我們把它設計成模板,以便有效率地建立多個 Agent。

You are an expert at creating AI agent assistants.
You will be provided a company name, role, responsibilities and other
information that you will use to provide a system prompt for.
To create the system prompt, be descriptive as possible and provide a
structure that a system using an LLM can better understand the role
and responsibilities of the AI assistant.

步驟 2:建立基礎提示 (Basic Prompt)

描述 AI Agent 的角色、任務與責任:

You are a travel agent for Contoso Travel that is great at booking
flights for customers. To help customers you can perform the following
tasks: lookup available flights, book flights, ask for preferences in
seating and times for flights, cancel any previously booked flights
and alert customers on any delays or cancellations of flights.

步驟 3:將基礎提示交給 LLM 優化

把元系統訊息當作系統提示、基礎提示當作使用者輸入,LLM 會產出一個更完整、結構更清晰的系統提示。

步驟 4:迭代改善

第一次生成的系統提示很少完美。透過修改基礎提示再重跑流程,可以比較不同版本的結果,持續改進。

💡 核心概念:這個框架的價值在於你可以快速為多個 Agent 生成系統提示,並隨著時間迭代優化。不必手寫每一份——讓 LLM 幫你生成,你負責審查與調整。

理解威脅 (Understanding Threats)

要打造可信賴的 AI Agent,必須理解並緩解風險與威脅。以下是五種主要威脅類型:

威脅類型說明緩解策略
任務與指令竄改 攻擊者透過提示注入或操縱輸入,試圖改變 AI Agent 的指令或目標 執行驗證檢查與輸入過濾器,在 Agent 處理前偵測潛在危險提示。限制對話回合數也能有效防範(因為此類攻擊通常需要頻繁互動)
存取關鍵系統 若 AI Agent 能存取儲存敏感資料的系統,攻擊者可能破壞 Agent 與這些服務的通訊,直接攻擊或透過 Agent 間接獲取資訊 AI Agent 應遵循「最小權限原則」——只給完成任務所需的存取權。Agent 與系統間的通訊必須加密,並實作身分驗證與存取控制
資源與服務超載 AI Agent 能存取多種工具與服務,攻擊者可利用這點透過 Agent 發送大量請求,導致系統故障或高昂成本 限制 Agent 對服務的請求數量上限;限制對話回合數與請求數也是有效的防範措施
知識庫汙染 這類攻擊不直接針對 Agent,而是針對 Agent 使用的知識庫或其他服務。攻擊者汙染 Agent 將用於完成任務的資料,導致偏頗或非預期的回應 定期驗證 Agent 工作流程中使用的資料;確保這類資料的存取安全,只有可信任的人員能修改
連鎖錯誤 (Cascading Errors) AI Agent 存取多種工具與服務完成任務。攻擊者引發的錯誤可能導致 Agent 所連接的其他系統接連失敗,使攻擊範圍擴大且難以排查 讓 Agent 在受限環境中執行(例如 Docker 容器),避免直接攻擊主系統。當特定系統回應錯誤時,建立降級機制與重試邏輯

人在迴圈中 (Human-in-the-Loop)

另一個建立可信賴 AI Agent 的有效方法是「人在迴圈中」。這個設計讓使用者在 Agent 執行過程中能提供回饋——使用者本質上成為多 Agent 系統中的一個 Agent,負責批准或終止執行中的流程。

程式碼範例:Microsoft Agent Framework

import os
from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

# 建立具備「人在迴圈中」審核機制的提供者
provider = FoundryChatClient(
    project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
    model=os.environ["AZURE_AI_MODEL_DEPLOYMENT_NAME"],
    credential=AzureCliCredential(),
)

# 建立 Agent,加入人工審核步驟
response = provider.create_response(
    input="Write a 4-line poem about the ocean.",
    instructions="You are a helpful assistant. Ask for user approval before finalizing.",
)

# 使用者可以審查並核准回應
print(response.output_text)
user_input = input("Do you approve? (APPROVE/REJECT): ")
if user_input == "APPROVE":
    print("Response approved.")
else:
    print("Response rejected. Revising...")

💡 關鍵思維:Human-in-the-Loop 不只是安全機制,更是品質保證的一環。讓人在關鍵決策點介入,既能防止災難性錯誤,也能收集回饋持續改善 Agent。

課程結論

打造可信賴的 AI Agent 需要謹慎設計、健全的安全措施與持續迭代。透過實作結構化的元提示系統、理解潛在威脅並應用緩解策略,開發者可以建立既安全又有效的 AI Agent。此外,加入人在迴圈中的設計確保 Agent 維持與使用者需求的一致性,同時最小化風險。隨著 AI 持續演進,對安全、隱私與倫理的積極態度將是培養 AI 系統信任與可靠性的關鍵。

本課重點回顧

  1. 系統訊息框架是打造安全 Agent 的基石——用元提示 + 基礎提示 + LLM 迭代四步驟,產出一致且可擴展的系統提示
  2. 五種主要威脅:指令竄改、關鍵系統存取、資源超載、知識庫汙染、連鎖錯誤——每種都有對應的緩解策略
  3. 最小權限原則:Agent 只應擁有完成任務所需的「最低限度」存取權,不多不少
  4. 限制與隔離:限制對話回合數、請求頻率,並在 Docker 等隔離環境執行以降低風險
  5. 人在迴圈中讓使用者成為最後一道防線——審核、批准或拒絕 Agent 的關鍵操作,平衡自動化與安全
  6. 可信賴的 Agent 不是一次到位:持續迭代、威脅評估、回饋循環,才能維持長期可靠性

原始資源