给AI智能体更多工具,它就能表现得更好——听起来很合理,对吧?结果恰恰相反。当每个阶段的工具访问权限受到物理限制时,一个13B的小模型竟然超越了不受约束的大型模型。
智能体为什么总是出错?
用过代码智能体的人都明白那种感觉。好的时候真的很好,但一旦出错,就会完全跑偏。这真的只是因为模型不够聪明吗?
AI研究员Chip Huyen对这个问题做了数学分析。 即使智能体在每个步骤保持95%的准确率,经过10个步骤后,整体成功率就会跌至60%;经过100个步骤,更会骤降至0.6%。随着步骤增加,错误会以指数级累积——这是一个结构性问题。
Anthropic也直接承认了这一点:"智能体的自主性可能导致更高成本和错误累积的风险。" 大多数解决方案的反应是——用更大的模型,扩展上下文窗口。Statewright走向完全相反的方向。缩小问题空间。
核心理念很简单。根据智能体当前处于哪个阶段(State),物理限制其可以访问的工具。规划阶段只允许只读工具,实现阶段才解锁编辑工具,测试阶段只允许bash命令。这不是用提示词请求模型"请只使用这些工具"——而是在协议层面物理拦截未授权的工具调用。
核心理念:"智能体是建议,状态是法律"
这是Statewright创始人Ben Cochran的说法。当模型试图跳过阶段或使用错误工具时,不是用友好的警告来阻止,而是协议本身直接拒绝。这是结构性强制,不是顾问式引导。
具体会有什么变化?
市面上已经有类似的工具——LangGraph、XState、Claude Code。让我们来看看有什么不同。
| 现有框架 | Statewright | |
|---|---|---|
| 工具访问控制 | 基于提示词(建议性) | 状态机(强制执行) |
| 违规时 | 模型可以忽略 | 协议层面拦截 |
| 模型路由 | 手动配置 | 按阶段自动路由 |
| 输入token效率 | 暴露完整工具列表 | 只暴露当前阶段工具 |
| 成本节省潜力 | — | 多阶段工作流最高80% |
LangGraph将智能体作为图节点连接,让它们承担专业角色。 专业化提升性能的理念是相似的,但LangGraph仍然依靠提示词来引导使用哪些工具,而不是物理阻止。与Claude Code相比,差异更加明显——Claude Code启动时有超过35,000 token的上下文开销。Statewright只暴露当前状态相关的工具,大幅减少输入token并提升缓存效率。
最反直觉的发现是这个:对于13B参数以上的模型,受Statewright结构约束的小型模型,一致地超越了不受约束的大型模型。这一规律在Qwen-coder、GPT-OSS、Gemma4,以及Haiku、Sonnet、Opus等多个模型家族中都得到了验证。
快速上手指南
- 安装——通过MCP连接编辑器
在Claude Code、Codex、Oh-My-Codex等支持MCP的编辑器中安装Statewright插件。核心引擎和智能体crate采用Apache 2.0许可,完全免费使用。 - 定义工作流状态
使用YAML或JSON定义状态(state)和转换(transition)条件。明确"planning → implementation → testing"这样的阶段,并为每个阶段设置守卫(guard)条件。 - 分配工具访问权限
指定每个状态允许的工具。planning只允许文件读取,implementation才开放编辑工具,testing只允许bash执行。这些约束在协议层面强制执行——不是提示词请求。 - 配置按阶段模型路由(可选)
如果想降低成本,可以配置规划阶段用Haiku、实现阶段用Sonnet、审查阶段用Opus的自动路由。多阶段工作流成本最高可降低80%。 - 运行并查看审计日志
Statewright记录所有状态转换和工具访问尝试。哪个阶段拦截了哪个尝试,完全可追溯,可满足SOC 2等审计合规要求。
想深入了解?
Show HN: Statewright Discussion 与创始人Ben Cochran的Q&A。许可证政策、技术设计意图,以及与LangGraph、XState的直接对比,一篇帖子全部搞定。 news.ycombinator.com
Building Effective Agents — Anthropic Anthropic对智能体不可靠性结构原因的分析,以及他们推荐的设计原则。构建智能体前的必读文章。 anthropic.com
LangGraph: Multi-Agent Workflows 基于图的多智能体编排框架代表。与Statewright对比阅读,能更好理解两种不同的智能体控制哲学。 langchain.com
Agents — Chip Huyen 对AI智能体可靠性问题的数学分析。"95%准确率→100步后0.6%成功率"的计算来自这里。 huyenchip.com
XState Documentation UI开发中状态机实现的参考资料。帮助理解Statewright如何将其专门化用于智能体工具访问控制。 xstate.js.org



