返回 S01~S90 教材库
S79 · 总 Day 169教材已备 ≠ 学习已完成

S79:最小跨层连接:Data→Runtime、Runtime→Trace 或 Eval→Release Record

最小跨层路径不是让两个模块“能调用”,而是用一个明确 contract、correlation id、失败语义和可观测证据,说明数据或状态如何穿过 2~3 层。

2027-02-09

内容类型:预习教材(不代表已完成)
日期:2027-02-09
阶段:P2 · AI Systems Engineering 90
总路线:Day 169
周次节奏:W12 · 周二最小实现
状态:教材已备;学习未完成

一句话定义

最小跨层路径不是让两个模块“能调用”,而是用一个明确 contract、correlation id、失败语义和可观测证据,说明数据或状态如何穿过 2~3 层。

学习目标

  1. 从 data→runtime、runtime→trace、eval→release record 中选一条,只实现最小 happy path 和一个 failure path。
  2. 定义 schema、version、idempotency/correlation、timeout、error 和 provenance,不用隐式字符串约定。
  3. 能用一条 trace/event 重建哪个输入、哪个版本、哪个结果经过了该路径。

核心知识

Data→runtime 路径的 contract 至少含 data/artifact id、schema version、content hash、classification、purpose、created_at 与 expiry。runtime 不应只接收原文,而要检查版本、用途和数据新鲜度。如果 artifact 已过期或 hash 不符,应返回可区分的 stale/tampered 错误,而不是通用“模型失败”。

Runtime→trace 路径要在 request root 下关联 model call、retrieval、tool、policy、human escalation 和 result。trace 不应无限写 prompt/文档原文,应优先记 hash、size、classification、version、latency、token/cost 与 error category,对敏感内容使用受控引用。correlation id 应穿过 async boundary,但不应携带客户 PII。

Eval→release record 路径要将 run identity、candidate/baseline bundle、dataset/scorer version、metrics/slices、status 和 artifact links 映射到发布记录。发布记录不应只复制结果数字,而要引用 immutable eval artifact,防止后续重跑覆盖当时证据。planned、running、completed、failed 要分开,失败运行不应被默默排除。

无论选哪条路径,都只需一个端到端样例。端到端不意味着经过所有层,而是选定范围内从输入到可观察输出不靠人工揣测。

机制与推导

接口可写成 envelope:

{messageId, correlationId, causationId, schemaVersion, producer, producedAt, payloadRef, classification, purpose}

消费者在写入副作用前用 message/idempotency key 去重。超时不等于失败:上游未收到回应时,下游可能已完成,所以重试必须幂等,状态不明时需 query/reconcile 而非盲目再执行。学习路径可用 no-op 或内存存储模拟,不需真实消息中间件。

最小练习或观察

  1. 选一条路径,写输入、输出、schema、错误、幂等/correlation 和不保证的事项。
  2. 用一个合成样例走 happy path,保存 id/version/hash 而非敏感原文。
  3. 从 stale data、timeout、duplicate message、eval failure 中选一个 failure,写预期错误类别和处理。
  4. 若运行,检查一个 correlation id 能否找到全路径;若未运行,只保留 sequence 设计。
  5. 不加第二条路径、不安装平台,连通一条就停止。

常见误区与边界

  • 模块能相互调用就称为完整路径,没有 schema、version 和 failure semantics。
  • correlation id 中嵌入客户账号、邮箱或钱包地址,扩大日志泄露。
  • timeout 后无条件重试可写工具,制造重复工单或交易。
  • 为可观测而在 trace 记录全部 prompt、文档与 tool output。
  • 本路径只证明合成范围内的接口理解,不证明生产可靠性。

系统 / 金融 / Web3 连接

文档调查可将 artifact id、case-purpose 和 evidence version 传给 runtime,但 trace 只记受控引用。Web3 可将 simulation result 作为有 expiry 的 artifact 传给预览 runtime;如果进入签名前已过期,必须重新 simulation,不能使用旧结果。

自检问题

  1. 跨层路径为什么同时需 schema version 和 correlation id?
  2. timeout 为什么不能被简单解释为下游未执行?
  3. trace 应记哪些元数据,哪些内容应留在受控存储?
  4. 你的一个 failure path 是否会被明确分类和处理?

专业课程对齐

  • OpenTelemetry Documentation:精读 context propagation、traces、metrics/logs 和 resource attributes,映射 correlation 与跨层证据。
  • Temporal Documentation:精读 durable workflows、activities、retries、timeouts 与 idempotency 边界,校准 failure path。
  • MLflow Documentation:选读 runs、artifacts、tracking 与 registry,用于 eval→release record 路径的 immutable evidence reference。

深入学习提示

选 runtime→trace 就主读 OTel,选超时/重试就主读 Temporal,选 eval→release 就主读 MLflow;其余只查概念。不要为了“专业”同时引入三个运行时,将当前路径的 contract 和 failure 说清就足够。

学后填写区

  • 选择的跨层路径:
  • contract / envelope:
  • happy path / failure path:
  • 实际观察(未运行留空):
  • 明确不保证的事项:
重点主线 · H04 · AI 开发完整工作流本周配套机制实验 · W12 · 综合连接:一条可解释的本地学习链路 →详细讲义、离线示例与源码;按需要选读,不新增必交任务。
本页是未来 P2 的预习教材。等 P1 完成并正式进入 P2 后,再填写真实理解、练习结果和不确定项;现在阅读不会改变P1 唯一进度账本