模块 X — 模型与提供方管理
模块 X 治理整个 AI 模型与提供方栈——Claude、OpenAI、Gemini 与本地推理,而不仅仅是某一家厂商。 它是一个 Core(核心)层模块,位于模型/提供方 connector(连接器)之上:它不会重新实现任何 提供方集成,也不会重新实现推理网关。它所拥有的是治理层——一个版本化的目录、一份跨厂商的能力 矩阵,以及具名的路由策略。
该模块把 inventory(清点,模块 I)所发现的裸 Provider/Model 实体,变成一个受治理的目录。
分为两半:
- 一份声明的参考目录——一张在仓库中版本化、可由操作员覆盖的模型族表,附带它们所声明的 API 特性
能力与列表价(list-price)默认值。价格会被打上其声明日期的戳记(
pricing_as_of),并明确标注 为需对照各提供方定价页核实的默认值,绝不是被捏造的遥测数据。一个没有匹配条目的模型族会保持 未定价(unpriced),而不是被赋予一个杜撰的价格。 - 对实时 estate 的丰富——该模块监听
cost.sampled流,并用模型族、上下文 窗口、模态、每 token 定价与能力集来丰富所发现的Model/Provider实体(inventory 将这些定价 字段交由它处理)。
能力词汇表是一份跨厂商矩阵——完整的 Claude 栈(prompt caching、batch、Files、citations、
extended thinking、computer use、memory 工具、context management、vision/PDF、structured outputs),
外加其他每家厂商实际暴露的对应能力——因此 UI 渲染单一矩阵,而一项路由策略可以跨厂商要求某项能力。
Claude 模型族按族编目(claude-opus、claude-sonnet、claude-haiku、claude-fable、claude-mythos),已弃用/遗留版本保留在更长的
前缀下,从而使当前 id 解析到当前的价格档位。
它的契约与实体
Section titled “它的契约与实体”路由是其执行面,且它是**仅路由(routing-only)**的:
- 路由策略持久化在核心
Policy实体上(Kind="routing"):具名的选择 / 回退 / 版本锁定策略 (最便宜优先、最低延迟、按能力排序,或一个锁定的模型)。POST …/routing-policies/{id}/resolve会针对受治理的 estate 解析一项策略,并返回一条 主选 + 回退链,附带做出该选择的原因。这是 只读的:它计算出一个选择,随后由 connector/网关执行——该模块不执行任何推理。 - API-key / 工作区治理是仅最小化数据的元数据——哪个智能体或团队使用哪个凭据,以一个掩码提示 携带,绝不含密钥的实际值。
- 一份只读的 Anthropic 速率限制清单(网关或代理必须保持同步的上限)作为一个可查询的清单被提供; 它绝不是该模块会变更的控制项,并且当只读的 Admin connector 未被预置时,它会降级为一个诚实的 *附原因的不可用(unavailable-with-reason)*响应。
目录与特性读取不敏感,门控在 viewer(查看者)档位;路由与密钥治理变更是一项 editor(编辑者)档位、 被审计的更改;而受治理执行路径是一项 admin(管理员)档位的操作,与读取档位的 resolve 截然不同。 这些路由发布于独立的 beta 模块路由参考中,而非稳定核心契约; 它们的字段级形态存在于产品的有类型接口中。
它消费什么、产生什么
Section titled “它消费什么、产生什么”该模块从事件总线消费 cost.sampled,以真实的每 token 定价与用量来丰富
目录;它不会引入新的观测类型。在受治理执行路径上,一次成功的调用会向 FinOps 产生一份已脱敏的
CostSample——模型输出会发给调用方,但在此处不会被持久化到任何地方。金额从不出现在这个面上:
不返回任何 USD 数额,只返回 token 计数与所服务的目标。