# 数据、工程与 LLMOps

行业落地要求把数据质量阈值、责任和修复证据写入数据合同，把 Trace/Metric/Log/Event 统一关联到任务与版本。敏感原文、系统指令和工具参数单独制定用途、采样、访问与保留；OpenTelemetry 动态字段须固定版本并验证迁移。实施细节见 [数据治理与知识工程](../14_行业基线/03_数据治理与知识工程.md)。

## AI 产品的真实架构

生产系统通常不是“前端直接连模型”：

```text
客户端
  → 身份/权限/限流/API 网关
  → AI 编排层（Prompt、路由、状态、策略）
      ├─ 模型服务
      ├─ 检索/向量库/知识源
      ├─ 工具与业务系统
      └─ 安全过滤/验证器
  → 日志、追踪、评测、监控、成本、反馈
```

模型应被当成一个会变化、会失败、可能被攻击的依赖；编排层负责控制、验证、降级和可观测。

## 数据生命周期

1. **目的与最小化**：先写用途，再决定收什么；不因“以后可能有用”无限收集。
2. **来源与授权**：自有、用户提交、采购、公开抓取、合成数据分别记录权利基础。
3. **获取与传输**：加密、鉴权、完整性、区域和跨境要求。
4. **清洗与去标识**：重复、噪声、PII、版权、恶意内容和质量问题。
5. **标注**：指南、培训、双标、仲裁、一致性和劳动者保护。
6. **版本与血缘**：能追溯每个模型/评测使用了哪份数据。
7. **使用控制**：训练、推理、评测、分析用途分离，最小权限。
8. **监控与修订**：质量、漂移、偏差和用户纠错。
9. **保留与删除**：到期删除、用户请求、备份传播和下游影响。

## 数据质量六维

- 准确性：与真实状态一致。
- 完整性：关键字段和场景不缺。
- 一致性：跨源、跨时间定义一致。
- 及时性：在任务所需时间内更新。
- 唯一性：重复不会放大特定样本。
- 代表性：覆盖真实用户、语言、设备、边界和高风险群体。

数据多不等于好。优先收集能区分方案、揭示错误和代表实际流量的数据。

## 标注项目设计

一份可用标注规范包含：任务定义、正负例、边界例、无法判断选项、证据要求、敏感内容处理、抽检与仲裁。

度量：

- 标注一致率或 Cohen’s Kappa/Krippendorff’s Alpha。
- 每类样本产能、返工率、仲裁率。
- 标注者分群差异，避免把合理价值分歧强行当“噪声”。

领域任务要让 SME 参与，但专家时间昂贵，可用主动学习或错误优先抽样聚焦最有信息量样本。

## API 基础

AI PM 至少能读懂：

- Endpoint、HTTP 方法、请求/响应、JSON、Schema。
- API Key、OAuth、服务账号、权限 Scope。
- 同步/异步、流式、Webhook、批处理。
- 状态码、超时、重试、幂等键、速率限制。
- SDK、版本、弃用政策、数据处理条款。

不要让模型自由拼接未校验参数调用高权限接口。参数经过 Schema、业务规则和权限检查后再执行。

## MLOps 与 LLMOps

MLOps 把数据、训练、部署、监控和治理工程化；LLMOps 在此基础上还管理 Prompt、上下文、检索索引、模型 API、工具和人工反馈。

### 必须版本化

- 代码与配置。
- 模型与推理参数。
- Prompt 模板与示例。
- 数据集、标注规范与切分。
- Embedding 模型、切块逻辑、索引和知识快照。
- 工具 Schema、权限策略和安全规则。
- 评测器、Rubric 和基准结果。

一个可复现结果的“版本指纹”应能指向所有这些组成。

### 发布流水线

```text
变更 → 静态/单元测试 → 离线回归 → 安全红队 → 影子流量
     → 小流量金丝雀 → 指标观察 → 逐步放量 → 复核/回滚
```

模型供应商静默更新也可能改变行为。合同和技术层面要争取版本锁定、变更通知和回归窗口。

## 可观测性

### 三层信号

- 系统：请求、错误、延迟、吞吐、可用性、资源。
- AI：输入分布、拒答、质量抽检、检索、工具、政策命中、漂移。
- 业务：任务成功、采用、节省时间、转化、投诉、风险事件。

### 单次 Trace 建议记录

在隐私与最小化前提下：请求 ID、用户/租户匿名标识、模型/Prompt/索引版本、Token、检索文档 ID、工具调用、延迟、成本、过滤结果、反馈、错误码。敏感原文应脱敏或受严格访问控制。

## 漂移

- 数据漂移：输入分布改变。
- 概念漂移：输入与正确答案关系改变。
- 知识漂移：事实/文档变旧。
- 行为漂移：模型/Prompt/依赖更新导致输出改变。
- 反馈漂移：用户行为因系统存在而改变，标签被污染。

监控漂移不等于自动重训。先判断是否影响业务和高风险切片，再决定数据、规则、检索、模型或产品流程的修复。

## SLO、降级与恢复

SLO 示例：99.9% 可用、P95 首 Token < 2 秒、P95 完成 < 8 秒、关键任务成功率 ≥ 阈值。

降级阶梯：

1. 关闭非必要增强能力。
2. 缩短上下文/限制输出/关闭昂贵工具。
3. 路由备用模型或备用区域。
4. 回退为搜索、模板、规则或只读模式。
5. 转人工或暂停高风险动作。

业务连续性不能只写“重试”。重试可能放大拥塞和重复执行，必须退避、限次并保证幂等。

## 成本工程

### 单任务成本

```text
C_task = C_model + C_embedding + C_retrieval + C_rerank
       + C_tools + C_storage/log + C_review + C_retry + C_infra
```

### 月度情景

`月成本 = 活跃用户 × 每人任务数 × 单任务成本 + 固定成本 + 峰值储备`

同时计算：

- 每个成功任务成本，而不是每次调用成本。
- 按用户/客户/功能的毛利和配额。
- 缓存命中率、重试率、人工复核率的敏感性。
- 大模型带来的质量增益是否覆盖额外成本。

## Build、Buy、Partner

评分维度：战略差异化、能力匹配、数据控制、时延区域、合规认证、可定制、集成、SLA、三年 TCO、锁定、退出和团队能力。

关键条款：数据是否用于训练、保留期、子处理者、事故通知、模型变更、服务等级、审计、知识产权、赔偿、出口/区域、终止后数据返还与删除。

## 生产就绪 DoD

- 版本可追溯，环境可复现。
- 回归、性能、安全与故障注入通过。
- SLO、告警、值班、Runbook、回滚和负责人就绪。
- 成本看板、预算告警和配额生效。
- 高风险操作有权限、确认、审计和补偿机制。
- 数据保留、删除、访问和事件响应可执行。
- 运营团队完成培训并演练至少一个严重故障。

经典工程阅读：[Hidden Technical Debt in Machine Learning Systems](https://research.google/pubs/hidden-technical-debt-in-machine-learning-systems/) 与 [The ML Test Score](https://research.google/pubs/the-ml-test-score-a-rubric-for-ml-production-readiness-and-technical-debt-reduction/)。
