henryqin1997/statem

CLI runbook for agent long run.

解決的問題

StateM 透過防止複雜工作流程坍縮為單一的巨型提示,解決長時間執行 AI 代理的不穩定性問題。它解決了代理遺失目標、無法驗證進度,或因程序狀態僅儲存在模型的易失性聊天歷史中而無法恢復會話的問題。

工作原理

StateM 實現了一個命令列狀態機,將代理的工作流程移入版本化的「執行手冊」(YAML 檔案)。此執行手冊定義了狀態圖(節點)與合法轉移(邊)。

  • 狀態管理:不依賴記憶體,代理透過查詢 CLI 來取得當前狀態、可用轉移與所需動作。
  • 可執行的門檻:轉移受「before_transfer」檢查保護——例如 shell 命令、檢查清單或 LLM 評審——必須通過後代理才能進入下一狀態。
  • 持久化歷史:所有轉移、證據與時間戳均持久化至磁碟,支援代理在上下文重新整理或會話清除後恢復工作。
  • 動態檢查:代理可在執行時註冊任務特定的驗證步驟,這些步驟無需預先定義於靜態執行手冊中。

適用對象

專為開發執行複雜多步任務(如程式碼撰寫或系統部署)的自主型 AI 代理的開發者設計,適用於對可靠性、可審計性與嚴格驗證有要求的場景。

核心亮點

  • 明確的階段邊界:將規劃、執行、審查與復原分離為獨立、可管理的狀態。
  • 可執行的轉移門檻:使用真實世界的檢查(例如 pytest 的結束碼)阻止無效狀態轉移。
  • 持久化執行時歷史:將狀態與結果本地持久化,確保代理能抵禦上下文視窗限制或當機。
  • 主機無關性:適用於任何能執行 shell 命令的代理,並已整合 Claude Code 與 Codex。
  • 上下文生命週期支援:提供工具以產生長時間執行循環工作流程的恢復與壓縮提示。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案