AI Engineer Europe 2026 · 工作坊 · 2026-05-01 · 99 分
用 Braintrust 把客服 agent 推上線
Shipping complex AI applications · Braintrust、Trainline
Braintrust 與 Trainline 帶大家動手做客服分流 agent,從追蹤、離線評估走到線上評分與補救,補完上線的整圈流程。
概要
- 卡關的是營運不是模型Braintrust 的講者認為,POC 上不了線通常不是模型不夠聰明,而是營運上的嚴謹度沒跟上。講者把重點放在清楚知道系統改了什麼、怎麼系統性地變好。
- 先拆階段再談追蹤範例從單次呼叫開始,加入三個本地工具,再拆成五個階段。講者說拆開之後,才看得出哪一段出了問題。
- 追蹤與評估是基本功用巢狀 trace 看完整執行路徑,用 golden set 加上確定性評分與 LLM as a judge 守住底線。講者直言有上線的應用卻沒追蹤,就該回頭補。
- 託管讓非工程師也能改prompt、工具與評分函式推到 Braintrust 後,SME 與產品經理可以在介面改 prompt 或模型,不用動程式碼,變更也留有紀錄。
- 線上評分補上真實資料LLM judge 一開始取樣率高,穩定後降到 5% 到 10%,確定性評分則建議一直跑;抓到的失敗案例再丟回資料集重跑。
- Trainline 的實際用法他們用 Braintrust 追蹤助理的評分、在換模型前離線模擬再線上確認,並讓非技術同事自己查資料。
原話
▶ 09:36“there's no substitute for real world data”
測試資料集做得出來,但真實資料沒有東西能取代
▶ 21:22“Before BrainTrust, we had no specific way of doing it”
換模型前要確認表現不輸現有模型,但在用 Braintrust 之前,我們沒有專門的做法
▶ 58:34“I have a concrete way of saying, okay, this is how it's performed over time.”
我有具體的方式能說明它長期的表現
▶ 59:30“if you cannot write it in a deterministic way, you want to be using LLM as a judge where possible.”
寫不成確定性規則的,就盡量用 LLM as a judge
▶ 1:35:14“observability's table stakes at this point”
Braintrust 的講者說,到這個階段 observability 是基本門檻
延伸
- 講者提到 Braintrust 為了處理大量 trace,自己做了一種新類別的資料庫,但只點到為止,沒有說明內部設計。
- Trainline 的旅客助理能處理退款與轉人工客服,這場只講到使用情境,沒有展開架構。
- 講者也提到 Braintrust 已宣布一個 CLI,可以做自動 instrumentation,細節沒有說明。
章節
點時碼直接跳到原片的那一段。
- 開場與議程Braintrust 的講者與 Trainline 的兩位工程師自我介紹,說明這是一場動手做的工作坊,分成背景、實作、收尾三段。
- POC 上線的落差Braintrust 的講者問現場誰的生成式 AI POC 沒能上線,這位講者的看法是卡關的不是模型,而是營運上的嚴謹度沒跟上。
- 今天要做什麼工作坊要做多階段 tool calling 的 agent,加上追蹤、用 golden set 找失敗模式、再接上線上資料補完整個循環。
- Braintrust 簡介與飛輪介紹 Braintrust 是 AI observability 平台、不綁框架與模型供應商,並提出先放進資料、找失敗模式、修正、上線、監控的飛輪。
- Trainline 與兩條線Trainline 是不分業者的訂票 app,做傳統 ML 模型,也做多代理的旅客助理,能處理退款與轉人工客服。
- 確定與不確定的品質Trainline 把系統分成確定性與非確定性兩邊,agent 兩者兼具,所以品質檢查要兩套都做。
- 評分與換模型Trainline 工程師說明他們用 Braintrust 追蹤助理的多項評分,換較便宜模型前先離線模擬、再用線上評估確認。
- 追蹤深度與跨職能Trainline 看重能下到 tool call 與 token 層級的追蹤,也讓非技術同事自己查資料,不必每次找工程師撈 log。
- 環境準備說明要註冊 Braintrust 帳號、備好 OpenAI API key、clone 範例 repo 並用 make 或 pnpm 指令跑起來。
- 範例:客服分流 agent範例是虛構的客服 ticket 分流流程,每個階段都有可直接執行的 git 分支或 tag 當檢查點。
- 第一步:單次呼叫先做一次輸入、一次輸出的結構化回應,示範它看似合理,但接不住組織裡的細節與邊角情況。
- 第二步:本地工具加入查說明文章、查帳號紀錄、建立升級單三個工具,並提醒東西加越多,失敗的路徑也越多。
- 第三步:拆成五個階段把單次呼叫拆成收集脈絡、分流、政策檢查、客戶回覆與內部說明、整理輸出,像把單體拆成微服務,出錯時比較找得到位置。
- 為什麼要追蹤只看輸出不夠,要看完整執行路徑,而且一場對話要放進巢狀結構的 parent span,不要每次互動各自獨立。
- 加上追蹤用 SDK 包住模型呼叫,再寫輔助函式處理 parent 與 child span,並在 Braintrust 設好 API key 後跑 demo。
- 在介面讀 trace在 logs 頁看到巢狀 trace,頂層有耗時、token、成本與延遲,往下可看每個階段的輸入輸出,另有時間軸檢視。
- 評估從哪開始沒有現成資料時先定義什麼算好,列出分類、嚴重度、升級政策、輸出結構與不退步這幾項底線。
- golden set 與兩種評分建立一組邊角案例當信心基準,評分分成成本低的確定性函式,以及處理語氣與品牌這類細節的 LLM as a judge。
- 載入資料集跑評估把 10 筆輸入載進 Braintrust 資料集,用分類、結構、升級理由三個確定性評分加一個客戶 rubric 跑出第一個 experiment。
- 託管 prompt 與工具把 prompt、工具、評分函式推到 Braintrust,讓非工程的 SME 與產品經理不用找工程師就能改,並留下版本與修改紀錄。
- 介面改模型不動程式在 parameters 裡換掉基準模型並留下註解,用 managed 模式執行,就會照 Braintrust 上的設定走,完全沒改程式碼;講者也說這不取代版本控制,仍要集中管理再自動同步。
- 線上評分與取樣把評分套到正式環境的 log,一開始取樣率高,穩定後 LLM judge 降到 5% 到 10%,確定性評分則建議一直跑。
- 補救:CFO 的案例重現一個用戶說不急、模型照單全收的 CFO 匯出發票案例,對 5 個回歸案例重播,先確認失敗再收緊 prompt。
- 推上新 prompt 並比較用環境變數設成 replace,把改好的 prompt 從程式推上去,介面看得到變更內容,再重跑 experiment 做差異比較。
- 回顧整個流程Braintrust 的講者回顧:從單次提示到五階段 agent,再加追蹤、golden set、託管資產、線上評分,最後用失敗案例修 prompt 並確認回升。
- 帶回去的建議講者說有上線的應用卻沒追蹤是該回頭補的事,建議挑一個最想改善的流程,加追蹤、收邊角案例、做自動評分再回饋。
名詞
- Braintrust
- 主講者任職的 AI observability 平台,不綁特定 agent 框架或模型供應商
- Trainline
- 不分業者的訂票 app,這場有兩位工程師分享他們的 ML 與多代理系統
- golden set
- 一組刻意挑出的邊角案例,用來在上線前建立基本信心
- LLM as a judge
- 用另一個模型評分,處理寫不成確定性規則的語氣、品牌等細節
- scorer
- 評分函式,分成不用模型的確定性評分與用模型判斷的評分兩種
- trace / span
- 一次互動的完整執行紀錄;一場對話放在 parent span,底下是各階段的 child span
- managed 模式
- 執行時改依 Braintrust 上託管的 prompt 與 parameters,而不是本地的設定
- online scoring
- 把評分套在正式環境進來的 log 上,並可設定取樣率
- 飛輪
- Braintrust 的講者說的循環:放進資料、找失敗模式、修正、上線、監控,再重來
- experiment
- 拿一組資料集跑出來的一次評估結果,可以彼此比較差異








