很多 Agent 演示只需要完成一次成功路径:输入任务,模型思考,调用工具,返回漂亮结果。生产环境关心的却是另外一组问题:任务重复执行怎么办、权限如何隔离、工具失败如何恢复、谁对外发送负责、结果写回哪里。

下面是我认为最容易被低估的七个环节。

1. 任务没有稳定 ID

如果每次重试都被当成新任务,Agent 可能重复发邮件、重复建单、重复修改数据。第一版就应该为任务和每个外部动作设置幂等键。

task_id = source + event_id + workflow_version
action_id = task_id + step_name + target

执行写操作前先查询 action_id 是否已经成功,能够挡住一大类重复执行事故。

2. 把所有上下文一次性塞给模型

企业知识库越大,越不能全量注入。比较稳妥的顺序是:

  1. 先按租户、部门、用户做权限过滤;
  2. 再按任务类型缩小数据源;
  3. 最后做语义或关键词检索;
  4. 输出中保留来源,便于复核。

权限过滤必须发生在检索前,不能指望模型读完机密数据后“自觉不说”。

3. 工具只返回自然语言

工具层最好返回可判断的结构:

{
  "ok": true,
  "code": "CREATED",
  "resource_id": "lead_123",
  "retryable": false
}

如果只返回“客户创建成功”,下一步很难可靠判断资源 ID、重试策略和部分失败。

4. 只有“全自动”和“全手动”两个档位

生产环境更适合按风险分级:

  • 只读查询:自动执行;
  • 可恢复的内部写入:自动执行并记录;
  • 对外发送或不可逆操作:执行前确认;
  • 付款、权限变更等高风险操作:双人确认或直接禁用。

确认点应该绑定具体动作和具体参数,而不是只问一句“是否继续”。

5. 失败后从头再跑

长任务应该保存检查点。工具调用成功后立即写入步骤状态,恢复时从最后一个已确认步骤继续。

PENDING -> RUNNING -> SUCCEEDED
                  -> RETRYABLE_FAILED
                  -> NEEDS_REVIEW
                  -> TERMINAL_FAILED

只有明确可重试的错误才自动重试,并设置次数和退避时间。

6. 没有回写业务系统

Agent 返回一段总结不等于任务完成。CRM、工单、项目管理或数据仓库里没有状态变化,团队仍然不知道事情是否真的做完。

至少回写任务状态、关键输出、人工确认、耗时、成本和失败原因。

7. 只看“回答质量”,不看业务指标

生产验证建议同时记录:

  • 完成率;
  • 人工修改率;
  • 重复执行率;
  • 平均恢复时间;
  • 单次任务成本;
  • 节省的人工时间。

先选一个每周重复 20 次以上、结果可人工复核的任务跑两周。数据成立后,再扩相邻流程。

总结

Agent 真正进入生产,不是把 Prompt 写得更长,而是把任务身份、权限、工具契约、确认、恢复和回写做扎实。

利益相关说明:我们正在开发 TotalClaw,方向是企业 AI 执行、多角色协作和私有化部署。这里是产品与行业场景:

https://taituai.com/?utm_source=csdn&utm_medium=article&utm_campaign=agent_production_checklist&utm_content=article_02

欢迎用真实失败案例来补充这份清单。

建议标签:人工智能、AI Agent、后端、工作流、架构

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐