今天我們發布了 Eval 工程技能,這項技能能幫助編碼 Agent 利用程式庫中的上下文和 Agent 軌跡來建立評估。
這項技能會檢查 Agent 的結構,從可用的軌跡中挖掘模式,並提出要測試的能力。
這項技能被設計來與使用者訪談,使用者可以對提案提供回饋,並逐步批准每個評估。最終產出是一組可執行的 Harbor 格式評估。
建立環境與任務
這項技能首先會讀取程式庫,並繪製 Agent 的表面,包括提示詞、模型、工具、技能、鉤子等。它也會識別支援這些行為的資料和服務,例如 API 呼叫。
使用者也可以將 Agent 指向軌跡,這些軌跡可以透過 langsmith-cli 等工具來取得。軌跡顯示工具在實際運作中的行為,例如其引數、結果和錯誤。這些觀察到的契約幫助技能在受控環境中重現相關的生產行為。
爬取程式庫和軌跡讓 Agent 了解哪些能力對其重要,並在提出評估任務時有所依據。我們發現,與使用者進行訪談,比起一次性生成能獲得更好的評估接受度。使用者從提出的評估方向中選擇,並針對哪些工具與相依性應該實際執行或需要模擬等問題給予指導。例如,會產生成本或需要寫入生產環境的工具呼叫,可以模擬處理,而不必在每次評估呼叫時都執行。
我們在我們的文件問答 Agent chat-langchain 上測試了這個流程。對於這個 Agent,環境需要一個透過 Agent 搜尋工具暴露的資料語料庫,該工具模擬了生產環境中的 Agent。任務包括從真實軌跡中提取的實際文件問題,以及一個使用黃金答案字串和引用文件來檢查答案的驗證器。

評估設計是迭代的
我們發現,雖然 Agent 有時能一次性生成評估,但最好的評估來自使用者提供回饋,並指定哪些能力值得在 Agent 中衡量。編碼 Agent 與技能提供了一個自然的介面,其中編碼了如何建立良好評估的領域知識,使用者可以隨著時間推移對其進行迭代。
例如,我們發現,在建立驗證器時,第一個驗證器很少是最終版本。一個有用的改進方法是執行評估,並檢查結果的兩面:
- Agent 的軌跡,包括其訊息、工具呼叫和動作。
- 驗證器的軌跡、證據、推理和最終分數。
這有助於揭示任務或驗證器的設計是否在衡量我們真正關心的東西,或者它是否可能被獎勵駭客攻擊,讓 Agent 可以走捷徑。這些捷徑可能包括過度引用不相關的來源以獲得評估的滿分,聲稱從未採取的動作,利用暴露的答案材料,或在未完成任務的情況下滿足代理指標。觀察 Agent 解決問題的軌跡通常會揭示這些失敗的根源。然後可以修正任務、環境和驗證器,並再次執行。
評估採用 Harbor 格式
這項技能將評估建構為 Harbor 任務:
- 指令: 開始時給予 Agent 的訊息,描述任務
- 環境: 以 Dockerfile 形式給出,包含任務的設定,例如要安裝哪些工具或在檔案系統中填入哪些資料
- 驗證器,用來評分 Agent 是否正確完成任務。
這項技能將這些元件組合成一個 Harbor 任務:
1evals/<task-id>/2├── task.toml3├── instruction.md4├── environment/5└── tests/
Harbor 在環境中執行 Agent,並記錄其軌跡、產出物、獎勵和錯誤。同一個評估隨後可以針對不同的模型、提示詞、工具和 Agent 版本執行。
為什麼這很重要
持續學習可以被視為一個持續的資料挖掘問題,其中生產資料被用來建立評估,以隨著時間改進 Agent。團隊挖掘軌跡以尋找重複的使用者請求、錯誤、失敗的工具呼叫和不正確的狀態變更,這些都變成了評估,以便在未來可以衡量和防止相同的行為。
評估是 Agent 的訓練資料。團隊可以透過工程調校(例如變更提示詞與工具或進行微調)來讓 Agent 行為符合這些評估。評估提供了一個固定的目標,用來決定這些變更是否改善了預期的能力。
容器化的評估加速了這個過程。任務和環境保持穩定,而 Agent 配置則會變更,因此開發者可以交換模型、工具、提示詞或完整的 Agent 版本,並直接比較結果。多個配置可以並行執行。
可重現的環境對這種訊號至關重要。當評估反映了生產環境中的相關工具、資料、權限、狀態和失敗模式時,開發者就獲得了一個穩定的測試平台,同時仍然能代表 Agent 的運作方式。他們可以快速實驗,而不必依賴變動中的生產系統或寫入生產狀態。
由此產生的循環是:
挖掘軌跡 → 識別失敗 → 建立評估 → 改進 Agent → 重新執行
今天就試試看
Eval 工程技能可在 langchain-ai/langchain-skills 儲存庫 中取得。
在 Codex 或 Claude Code 中安裝該技能,開啟包含你要評估的 Agent 的儲存庫,有的話指向一組軌跡,然後從一個簡單的提示詞開始:
我們期待擴展這項技能,並建立工具,以便更輕鬆地自動建立評估,並讓 Agent 自主地符合這些評估。

![[備忘錄] 主管正在放棄表現不佳的下屬](https://youmind.club/__ym/cms-assets/media/1784827522698_408j7z_HN3Kb76awAAvvjF.jpg)



