henryqin1997/statem
CLI runbook for agent long run.
解决的问题
StateM 通过防止复杂工作流坍缩为单一的巨型提示,解决了长时运行 AI 代理的不稳定性问题。它解决了代理丢失目标、无法验证进展,或因过程状态仅存储在模型的易失性聊天历史中而无法恢复会话的问题。
工作原理
StateM 实现了一个命令行状态机,将代理的工作流移入版本化的「运行手册」(YAML 文件)。该运行手册定义了状态图(节点)和合法的转换(边)。
- 状态管理:不依赖内存,代理通过查询 CLI 获取当前状态、可用转换和所需操作。
- 可执行的门控:转换受「before_transfer」检查保护——如 shell 命令、检查清单或 LLM 评审——必须通过后代理才能进入下一状态。
- 持久化历史:所有转换、证据和时间戳均持久化到磁盘,支持代理在上下文刷新或会话清除后恢复工作。
- 动态检查:代理可在运行时注册任务特定的验证步骤,这些步骤无需预先定义在静态运行手册中。
适用人群
专为开发执行复杂多步任务(如编码或系统部署)的自主 AI 代理的开发者设计,适用于对可靠性、可审计性和严格验证有要求的场景。
核心亮点
- 明确的阶段边界:将规划、执行、审查和恢复分离为独立、可管理的状态。
- 可执行的转换门控:使用真实世界的检查(如
pytest的退出码)阻止无效状态转换。 - 持久化运行时历史:将状态和结果本地持久化,确保代理能抵御上下文窗口限制或崩溃。
- 主机无关性:适用于任何能运行 shell 命令的代理,已集成 Claude Code 和 Codex。
- 上下文生命周期支持:提供工具以生成长时运行循环工作流的恢复和压缩提示。
相关
- 项目
- 项目
- 项目
- 项目
- 项目