全部場數

012 · 打造能自我優化的 AI agent

講者以 Nearform 的專案經驗,說明如何借助 coding agent 自動優化其他 AI agent,分別處理 evals 表現差與真實用戶回饋不佳兩類問題。

2026-06-2830:14Alfonso Graziano(Nearform)Agent開發工具評估看原片

原標題:Agents Building Agents - Alfonso Graziano, Nearform

重點摘要

  • 用 evals 抓兩類失敗講者把 agent 常見的問題分成兩類──在 golden dataset 這種 evals 上表現差,以及在真實使用者的 live data 上表現差,整場圍繞這兩類問題分別給解法。
  • golden dataset 是非決定性系統的測試集跟領域專家一起定義輸入與期望輸出(可能是答案,也可能是「該呼叫哪個工具」),再配上 scorer 算出準確率,作為改進的基準線。
  • AutoAgent:讓 coding agent 自動優化 agent受 Andrej Karpathy 的 AutoResearch 啟發,講者做出 AutoAgent,讓 coding agent(示範用 Claude Code)自動跑 evals、改程式碼、寫新提示詞、造新工具;一個沒有工具的 naive agent 在約 10 輪迭代內準確率衝到 83%,一個已經被人力優化過的正式 agent 也再提升 10%。
  • 靠 branch 與 report 記錄每一輪迭代每一輪開新 branch、提假設、跑 evals,依結果決定沿用或退回上一個 branch,並把過程寫成 report.md 與全域 memory file,方便事後追溯哪個假設有效。
  • live data 回饋走另一條流程收集使用者的讚/倒讚留言與 SME 對 trace 的標注,累積到一定量後用 agent workflow 做失敗模式分群與根因分析,產出報告後仍要人工分流,決定修現在、修以後還是不修。
  • 背後撐著的是 harness engineering講者把整套做法收在這個概念下,核心是給 coding agent 足夠的限制、任務、回饋迴圈與治理,包括 spec-driven development、品質關卡與 observability。

時間軸

時碼點下去會跳到影片的那一段。

時碼段落重點
00:00開場Alfonso Graziano 是 Nearform 的技術主管,也是 O'Reilly 書籍作者;開場說明這場要講如何靠 coding assistant 與 spec-driven development,打造可靠又安全的 agent。
01:57Agent 三要素Agent 可以拆成 LLM、工具、context 三塊,跑在 agentic loop 裡;這場要處理兩類失敗:evals 表現差、live data 表現差。
03:25golden dataset 定義golden dataset 是跟領域專家一起訂出的輸入與期望輸出配對,用來在非決定性系統上當測試集,再靠 scorer 算出準確率當基準線。
05:12示範 naive agent用 Mastra 搭一個沒有工具、只有基本指令的 naive agent,配一個「輸出有沒有包含正確答案」的 naive evaluator,一跑 evals 準確率只有 18%,幾乎全靠模型內建知識答對。
06:47三個改善方向常見的改善方向有三個:補齊 agent 缺的工具、修正系統提示詞、補上 context retrieval,才能讓 agent 真正查得到答案,而不是靠瞎猜。
08:18引用 AutoResearch拋出核心問題──agent 能不能自己改進另一個 agent;舉 Andrej Karpathy 的 AutoResearch 為例,證實 coding agent 確實能自動把機器學習模型的準確率愈調愈高。
09:43打造 AutoAgent講者依同樣的想法做出 AutoAgent,讓 coding agent 自動跑 evals、改程式碼、寫新提示詞、造新工具;一個沒有工具的 naive agent 在約 10 輪內準確率衝到 83%。
11:29AutoAgent 運作機制coding agent(示範用 Claude Code)負責寫 target agent 的程式碼,再由 target agent 的 evals 與 trace 回饋給它;人類只負責一開始設好邊界,例如不准為了過關而改 golden dataset。
12:56迭代與退回機制流程是先寫一份 markdown 格式的 optimization job(目標、對象、指標),跑一次 evals 建 baseline report,之後每輪迭代都開新 branch、提假設、跑 evals,依結果決定沿用還是退回上一個 branch。
18:04正式 agent 案例在一個真實的正式 agent 上跑約 10 輪迭代,準確率一路推進到 86%,靠的是抓邊界案例、改系統提示詞、補工具描述、修工具邏輯,並不是取巧過關。
18:53第二類問題第二類問題是 agent 在 live data(真實使用者與 SME 提供的資料)上表現不好,解法跟 evals 那套不一樣。
19:33收集使用者回饋完整流程從使用者開始:先讓使用者實際用系統、收集所有 trace,再請使用者給讚/倒讚加留言的回饋,或讓 SME 直接進平台標注某筆 trace 該有的表現。
23:14分群與根因分析累積到一定量的 trace 後,用講者做的一個 skill 指揮 coding agent 做失敗模式分群,再做根因分析──因為 coding agent 能同時看到 target agent 的程式碼與每筆 trace 的細節,最後產出一份含正負回饋、分群、根因與修法建議的 markdown 報告。
25:20人工分流決策報告出來後還沒結束,要跟 SME 一起分流:哪些現在修、哪些以後修、哪些不修;確定要修的失敗模式會被寫進 golden dataset,讓 eval suite 以後能立刻抓到同類回歸。
27:39收尾:harness engineering講者把整套方法收在 harness engineering 這個概念下:給 coding agent 足夠的限制、任務、回饋迴圈與治理,包含 spec-driven development、品質關卡(linting、單元測試、evals、LLM code review)、context engineering 與 observability。

值得記的話

名詞與人物

Nearform講者任職的服務型公司,主力協助客戶做 AI agent 專案。
golden dataset跟領域專家一起訂出的輸入與期望輸出配對,用來在非決定性系統上當測試集,再靠 scorer 算出準確率當基準線。
Mastra講者示範時使用的 agent 開發框架,用來搭建這場的 naive demo agent。
AutoResearchAndrej Karpathy 做的迴圈,自動改機器學習程式碼與超參數,證實 coding agent 能自行把模型準確率調高。
AutoAgent講者依 AutoResearch 的想法做出的系統,讓 coding agent 自動跑 evals、改 target agent 的程式碼、提示詞與工具。
Claude Code講者示範中使用的 coding agent,負責寫 target agent 的程式碼,也讀取 eval 與 trace 回饋來自我修正。
harness engineering講者收尾提出的概念,指打造一個讓 coding agent 能可靠工作的環境:給足限制、任務、回饋迴圈與治理。

延伸

  • 講者提到自己是 O'Reilly 書籍《Learning AI Native Software Engineering》的作者,但沒有進一步介紹書的內容。
  • spec-driven development 被列為 harness engineering 的第一根支柱,講者只用一句話帶過,沒有展開細節。
  • 品質關卡(linting、單元測試、evals、LLM code review)被提到是 harness engineering 的一環,但沒有逐項說明怎麼落地。