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

S80:组件复用图:Generator、Registry、Runtime、MCP、Trace 与 HITL

复用不是把旧文件引入新项目,而是确认旧组件的 contract、state、failure、security 和 evidence 语义与新案例一致,并显式记录哪些部分可原样使用、需 adapter 或不应复用。

2027-02-10

内容类型:预习教材(不代表已完成)
日期:2027-02-10
阶段:P2 · AI Systems Engineering 90
总路线:Day 170
周次节奏:W12 · 周三引导练习
状态:教材已备;学习未完成

一句话定义

复用不是把旧文件引入新项目,而是确认旧组件的 contract、state、failure、security 和 evidence 语义与新案例一致,并显式记录哪些部分可原样使用、需 adapter 或不应复用。

学习目标

  1. 从 generator、registry、runtime、MCP、trace、HITL 中选最多 2~3 个现有组件。
  2. 为每个组件写 purpose、inputs/outputs、state、dependencies、failure、permissions 和 evidence。
  3. 将 reuse 分类为 direct、adapter、pattern-only、do-not-reuse,避免隐式假设进入新路径。

核心知识

Generator 的可复用语义不只是函数参数,还包括 prompt/template version、model/provider、decoding、structured output schema、timeout、retry 和内容处理。Registry 应记 artifact identity、version/hash、lineage、stage/status 与 compatibility,不应被简化为一个名称到文件的 map。

Runtime 负责调度、state、tool calls、timeouts、retries、cancellation 与 result assembly。复用 runtime 时要问它的恢复语义是什么:进程重启后是从 checkpoint 继续、重放事件还是全部重跑?外部工具若已执行,重跑是否会重复副作用?

MCP 提供 client/server、resources、prompts、tools 等协议原语,但不自动提供业务授权、最小权限、数据 purpose 或 human approval。复用 MCP server 前需检查 tool description/schema、credential boundary、egress、超时、错误与日志。Trace 需 correlation、span hierarchy、release/artifact id 和数据最小化,不应将所有原文作为便捷 debug 信息。

HITL 不只是 await approval,还需 queue、risk tier、evidence snapshot、decision rights、timeout/fallback、override 和 appeal。如果新案例的决定权或时限不同,只复用 UI 可能传递错误语义。

复用审查的关键产出是差异表,而不是依赖列表。每个组件写原始假设、新案例条件、差异、adapter/control 与尚未验证事项。

机制与推导

可将复用可行性写成:

reuse_fit = contract_fit ∩ state_fit ∩ failure_fit ∩ security_fit ∩ evidence_fit

只要一项不匹配,就需 adapter、降级为 pattern-only 或不复用。复用节省的不只是代码时间,还包括已理解的 failure/evidence;但旧假设若没被显式化,也会将 hidden coupling 带入新项目。

最小练习或观察

  1. 从仓库现有资产选 2~3 个组件,不因“已经有”就全部加入。
  2. 每个组件填一张 contract card:purpose、I/O、version、state、failure、permissions、observability。
  3. 填 direct/adapter/pattern-only/do-not-reuse 和理由,至少标一个不复用部分。
  4. 若实际连接,只连入 S79 的一条路径;未运行时只画 adapter 边界。
  5. 产出“复用了什么 / 未复用什么 / 为什么”清单,不追求复用率。

常见误区与边界

  • 同语言、同接口或同仓库就认为语义可复用。
  • 只检查 happy path,没有检查 retry、timeout、重复副作用和恢复。
  • 把 MCP 协议互操作性等同于授权与安全。
  • 为提高复用率而添加不需要的 registry/runtime/platform 层。
  • “代码存在”不等于它已运行、已验证或适合当前案例。

系统 / 金融 / Web3 连接

同一 HITL 组件从普通文档摘要迁移到可疑交易报送时,decision rights、SLA、证据快照和 appeal 必须重新定义。Web3 中,通用 tool connector 可复用连接和 schema 模式,但涉及签名的权限、预览、人工确认和 chain-specific 验证不应从只读工具直接继承。

自检问题

  1. direct reuse 需要哪五类 fit?
  2. MCP 解决的是什么,明确不解决什么?
  3. 为什么复用清单必须包含“未复用”?
  4. 哪个旧假设最可能在新案例中成为 hidden coupling?

专业课程对齐

  • Model Context Protocol 文档:精读 architecture、clients/servers、tools/resources 与 security/trust 边界,校准 MCP 组件复用。
  • OpenTelemetry Documentation:精读 context propagation、traces、metrics/logs 和 semantic conventions,审查 trace 组件的通用与领域属性。
  • MLflow Documentation:选读 tracking、artifacts、registry 和 lineage,将 registry 从简单文件表提升为版本与证据语义。

深入学习提示

不要通读三份文档。你选了哪个组件,就主读对应官方材料,其他只用于检查跨层接口。阅读后必须能新增一条 contract/failure/security 差异,否则不需将该材料写入笔记。

学后填写区

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