ARTICLE / 2 MIN READ

AI Agent 从演示到生产的状态机设计

把会调用工具的智能体拆成可观测、可重试、可暂停和可审计的业务流程。

Agent 演示通常只有一条成功路径,生产系统却要面对工具超时、模型幻觉、用户撤回、重复执行和人工接管。最先要做的不是换模型,而是给 Agent 建立明确的状态机。

让模型负责决策,让系统负责状态

模型可以提出下一步动作,但不能直接修改订单、发送邮件或删除数据。编排器校验动作参数、权限和当前状态,再决定是否执行。

待处理 -> 规划中 -> 等待确认 -> 执行中 -> 已完成
   |        |           |          |
   v        v           v          v
 已取消   需补充信息   已拒绝    可重试/人工接管

每个运行实例保存 run_id、用户、输入摘要、模型版本、工具调用、状态、重试次数和最终结果。重启后可以从最后一个持久化状态继续,而不是重新猜测上下文。

工具调用的安全边界

工具注册表应声明名称、输入 JSON Schema、读写级别、超时、幂等键和审批要求。只读工具可以自动执行,写操作和高风险操作进入确认步骤。

工具返回值要限制大小并标记来源。不要把未经清洗的网页内容直接拼进系统提示,避免间接提示注入。

重试与人工接管

模型调用可按错误类型重试,业务工具必须先检查幂等键。连续失败后进入人工队列,保留完整上下文和建议动作。人工接管后,Agent 不能继续并行修改同一个业务状态。

评估生产效果

除了回答正确率,还要统计任务完成率、工具成功率、平均步骤数、人工接管率、单任务成本、P95 延迟和越权拦截数。每次提示词或工具 Schema 变更都跑固定任务集,防止回归。

Agent 的生产化本质是工作流工程:模型提供概率性的决策能力,状态机、权限、审计和补偿保证确定性的业务结果。

参考资料:Model Context Protocol 规范

GITHUB DISCUSSION

评论与回复

评论保存在 GitHub Discussions,登录 GitHub 后即可参与,发布和回复都在本页完成。

评论区进入视口后自动加载。