Jevspresso 展示 XState 與 AI 分工:自然語言選動作,狀態機管流程

XState 作者分享 Jevspresso 示範,讓 AI 理解自然語言、由狀態機限制合法轉換。本文解釋狀態、事件與代理決策如何分工,以及這種設計對可控 AI 產品的意義。

Share
Jevspresso 原作者示範畫面,呈現 AI 決策與狀態機互動。
Jevspresso 原作者示範畫面,呈現 AI 決策與狀態機互動。 圖片來源:https://x.com/DavidKPiano/status/2106407550845600200

Jevspresso 是 XState 作者 David Khourshid 分享的互動示範,用咖啡操作情境呈現 AI 與狀態機的分工。AI 協助理解使用者想做什麼,狀態機則定義系統目前能接受哪些動作。

這段示範近期在 X 被分享,查詢時已有超過 3 萬次瀏覽。它把代理產品的重要問題變得具體:自然語言很有彈性,實際流程卻需要清楚的步驟與條件。

Jevspresso 原作者示範畫面,呈現 AI 決策與狀態機互動。
Jevspresso 原作者示範畫面,呈現 AI 決策與狀態機互動。 圖片來源:David Khourshid 原始示範。

狀態機如何描述一個流程

狀態機是用有限狀態與事件描述系統行為的方法。狀態代表目前處於哪個階段,事件則可能讓系統轉到下一個階段。

依XState 官方文件,機器定義可以描述狀態、轉換與相關行為。以咖啡操作為例,等待選擇、準備中、完成與取消,可以是不同狀態。這個例子用來解釋概念,具體示範行為仍以原作者畫面為準。

當系統處於某個狀態時,只有符合條件的事件才能觸發轉換。這讓開發者有明確的位置寫下流程規則。

AI 理解意圖,系統檢查能不能做

作者的原始貼文 描述,XState 負責合法狀態轉換,Jev 使用自然語言決定動作。兩者分工,能避免所有流程規則都交由模型臨時判斷。

使用者可以用不同句子表達相似意圖,AI 再把句子對應到可能的事件。系統收到事件後,檢查目前狀態與條件,決定能否執行。

如果動作在目前階段不被允許,產品可以清楚說明原因,或提供下一個可用選項。這比執行失敗後才顯示模糊錯誤,更容易讓使用者理解。

0:00
/0:00
原作者示範 Jevspresso 的互動流程,屬於軟體展示。 影片來源:David Khourshid 原始示範。

這種分工可以用在哪些產品

產品情境 可由 AI 處理 應由流程規則決定
訂單助理 理解修改需求 訂單是否仍可修改
預約工具 解讀時間與偏好 時段是否可用
文件流程 理解送審或退回意圖 使用者權限與審核狀態

表格是本文提出的應用分析。狀態機提供流程限制,但資料權限、交易一致性與外部服務失敗,仍需要其他程式處理。

尤其涉及付款或不可逆操作時,事件通過狀態檢查,也要確認參數與使用者授權。模型對意圖的判斷可能出錯,產品應保留適當的確認與修正方式。

小團隊可以先從一條流程開始

先列出真正需要的狀態,再寫出每個狀態允許的事件。例如先確定「建立草稿、送審、核准、發布」的合法路徑,之後才讓 AI 將自然語言對應到事件。

接著用模糊、衝突與順序錯誤的要求測試。系統應能說明目前可做什麼,並讓使用者接續完成,而不只是拒絕。

我的判斷是,Jevspresso 展示了一個可理解的代理設計方向。把語言理解與流程合法性分開,能讓產品行為比較容易測試,也能在模型更換時保留核心規則。

常見問題

狀態機會讓 AI 失去彈性嗎?

語言理解仍能有彈性,合法操作則由流程決定。設計者需要讓規則涵蓋合理的使用情境。

用 XState 就能保證安全嗎?

還需要資料權限、參數檢查、錯誤處理與實際授權。狀態機只負責它所定義的行為範圍。

Jevspresso 是真實咖啡機的發布嗎?

本文依作者的互動示範討論設計方法,不能據此推論已有硬體產品或商用服務。

結語:讓彈性建立在清楚的流程上

Jevspresso 的示範讓 AI 意圖判斷與 XState 流程規則各自發揮作用。從小流程開始定義狀態、事件與條件,能讓代理產品更容易理解和驗證。

延伸閱讀:AI Agent 為什麼需要決策層?用 Jev、Laya 看懂模型路由、工具選擇與風險控管

官方資料來源