《互联网产品的 AI 架构·模型接入与能力边界》6.2 上下文预算与裁剪
「回声」摘要功能把历史、检索结果和工具输出一次性铺满窗口,提供方从尾部截断时把 system 规则一起切掉,模型开始编造。本节把上下文分成 system、历史、检索、工具四类,给出类别上限与全局裁剪顺序,并用可运行的 TypeScript 实现确定性预算规划与测试。
tag
「回声」摘要功能把历史、检索结果和工具输出一次性铺满窗口,提供方从尾部截断时把 system 规则一起切掉,模型开始编造。本节把上下文分成 system、历史、检索、工具四类,给出类别上限与全局裁剪顺序,并用可运行的 TypeScript 实现确定性预算规划与测试。
「回声」把运营活动文案整段塞进 system 后,智能回复开始复读活动、忽略用户问题。本节由此说明提示为什么是产物而不是字符串:模板、变量声明、版本、所有者与评审缺一不可,并用可运行的 TypeScript 实现受限模板语法、编译期变量校验与严格渲染,最后复盘一次靠记忆改提示的事故。
从一次首帧后自动重试导致回复重复的事故出发,把流式错误分成首帧前与首帧后两段,给出协议内错误事件与连接断开的分工、可测试的重试决策函数,并用 node --test 验证重试上限、不可重试错误、续传位置与客户端呈现,以及首帧后失败的界面取舍。
从用户切走私信页的瞬间出发,说明流式链路为什么需要背压、取消信号与半截响应的收敛,给出有界异步队列与流式控制器的完整 TypeScript 实现,并用 node --test 验证队列容量、背压挂起、取消时机、断流收敛、保底计量与成本漏记。
从「回声」私信智能回复的首字延迟出发,拆解提供方、网关、BFF 与客户端四段流式链路,逐字节给出统一 StreamEvent 协议与增量翻译管线代码,用 node --test 验证首帧、增量、计量与结束帧的顺序不变量,并复盘一次直接透传厂商流的事故。
路由必须回答两个问题:为什么选它,以及为什么没选它。本节把路由决策翻译成稳定代码的解释行与排序表,再给出按租户和按请求两种确定性灰度方式,用基点与哈希保证同一租户或同一请求的结果可复现,并说明灰度目标为何必须在候选内提升,以及解释如何用于故障复盘,附完整测试。
在五维路由之上实现可测试的候选筛选与排序:按能力、区域、上下文、输出上限和延迟先排除,再按档位优先级与加权分数排序,并用熔断状态处理健康回退与冷却后的半开再进入,最终给出确定性的 TypeScript 路由器、可审计的拒绝原因与六组完整测试。
从「回声」的三类 AI 调用出发,把多模型路由拆成任务、租户、区域、成本与健康五个维度,说明哪些事实该由业务侧声明、哪些必须由网关实时掌握,并用可运行的 TypeScript 规划器与审计函数把维度主权固定下来,最后复盘一次便宜模型把长文摘要截断的事故。
用 node:http 从零实现一个可运行的模型网关:POST /v1/chat 同时支持非流式 JSON 与 SSE 流式,认证、校验、执行由阶段组合器串联,测试在 127.0.0.1:0 上真实监听端口,并断言 HTTP 状态、响应体与每一帧事件。
业务方不该为每家模型提供方写一套错误处理。本节把网关对外的请求、响应与错误收敛成一套契约,逐字段说明能力、预算、用量与降级,解释提供方错误码为什么必须留在网关内部,并给出按契约实现、可确定性测试的 mock provider,作为 3.3 实验的提供方基座。
「回声」同时服务主站与两个合作方后,密钥、配额、重试与审计散落在业务代码里。本节给出模型网关的职责判据,区分必须收进来的公共策略与必须留在业务层的语义,并用可运行的阶段组合器把认证、配额、执行与收尾串成一条可观测链路,同时说明哪些逻辑一旦放进来就会形成新的耦合源。
多模型并存不是架构失败,而是能力覆盖、质量分层、区域合规与供应关系共同作用的常态。以「回声」的三个模型与四个能力为例,说明能力覆盖矩阵、冗余度与单提供方风险如何计算,给出缺口分析的 TypeScript 实现与测试,并讨论组合治理节奏与降级路径。
解释模型榜单为什么不能直接决定选型,并以「回声」的智能回复、内容审核与搜索重排为例,给出硬约束过滤、加权评分与并列处理的 TypeScript 实现,划分离线评测集与在线 A/B 各自负责的问题,附可运行测试与矩阵维护方法,说明选型结论何时会过期。
从「回声」智能回复的选型争论出发,把模型能力拆成质量、延迟、成本、上下文与可控性五个维度,说明每个维度的产品口径与常见误读,并用 TypeScript 实现档案校验、混合成本折算与统一打分,附可运行测试,讨论五个维度在预算约束下如何互相换算。
ai-lab 把「回声」的五个能力写成一份可校验清单:智能回复、搜索重排、长文摘要、审核分类、客服辅助,每个能力都固定输入输出、质量下限、延迟与成本预算和失败语义;本节给出清单校验器的可运行 TypeScript 实现与测试,并说明后面十二章如何围绕这份清单展开。
「回声」一次能力盘点列出了智能回复、搜索重排、脱敏、退款审批等候选任务,本节用确定性、可验证性、容错成本、数据敏感度四个判据把它们收敛成规则、模型、人工三选一,并附可运行的 TypeScript 判据函数与测试,复盘一次用模型做手机号脱敏导致的漏判事故。
「回声」把智能回复当成模型演示上线后连续踩坑,本节由此区分模型调用与产品能力,把输入、输出、质量、延迟、成本、失败语义写成六面契约,并用可运行的 TypeScript 类型与测试固定下来,说明为什么能力标识、微元成本、剩余预算和降级原因必须在编码前谈清楚。
《互联网产品的 AI 架构·模型接入与能力边界》的完整目录与学习路径:13 章 39 节从能力契约、模型选型、网关、路由、流式、提示、结构化输出,讲到延迟成本、缓存、降级、安全、观测与卷一收口;附三卷分工、三条阅读路径、实验工程与读完应能回答的十二个问题。
交代卷一的读法:13 章怎样分工、每章的四段式结构、ai-lab 的模块地图与三级验证、Node 26 的代码约定、章间依赖、数字口径与团队用法;另附三个动手练习、自检清单与每章产出物,帮助读者把“会调模型”推进到“能对产品承诺一项能力”。
从《互联网产品的服务端架构》与《互联网产品的客户端架构》结束的地方出发,说明为什么把模型接进产品会变成一个架构问题:能力契约、网关边界、失败语义、降级与计量缺一不可;并交代本卷的四个判断、适用读者、与站内专题的分工,以及代码、版本与数字口径。