State(状态) Machine(状态机)
先用一句话说清楚
State(状态) Machine(状态机)是用明确状态和状态转换规则管理 AI Agent(人工智能体)流程,避免系统在复杂任务里乱跳。
实战知识卡
| 维度 | 要点 |
|---|---|
| 项目里看什么 | 看任务状态、可执行动作、失败状态和人工确认状态是否清楚。 |
| 新手最该记住 | 状态机(State(状态) Machine)让多轮任务不会乱跳步骤。 |
| 作品集证据 | 画出缺信息、待检索、待确认、执行中、已完成、失败等状态。 |
| 面试回答公式 | 先说为什么需要状态,再说状态如何防止重复执行和跳过审批。 |
| 常见扣分点 | 让模型自己记住流程,不做系统状态约束。 |
新手通俗解释
很多智能体项目不是问一句答一句,而是要经历“收集信息、判断风险、调用工具、等待审批、生成结果、完成复盘”等阶段。State(状态) Machine(状态机)就是给这些阶段画清楚路线:现在处在哪一步,下一步能去哪里,什么情况必须停下来。
为什么岗位会问它
面试官问 State(状态) Machine(状态机),通常是在看你是否能处理长流程任务。真正的 AI Agent(人工智能体)不是每次都重新开始聊天,而是要记住任务进度、控制分支、处理失败和恢复上下文。
| 状态 | 示例 |
|---|---|
| 信息收集中 | 用户还没有提供订单号或资料范围 |
| 待工具查询 | 已具备查询条件,准备调用工具 |
| 待审批 | 写入动作或高风险建议需要人工确认 |
| 已完成 | 输出已生成,任务进入复盘 |
| 已失败 | 工具失败、权限不足或证据不足 |
它在项目里怎么用
作品集里建议画一张“任务状态流转图”,说明每个状态的进入条件、允许动作和退出条件。
| 设计点 | 应该写清楚 |
|---|---|
| 状态名称 | 让业务人员也能理解 |
| 进入条件 | 什么情况下进入这个状态 |
| 允许动作 | 此状态下可以检索、追问、调用工具还是等待审批 |
| 退出条件 | 成功、失败、取消、转人工 |
| 审计(Audit)记录 | 每次状态变化都要可追踪 |
常见误解
| 误解 | 为什么不对 | 正确理解 |
|---|---|---|
| State(状态) Machine(状态机)是后端语法知识 | 它首先是流程建模方法 | 重点是状态、条件和责任边界 |
| 用大模型自己判断下一步就够了 | 模型可能跳过关键审批 | 高风险流程必须有确定规则 |
| 状态越多越专业 | 太多状态会难以维护 | 状态应该服务于业务验收 |
面试官可能怎么追问
1. 为什么多轮 Agent(智能体)需要 State(状态) Machine(状态机)?
考察点: 是否理解流程可控性。
参考回答: 多轮任务会有信息缺失、工具失败、权限不足、人工审批和任务恢复等情况。State(状态) Machine(状态机)可以明确当前阶段和可执行动作,避免模型跳过确认或重复执行危险动作,也方便审计(Audit)和恢复。
容易扣分: 说“让模型自己决定”。
2. State(状态) Machine(状态机)和 Workflow(工作流)有什么关系?
考察点: 是否能区分流程和状态。
参考回答: Workflow(工作流)更关注任务步骤如何串起来,State(状态) Machine(状态机)更关注系统当前处于什么状态、哪些转换合法。复杂 Agent(智能体)项目通常同时需要两者:用 Workflow(工作流)描述整体流程,用 State(状态) Machine(状态机)控制状态变化。
容易扣分: 把两者完全等同。
作品集里怎么展示它
- 给一个客服工单、审批助手或数据分析项目画状态流转。
- 标出高风险状态,例如“待审批”和“已拒绝”。
- 展示失败后如何回到可恢复状态。
- 把状态变化写进审计(Audit)记录。