Skill 与工作流

状态机式智能体

状态机式智能体是把自己的行为建模成一组固定的、命名清楚的状态——比如空闲、执行中、等待输入——并且明确规定了什么情况下会从一个状态转到另一个状态。

空闲执行中等待输入
智能体在几个命名状态之间循环切换。

描述智能体最默认的方式是一个持续循环:感知、规划、行动、观察,一直循环下去(参见 agent-loop)。状态机式智能体是这个想法更结构化的一个变体——不是笼统的一个循环,而是把行为拆成一组固定的、有名字的状态,智能体下一步该干什么,明确取决于它当前处在哪个状态。

这样的智能体可能一开始处在空闲状态,等任务来了才切到执行中;如果需要等人或者其他系统给出响应才能继续,就切到等待输入——而且和单向的顺序不一样,它是可以切回去的:等答复来了,从等待输入切回执行中;任务做完了,再切回空闲

这样建模的好处是,智能体可能出现的行为更容易推理和测试,因为状态是有限、可枚举的,而不是一个开放式的循环——代价是得提前把状态和转换规则定义清楚,对于真正开放式的任务来说会显得比较受限。

怎么运作

每个状态定义了智能体在这个状态下能做什么,一组转换规则定义了哪些事件会把它切换到哪个状态。智能体当前所处的状态会被明确地记录下来(常常就是一个简单的标签或枚举值),智能体的每一个动作都要结合当前状态来解读——同一个事件,智能体原本处在不同状态时,触发的行为可能完全不同。

和相关概念的区别

状态机式智能体和 DAG 工作流的区别:DAG 建模的是一次运行的任务图——从开始到结束跑一次,没有环;状态机建模的是智能体随时间推移的持续行为,完全可以合理地切回它之前待过的某个状态,这是 DAG 按定义做不到的。

常见误解

常被以为: 状态机式智能体不能绕回之前的状态。
实际上: 恰恰相反——和 DAG 不同,状态机本来就允许切回它已经待过的状态,正是这一点让它能够等待、重试或者恢复执行。

常见问题

什么是状态机式智能体?
指行为被建模成一组固定命名状态(比如空闲、执行中、等待输入)的智能体,状态之间的切换有明确规则。
状态机式智能体和 DAG 工作流有什么区别?
DAG 是沿着一张没有环的图跑一次;状态机跟踪的是智能体随时间推移的持续行为,可以切回它之前待过的状态。

最近核实: 2026-08-28

相关术语