Foundry Agent Service 中的代理優化器會自動透過評估代理行為並產生更佳配置,來改善即時代理與託管代理。 根據代理類型,這些配置可能包括改進的指令、技能、工具描述及型號選擇。
打造有效的 AI 代理程式需要大量提示詞工程。 你會部署一個帶有手工指令的代理,測試與真實情境,找出弱點,修改提示,然後重複。 這個循環緩慢、主觀且無法擴展。 代理優化器會自動化這個循環,讓你能專注於代理的核心邏輯。
支援的代理類型
優化器對兩種代理類型使用相同的評估驅動改進迴路,但設定、優化目標與部署經驗有所不同。
| 代理人類型 | 優化器能改進的地方 | 如何開始執行 |
|---|---|---|
| 提示代理 | 指令、函式呼叫工具描述與模型選擇 | 請使用Foundry入口網站的優化精靈。 不需要變更程式碼。 |
| 託管代理 | 說明、技能、函式呼叫工具描述與型號選擇 | 使用 Foundry Toolkit,自動建置最佳化支援,或讓代理程式支援最佳化工具,並使用 Azure Developer CLI。 |
提示詞 Agent
對於提示代理,優化器會評估選定的代理版本並產生替代指令。 它也能改善函式呼叫工具的描述,並比較多個候選模型部署中的提示。
提示代理程式函式呼叫工具會在用戶端上執行。 優化器可以改進工具與參數描述,以指導模型函式呼叫,但無法在工具描述優化過程中評估工具執行。
從代理人在 Foundry 入口網站的 優化 標籤啟動優化精靈。 精靈會在提交執行前引導你選擇代理版本、資料集、評估標準及優化模型。 你可以從代理人追蹤產生資料集,選擇現有的 Foundry 資料集,或在嚮導中上傳資料集。
當執行結束後,比較分數變化、檢閱前後提示,並檢查每個評估工具的結果。 接著你可以將選中的候選者從優化執行中提升到新的提示代理版本。
關於端對端入口網站體驗,請參見 快速啟動:優化提示代理。
託管代理
對於託管代理,優化器會改善執行時程式碼載入的設定。 代理程式需要優化套件和一個基線設定,該設定能揭露指令,並可選擇性地提供技能與函式呼叫工具定義。 Foundry Toolkit 可以自動為此整合建立基礎架構。 在 Azure Developer CLI 工作流程中,請先加入整合,再執行最佳化工具。 優化器接著能在不改變代理核心邏輯的情況下產生並評估候選配置。
託管代理程式最佳化支援本機 JSONL 資料集及 Foundry 專案中註冊的資料集,包括從追蹤產生的評估資料集。 執行後,將選中的候選方案套用到本地設定,檢視變更後重新部署代理程式。
關於端對端的託管代理體驗,請參見 快速入門:優化託管代理。
優化工作流程
兩種代理類型遵循相同的高階路徑:
- 選擇代理人基線。 選擇您比較候選項目的提示代理程式版本或託管代理程式組態。
- 選擇一個評估資料集。 請使用現有或已上傳資料集中的具代表性任務。 你也可以使用由代理人追蹤產生的註冊資料集。
- 選擇評估標準。 選擇內建或客製化評估器,來衡量你想改善的行為。
- 執行優化器。 選擇可用的優化目標與模型,然後產生並評估候選對象。 針對提示代理程式,請在提交執行前先在入口網站中檢閱成本估算。
- 查看結果。 將候選人分數與你的基準比較,然後挑選最佳候選人。 在可取得的情況下,請檢閱執行後測量的權杖使用量。 請參見 「了解優化結果」。
- 套用選取的候選項目。 將提示詞代理程式候選版本提升為新的代理程式版本,或套用受託管代理程式的設定並重新部署。
託管代理需要與優化器相容的程式碼整合。 當你開始優化時,Foundry Toolkit 會自動為這個整合做支架。 對於 Azure 開發者 CLI 工作流程,開始前先加入優化套件和基準設定。 請參閱讓您的代理程式可供最佳化工具使用 提示詞代理不需要這類程式碼整合。
代理優化器的運作方式
代理優化器執行閉環評估與改進循環:
- 評估基線。 優化器會根據任務資料集調用你的代理,並根據你定義的標準或內建預設值來評分每個回應。 基準分數是你的代理程式在任何變更前的分數。
- 培養候選人。 優化器會產生稱為 候選配置的替代配置,例如重寫指令、發現技能、改良工具描述或不同模型選擇。 可用的候選人類型取決於代理人類型。
- 評估候選人。 優化器會針對相同資料集測試每個候選者。
- 排序並推薦。 優化器依據綜合 分數排名結果,該分數介於 0.0 至 1.0 之間,代表整體表現,並以 標記最佳候選者。 ★ 接著你申請並派遣中獎者。
整個流程都運行在雲端。 執行時間取決於資料集大小、候選數量及所選模型。
對於託管代理來說,當你讓代理程式 優化器就緒後,執行間就不需要再做程式碼變更。
load_config() 正常回傳基準線,並在執行過程中提供最佳化配置,沒有功能旗標或條件邏輯。
Warning
在最佳化期間,最佳化工具會針對資料集中的每個工作調用您的 Agent 來進行評估。 如果您的代理呼叫外部工具——如 API、資料庫或第三方服務——這些呼叫會在每次評估執行中執行。 為避免意外副作用(電荷、狀態突變或速率限制),建議在優化時使用測試端點或模擬工具實作。
優化目標
優化目標是代理程式設定中的特定層面,優化器可對其加以改進。 可用的目標取決於劑型。 對於託管代理,優化器會自動從基準設定 eval.yaml 中啟用適用的目標。
| 標的 | 優化器改進的部分 | 提示代理程式 | 託管代理 |
|---|---|---|---|
| 指令調校 | 重寫並優化系統提示以提升分數。 | 以所選的提示代理版本作為基準。 | 當基線有檔案 instructions.md 時會啟動。 |
| 技能提升 | 在不改變用途的情況下,優化每個可重複使用技能的內容。 | 不支援。 | 當基準中有包含 SKILL.md 檔案的 skills/ 目錄時,便會啟用。 |
| 工具優化 | 改進函式呼叫工具與參數描述,使模型能更準確地呼叫工具。 它不會改變類型、預設值或必填欄位。 | 可用於函式呼叫工具。 由於這些工具由客戶執行,優化過程中不會評估工具執行。 | 當基線有檔案 tools.json 時會啟動。 僅支援函式呼叫工具。 |
| 型號選擇 | 跨多個模型部署評估該代理,以找出品質與成本之間的最佳權衡。 | 在優化精靈中選擇候選模型。 | 在 eval.yaml 中將候選項目部署新增至 model_search_space。 |
關於託管代理基線輸入,請參見 「讓你的代理優化器就緒」。 要執行與設定託管代理目標,請參閱 優化代理指令、技能、工具與模型。
型號
代理優化器在優化執行時會使用兩個模型。 兩者都必須部署在您的 Foundry 專案中。
| 模型 | 託管代理程式設定金鑰 | 託管代理程式 CLI 旗標 | Role | 支援的模型 |
|---|---|---|---|---|
| 評估模型 | eval_model |
--eval-model |
根據資料集中的標準評分代理人的反應 | 任何對話補全模型 (例如 gpt-4.1-mini) |
| 最佳化模型 | optimization_model |
--optimize-model |
產生候選配置(指令、技能、工具、模型選擇) |
gpt-5、gpt-5.1、gpt-5.2、gpt-5.4、gpt-5.5、DeepSeek-V4-Pro、DeepSeek-V-3.2 |
評估模型會針對每位評估者、每項任務及每次候選人評估各執行一次。 它會讀取代理人的回應和每個標準,然後回傳一個二進位分數。 優化模型分析基線結果,並在配置目標中生成更優秀的候選人,包括指示、技能、工具與模型。 由於它能針對整個資料集進行推理,更強大的優化模型通常能產生更優秀的候選方案。
對於提示代理人,請在優化精靈中選擇評估模型與候選模型。 對於託管代理,請在 eval.yaml 中指定模型,或使用 CLI 旗標。 此 optimization_model 設定是主機代理執行所必需的。 關於配置步驟,請參見 「選擇評估與優化模型」。
了解優化結果
本節說明結果表、綜合分數的計算方法,以及如何解讀改進。
Tip
在 Foundry 入口網站查看優化結果。 進入你的專案 ,選擇代理人,再選擇你的代理人,然後點選 「優化 」標籤,查看分數比較、提示或設定變更,以及評估者細節。
針對提示代理程式,已完成的執行會顯示基準分數與候選項目分數、提示的前後版本比較、模型和工具描述比較,以及每個評估工具的分數。
對於託管代理,CLI 也會顯示結果表:
Results:
Candidate Score Eval Strategy
──────────────────── ─────── ──── ────────
baseline 0.93 View
candidate_1 0.90 View skill_policy-reviewer
candidate_2 ★ 0.94 View skill_policy-reviewer, tools
candidate_3 0.94 View skill_policy-reviewer, system_prompt, tools
candidate_4 0.93 View skill_policy-reviewer, tools
Candidate IDs:
baseline cand_a8a951...
candidate_1 cand_8d5c85...
★ candidate_2 cand_a0ea2e...
candidate_3 cand_2ae7bb...
candidate_4 cand_0f6485...
Apply the best candidate locally, then deploy:
azd ai agent optimize apply --candidate cand_a0ea2e...
azd deploy
結果表欄位
| Column | Description |
|---|---|
| 候選人 | 組態的名稱。
baseline 是你目前在最佳化前的代理程式。 |
| 分數 | 所有任務與標準的綜合分數範圍為0.0至1.0。 |
| Eval | Foundry 入口網站的評估職缺連結。 |
| 策略 | 候選項目中包含的突變目標,例如,skill_policy-reviewer, tools。 |
★ 表示綜合分數最高的候選人。 這是建議部署的候選項。
分數的計算方式
你資料集中的每位評估者都會產生代理人回應的原始分數。 優化器會處理這些分數,產生結果所示的綜合分數:
- 重新調整:每位評估者的原始分數會重新調整為0–1。
- 必要時翻轉:若評估器設定為較低為佳,分數會被翻轉,以便所有評估器皆採用「越高越好」的標準。
- 平均值:將所有評估者與任務的重新調整分數平均以產生綜合分數。
綜合分數:所有重新調整後評估者在所有任務中分數的平均值。
解讀分數提升
| 改進 | 解譯 |
|---|---|
| 低於0.03 | 噪音。 這並不是實質性的改善。 |
| 0.03 到 0.10 | 中度改善。 值得部署。 |
| 0.10 到 0.20 | 明顯的進步。 |
| 大於0.20 | 大幅改善。 很可能源自不佳的基線。 |
詞元取捨
優化後的指令通常更長且更詳細,這會增加回應標記的使用率。 考量下列因素:
- 代幣提升是否與分數提升成正比
- 費用增加是否符合你的預算
- 回應是否不必要地冗長,或額外長度是否帶來價值
關於執行前的成本範圍及執行後測量使用量的詳細資訊,請參閱 代理優化器成本估算與代幣使用。
限制與可取得性
- 代理優化器支援提示代理與託管代理。
- 提示代理程式最佳化執行會在 Foundry 入口網站中開始。 您可以從已完成的執行中,將所選候選項目提升為新的代理程式版本。
- 託管代理優化在 所有有託管代理的地區皆可使用,挪威東部除外。
- 託管代理優化需要回應 協定。