状态机式智能体
状态机式智能体是把自己的行为建模成一组固定的、命名清楚的状态——比如空闲、执行中、等待输入——并且明确规定了什么情况下会从一个状态转到另一个状态。
描述智能体最默认的方式是一个持续循环:感知、规划、行动、观察,一直循环下去(参见 agent-loop)。状态机式智能体是这个想法更结构化的一个变体——不是笼统的一个循环,而是把行为拆成一组固定的、有名字的状态,智能体下一步该干什么,明确取决于它当前处在哪个状态。
这样的智能体可能一开始处在空闲状态,等任务来了才切到执行中;如果需要等人或者其他系统给出响应才能继续,就切到等待输入——而且和单向的顺序不一样,它是可以切回去的:等答复来了,从等待输入切回执行中;任务做完了,再切回空闲。
这样建模的好处是,智能体可能出现的行为更容易推理和测试,因为状态是有限、可枚举的,而不是一个开放式的循环——代价是得提前把状态和转换规则定义清楚,对于真正开放式的任务来说会显得比较受限。
怎么运作
每个状态定义了智能体在这个状态下能做什么,一组转换规则定义了哪些事件会把它切换到哪个状态。智能体当前所处的状态会被明确地记录下来(常常就是一个简单的标签或枚举值),智能体的每一个动作都要结合当前状态来解读——同一个事件,智能体原本处在不同状态时,触发的行为可能完全不同。
和相关概念的区别
状态机式智能体和 DAG 工作流的区别:DAG 建模的是一次运行的任务图——从开始到结束跑一次,没有环;状态机建模的是智能体随时间推移的持续行为,完全可以合理地切回它之前待过的某个状态,这是 DAG 按定义做不到的。
常见误解
常见问题
什么是状态机式智能体?
状态机式智能体和 DAG 工作流有什么区别?
最近核实: 2026-08-28