081 · 別讓 LLM 自己決定下一步
用狀態機與 harness 收回 model 的自主權,讓語音教學 agent 換上小 model 也能穩定上完一堂課。
原標題: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 | 開場:什麼是 ACE | Ornella 與 Joel 介紹 ACE,一個能從頭到尾穩定上完一堂課的即時 AI 語音家教,核心主張是 model 不能自己做主。 |
| 00:16 | 常見的失敗模式 | 多步驟 agent 在 demo 很順,換成真實使用者後常常卡在中途、跳過步驟或無限迴圈,光靠加提示詞救不回來。 |
| 00:35 | 可靠度是控制問題 | model 只負責演好眼前這句台詞,真正記得進度、決定下一步的是外部的 harness。 |
| 01:07 | harness 怎麼運作 | 每一步只給 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 手上拿走。 |
值得記的話
名詞與人物
| ACE | Ornella 與 Joel 做的即時 AI 語音家教,能從頭到尾穩定上完一堂完整的課。 |
|---|---|
| harness | 包住 model 的外部程式邏輯,負責驗證 model 回傳的內容、推進狀態、決定下一步,讓 model 只需要完成眼前這一步。 |
| state machine | ACE 背後的設計方式:把一堂課拆成一格一格的狀態,每個狀態規定 model 能做什麼、結果怎麼驗證。 |
| Haiku 4.5 | 講者提到的一款較小型 model,因為每一步輸入都收得很窄,改用它也能撐住 ACE 的表現,藉此省成本、省時間、省延遲。 |
| harness engineering | 講者提出的做法:把控制流程做在 model 外面,每一步只餵給 model 那一步需要的最少輸入,model 負責提議、harness 負責決定。 |
延伸
- 講者提到同一套「用 harness 圍住 model」的做法,也適用在 coding agent、維運 runbook 與 onboarding 流程,但沒有進一步展開細節。
- 講者拿來對比的一款「很重的 model」,只提到一個版本代稱,沒有說明是哪一家、哪一個系列。