
AI SDK 的 Anthropic Provider 演进全解读从 ai-sdk/anthropic CHANGELOG 看 Claude 集成能力路线图【免费下载链接】aiThe AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents项目地址: https://gitcode.com/GitHub_Trending/ai/aiai-sdk/anthropic是 AI SDKTypeScript AI 工具包由 Next.js 团队维护中对接 Anthropic Messages API 的语言模型提供方包。本文以仓库中 packages/anthropic/CHANGELOG.md 的完整变更记录为骨架系统梳理该包从 0.0.1 到 4.0.52 的能力演进包括批处理、扩展思考、结构化输出、服务器端工具、Provider 选项体系与模型 ID 迭代并结合 anthropic-provider.ts、anthropic-language-model-options.ts 等源码给出底层实现证据。读完本文你将掌握该 Provider 的全部能力面、配置入口与升级迁移要点。当前状态v4.0.52 与 v4 时代的全景截至仓库当前快照ai-sdk/anthropic的最新发布版本为4.0.52紧随其后的 4.0.50/4.0.51 也属于同一迭代批次。近期的变化节奏呈现三个鲜明特征批处理能力快速补齐4.0.50 支持批内按请求指定模型per-request models in batch4.0.52 新增批任务的取消cancellation与列表listing能力4.0.42 引入批完成 Webhookexperimental_startTextBatch接受webhookUrl直接 Provider 在提供该选项时会返回 unsupported 警告模型 ID 持续刷新4.0.48 新增claude-fable-5-14.0.20 引入claude-opus-54.0.4 引入claude-sonnet-5与核心层provider/provider-utils解耦升级每个 Patch 版本几乎都携带ai-sdk/provider与ai-sdk/provider-utils的依赖更新说明该包始终跟随核心规格演进。依赖关系上该包基于ai-sdk/provider4.0.x与ai-sdk/provider-utils5.0.x规格版本为v4见 anthropic-provider.ts 中的specificationVersion v4。大版本节点4.0.0 与 AI SDK v7 预发布4.0.0 是 CHANGELOG 中最关键的大版本Major Changes节点标记为 Start v7 pre-release其变更对下游使用者有直接影响全面 ESM-onlyRemove CommonJS exports from all packages. All packages are now ESM-only (type: module)。使用require()的消费者必须切换到 ESMimport语法Node 版本门槛提升最低支持 Node.js 22官方支持的版本为 22、24 与 26移除 providerMetadata 中的cacheCreationInputTokens缓存创建输入 token 不再暴露在 provider metadata 中避免与新的 usage 结构冲突顶层reasoning参数核心层在generateText/streamText中新增顶层推理参数符号重命名为了让各 Provider 实现代码模式更一致重命名了部分对外导出符号旧名称通过废弃别名继续可用Provider References 抽象支持通过 provider references 上传技能skills与文件uploadFile/uploadSkill可直接接收 provider 实例。同一大版本还打包了一大批 Anthropic 专属增强claude-opus-4-8、metadata.user_id透传、新的 advisor 工具、bash 工具自动使用沙箱sandbox、inference_geo地理选项、claude-fable-5与fallbacksAPI 参数、Opus 4.7 支持以及全部 Provider 模型的工作流序列化WORKFLOW_SERIALIZE/WORKFLOW_DESERIALIZE静态方法。批处理能力从 text batch 到取消与列表批处理是 4.0.x 迭代最密集的领域CHANGELOG 记录了完整链路版本能力4.0.34新增文本批处理text batch支持4.0.42批完成 Webhookexperimental_startTextBatch支持webhookUrl4.0.43对齐跨 Provider 的批结果解析、请求计数与生命周期行为4.0.46保留原生批请求计数到 provider metadata批请求支持完整的语言模型选项面4.0.50批内支持按请求指定模型per-request models4.0.52新增批任务取消与列表从源码看批能力由 anthropic-batch.ts 实现它实现了Experimental_BatchV4接口并定义批请求 ID 的正则约束/^[A-Za-z0-9_-]{1,64}$/anthropic-batch.ts批响应 schema 包含processing_status与request_countsprocessing/succeeded/errored/canceled/expired 五类计数。在 anthropic-provider.ts 中Provider 暴露experimental_batch()工厂方法返回带{ text: AnthropicModelId }泛型的批处理器其 provider 名基于anthropic.messages派生为anthropic.batch。思考与推理thinking 参数与 reasoning 体系CHANGELOG 中关于思考的演进清晰可见1.1.10新增 Anthropic reasoning 支持ddf97403.0.x9e1e758修复未指定时使用默认 thinking budget83aaad8引入 Opus 4.5 与effortprovider 选项4.0.8修复thinking: { type: disabled }被静默丢弃的问题——此前该值被 schema 接受但不会随请求发出对默认开启思考的模型如 Sonnet 5会消耗整个max_tokens预算现在会正确转发到 Messages API4.0.21将思考 token 报告为 reasoning token 用量4.0.26通用推理启用自适应思考时返回可见的总结推理summarized reasoning4.0.31为advisor_20260301工具添加maxTokens并作为max_tokens转发以独立限制每个 advisor 子推理。对应到 anthropic-language-model-options.tsthinking选项支持三种形态{ type: adaptive }适用于 Sonnet 4.6、Opus 4.6 及更新模型可配合displayomitted/summarized/updates与blockBinding.prefixMismatchBehavior: drop_block{ type: enabled, budgetTokens }适用于 Opus 4.6 之前的模型Sonnet 4.6 仍支持预算最小 1024 token 且计入max_tokens{ type: disabled }显式关闭思考。effort顶层选项支持low / medium / high / xhigh / max五档用于控制推理投入。结构化输出outputFormat / jsonTool / auto结构化输出经历了从 beta 到原生支持的演进2.0.0 时代ad66c0e通过工具调用实现 JSON response schema 支持cdc6b7a在使用 json 输出工具时禁用并行工具调用075711d修复 json 输出工具的 stop finish reason3.0.0 时代b8ea36e引入 Anthropic 原生结构化输出cf4e2a9支持带结构化输出的工具调用1bd7d32支持工具级 strict 模式c012d57清洗不支持的 JSON Schema 校验属性87db851vertex/anthropic仅对结构化输出传 beta header4.0.0 时代d98d9ba3.0.49将废弃的output_format参数迁移到output_config.format并让 Bedrock Anthropic 模型通过output_config.format启用原生结构化输出。源码中structuredOutputMode提供三种选择anthropic-language-model-options.tsoutputFormat使用output_config.format参数、jsonTool使用特殊 json 工具、auto优先 outputFormat不支持时回退 jsonTool默认值。工具生态Provider 定义工具的完整族谱CHANGELOG 记录了 Anthropic Provider 定义工具provider-defined tools的持续扩张这是该包最具差异化价值的部分代码执行code_execution3.0.48、2025-08-25版本3.0.0 时代6f845b4返回file_id以下载输出文件80894b34.0.28 通过以原始线缆形态重放完整代码执行记录来保留 prompt-cache 命中Web 工具web_fetch/web_searchfa35e95/11e4abe/0ae783e、带日期的web_fetch_20260209/web_search_202602093.0.54、支持延迟结果3.0.21、PDF 响应与引用3.0.18、加密代码执行结果的多轮处理3.0.55文本编辑text_editor_202501241.1.13与text_editor_202507283.0.0 时代afb00e3支持可选max_characters计算机使用computer_202501243b1b69a、computer_202511243.0.25用于 Opus 4.5其他bash_202501241.1.13、memory3.0.0 时代d08308b、advisor4.0.0 时代80184804.0.31 补上 maxTokens、tool_search3.0.21。工具相关的修复也贯穿始终f13958c允许自定义 Provider 工具名称、19c5ee2重排客户端与 Provider 工具使用之间的 assistant 内容、9e35785在流式工具调用无参数时发送{}、2e45d9c4.0.9将非法工具输入包装进对象、a464505将toModelOutputprovider 选项传播到工具结果。在 anthropic-provider.ts 中这些工具通过provider.tools anthropicTools暴露统一挂在 Provider 实例上。Provider 选项体系一份完整的配置清单结合 anthropic-language-model-options.ts 的 Zod schema当前版本支持的 Anthropic 专属 provider 选项可整理如下选项类型/取值说明thinkingadaptive/enabled/disabled扩展思考配置见上文structuredOutputModeoutputFormat/jsonTool/auto结构化输出生成方式disableParallelToolUseboolean默认 false为 true 时每轮最多使用一个工具cacheControl{ type: ephemeral, ttl?: 5m \| 1h }提示词缓存控制3.0.47 起作为顶层cache_control透传metadata.userIdstring请求级外部用户标识禁止含 PIImcpServers数组MCP 服务器接入含authorizationToken与toolConfigurationcontainer{ id?, skills? }Agent Skills 配置支持anthropic与custom类型需启用代码执行toolStreamingboolean默认 true细粒度eager工具输入流式4.0.x 默认开启effortlow/medium/high/xhigh/max推理努力档位taskBudget{ type:tokens, total, remaining? }Agent 回合 token 预算仅建议性不强制speedfast/standard快速推理模式仅 Opus 4.6 支持3.0.39serviceTierauto/standard_only服务层级inferenceGeous/global推理地域4.0.0 时代09bd27bfallbacksdefault或数组服务端回退模型链4.0.20 起default模式自动加server-side-fallback-2026-07-01betaanthropicBetastring 数组自定义 beta 特性集合3.0.56 起可向下游 Provider 暴露contextManagement对象clear_tool_uses_20250919/clear_thinking_20251015/compact_20260112三类编辑sendReasoningboolean是否向模型发送推理输入此外 Provider 级设置anthropic-provider.ts包括baseURL默认https://api.anthropic.com/v1裸https://api.anthropic.com会自动归一化追加/v1、apiKeyx-api-key头默认读ANTHROPIC_API_KEY、authTokenAuthorization: Bearer头默认读ANTHROPIC_AUTH_TOKEN两者不能同时提供、headers、自定义fetch、name默认anthropic.messages。流式协议与消息处理细节CHANGELOG 中大量 Patch 记录针对流式与消息处理的细枝末节体现了该包对 Anthropic 流式协议的精雕细琢首块处理eb56fc6/589a4ee简化首 chunk 拉取03849b0在首个流 chunk 为错误时抛出 500 错误事件校验4.0.32 拒绝拼接spliced的生成内容同时允许活动消息的重复 message start 事件字段位置3.0.33 修复流式context_management字段位置——此前错误地在 delta 对象内解析API 实际返回在message_delta根级用量3.0.40 在流式时包含response.usage.raw真实原始用量3.0.28 填充outputTokens.text3.0.29 修复流式缓存用量报告finish reasoncbf52cd暴露原始 finish reason2.0.11 处理pause_turn2.0.10 将refusal映射为content-filter消息合并0.0.35 合并连续的 assistant 消息0.0.24 合并工具与用户消息、系统消息2.0.13 将tool_result内容重排到合并用户消息前部以满足 API 校验。安全与稳健性URL 校验、错误规范化与原型污染防护4.0.x 在安全侧投入显著4.0.14getFromApi增加validateUrl标志通过fetchWithValidatedRedirects拒绝私有/回环/链路本地地址逐跳重新校验重定向跨域重定向时剥离 proxy/metadata/cookie 头与调用方头自定义 API key 头不得跟随重定向离开源站新增credentialedOrigin非同源不发送调用方头与trustedOrigin自托管部署豁免目标校验同时补齐 IPv4 组播、文档网段与 IPv6 文档网段校验仅遵循 fetch 规范重定向状态码301/302/303/307/308。详见 contributing/secure-url-handling.md4.0.6同步解析 Provider JSON 输入时防止原型污染并从 provider-utils 暴露secureJsonParse4.0.43将各 Provider 的流中错误事件规范化为公共StreamProviderError实例保留 provider 自有 type/code/status/retry 与原始负载元数据4.0.1 时代1fe058b保留模型返回的错误码6fd51c0在getErrorMessage中保留错误类型前缀3.0.0 时代0e38a79支持ANTHROPIC_BASE_URL环境变量cd129544.0.14 同批拒绝空 base URL。模型 ID 与能力探测的演进模型 ID 的迭代贯穿整个 CHANGELOG0.0.22引入claude-3.5-sonnet0.0.56引入 Haiku 3.52.0.0 时代ca8aac6引入 Claude v4 系列fdff8a4修正 Claude 4 模型 ID 格式3.0.0 时代陆续加入 Haiku 4.5、Sonnet 4.5/4.6、Opus 4.5/4.6/4.74.0.0 时代加入 Opus 4.8、claude-sonnet-5、claude-opus-5、claude-fable-5/claude-fable-5-1。当前 anthropic-language-model-options.ts 中的AnthropicModelId联合类型覆盖claude-3-haiku-20240307、claude-haiku-4-5(-20251001)、claude-opus-4-0、claude-opus-4-20250514、claude-opus-4-1(-20250805)、claude-opus-4-5(-20251101)、claude-sonnet-4-0、claude-sonnet-4-20250514、claude-sonnet-4-5(-20250929)、claude-sonnet-4-6、claude-opus-4-6、claude-opus-4-7、claude-opus-4-8、claude-opus-5、claude-fable-5、claude-fable-5-1、claude-sonnet-5并保留(string {})以兼容新模型。能力探测逻辑同样值得关注21f378c在模型 ID 未知时不限制 maxTokens4c5a6be按模型设置默认与上限 maxTokens97de1984.0.18对未知模型使用默认 4096 max output token 时给出警告4.0.19 对无法识别的 Claude 模型 ID 使用当前世代能力默认值同时保留对旧 Claude 与非 Claude 模型的保守默认值4.0.49 修复带日期的 Google Vertex Claude 4 模型 ID 的能力识别。历史版本时间线从 0.0.1 到 3.x 的沉淀CHANGELOG 完整保留了从 0.0.17b8791d重命名baseUrl为baseURL并自动去除尾部斜杠至今的轨迹梳理关键里程碑0.0.x基础 Messages API 接入流式工具调用0.0.14/0.0.30 时代、toolChoice0.0.17、自动下载图片 URL0.0.18、自定义 header0.0.26、系统消息支持0.0.11、消息合并与错误流处理1.0.xAI SDK 4 对齐移除 baseUrl 与 Anthropic facade、移除 topK 模型设置、bash_20250124/text_editor_20250124、computer use 工具、图片 URL、PDF 支持0.0.54 时代的4d2e53b、提示词缓存0.0.43 的6ac355e2.0.xAI SDK 5 大版本web search 服务端支持2e13791、PDF 引用与 document sources25f3454、流式工具调用0b678b2、缓存控制a753b3a、禁用并行工具4f26d59、服务器端代码执行ae859ce、暂停轮次pause_turn、refusal 映射3.0.xAI SDK 6 betaProvider-V3/LanguageModelV3规格、Anthropic 原生结构化输出、上下文管理context_management、effort、Agent Skills9354297、MCP connector81d4308、程序化工具调用50b70d6、fine-grained tool streaming 默认开启f4e4a95、authToken认证3.0.22、ANTHROPIC_BASE_URL0e38a79、temperature/topP 互斥3.0.6/2231e84与 4.0.0 的f57c702放宽到非 Anthropic 模型。如何跟进与验证从 CHANGELOG 到源码若要验证本文所述能力或跟进后续演进仓库内提供了完整的一手材料变更记录阅读 packages/anthropic/CHANGELOG.md 全文共 3554 行覆盖 0.0.1 至 4.0.52使用入门见 packages/anthropic/README.md安装命令为npm i ai-sdk/anthropic随后import { anthropic } from ai-sdk/anthropic并配合generateText使用导出面见 packages/anthropic/src/index.ts导出anthropic、createAnthropic、AnthropicLanguageModelOptions含废弃别名AnthropicProviderOptions等实现细节Provider 工厂与认证在 anthropic-provider.ts语言模型选项 schema 在 anthropic-language-model-options.ts批处理在 anthropic-batch.ts消息元数据在 anthropic-message-metadata.ts行为佐证仓库内含大量测试与响应 fixture例如 anthropic-batch.test.ts、anthropic-language-model.test.ts以及__fixtures__/目录下的anthropic-claude-opus-5-reasoning-high.1.json、anthropic-fallback.chunks.txt、anthropic-refusal.chunks.txt等真实响应样本可直接对照验证claude-opus-5推理、fallback 流与 refusal 场景的处理逻辑。总体来看ai-sdk/anthropic的演进史是一个典型的跟随上游能力、打磨协议细节的过程每逢 Anthropic API 推出新模型或新特性思考、原生结构化输出、服务器端工具、批处理、上下文管理该包都会在短时间内跟进并提供 AI SDK 风格的统一抽象同时通过模型能力探测、参数互斥校验、流式事件校验与 URL 安全防护持续降低误用风险。对正在使用或计划接入 Claude 的 AI SDK 应用而言这份 CHANGELOG 既是升级手册也是理解 Anthropic Messages API 能力边界的最佳索引。【免费下载链接】aiThe AI Toolkit for TypeScript. From the creators of Next.js, the AI SDK is a free open-source library for building AI-powered applications and agents项目地址: https://gitcode.com/GitHub_Trending/ai/ai创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考