上线前逐条打勾。不是每个项目都需要全部 60 项,但每一项被跳过时,你都应该知道后果是什么。
1. 目标与边界
- 一句话说清 Agent 解决什么问题、为谁服务
- 明确哪些步骤用工作流、哪些用 Agent
- 定义「完成」的可观察标准
- 列出禁止 Agent 执行的动作
- 明确人工接管的条件与入口
- 估算收益是否大于推理成本
2. 模型与提示
- 模型选型基于自己的黄金集,而非榜单
- 系统提示版本化,与代码一起发布
- 提示包含目标、工具规则、约束、输出契约、失败处理
- 明确信息不足时「说不知道」的行为
-
max_tokens、温度等参数有明确设置 - 提示前缀稳定,缓存命中率可观测
3. 工具与权限
- 工具数量受控,命名清晰,描述含适用/不适用场景
- 参数 ≤ 5 个、扁平、枚举优先、单位明确
- 身份/租户由服务端注入,不让模型填
- 读工具与写工具分离
- 写操作幂等,键由服务端生成
- 高危动作有审批、限额、dry-run
4. 数据与隐私
- 明确收集哪些数据、存多久、谁能访问
- PII 在日志、记忆、检索库中脱敏
- 多租户检索前做 scope 过滤
- 支持用户删除数据与记忆
- 知识库文档有来源、版本、权限标签
- 跨境/行业合规已确认
5. 可靠性
- 每层有超时(模型、工具、总任务)
- 只对暂时性错误重试,退避 + 抖动
- 有最大步数、token、金额、时间预算
- 有死循环/无进展检测
- 有 L0–L3 降级阶梯
- 能从检查点恢复,跳过已完成副作用
6. 评估
- 有 50+ 条人工确认的黄金集
- 覆盖顺利路径、边界、信息不足、对抗、历史失败
- 多步任务评估轨迹(工具、参数、步数)
- 指标按标签拆开,能定位失败类型
- LLM 评委经过校准,顺序随机
- 评估接进 CI,有基线阈值
7. 可观测性
- 每次请求有 trace_id,贯穿模型/工具/审批
- 记录模型、提示版本、token、耗时、错误
- 工具参数与结果有摘要,PII 脱敏
- 有质量、过程、性能、成本四组面板
- 错误与慢请求全量保留,正常采样
- 关键异常有告警与失败样本链接
8. 安全
- 有威胁模型与资产清单
- 外部内容标记为不可信,指令/数据分区
- 出站域名白名单,防 SSRF
- 代码执行在沙箱
- 高危动作人工审批,展示动作/参数/影响
- 红队覆盖直接/间接注入、越权、外泄
9. 成本与性能
- 成本按「每任务」统计,可按租户/功能归因
- 有单任务与单租户预算上限
- 模型路由/级联,简单步骤不走最贵模型
- 检索与工具结果裁剪,控制输入 token
- 延迟看 P95/P99,不只看平均
- 并发上限与供应商配额匹配
10. 发布与运维
- 版本包含代码、提示、模型、工具、索引
- 支持灰度(5% → 100%)与一键回滚
- State Schema 变更考虑旧检查点
- 有 SLO 与容量估算
- 有值班、告警、事故响应预案
- 上线后有 7 天重点观察期
最后三个问题
如果模型今天完全不可用,产品还能做什么? 答不上来,说明降级方案缺失。
如果 Agent 被注入,最坏能造成什么? 如果答案是「转走所有钱」,权限设计需要重做。
如果用户投诉「它答错了」,你能在多长时间内定位到具体一步? 超过 30 分钟,可观测性需要补。
小结
- 上线清单不是形式,而是把「以后会踩的坑」提前显性化。
- 最容易跳过、代价最大的是:权限、幂等、评估、降级、可观测性。
- 先做能兜底的版本,再逐步提高自主性。
祝上线顺利。