Jevspresso 展示 XState 與 AI 分工:自然語言選動作,狀態機管流程
XState 作者分享 Jevspresso 示範,讓 AI 理解自然語言、由狀態機限制合法轉換。本文解釋狀態、事件與代理決策如何分工,以及這種設計對可控 AI 產品的意義。
Jevspresso 是 XState 作者 David Khourshid 分享的互動示範,用咖啡操作情境呈現 AI 與狀態機的分工。AI 協助理解使用者想做什麼,狀態機則定義系統目前能接受哪些動作。
這段示範近期在 X 被分享,查詢時已有超過 3 萬次瀏覽。它把代理產品的重要問題變得具體:自然語言很有彈性,實際流程卻需要清楚的步驟與條件。

狀態機如何描述一個流程
狀態機是用有限狀態與事件描述系統行為的方法。狀態代表目前處於哪個階段,事件則可能讓系統轉到下一個階段。
依XState 官方文件,機器定義可以描述狀態、轉換與相關行為。以咖啡操作為例,等待選擇、準備中、完成與取消,可以是不同狀態。這個例子用來解釋概念,具體示範行為仍以原作者畫面為準。
當系統處於某個狀態時,只有符合條件的事件才能觸發轉換。這讓開發者有明確的位置寫下流程規則。
AI 理解意圖,系統檢查能不能做
作者的原始貼文 描述,XState 負責合法狀態轉換,Jev 使用自然語言決定動作。兩者分工,能避免所有流程規則都交由模型臨時判斷。
使用者可以用不同句子表達相似意圖,AI 再把句子對應到可能的事件。系統收到事件後,檢查目前狀態與條件,決定能否執行。
如果動作在目前階段不被允許,產品可以清楚說明原因,或提供下一個可用選項。這比執行失敗後才顯示模糊錯誤,更容易讓使用者理解。
這種分工可以用在哪些產品
| 產品情境 | 可由 AI 處理 | 應由流程規則決定 |
|---|---|---|
| 訂單助理 | 理解修改需求 | 訂單是否仍可修改 |
| 預約工具 | 解讀時間與偏好 | 時段是否可用 |
| 文件流程 | 理解送審或退回意圖 | 使用者權限與審核狀態 |
表格是本文提出的應用分析。狀態機提供流程限制,但資料權限、交易一致性與外部服務失敗,仍需要其他程式處理。
尤其涉及付款或不可逆操作時,事件通過狀態檢查,也要確認參數與使用者授權。模型對意圖的判斷可能出錯,產品應保留適當的確認與修正方式。
小團隊可以先從一條流程開始
先列出真正需要的狀態,再寫出每個狀態允許的事件。例如先確定「建立草稿、送審、核准、發布」的合法路徑,之後才讓 AI 將自然語言對應到事件。
接著用模糊、衝突與順序錯誤的要求測試。系統應能說明目前可做什麼,並讓使用者接續完成,而不只是拒絕。
我的判斷是,Jevspresso 展示了一個可理解的代理設計方向。把語言理解與流程合法性分開,能讓產品行為比較容易測試,也能在模型更換時保留核心規則。
常見問題
狀態機會讓 AI 失去彈性嗎?
語言理解仍能有彈性,合法操作則由流程決定。設計者需要讓規則涵蓋合理的使用情境。
用 XState 就能保證安全嗎?
還需要資料權限、參數檢查、錯誤處理與實際授權。狀態機只負責它所定義的行為範圍。
Jevspresso 是真實咖啡機的發布嗎?
本文依作者的互動示範討論設計方法,不能據此推論已有硬體產品或商用服務。
結語:讓彈性建立在清楚的流程上
Jevspresso 的示範讓 AI 意圖判斷與 XState 流程規則各自發揮作用。從小流程開始定義狀態、事件與條件,能讓代理產品更容易理解和驗證。
延伸閱讀:AI Agent 為什麼需要決策層?用 Jev、Laya 看懂模型路由、工具選擇與風險控管