标准答案

  1. ReAct 让模型交替思考和调用工具,适合探索性问答,但路径和成本较难预测;规划执行先生成计划,再由执行器逐步完成,适合多步骤任务。
  2. 状态机把允许状态、转移和失败分支写成代码,适合订单、审批和可恢复流程;固定工作流适合步骤明确且低变化的任务。
  3. 实际项目常组合使用:代码定义状态和工具边界,模型负责分类、选择有限动作或填写参数,所有状态转移都由服务端验证。

题目解析

选择不是按框架流行度,而是看是否需要可解释、可重放、可暂停和强一致。付款、权限变更和数据删除通常不能依赖自由形式的 ReAct 循环。

规划本身也可能错误。计划要经过工具白名单、资源权限和预算校验,执行中如果事实变化,应重新规划或回到人工确认。

状态机不等于没有模型。模型仍可以处理自然语言输入,但状态的合法性和副作用必须由代码控制。

常见误区

  • 把所有任务都做成自由 Agent,牺牲可观测性和确定性。
  • 生成计划后无条件执行,不重新检查资源状态和权限。
  • 只画流程图,不定义失败、取消、超时和恢复状态。

作者信息