在 Amazon Bedrock AgentCore 中構建自定義基於程式碼的評估器
本文介紹瞭如何在 Amazon Bedrock AgentCore 中實現四個基於 Lambda 的自定義程式碼評估器,用於金融市場情報代理,涵蓋模式驗證、數值精度、工作流合規性和 PII 檢測。同時展示瞭如何將自定義程式碼評估器與內建評估器結合使用,以及如何呼叫其他 AWS 服務進行事實核查和即時告警。
在金融和專業領域,代理的質量維度往往超越語言層面。市場情報代理必須以可配置的即時波段報價股票價格,在訪問財務檔案前必須遵循強制性的經紀人識別工作流,返回符合嚴格 JSON 模式的工具輸出,並禁止洩露個人身份資訊(PII)。這些檢查需要確定性程式碼,在相同輸入上產生相同結果。當客觀程式碼是直接選擇時,使用 LLM-as-a-Judge 執行這些檢查可能成本高昂。
Amazon Bedrock AgentCore Evaluations 提供了 LLM-as-a-Judge 檢查和可擴充套件的基於程式碼的評估器,以捕獲評估代理應用所需的領域特定需求。透過自定義程式碼評估器,您可以引入 AWS Lambda 函式作為評估引擎,控制評分邏輯:正規表示式和結構驗證、外部資料查詢、其他服務呼叫或業務規則。同一評估器可以多種方式使用,無需為每個請求消耗基礎模型令牌。在按需評估中,它作為開發工作流和 CI/CD 流水線中的門禁;在線上評估設定中,它可以對即時生產流量進行評分。即使跟蹤來自不同的代理框架,您也可以使用此方法透過自己的邏輯一致地評估代理質量。
適合程式碼評估的質量維度
代理依賴結構化工具輸出(如 JSON)。工具響應模式驗證在工具邊界捕獲結構問題,很適合作為基於程式碼的檢查,而 LLM-as-a-Judge 評估器則補充評判有用性和清晰度。數值精度方面,程式碼評估器呼叫參考系統、計算容差並標記每個差異,比 LLM 更可靠。工作流合約合規性要求代理遵循特定工具序列,程式碼評估器可檢查會話中的工具呼叫順序。PII 檢測方面,程式碼評估器呼叫 PII 檢測或秘密掃描服務,在響應內容上強制執行硬性規則。
評估器生命週期:從跨度到評分結果
程式碼評估器是向 AgentCore 控制平面註冊的 Lambda 函式。執行時,AgentCore 假設 IAM 角色,用包含代理 OpenTelemetry 跨度(OTel spans)的負載呼叫 Lambda,並將響應寫入 CloudWatch Logs 作為評估結果。負載包含模式版本、評估器 ID、名稱、級別和評估輸入物件。對於跟蹤級評估器,還有一個 target 欄位標識特定跟蹤。對於會話級評估器,Lambda 對整個會話評分。
Lambda 響應遵循固定契約:成功時返回包含標籤(如 PASS/FAIL)、可選分數(0.0-1.0)和可選解釋字串的字典;失敗時返回包含錯誤程式碼和錯誤訊息的字典。每個成功響應必須包含標籤。分數和解釋可選,但直接用於 CloudWatch 指標和 AgentCore Observability 儀表板。每個評估器在註冊時設定三個級別之一:TRACE、TOOL_CALL 或 SESSION。
按需和線上模式
AgentCore Evaluations 支援兩種模式下的程式碼評估器。一個評估器 ID 用於開發、測試、CI/CD 門禁和生產監控。Lambda 合約在兩種模式下保持不變。按需評估適用於開發迭代、迴歸測試和 CI/CD 部署門禁。一個按需呼叫最多可引用 10 個評估器。線上評估持續取樣即時代理流量,並按計劃評分。需要建立一次線上評估配置,指定評估器、資料來源(CloudWatch 日誌組和 OTel 服務名稱)和取樣百分比(0.01-100%)。AgentCore 負責定期安排評估,並將結果寫入專門的 CloudWatch 日誌組。每個評估器分數也作為 CloudWatch 指標顯示,可用於構建儀表板和配置告警。
解決方案概述
示例中使用市場趨勢代理,這是一個基於 LangGraph 構建並部署到 Amazon Bedrock AgentCore Runtime 的投資情報助手。代理提供股票資料、多來源新聞分析和經紀人檔案工具。示例包含四個評估器:ToolResponseSchemaValidator(跟蹤級別)、StockPriceDriftChecker(跟蹤級別)、WorkflowContractGSR(會話級別)和 PII 檢測器。透過這些評估器,代理質量從“聽起來正確”提升到“合約驗證”。
自定義程式碼評估器為代理質量評估提供了強大的靈活性,能夠處理領域特定的結構化檢查,與 LLM-as-a-Judge 評估器共同構建全面的質量評估體系。