地图 《AI 应用工程师学习地图》 第 6 / 7 个系列
- 模型作为组件
- Prompt 与上下文工程
- 检索与知识接入
- 工具、Agent 与 harness
- 评测、可观测与可追溯
- 生产化与运营
- 产品与体验即将发布
上一个系列:评测、可观测与可追溯下一个系列:产品与体验即将发布
内容简介
《生产化与运营:让 AI 应用可靠、可控、可持续地跑》是一组共七篇的系列文章,是《AI 应用工程师学习地图》第六层(L6)的正文。前五层把一个 AI 应用从模型组件、上下文、检索、agent 到评测搭了起来;这一层讲它上线之后要面对的一切:请求从哪进(模型网关)、钱怎么花(成本工程)、快不快(延迟工程)、会不会被攻破(安全)、合不合规(治理)、怎么发布与回滚(发布工程)、以及怎么让系统随使用变好(数据飞轮)——加上物理世界的系统怎样把一次软件更新推到一支车队上。
这一层的特殊性在于三件事在传统后端里不成立。成本是一等运营指标:一次请求可能几分钱到几美元,同一功能换个模型或改个 prompt 成本差十倍,”每任务成本”要像延迟一样上仪表盘。攻击面是新的:模型把数据当指令,于是一封邮件可以让 Copilot 把内部文件外传(EchoLeak,CVE-2025-32711,2025 年 6 月,零点击)、一个 MCP 工具的描述可以劫持 IDE 里的 agent(Cursor 的 MCPoison / CurXecute,2025 年 8 月)、一段网页里的文字可以让 agent 关掉自己的沙箱并执行任意命令(Cursor DuneSlide,CVE-2026-50548 / 50549,CVSS 9.8,2026 年 4 月修复)——OWASP 把 prompt injection 列为 LLM 应用十大风险之首,防御不在措辞里而在分层架构里。合规在同一年落地:EU AI Act 的通用模型义务 2026 年 8 月 2 日起可罚(1,500 万欧元或全球营业额 3%),透明与内容标注义务同期生效,高风险系统的义务被 Digital Omnibus(Regulation (EU) 2026/1744,7 月 27 日生效)推迟到 2027 年 12 月与 2028 年 8 月——但推迟的是高风险那一部分,不是全部。
它回答的问题是:
模型网关做什么、什么时候自建?成本怎么从”账单吓一跳”变成可预算可归因?延迟怎么从 TTFT 分解到每一段?prompt injection 与供应链攻击怎么分层防?审计、数据保留、AI Act 与内容标注要做什么?AI 功能怎么发布、灰度、回滚、值班?数据飞轮怎么转,物理世界的 OTA 怎么推?1
七篇沿一条线走。第一篇模型网关:所有模型调用经过的一层——认证与密钥管理、路由与 fallback、限流与配额、缓存、成本归因、日志与脱敏、供应商抽象;LiteLLM、OpenRouter、Cloudflare AI Gateway、Portkey 一类的定位与取舍,什么时候自建,网关不该做什么(不要把业务逻辑塞进去)。第二篇成本工程:《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》的成本公式在生产里的运营——按租户 / 功能 / 版本归因、预算与告警、级联与路由(便宜模型先试)、缓存(《Prompt 与上下文工程(05):prompt caching 与上下文的排列》)、Batch 与 Flex 层级、prompt 与输出瘦身、按任务看 p50 / p95、单位经济学(每任务成本 vs 每任务价值)、FinOps 的节奏。第三篇延迟工程:TTFT 三段分解(网络、排队、prefill)与输出段,流式与 UI 上的”感知延迟”、并行与预取、缓存预热、区域路由、四层超时(《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》)、p95 预算怎么分到每段、agent 的多步延迟怎么压(PTC、并行工具、级联)。第四篇安全:OWASP LLM Top 10(2025)逐条对应到前几层的机制;真实事件的链路拆解——EchoLeak(绕过 XPIA 分类器、引用式 Markdown 绕过链接脱敏、自动加载的图片、被 CSP 允许的 Teams 代理)、GitHub MCP 的跨仓库泄漏、Cursor 的三组 CVE、MCP 工具描述投毒(Microsoft 2026 年 6 月披露为架构性问题)、Slack AI;分层防御——输入过滤只是第一层,权限与沙箱(《工具、Agent 与 harness(05):权限、沙箱与安全边界》)、输出处理(链接与图片的脱敏、CSP)、来源标记、最小权限、红队持续测试;MCP 供应链(恶意 server、描述投毒、rug pull、typosquat);密钥与凭据。第五篇治理与合规:审计链(谁在什么时候让模型做了什么、依据什么——《工具、Agent 与 harness(03):agent 运行时——会话、持久化与 durable execution》的会话日志与 《评测、可观测与可追溯(06):可追溯——录制回放、决策点日志、失败分类与反馈绑定》的决策点日志)、数据保留与 ZDR(《模型作为组件(02):API 契约(一)——消息、工具调用、结构化输出与流式,四家 API 的共同骨架》的 store 与 30 天)、供应商的数据使用条款、EU AI Act 的时间表(禁止性条款 2025-02、GPAI 2025-08 起适用 2026-08 起可罚、透明与标注 2026-08、高风险 Annex III 2027-12 / Annex I 2028-08、新增禁令 2026-12)与它对应用方(deployer)的义务、中国的生成式 AI 内容标识办法(2025-09 起强制标识)、模型卡与供应商弃用周期(《模型作为组件(05):选型——榜单的失真、自己的评测集与供应商的弃用周期》)、内部的审批与责任矩阵。第六篇发布工程:《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》的门禁 → 影子 → 灰度 → 回滚在这里进入完整的发布体系——特性开关与 kill switch、版本钉住(模型、prompt、工具集、harness)、依赖变更的通知与探针、事故响应的 runbook(模型宕机、成本暴涨、注入事件、越权事件各怎么处置)、AI 功能的值班与 SLO(质量 SLO 与延迟 / 可用性 SLO 并列)。第七篇数据飞轮与物理世界:反馈 → bad case → 评测集 → prompt / 检索改进 →(数据足够时)微调(《检索与知识接入(01):进上下文还是进权重——知识类型决定接入方式》的顺序);用户数据的授权与隔离;飞轮转不起来的常见原因;物理世界的上线——影子模式 → 有限车队 → 分区域放量 → 全量,OTA 的回滚与分阶段、车队级的 A/B、远程监控与接管率指标、安全案例(safety case)——与数字世界发布的同构与差异。
系列的组织原则:每一篇都是一个上线后会出的事故的预防。没有网关 → 密钥散落与账单失控;没有成本归因 → 不知道钱花在哪;没有延迟预算 → 用户等;没有分层防御 → EchoLeak;没有审计与保留策略 → 合规事故;没有发布工程 → 改坏了回不去;没有飞轮 → 系统不随使用变好。每篇开头给那个事故,结尾给清单。
缩写
本系列的 7 个缩写(展开)
| 缩写 | 英文全称 | 中文名 | 常见读法 | 一句话 |
|---|---|---|---|---|
| GPAI | general-purpose AI | 通用人工智能 | G-P-A-I | AI Act 里的通用模型,有单独的义务 |
| MCP | Model Context Protocol | 模型上下文协议 | M-C-P | 模型调用外部工具与数据的开放协议 |
| PTC | programmatic tool calling | 程序化工具调用 | P-T-C | 让模型写代码一次调多个工具,把多轮变一轮 |
| RAG | retrieval-augmented generation | 检索增强生成 | /ræɡ/「rag」 | 先检索资料、再让模型据此回答 |
| TTFT | time to first token | 首 token 时延 | 逐字母 T-T-F-T | 从发出请求到收到第一个输出 token 的时间 |
| XPIA | cross-prompt injection attack | 跨 prompt 注入攻击 | X-P-I-A | Microsoft 对间接 prompt injection 的叫法 |
| ZDR | zero data retention | 零数据保留 | Z-D-R | 供应商不保存请求与响应内容的选项 |
为什么写这个系列?
事故是这一层的教材
2025–2026 年公开的 AI 应用安全事件足够多、足够具体:EchoLeak 是第一个在生产系统里被武器化的零点击 prompt injection,攻击链的每一环(分类器绕过、Markdown 脱敏绕过、图片自动加载、CSP 白名单里的代理)都对应一个本可以拦住它的层;Cursor 一年内三组 CVE(MCPoison、CurXecute、DuneSlide)都从”agent 读到的内容被当成指令”开始、以”写一个不该可写的文件”结束;Microsoft 2026 年 6 月把 MCP 工具描述投毒定性为架构性问题——指令与数据在同一通道,工具元数据与系统提示有同等影响力。这些不是理论,是有 CVE 号的事。
成本与合规在 2026 年同时成为硬约束
模型价格在 《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》里是一张表;在生产里它是每月的账单、每个功能的毛利、每个租户的配额。同时 EU AI Act 从”将来的事”变成”8 月 2 日起可罚”,中国的内容标识办法从 2025 年 9 月起强制——应用方要回答”这条输出是 AI 生成的吗、标了吗”、”这次决策的依据能拿出来吗”、”用户数据被供应商用于训练了吗”。
发布工程是前几层的落点
《Prompt 与上下文工程(06):prompt 当代码管——版本、评测、A/B,以及上下文 vs 检索》讲 prompt 当代码管、《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》讲门禁与灰度——它们在这一层合成一个发布体系:任何会改变模型行为的东西都是发布,都有开关、都能回滚、都有探针、都有 runbook。多数团队缺的不是某一项,是把它们连成流程。
现有材料的断层
- 安全研究(CVE、论文)讲攻击链,很少讲落到应用架构的每一层该做什么;
- 合规文章讲法条与日期,很少讲应用方具体要建什么(审计链、保留策略、标识);
- FinOps 材料讲云成本,很少讲 LLM 成本的特殊结构(token、缓存、级联、每任务);
- SRE 材料讲可用性与延迟,没有质量 SLO 与模型依赖变更这两个新维度。
本系列想填补的是从”能上线”到”上线后可靠、可控、可持续”之间的那段路。
适合哪些读者?
负责 AI 功能上线与运营的应用工程师
全部七篇。第一、四、六篇是最小必读。
平台 / SRE / 安全工程师
第一、三、四、六篇:网关、延迟、安全、发布与值班。
技术负责人与合规对接人
第二、五篇:成本的归因与预算、合规要建的东西。
做物理世界系统的工程师
第七篇:车队级的发布与数字世界的对照。
系列的整体主线
| 篇 | 主题 | 预防的事故 | 建立的东西 |
|---|---|---|---|
| 1 | 模型网关 | 密钥散落、供应商锁死、账单无归因 | 网关的七项职责与选型;自建的边界 |
| 2 | 成本工程 | 月底账单吓一跳、不知道钱花在哪 | 归因、预算、级联、缓存、层级、瘦身、单位经济学 |
| 3 | 延迟工程 | 用户等、p95 失控 | TTFT 分解、流式、并行、预热、区域、超时、agent 多步 |
| 4 | 安全 | EchoLeak、MCP 投毒、沙箱逃逸、数据外泄 | OWASP Top 10 对应表、分层防御、供应链、密钥 |
| 5 | 治理与合规 | 审计拿不出依据、数据被训练、罚款、未标识 | 审计链、保留与 ZDR、AI Act 与标识办法的应用方义务、责任矩阵 |
| 6 | 发布工程 | 改坏了回不去、依赖变了没发现、事故没人处置 | 开关、钉版本、探针、runbook、SLO、值班 |
| 7 | 飞轮与物理世界 | 系统不随使用变好;车队更新出事 | 飞轮的环与阻塞点;OTA 的分阶段与回滚 |
三条贯穿的线:
- 成本、质量、延迟、安全四个指标并列。 传统后端看延迟与可用性;AI 应用多了成本(每任务)与质量(L5 的 SLO)——四个都要上仪表盘、都要有预算、都要有告警。
- 防御在架构里不在措辞里。 每个安全事件都有”如果那一层做了就拦住了”的一层;分层防御的每一层对应前几层讲过的机制。
- 改动 = 发布,依赖也会变。 L5 的门禁在这里变成完整的发布体系,加上”供应商的变更也是你的发布”。
章节结构与分章导读
1. 模型网关:所有调用经过的一层
核心问题:网关做哪七件事?LiteLLM、OpenRouter、Cloudflare AI Gateway 一类各是什么定位?什么时候自建、网关不该做什么?2
没有网关的团队:API key 在几十个服务的环境变量里、换供应商要改每处调用、账单是一个总数、限流靠各服务自己。网关的七项职责:认证与密钥(应用拿网关的凭据,供应商 key 只在网关;轮换在一处)、路由与 fallback(按模型名 / 租户 / 功能路由到供应商,故障时按 《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》的方向性切换)、限流与配额(按租户 / 功能的 RPM / TPM / 美元预算,《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》的令牌桶在这里集中)、缓存(语义缓存要慎用——同问不同答的场景多;精确缓存对幂等查询有效;prompt caching 是供应商侧的另一件事)、成本归因(每次调用打上租户 / 功能 / prompt 版本的标签,usage 进账本——第二篇的基础)、日志与脱敏(统一的 trace 出口,《评测、可观测与可追溯(05):trace——span、OpenTelemetry GenAI 语义约定与工具选择》;PII 在这里脱敏)、供应商抽象(统一的请求形状——但推理状态、工具方言、缓存断点是供应商专属的,抽象有边界)。选型:LiteLLM(开源、自托管、百余供应商、代理与 SDK 两种形态)、OpenRouter(托管、多模型市场、按用量计费)、Cloudflare AI Gateway(边缘、缓存与限流与日志、接自己的 key)、Portkey / Helicone 一类(托管、可观测为主)、各云的网关;判据是自托管需求、延迟(多一跳)、供应商覆盖、成本归因的粒度、与 trace 的集成。自建的理由:合规(流量不出域)、特殊路由逻辑、规模成本;自建的最小集是一个反向代理加上述七项的最小版本。不该做:业务逻辑、prompt 组装、检索——网关是基础设施,不是应用层。
2. 成本工程:从账单到每任务成本
核心问题:成本怎么归因到租户 / 功能 / 版本?预算与告警怎么设?级联、缓存、Batch、瘦身各省多少?每任务成本 vs 每任务价值怎么算?3
《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》的五项成本(输入、输出、缓存读写、推理、工具)在生产里的运营。归因:每次调用带标签(租户、功能、prompt 版本、模型、会话),usage 进账本,按维度聚合——没有归因就没有优化(不知道哪个功能烧钱)。预算与告警:按租户 / 功能的日 / 月预算,接近时告警、超过时降级(切便宜模型、限流、关闭非核心功能)——这是 《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》熔断的成本版。手段与量级:级联(便宜模型先试、不确定再上贵的——《模型作为组件(05):选型——榜单的失真、自己的评测集与供应商的弃用周期》,常省 50–80%)、路由(按任务类型选模型)、prompt caching(《Prompt 与上下文工程(05):prompt caching 与上下文的排列》,输入侧 0.1×)、Batch 层级(非实时任务半价)、Flex / 峰谷(《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》)、prompt 瘦身(《Prompt 与上下文工程(02):prompt 设计——稳定的模式与不稳定的措辞》:删无效技巧与冗余示例)、输出瘦身(结构化输出、限长)、上下文预算(《Prompt 与上下文工程(04):上下文预算与压缩——给每一部分定配额,超了怎么办》:卸载与压缩)、effort 按步选档(《模型作为组件(03):API 契约(二)——推理模型:thinking、effort 与跨轮的推理状态》)、agent 的步数与预算卫士(L4)。按任务看:p50 / p95 的每任务成本,长尾任务(多步 agent)占账单的大头。单位经济学:每任务成本 vs 每任务价值(节省的人工时间、转化、留存)——决定一个功能该不该存在、该用什么模型;毛利随模型降价与使用增长的变化。FinOps 节奏:周看归因与异常、月看预算与单位经济、季看模型与供应商的重议。
3. 延迟工程:从 TTFT 到 agent 的多步
核心问题:延迟怎么分解到每一段?流式、并行、预热、区域路由各解决哪段?p95 预算怎么分?agent 的多步延迟怎么压?4
《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》的 TTFT 三段(网络、排队、prefill)加输出段(token 数 × 每 token 时间),在生产里逐段优化:网络(区域路由——就近的供应商端点、网关的位置、连接复用)、排队(供应商侧的负载;用优先级层级、避开峰值、fallback 到另一区域)、prefill(输入越长越慢;缓存命中跳过大部分——《Prompt 与上下文工程(05):prompt caching 与上下文的排列》;瘦身)、输出(限长、结构化、更小的模型;流式让用户在第一个 token 就看到东西)。感知延迟:流式 + UI 上的进度呈现(L7)比绝对延迟更影响体验;agent 的每步都推事件(《工具、Agent 与 harness(03):agent 运行时——会话、持久化与 durable execution》)。并行与预取:独立的模型调用与工具调用并行(《模型作为组件(02):API 契约(一)——消息、工具调用、结构化输出与流式,四家 API 的共同骨架》的并行工具调用、L4 的 parallel.rs);能预测的下一步预取(检索先跑)。缓存预热:新 prompt 版本上线前用一批请求把前缀写进缓存(《Prompt 与上下文工程(05):prompt caching 与上下文的排列》的第一轮全写)。四层超时(《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》)与 p95 预算的分配(用户可等 3 秒:网关 50 ms、检索 300 ms、TTFT 800 ms、输出流式)。agent 的多步:步数是延迟的主因——PTC 把多轮变一轮(《工具、Agent 与 harness(02):工具调用与 MCP——协议、tool search 与程序化工具调用》)、并行子任务(《工具、Agent 与 harness(07):多 agent——编排、handoff 与 A2A》)、级联让简单任务走短路径、后台异步交付(《工具、Agent 与 harness(08):memory 与 human-in-the-loop》)让长任务不占用户的等待。延迟与成本的取舍:更小的模型更快更便宜但质量低——三者一起看。
4. 安全:注入、供应链与数据泄漏
核心问题:OWASP LLM Top 10 各对应哪层的机制?EchoLeak、Cursor 的 CVE、MCP 投毒的攻击链各在哪一环能拦住?分层防御的每一层是什么?MCP 供应链与密钥怎么管?5
OWASP Top 10 for LLM(2025)逐条对应:prompt injection(《工具、Agent 与 harness(05):权限、沙箱与安全边界》四层 + 本篇分层)、敏感信息泄露(《检索与知识接入(04):索引、混合检索与 rerank》权限过滤、本篇输出处理)、供应链(本篇 MCP 一节)、数据与模型投毒(训练侧,算法地图)、不当输出处理(本篇:输出到浏览器 / shell / SQL 前的处理)、过度代理(《工具、Agent 与 harness(05):权限、沙箱与安全边界》最小权限)、系统提示泄露(不把秘密放 prompt)、向量与 embedding 弱点(L3 权限)、错误信息(L1 幻觉 + L7 呈现)、无界消耗(《模型作为组件(06):客户端工程——重试、超时、幂等、限流与流式解析》限流 + 第二篇预算)。事件链路拆解:EchoLeak——一封邮件 → 绕过 XPIA 注入分类器 → 指令让 Copilot 检索内部文件 → 用引用式 Markdown 绕过链接脱敏 → 图片自动加载把数据带到攻击者服务器 → 用 CSP 白名单里的 Teams 代理绕过外联限制;每一环对应一层:来源标记与分区(不信任外部邮件里的指令)、输出处理(Markdown 渲染前脱敏所有形态的链接与图片)、CSP 收紧、最小权限(Copilot 能读的范围)。GitHub MCP(2025-05)——公开仓库 issue 里的注入让 agent 把私有仓库内容写进公开 PR:跨资源的权限边界。Cursor MCPoison(工具描述里的指令)、CurXecute(写不该可写的配置文件 → RCE)、DuneSlide(2026:注入 → 写文件 → 关掉沙箱 → 任意命令,零点击,CVSS 9.8):三次都是”读到的内容 → 写不该写的文件”——工作区写权限的作用域与配置文件的保护。MCP 工具描述投毒(Microsoft 2026-06 定性为架构性):描述与系统提示同等影响力、变更不需重批——描述的 diff 与再批准、长度限制、指令形态的隔离。分层防御:① 输入侧标记来源与分区(外部内容明确标为数据)、过滤(只降概率);② 权限与沙箱(《工具、Agent 与 harness(05):权限、沙箱与安全边界》——注入让模型”想”做,四层让它做不到);③ 输出处理(渲染前脱敏链接 / 图片 / HTML、执行前检查命令与 SQL、CSP);④ 数据流控制(能读敏感数据的会话不能对外发;跨资源边界要审批);⑤ 监控与红队(L5:异常动作检测、注入用例进评测集、持续红队)。MCP 供应链:只装来源可信的 server、钉版本与哈希、描述变更再批准、server 按最小权限的独立凭据运行、隔离网络。密钥:不进 prompt、不进工作区、不进日志(《评测、可观测与可追溯(05):trace——span、OpenTelemetry GenAI 语义约定与工具选择》)、按用途最小范围、短期与轮换(PocketOS 的第一环)。
5. 治理与合规:审计、保留、AI Act 与内容标识
核心问题:审计链要能回答什么?数据保留与供应商数据使用怎么定?EU AI Act 对应用方现在要求什么、什么被推迟了?内容标识怎么做?内部的责任矩阵长什么样?6
审计链:谁(用户 / 服务)在何时让哪个模型(版本)在什么上下文(prompt 版本、检索到的文档、工具)下做了什么(输出、动作)、依据什么(决策点日志、审批记录)——《工具、Agent 与 harness(03):agent 运行时——会话、持久化与 durable execution》的会话日志与 《评测、可观测与可追溯(06):可追溯——录制回放、决策点日志、失败分类与反馈绑定》的决策点日志就是它;保留期与访问控制;能按用户导出与删除。数据保留与供应商:请求内容在供应商侧存多久(OpenAI Responses 默认 30 天、ZDR 选项——《模型作为组件(02):API 契约(一)——消息、工具调用、结构化输出与流式,四家 API 的共同骨架》;PTC 的 ZDR 兼容——《工具、Agent 与 harness(02):工具调用与 MCP——协议、tool search 与程序化工具调用》)、是否用于训练(各家的企业条款)、数据驻留(区域)、子处理者;在自己侧的保留(《评测、可观测与可追溯(05):trace——span、OpenTelemetry GenAI 语义约定与工具选择》的分级与保留期)。EU AI Act 的时间表与应用方义务:禁止性实践 2025-02-02 起;GPAI 提供者义务 2025-08-02 起适用、2026-08-02 起可罚(1,500 万欧元或 3%);Article 50 透明义务(告知用户在与 AI 交互、深度伪造标注、AI 生成内容的机器可读标记)2026-08-02 起、2026-08-02 前已上市的生成系统有到 2026-12-02 的过渡;高风险 Annex III(招聘、信贷、教育、生物识别等)推迟到 2027-12-02、Annex I(嵌入受监管产品)到 2028-08-02(Regulation (EU) 2026/1744,2026-07-27 生效);新增的非自愿私密影像与 CSAM 禁令 2026-12-02 起。应用方(deployer)的义务:按说明使用、人工监督、记录保存、透明告知、对高风险用途的基本权利影响评估(到期后)。中国:《人工智能生成合成内容标识办法》2025-09-01 起——显式标识(文本 / 图像 / 音视频的可见提示)与隐式标识(元数据),平台与服务提供者的义务。模型卡与供应商变更:《模型作为组件(05):选型——榜单的失真、自己的评测集与供应商的弃用周期》的弃用周期与 《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》的探针在治理里的位置——供应商变更要有记录与评估。责任矩阵:谁批 prompt 变更、谁批新工具 / MCP server、谁批新模型、谁看审计、谁响应事故——写下来。
6. 发布工程:开关、钉版本、runbook 与 SLO
核心问题:AI 功能的发布体系由什么组成?kill switch 与特性开关怎么用?依赖变更怎么纳入?事故 runbook 有哪几本?质量 SLO 怎么定、谁值班?7
《Prompt 与上下文工程(06):prompt 当代码管——版本、评测、A/B,以及上下文 vs 检索》与 《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》的流程在这里合成体系:什么是发布(prompt、模型 / effort、schema、工具集与描述、MCP server、检索配置、上下文参数、harness 版本、执行策略、judge——全部);特性开关与 kill switch(每个 AI 功能一个开关,能在秒级关掉或降级到非模型路径——《评测、可观测与可追溯(07):运行时可靠性与物理世界的仿真》的 fallback 最后一级;按租户 / 比例开);钉版本(模型快照、prompt 版本、工具集、harness、MCP server 的版本与哈希——浮动别名是事故来源);依赖变更(供应商的模型更新、弃用、价格变化、MCP server 更新都是”别人替你做的发布”——探针集、变更通知订阅、变更评估流程);门禁 → 影子 → 灰度 → 全量 → 监控(《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》);回滚(标签指回、确认旧版本依赖可用、会话状态兼容——加密压缩 item 不能跨模型);runbook:模型供应商宕机(fallback 链、降级、用户告知)、成本暴涨(限流、降档、查归因找源头)、注入事件(隔离、撤销凭据、审计影响范围、补防御、进评测集)、越权 / 误操作事件(回滚数据、审计链、补策略——PocketOS 的事后)、质量骤降(探针、版本 diff、回滚);SLO:可用性与延迟之外加质量 SLO(评测集分数、在线 judge、拒答率、格式失败率的目标与错误预算)与成本 SLO(每任务成本上限);值班:AI 功能的告警(质量、成本、安全事件)进值班轮转,值班手册含 runbook。
7. 数据飞轮与物理世界的上线
核心问题:飞轮的环是什么、常卡在哪?用户数据怎样合规地进飞轮?微调在飞轮里的位置?物理世界的上线路径是什么、与数字世界有什么同构与差异?8
飞轮:使用 → 反馈(隐式与显式,《评测、可观测与可追溯(04):回归与门禁——CI、供应商静默升级、A/B 与在线评测》)→ bad case 队列(《评测、可观测与可追溯(06):可追溯——录制回放、决策点日志、失败分类与反馈绑定》)→ 评测集 → prompt / 检索 / 工具 / 策略改进 → 门禁 → 发布 → 使用;数据积累到几千条真实(输入,理想输出)对时 → 微调小模型做行为优化(《检索与知识接入(01):进上下文还是进权重——知识类型决定接入方式》的顺序:微调是末端,不是灌知识)→ 成本降、一致性升。常卡的地方:反馈没有 trace id(《评测、可观测与可追溯(06):可追溯——录制回放、决策点日志、失败分类与反馈绑定》)、bad case 没有 owner、评测集不长、改进不过门禁就上线、微调数据没有质量筛选(把 bad case 学进去)。用户数据:授权(服务条款里是否允许用于改进)、隔离(租户数据不混训)、脱敏、退出机制、保留期——第五篇的合规在这里落地;企业客户常要求”我的数据不用于改进”,飞轮要能按租户关闭。物理世界的上线:影子模式(《评测、可观测与可追溯(07):运行时可靠性与物理世界的仿真》)→ 内部车队 → 有限用户 / 区域 → 分阶段放量 → 全量;OTA:分批推送、每批看指标(接管率、事件率、性能)再推下一批、可回滚(A/B 分区、保留旧版本)、地理与车型分组;车队级 A/B(同一区域两个版本对比接管率);监控:接管 / 干预率、安全事件、长尾场景的新增(《评测、可观测与可追溯(07):运行时可靠性与物理世界的仿真》的覆盖率);安全案例(safety case:结构化的论证”为什么这个版本足够安全”,附证据——仿真、封闭场地、影子数据)。与数字世界的同构:门禁 ↔ 仿真与安全案例、影子 ↔ 影子、灰度 ↔ 分批 OTA、kill switch ↔ 远程禁用、runbook ↔ 事故响应;差异:回滚的代价(车上的软件回滚有安全约束)、放量的速度(周到月而不是小时)、监管审批(部分地区的路测与部署许可)。
8. 系列总结与通关自测
一张总表回顾七篇各自回答的问题与必记的数字,逐篇的核心结论与常见误解,贯穿全系列的几条线,然后是三段自测——判断与计算、跨篇综合、面试题——加一份”读过 / 掌握 / 能教人”的判据。
贯穿全系列的实践线
本系列不设配套实验。每篇末尾有一节实践建议:
| 篇 | 实践建议的内容 |
|---|---|
| 1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
|
| 7 |
|
前置要求与说明
前置要求
- L1–L5——本系列大量引用它们的机制(成本公式、缓存、四层权限、门禁、trace);
- 后端与安全基础:反向代理、密钥管理、CSP、OAuth、SLO 这些概念不需要解释。
版本与事实基线
以 2026 年 9 月的公开材料为准:
| 来源 | 内容 |
|---|---|
| 安全事件 |
|
| OWASP | Top 10 for LLM Applications 2025 |
| EU AI Act |
|
| 中国 | 《人工智能生成合成内容标识办法》(2025-09-01 起) |
| 网关 | LiteLLM、OpenRouter、Cloudflare AI Gateway、Portkey、Helicone 的公开文档 |
| 供应商数据政策 | OpenAI Responses 存储 30 天与 ZDR;各家企业条款(引用时标日期) |
| 价格 | 沿用 《模型作为组件(04):成本与延迟的账——一次调用花多少钱、慢在哪一段》的 2026-09 价目 |
法规与供应商条款会变,文中引用时标注日期;工程上的结构(审计链、保留策略、分层防御)比日期稳定。
章节目录
- 模型网关:所有调用经过的一层
- 成本工程:从账单到每任务成本
- 延迟工程:从 TTFT 到 agent 的多步
- 安全:注入、供应链与数据泄漏
- 治理与合规:审计、保留、AI Act 与内容标识
- 发布工程:开关、钉版本、runbook 与 SLO
- 数据飞轮与物理世界的上线
- 系列总结与通关自测
最终目标
读完本系列,面对一个要上线或已上线的 AI 应用,读者应该能够:
| 追问 | 答案来自 |
|---|---|
| 调用都经过网关了吗?key 在哪?归因标签有吗? | 第一篇 |
| 每任务成本多少?哪个功能烧钱?预算与降级设了吗? | 第二篇 |
| p95 在哪一段?流式接了吗?agent 的步数压了吗? | 第三篇 |
| EchoLeak 的链在自己这里哪一环能拦住?MCP server 清单审过吗?key 在 prompt 或工作区里吗? | 第四篇 |
| 审计链能回答”谁让模型做了什么、依据什么”吗?数据在供应商那存多久?标识做了吗? | 第五篇 |
| kill switch 有吗?版本钉了吗?五本 runbook 写了吗?质量 SLO 定了吗? | 第六篇 |
| 飞轮转起来了吗、卡在哪?租户能关闭”用于改进”吗?物理系统的 OTA 分阶段了吗? | 第七篇 |
这就是 L6 要建立的能力:把一个能跑的 AI 应用变成一个可靠、可控、可持续运营的产品——在成本、质量、延迟、安全四个维度上都有预算、有监控、有预案。
-
七篇各答一问。网关:认证与密钥、路由与 fallback、限流与配额、缓存、成本归因、日志与脱敏、供应商抽象——七件事,不塞业务逻辑;LiteLLM / OpenRouter / Cloudflare AI Gateway / Portkey 按自托管、延迟、覆盖、归因粒度选,合规与流量不出域时自建(第一篇)。成本:每次调用打租户 / 功能 / 版本标签进账本,预算与告警,级联常省 50–80%、缓存输入 0.1×、Batch 半价、瘦身与 effort 分档,按任务看 p50 / p95 与单位经济学(第二篇)。延迟:TTFT 拆网络 / 排队 / prefill 加输出段逐段压,流式降感知延迟,并行与预取、缓存预热、区域路由,p95 预算分到每段,agent 用 PTC / 并行 / 级联 / 后台交付压步数(第三篇)。安全:OWASP LLM Top 10 逐条对应到各层机制,EchoLeak / Cursor CVE / MCP 投毒的攻击链在哪一环拦住,分层防御与 MCP 供应链、密钥管理(第四篇)。合规:审计链、数据保留与供应商条款、EU AI Act 时间表、内容标识、责任矩阵(第五篇)。发布:一切皆发布、每个功能一个开关与 kill switch、钉版本、依赖变更纳入、门禁 → 影子 → 灰度 → 全量、runbook 与质量 SLO(第六篇)。飞轮:使用 → 反馈 → bad case → 评测集 → 改进 → 门禁 → 发布,微调在末端;物理世界的上线路径同构但不可逆(第七篇)。 ↩
-
七件事:认证与密钥(应用拿网关凭据,供应商 key 只在网关、一处轮换)、路由与 fallback(按模型名 / 租户 / 功能路由,故障时按方向性切换)、限流与配额(按租户 / 功能的 RPM / TPM / 美元预算)、缓存(精确缓存对幂等查询有效,语义缓存慎用)、成本归因(每次调用打标签、usage 进账本)、日志与脱敏(统一 trace 出口、PII 在此脱敏)、供应商抽象(统一请求形状,但推理状态、工具方言、缓存断点是供应商专属——抽象有边界)。选型:LiteLLM(开源自托管、百余供应商)、OpenRouter(托管市场)、Cloudflare AI Gateway(边缘、接自己的 key)、Portkey / Helicone(托管、可观测为主)、各云网关;判据是自托管需求、多一跳的延迟、供应商覆盖、归因粒度、与 trace 集成。自建的理由:合规(流量不出域)、特殊路由策略、已有基础设施。不该做的:业务逻辑、prompt 拼装、重试语义的隐藏——网关是基础设施层,不是应用层。 ↩
-
归因:每次调用带租户、功能、prompt 版本、模型、会话标签,usage 进账本按维度聚合——没有归因就不知道哪个功能烧钱。预算与告警:按租户 / 功能的日 / 月预算,接近告警、超过降级(切便宜模型、限流、关非核心功能)。手段与量级:级联(便宜模型先试,常省 50–80%)、按任务路由、prompt caching(输入侧 0.1×)、Batch 层级(非实时半价)、Flex / 峰谷、prompt 瘦身(删无效技巧与冗余示例)、输出瘦身(结构化、限长)、上下文预算(卸载与压缩)、effort 按步分档、agent 的步数与预算卫士。按任务看 p50 / p95——多步 agent 的长尾占账单大头。单位经济学:每任务成本对每任务价值(节省的人工时间、转化、留存),决定功能该不该存在、用什么模型;FinOps 节奏:周看归因与异常、月看预算与单位经济、季看模型与供应商重议。 ↩
-
分解:TTFT = 网络 + 排队 + prefill,之后是输出段(token 数 × 每 token 时间)。逐段的药:网络——区域路由、就近端点、连接复用;排队——优先级层级、避峰、fallback 到另一区域;prefill——缓存命中跳过大部分、输入瘦身;输出——限长、结构化、更小的模型、流式。流式 + UI 进度呈现压的是感知延迟;并行解决独立调用的串行等待、预取解决可预测的下一步(检索先跑);缓存预热解决新 prompt 版本上线后的第一轮全写;区域路由解决网络段。p95 预算示例:用户可等 3 秒 → 网关 50 ms、检索 300 ms、TTFT 800 ms、其余流式输出。agent 的多步:步数是主因——PTC 把多轮变一轮、并行子任务、级联让简单任务走短路径、后台异步交付让长任务不占用户等待;延迟、成本、质量三者一起看。 ↩
-
逐条对应:prompt injection → L4 四层权限 + 本篇分层防御;敏感信息泄露 → L3 检索时权限过滤 + 输出处理;供应链 → MCP 一节;数据 / 模型投毒 → 训练侧(算法地图);不当输出处理 → 输出到浏览器 / shell / SQL 前的处理;过度代理 → 最小权限;系统提示泄露 → 不把秘密放 prompt;向量与 embedding 弱点 → L3 权限;错误信息 → L1 幻觉 + L7 呈现;无界消耗 → 限流 + 预算。攻击链与拦截点:EchoLeak(邮件 → 绕过注入分类器 → 让 Copilot 检索内部文件 → 引用式 Markdown 绕过链接脱敏 → 自动加载图片外传)可在输出链接处理、图片自动加载、出站域名白名单三处拦;Cursor 的 CVE 在工作区文件可被当指令、配置文件自动执行处拦——文件内容不可信、执行需审批;MCP 工具描述投毒在安装时审查描述、锁定哈希、运行时最小权限处拦。分层防御:输入过滤(只是第一层)→ 最小权限与沙箱(主防线)→ 输出处理 → 人工确认不可逆动作 → 监控与审计。MCP 供应链:来源与签名、版本与哈希钉死、权限声明审查、变更通知;密钥:不进 prompt、不进模型可见上下文、网关持有、短期凭据与轮换。 ↩
-
审计链回答:谁(用户 / 服务)在何时让哪个模型(版本)在什么上下文(prompt 版本、检索到的文档、工具)下做了什么(输出、动作)、依据什么(决策点日志、审批记录)——会话日志与决策点日志就是它,加保留期、访问控制、按用户导出与删除。数据保留与供应商:请求内容在供应商侧存多久(Responses 默认 30 天、ZDR 选项)、是否用于训练(企业条款)、数据驻留、子处理者;自己侧按分级定保留期。EU AI Act:禁止性实践 2025-02-02 起;GPAI 提供者义务 2025-08-02 起适用、2026-08-02 起可罚(1,500 万欧元或 3%);Article 50 透明义务(告知在与 AI 交互、深度伪造与 AI 生成内容标注)2026-08-02 起;高风险系统的部署者义务被数字综合法案推迟——应用方现在要做的是透明告知、内容标识、人工监督与记录保存。内容标识:元数据(C2PA)、水印、可见标注三层并行。责任矩阵:模型选型 / prompt / 评测 / 发布 / 事故 / 数据 / 合规各一个 owner,与 《生产化与运营(06):发布工程——开关、钉版本、runbook 与 SLO》的值班对接。 ↩
-
发布体系:什么算发布——prompt、模型 / effort、schema、工具集与描述、MCP server、检索配置、上下文参数、harness 版本、执行策略、judge,全部;特性开关与 kill switch——每个 AI 功能一个开关,秒级关掉或降级到非模型路径,按租户 / 比例开;钉版本——模型快照、prompt 版本、工具集、harness、MCP server 的版本与哈希,浮动别名是事故来源;依赖变更——供应商的模型更新、弃用、价格变化、MCP server 更新都是「别人替你做的发布」,用探针集、变更通知订阅、变更评估流程纳入;流程——门禁 → 影子 → 灰度 → 全量 → 监控;回滚——标签指回、确认旧版本依赖可用、会话状态兼容(加密压缩 item 不能跨模型)。runbook 至少几本:供应商故障 / 限流、质量骤降、成本异常、安全事件(注入 / 泄漏)、依赖变更。质量 SLO:任务完成率、拒答正确率、注入拦截率、judge 分数的下限加成本与延迟 SLO,有告警与值班——AI 功能的 on-call 由应用团队承担,供应商状态页只是输入。 ↩
-
飞轮:使用 → 反馈(隐式与显式)→ bad case 队列 → 评测集 → prompt / 检索 / 工具 / 策略改进 → 门禁 → 发布 → 使用;积累到几千条真实(输入,理想输出)对时才微调小模型做行为优化——微调在末端、不是灌知识。常卡的地方:反馈没有 trace id、bad case 没有 owner、评测集不长、改进不过门禁就上线、微调数据没筛质量(把 bad case 学进去)。用户数据进飞轮的合规条件:服务条款授权、租户隔离(数据不混训)、脱敏、退出机制、保留期与删除、供应商条款(是否用于训练)。物理世界的上线路径:仿真 → 封闭场地 → 影子模式 → 小范围真实部署(安全员 / 地理围栏)→ 扩大,与数字世界的门禁 → 影子 → 灰度 → 全量同构;差异在错误不可逆、回滚是物理动作、数据回流依赖传感器日志而不是用户点踩、监管前置。 ↩
地图 《AI 应用工程师学习地图》 第 6 / 7 个系列
- 模型作为组件
- Prompt 与上下文工程
- 检索与知识接入
- 工具、Agent 与 harness
- 评测、可观测与可追溯
- 生产化与运营
- 产品与体验即将发布
上一个系列:评测、可观测与可追溯下一个系列:产品与体验即将发布
本文由 arganzheng 创作,采用 CC BY 4.0 许可协议。在保留原文作者、署名以及完整原文链接(https://arganzheng.life/production-and-operations-for-ai-applications.html)的前提下,欢迎各种形式的转载、翻译或商业引用。
COMMENTS
评论存放在 GitHub Discussions, 用 GitHub 账号登录即可发表,支持 Markdown。 想针对正文某句话说?选中那段文字,点浮出的「评论」即可划线评论;觉得哪里写错了,发表时勾上「同时提交 Issue」。 有人回复你时 GitHub 会按你的通知设置发邮件,不用守在这里。