跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言Agent RuntimeAI AgentProduction AgentChecklistRelease Gate

《Agent Runtime 工程化》生产级 Agent 上线前必须检查的 50 件事

生产级 Agent 上线前必须检查的 50 件事 前面我发布了 Production Agent Checklist v1.0。 那是一份模块级清单。 今天这篇更像上线门禁。 如果一个 Agent 要进入真实用户环境,尤其是能读文件、写文件

陈堂会发布于 —1 浏览
《Agent Runtime 工程化》生产级 Agent 上线前必须检查的 50 件事

生产级 Agent 上线前必须检查的 50 件事

前面我发布了 Production Agent Checklist v1.0。

那是一份模块级清单。

今天这篇更像上线门禁。

如果一个 Agent 要进入真实用户环境,尤其是能读文件、写文件、跑命令、联网、调用 MCP 或触发业务流程,我会至少检查下面 50 件事。

不是为了吓人。

是为了避免那句最危险的上线理由:

我试了几次,感觉还行。

感觉不够。

上线要有证据。

1-5:身份和状态

  1. 每次执行都有 runId、turnId、traceId。
  2. 每个 step 有稳定 index 或 stepId。
  3. 每个 tool call 有 toolCallId。
  4. final、failed、cancelled、paused、max_steps、budget_exhausted 能区分。
  5. 用户能看到当前任务状态,而不是只看到一个转圈动画。

没有身份,后面所有排障都会散。

6-10:Loop 控制

  1. 有 maxSteps。
  2. 有 wall-clock timeout。
  3. 支持用户取消。
  4. 能识别 repeated tool call。
  5. 能识别 repeated error。

Agent 不只要会跑。

它还要会停。

11-15:上下文

  1. Context Builder 不是简单拼聊天记录。
  2. 当前用户目标和显式约束不会被摘要覆盖。
  3. 安全策略不会被历史挤掉。
  4. 工具结果过长时会截断、摘要或保存 artifact。
  5. 每次 context build 都有 debug report。

模型答错时,先看它到底看见了什么。

16-20:模型和 Provider

  1. Runtime 有自己的 ModelResponse 中间表示。
  2. provider 原始字段没有散落在业务代码里。
  3. 记录模型 token、latency、finish reason。
  4. 限流、超时、上下文超限有不同错误类型。
  5. 有 deterministic mock provider 测 Runtime 逻辑。

真实模型会变。

Runtime 的状态转移不能跟着飘。

21-25:工具系统

  1. 工具不是 Map<string, Function>。
  2. 每个工具有 schema、risk、timeout、output policy。
  3. 工具先 schema validation,再 policy validation。
  4. 未知工具返回 observation,不让进程崩溃。
  5. 工具版本进入 trace 和 eval。

Tool Calling 只是接口能力。

Tool Runtime 才是工程边界。

26-30:权限审批

  1. PermissionGate 在 execute 前运行。
  2. 写文件有 preview 或 diff。
  3. 网络工具展示域名和用途。
  4. 安装依赖展示包名、版本、registry、lockfile 影响。
  5. 破坏性操作默认拒绝或强确认。

用户批准的不是'运行工具'。

用户批准的是具体副作用。

31-35:Sandbox 和安全

  1. 文件读写限制在 workspace 内。
  2. 写入拒绝 symlink escape。
  3. 默认不读取 .env、SSH key、浏览器 profile、系统 credential。
  4. shell 默认只读白名单。
  5. 网络默认 deny 或 allowlist。

'开了 sandbox'不是答案。

要说明它隔离了什么。

36-40:Checkpoint 和恢复

  1. run 开始保存初始状态。
  2. 每个 step 后保存 checkpoint。
  3. 工具 planned / started / succeeded / failed / uncertain 有 ledger。
  4. 写文件前后记录 hash 和 diff。
  5. resume 时不自动重放不可幂等工具。

Checkpoint 不是聊天记录。

它是恢复证据。

41-45:Trace 和事故复盘

  1. 一次 run 对应一条 trace。
  2. context、model、tool、permission、checkpoint 都有 span 或 event。
  3. 大内容用 artifact ref,不直接塞进 trace。
  4. secret、token、cookie、private key 默认脱敏。
  5. 失败能归因到模型、工具、权限、上下文、runtime 或外部系统。

Trace 要回答'系统实际做了什么'。

不是只保存模型说了什么。

46-50:Eval、成本和发布

  1. Eval 不只比较最终回答。
  2. Eval 检查 required tool 和 forbidden tool。
  3. Eval 检查权限拒绝、resume、rollback。
  4. token、step、wall-clock、tool-call 四类预算进入报告。
  5. Release note 写明已知限制和高风险能力默认策略。

没有 eval 的上线,是靠记忆发布。

靠记忆发布,迟早会忘。

一个最小发布门禁

如果你现在没有完整平台,至少做这个最小门禁:

必须有:
- runId / traceId
- maxSteps
- Tool Registry
- PermissionGate
- workspace path check
- shell readonly policy
- checkpoint after step
- JSONL trace
- mock eval
- release known limitations

这十项做完,系统未必成熟。

但已经不是裸奔。

哪些可以暂时 N/A

清单不是一刀切。

只读 RAG Agent 可以暂时 N/A:

写文件 preview
安装依赖审批
rollback files
shell sandbox

但如果你的 Agent 能写文件、跑命令、联网或调用业务 API,就不要轻易 N/A。

越接近真实副作用,越需要 Runtime。

最后

上线前,我会问一句:

如果明天它出事,我们能不能知道发生了什么?

如果答案是否定的,那就还没准备好。

目录

  1. 生产级 Agent 上线前必须检查的 50 件事
  2. 1-5:身份和状态
  3. 6-10:Loop 控制
  4. 11-15:上下文
  5. 16-20:模型和 Provider
  6. 21-25:工具系统
  7. 26-30:权限审批
  8. 31-35:Sandbox 和安全
  9. 36-40:Checkpoint 和恢复
  10. 41-45:Trace 和事故复盘
  11. 46-50:Eval、成本和发布
  12. 一个最小发布门禁
  13. 哪些可以暂时 N/A
  14. 最后
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Linux 高级 IO:I/O 多路转接 select 接口原理与 TCP 服务器实现
  • Layui 集成 Unity WebGL 时 Tab 切换黑屏的修复方案
  • C++ 算法刷题实战:重组偶数、排队方案与二叉树路径和
  • macOS 部署安装 IndexTTS2
  • GitHub Copilot 接入 Claude Code 本地技能的自动化映射方案
  • Win10 升级后频繁弹出 Copilot 窗口的禁用与关闭方法
  • OpenCode 实战:用终端打造项目级 AI 工程师
  • AI 赋能软件测试流程
  • Chroma + Ollama + Llama 3.1 搭建本地知识库
  • Go Web 开发核心理论与实战
  • CSS3 十六进制透明度用法详解与实战技巧
  • OpenCV Mat 类:基本图像容器详解
  • LangChain 文档切分器详解:从字符到代码的文本分割策略
  • OpenClaw 公网访问指南:使用 cpolar 实现局域网 AI 远程访问
  • MCP for Unity 配置指南:利用 AI 自动化操作 Unity 编辑器
  • YOLOv8 OBB 旋转目标检测 RK3588 C++ 部署:模型转换与推理优化
  • AR 眼镜核心技术详解:硬件架构、核心算法、应用场景与发展趋势
  • Trae AI 编程提高工作效率技巧
  • Go Channel 深入解析:从语义到 Runtime 底层
  • 解决 Ollama 模型下载慢:国内镜像加速与 LLama-Factory 微调实战

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online