生产上线清单
核对日期:2026-05-09。
1. 定义与边界
生产上线清单是 Agent 系统从 staging 进入生产前的工程验收表,覆盖功能、可靠性、评测、安全、成本、观测、部署和事故响应。它不是形式化文档;每一项都应能被链接到测试结果、配置、仪表盘或负责人。
2. 为什么重要
Agent 的失败可能表现为错误回答、错误工具调用、数据外泄、成本异常、队列堆积或业务副作用。上线清单的作用是把这些风险前置暴露,而不是等用户发现。
3. 核心机制
上线决策建议采用 gate:
4. 上线前必检项
| 类别 | 检查项 | 验收证据 |
|---|---|---|
| 版本 | 代码、Prompt、工具 schema、模型策略有版本号 | release note / trace 样例 |
| 评测 | 核心任务回归通过,红队用例通过 | eval report |
| 状态 | run 状态可恢复,schema 迁移验证 | chaos/replay report |
| 会话 | TTL、隔离、上下文裁剪策略生效 | 测试记录 |
| 队列 | 重试、死信、worker 扩缩容验证 | 压测报告 |
| 幂等 | 高风险工具有幂等键和审计 | 契约测试 |
| 缓存 | 缓存键含租户/权限/版本,失效策略明确 | 配置审查 |
| 成本 | 单 run 预算、租户配额、告警配置 | dashboard |
| 重试 | 超时、退避、熔断、降级配置 | 故障演练 |
| 回放 | trace 可脱敏回放,副作用默认禁用 | replay report |
| 部署 | staging、灰度、回滚路径验证 | runbook |
| 安全 | prompt injection、数据外泄、权限绕过测试 | security report |
5. 工程实现
发布模板:
release:
agent_version: support-agent@1.8.0
prompt_versions:
- support_agent.system@2026-05-09.3
tool_schema_versions:
- crm.lookup_customer@v2
model_policy: support_standard@v4
eval_report: reports/evals/2026-05-09-support.html
canary:
tenants: [internal]
traffic_percent: 5
rollback_trigger:
task_success_rate_drop: 0.03
cost_increase: 0.25
safety_event_rate: 0.001
上线命令不应直接跳过检查:
release create -> run evals -> deploy staging -> run smoke -> canary -> monitor -> promote
6. 生产实践
- 清单项必须有负责人,不能只写“已完成”。
- 每次发布保留可回滚的上一版 Prompt、配置和镜像。
- 先开放低风险租户或内部用户,再扩大范围。
- 线上指标至少观察任务成功率、拒答率、工具失败率、P95 延迟、单 run 成本、安全事件。
- 上线后 24 到 72 小时内保留更高采样率 trace。
7. 常见反模式
- 只测“正常问题”,不测工具失败、恶意输入和权限边界。
- 代码上线走 CI,Prompt 和模型策略手工热改。
- 没有回滚标准,等业务投诉后才处理。
- 安全评审只看最终回答,不看工具调用参数。
- 只看平均成本,忽略长尾 run。
8. 评测方法
上线前评测至少包含:
- Golden task regression:核心任务不能倒退。
- Tool contract tests:工具 schema、权限和幂等测试。
- Safety suite:prompt injection、数据外泄、越权工具调用。
- Load test:同步 API 和异步 worker 分别压测。
- Replay suite:历史事故和高价值 trace 回放。
9. 安全与治理
- 高风险能力上线需要审批记录和回滚 owner。
- 用户数据、trace、评测集和缓存都要覆盖数据删除策略。
- 对新工具、新 MCP server、新外部 SaaS 做权限和网络审查。
- 安全事件告警接入值班流程,不只写在文档里。
10. 权威资料
- OpenAI Deployment checklist: https://developers.openai.com/api/docs/guides/deployment-checklist
- OpenAI Production best practices: https://developers.openai.com/api/docs/guides/production-best-practices
- OWASP Top 10 for LLM Applications: https://owasp.org/www-project-top-10-for-large-language-model-applications/
- NIST AI Risk Management Framework: https://www.nist.gov/itl/ai-risk-management-framework
- Kubernetes production best practices: https://kubernetes.io/docs/setup/production-environment/
- Google SRE Book: https://sre.google/sre-book/table-of-contents/
11. 二次精修:上线 Gate 模板
上线清单要变成 gate,而不是发布前临时勾选。每一项都应该有 evidence 链接和 owner。
| Gate | 通过标准 | Evidence |
|---|---|---|
| 功能回归 | 核心任务 TSR 不低于基线 | CI eval report |
| 工具准确率 | 高危工具选择和参数正确 | tool accuracy report |
| 安全评测 | 注入、越权、泄露样本通过 | safety eval report |
| 成本预算 | 单成功任务成本在阈值内 | cost simulation |
| 延迟预算 | P95/P99 不超过 SLO | load test |
| 可观测性 | trace/log/metric 字段完整 | staging trace |
| 回滚方案 | 代码、prompt、模型路由可回滚 | rollback drill |
| 运维手册 | 告警有 runbook 和 owner | runbook link |
12. 上线控制流
13. 上线清单 YAML 示例
release_gate:
release_id: "agent_1.8.2_20260509"
owner: "agent-platform"
risk_level: "high"
checks:
offline_eval:
suite: "evals/regression/core.yaml"
min_task_success: 0.86
max_unsafe_action_rate: 0
online_canary:
traffic_percent: 5
duration_minutes: 60
rollback_on:
p95_latency_ms: 8000
cost_per_success_usd: 0.4
user_negative_feedback_rate: 0.03
observability:
required_fields: ["trace_id", "run_id", "prompt_version", "model", "tool_name"]
approvals: ["security", "platform_sre"]
14. 主控关注的风险点
- 没有足够线上 shadow 数据时,不要直接全量发布高自治 Agent。
- prompt 变更、工具变更、模型变更不要混在一次发布中,除非有强回滚能力。
- 生产准入要包含“失败是否可解释”,否则事故后很难恢复信任。
- 高危工具必须验证人类审批不能被 prompt 或状态恢复绕过。
- 上线后 24 小时要观察成本、失败、人工接管和用户负反馈,而不是只看 HTTP 500。
15. 补充权威资料
- OpenAI production best practices: https://platform.openai.com/docs/guides/production-best-practices (核对日期:2026-05-09)
- OpenAI safety best practices: https://platform.openai.com/docs/guides/safety-best-practices (核对日期:2026-05-09)
- Google SRE Workbook: https://sre.google/workbook/table-of-contents/ (核对日期:2026-05-09)
16. 主控验收清单
- 发布包是否明确代码、prompt、模型路由、工具和安全策略版本。
- 是否有灰度指标和自动回滚条件。
- 是否有上线后 24 小时观察项。
- 是否所有 page 级告警都有 runbook。
- 是否保留发布审批和例外记录。
- 是否验证回滚不会破坏状态兼容。