AI SDK 7.0.155 移除类型可保证输入的重复运行时校验
AI SDK 7.0.155 于 10 月 27 日发布:文本与对象生成不再逐步用 ModelMessage schema 重验消息历史,并移除多类可由 TypeScript 保证的形状检查,以降低长对话和多步骤运行中的线性开销。
为什么值得关注
生成式 UI 与工具代理会在每一步反复携带聊天、工具和界面状态。若运行时每次遍历全部消息历史,校验本身会随历史增长并在每个步骤重复,成为模型调用之外的本地延迟。
技术细节
streamText、generateText、generateObject 与 streamObject 不再对消息执行 ModelMessage schema 校验;调用设置、steering 消息、tool caller 配置、smoothStream chunking、streamSpeech 文本输入、decide 状态/问题形状和 batch 版本的重复类型检查也被移除。提交用 2,201 条消息和即时返回的模拟模型测得:streamText 首步约从 74.5ms 降至 0.39ms,11 步约从 456.7ms 降至 3.9ms,单消息 generateText 基本不变。整数范围、非空集合、未知键,以及 decide JSON 中的非有限数、循环和数组空洞等 TypeScript 无法表达的约束仍会校验;空消息和 messages 中的 system 消息限制也保留。
适合哪些读者
运行长对话、多步骤工具循环、生成式 UI 状态历史并负责 TypeScript 与不可信数据边界的团队
原始来源
- Vercel AI SDK official release and implementation commit ↗github.com
- Runtime-validation removal, tests, docs and benchmark ↗github.com
修订与更正记录 (1)
— Official release and implementation commit establish the validation removal, retained constraints, caller migration boundary and maintainer benchmark.