全部場數

081 · 別讓 LLM 自己決定下一步

用狀態機與 harness 收回 model 的自主權,讓語音教學 agent 換上小 model 也能穩定上完一堂課。

2026-07-206:07Ornella Bahidika、Joel Allou(Microsoft)Agent開發工具模型看原片

原標題:Don't Let the LLM Drive - Ornella Bahidika & Joel Allou, Microsoft

重點摘要

  • 問題核心是控制,不是提示詞多步驟 agent 在 demo 裡很順,換成真實使用者後常卡在中途、跳過步驟或無限迴圈,這不是靠加提示詞能解決的。
  • model 是演員,harness 是導演model 只負責演好眼前這句台詞,真正記得進度、決定下一步的是外部的 harness。
  • teach、check、grade、advance、wrap 的狀態機每一步只給 model 一份很窄的任務,做完丟回 harness 驗證,再由 harness 決定要不要往下走。
  • 限縮輸入,才能用小 model把每一步能做的事收得很窄之後,ACE 改用 Haiku 4.5 這種較小的 model 就能撐住,不必用更重、更貴的 model,省下成本、時間與延遲。
  • 判斷準則:可靠度像丟硬幣就該收回控制權如果一個 agent 的表現常常不穩定,代表該把控制流程從 model 手上拿出來,用 harness 包起來。
  • 同一套原則不只用在語音助教講者認為也適用於 coding agent、維運 runbook、onboarding 流程。

時間軸

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

時碼段落重點
00:00開場:什麼是 ACEOrnella 與 Joel 介紹 ACE,一個能從頭到尾穩定上完一堂課的即時 AI 語音家教,核心主張是 model 不能自己做主。
00:16常見的失敗模式多步驟 agent 在 demo 很順,換成真實使用者後常常卡在中途、跳過步驟或無限迴圈,光靠加提示詞救不回來。
00:35可靠度是控制問題model 只負責演好眼前這句台詞,真正記得進度、決定下一步的是外部的 harness。
01:07harness 怎麼運作每一步只給 model 一份很窄的任務,做完丟回 harness 驗證,再由 harness 決定要不要往下走。
02:11只給當下需要的輸入與其用一個什麼都懂的大 model,不如只在每一步提供剛好夠用的資訊,讓 model 專心做那一件事。
02:30用狀態機拆解課程,換上小 model團隊把整堂課拆成一格一格的狀態,逐格限定 model 能做什麼,因此能改用更小的 Haiku 4.5,省下成本、時間與延遲。
03:26課堂日誌實錄播放的課堂紀錄顯示,白板繪圖、清空發言佇列、結束一堂課等每個環節,各自都有一套 harness 在把關。
04:33三個關鍵判斷都不交給 model課上完了沒、學生是不是真的學會、接下來要做什麼,這三件事全部寫在 model 外面,model 只負責回答、不負責決定。
05:07適用範圍與結論講者認為同一套做法也適用於 coding agent、維運 runbook、onboarding 流程;判斷準則是:可靠度像丟硬幣時,就該把控制權從 model 手上拿走。

值得記的話

名詞與人物

ACEOrnella 與 Joel 做的即時 AI 語音家教,能從頭到尾穩定上完一堂完整的課。
harness包住 model 的外部程式邏輯,負責驗證 model 回傳的內容、推進狀態、決定下一步,讓 model 只需要完成眼前這一步。
state machineACE 背後的設計方式:把一堂課拆成一格一格的狀態,每個狀態規定 model 能做什麼、結果怎麼驗證。
Haiku 4.5講者提到的一款較小型 model,因為每一步輸入都收得很窄,改用它也能撐住 ACE 的表現,藉此省成本、省時間、省延遲。
harness engineering講者提出的做法:把控制流程做在 model 外面,每一步只餵給 model 那一步需要的最少輸入,model 負責提議、harness 負責決定。

延伸

  • 講者提到同一套「用 harness 圍住 model」的做法,也適用在 coding agent、維運 runbook 與 onboarding 流程,但沒有進一步展開細節。
  • 講者拿來對比的一款「很重的 model」,只提到一個版本代稱,沒有說明是哪一家、哪一個系列。