
AI SDK 的 Anthropic Provider 使用指南接入 Claude 模型、配置 providerOptions 与专属工具集【免费下载链接】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 SDKTypeScript AI Toolkit中官方维护的 Anthropic Providerai-sdk/anthropic展开系统讲解从安装、Provider 实例创建、模型调用到推理thinking、上下文管理、提示缓存、批处理以及 Anthropic 专属工具集Bash、Computer、Web Search、Code Execution、Agent Skills 等的完整使用方法。读完本文你将掌握如何在generateText/streamText中接入 Claude 模型并能够根据业务场景精准配置 provider 级与模型级参数。一、Anthropic Provider 在 AI SDK 中的定位Anthropic Provider 是 AI SDK 官方为 Anthropic Messages API 中它被定义为包含「language model support for the Anthropic Messages API」的模块源码侧该包同时实现了 ProviderV4 规范下的语言模型、批处理Batch、文件Files与 Skills 接口。从源码结构看见 packages/anthropic/src/核心实现分为几大块anthropic-provider.ts负责 Provider 实例与配置anthropic-language-model.ts负责模型调用与流式解析anthropic-tools.ts导出 Anthropic 专属工具工厂convert-to-anthropic-prompt.ts/sanitize-json-schema.ts负责消息与工具 Schema 的转换anthropic-error.ts负责错误映射。这些模块共同支撑了本文后面所有配置项的落地。二、安装与最小可用示例2.1 安装Anthropic Provider 以独立 npm 包形式发布使用包管理器安装即可npm i ai-sdk/anthropic该包同时依赖ai-sdk/provider与ai-sdk/provider-utils见 packages/anthropic/package.json并声明zod为 peer 依赖^3.25.76 || ^4.1.8因此在需要为工具定义输入 Schema 时请确保项目中安装了兼容版本的 zod。提示如果你使用 Claude Code、Cursor 等编码 Agent仓库 README 建议把 AI SDK skill 加入仓库以辅助开发运行npx skills add vercel/ai即可。该命令仅面向编码 Agent 场景普通应用开发可跳过。2.2 最小文本生成示例安装完成后导入默认 Provider 实例anthropic将其与 AI SDK 的generateText组合即可发起一次完整的文本生成import { anthropic } from ai-sdk/anthropic; import { generateText } from ai; const { text } await generateText({ model: anthropic(claude-3-haiku-20240307), prompt: Write a vegetarian lasagna recipe for 4 people., }); console.log(text);anthropic(claude-3-haiku-20240307)的返回值是一个符合 AI SDK 语言模型规范LanguageModelV4的模型实例可以直接传给generateText、streamText以及结构化输出 API。模型 ID 可以是任意字符串源码中AnthropicModelId除列出常见型号外还接受string {}这意味着只要 Anthropic 侧支持你就能传入任意有效的模型标识例如claude-sonnet-4-5、claude-opus-4-6等。三、Provider 实例默认实例与自定义配置3.1 默认实例与模型别名直接导入的anthropic是一个已经用默认配置创建好的 Provider 实例源码见 anthropic-provider.ts即export const anthropic createAnthropic();。它本身是可调用函数同时提供了多个创建模型的等价别名anthropic(claude-3-haiku-20240307)—— 直接调用创建语言模型anthropic.languageModel(claude-3-haiku-20240307)—— 显式创建语言模型anthropic.chat(...)/anthropic.messages(...)——languageModel的别名此外Provider 还暴露了experimental_batch()、files()、skills()与tools等能力入口分别对应批处理、文件上传、Agent Skills 和 Anthropic 专属工具集详见后文。3.2 通过 createAnthropic 自定义实例当需要自定义接入时例如走代理、换认证方式、加自定义请求头导入createAnthropic创建实例import { createAnthropic } from ai-sdk/anthropic; const anthropic createAnthropic({ // custom settings });createAnthropic接收的可选配置项与源码中的AnthropicProviderSettingsanthropic-provider.ts一一对应配置项类型说明baseURLstringAPI 请求地址前缀默认https://api.anthropic.com/v1可改为代理服务器地址。源码中normalizeBaseURL会自动去除末尾斜杠并将裸域名https://api.anthropic.com归一化为/v1版本化地址anthropic-provider.ts同时支持通过环境变量ANTHROPIC_BASE_URL覆盖apiKeystring通过x-api-key请求头发送默认读取ANTHROPIC_API_KEY环境变量authTokenstring通过Authorization: Bearer头发送默认读取ANTHROPIC_AUTH_TOKEN环境变量headersRecordstring,string附加到每个请求的自定义请求头fetch(input, init) PromiseResponse自定义 fetch 实现可用于请求拦截、日志或测试 Mock默认使用全局 fetchnamestringProvider 名称默认anthropic.messages影响 usage/provider 标识generateId() string自定义 ID 生成函数有两点需要注意均有源码佐证apiKey与authToken二选一若两者同时在options中显式提供createAnthropic会直接抛出InvalidArgumentErroranthropic-provider.ts避免请求头冲突。自动附加请求头getHeaders()会为每个请求附加anthropic-version: 2023-06-01与ai-sdk/anthropic/{VERSION}的 User-Agent 后缀anthropic-provider.ts你无需手动处理版本头。3.3 认证方式速查方式一默认设置环境变量ANTHROPIC_API_KEYProvider 自动读取。方式二显式传apiKey。方式三使用 Bearer Token如网关类场景传authToken或设置ANTHROPIC_AUTH_TOKEN。四、模型级 providerOptions 详解Anthropic 模型支持通过providerOptions.anthropic传入模型专属参数这些参数的 Schema 定义在 anthropic-language-model-options.ts 中类型为AnthropicLanguageModelOptions。使用方式统一为import { anthropic, AnthropicLanguageModelOptions } from ai-sdk/anthropic; import { generateText } from ai; const { text, usage } await generateText({ model: anthropic(claude-opus-4-20250514), prompt: How many people will live in the world in 2040?, providerOptions: { anthropic: { effort: low, } satisfies AnthropicLanguageModelOptions, }, });下面对核心参数逐一说明。4.1 工具调用与结构化输出disableParallelToolUse(boolean默认false)关闭并行工具调用。置为true后模型每轮最多调用一个工具。toolStreaming(boolean默认true)是否启用工具调用输入与结构化输出的细粒度流式eager streaming。从源码看默认开启时每个 function 工具都会获得eager_input_streaming: true除非该工具自身显式覆盖见 anthropic-language-model-options.ts。structuredOutputMode(outputFormat | jsonTool | auto)结构化输出生成方式。outputFormat使用output_config.format参数声明输出格式jsonTool使用特殊的json工具声明输出格式auto支持时优先用outputFormat否则回退jsonTool默认。需要特别注意的是对于claude-fable-5-1auto模式默认走原生结构化输出output_config.format而该模型拒绝强制工具调用因此不要对它使用jsonTool或 required/named 工具选择来实现结构化输出。4.2 推理控制Reasoning / ThinkingsendReasoning(boolean默认true)是否把推理内容随请求发送给模型。若模型对推理内容处理有问题可置false省略。thinking(object)Claude 扩展思考extended thinking配置三种形态{ type: adaptive }适用于较新模型claude-sonnet-4-6、claude-opus-4-6及以后Claude 根据提示复杂度自动决定推理量无需预算参数。{ type: enabled, budgetTokens: number }适用于早期模型如claude-sonnet-4-5-20250929、claude-opus-4-20250514需要显式 token 预算最低 1024。注意max_tokens同时覆盖推理与最终文本Provider 会自动把budgetTokens累加到maxOutputTokens上并在已知模型的输出上限处封顶。{ type: disabled }关闭思考。针对claude-opus-4-7及以后思考内容默认以空文本形式出现display默认为omitted若需要在界面上展示推理过程可设置display: summarizedclaude-fable-5-1还支持display: updates在两个工具调用之间流式输出思考摘要Provider 会自动附加对应 beta 请求头。另外thinking还支持blockBinding.prefixMismatchBehavior: drop_block让 Fable 5.1 在思考块前缀不匹配时丢弃不匹配块以恢复生成。在代码中读取推理结果const { text, reasoningText, reasoning } await generateText({ model: anthropic(claude-opus-4-6), prompt: How many people will live in the world in 2040?, providerOptions: { anthropic: { thinking: { type: adaptive } }, }, }); console.log(reasoningText); // reasoning text console.log(reasoning); // reasoning details including redacted reasoning console.log(text); // text responseeffort(low | medium | high | xhigh | max默认high)从claude-opus-4-5引入影响思考、文本回复与函数调用的推理强度调低可省 token 并降低输出首字延迟TTLT。claude-opus-4-7、claude-opus-4-8、claude-opus-5、claude-fable-5、claude-fable-5-1、claude-sonnet-5额外支持xhigh。注意在claude-opus-5上若同时设置thinking: { type: disabled }与effort: xhigh | maxAI SDK 会把 effort 降级为high并发出警告因为 API 会拒绝该组合。4.3 性能与算力调度speed(fast | standard)仅claude-opus-4-6支持fast可获得约 2.5 倍更快的输出 token 速度。serviceTier(auto | standard_only)选择 Anthropic 服务层级。inferenceGeo(us | global默认global)控制推理运行地域us仅使用美国基础设施用于数据驻留data residency合规场景。4.4 任务预算与元信息taskBudget({ type: tokens, total, remaining? })claude-opus-4-7及以后支持告知模型本次 agentic 回合的总 token 预算帮助其规划工作并在预算耗尽前优雅收尾。它是建议性的不强制限制。total最小 20000长会话压缩重启后可用remaining携带剩余预算介于 0 与total之间缺省等于total。providerOptions: { anthropic: { taskBudget: { type: tokens, total: 400000, remaining: 215000 }, }, }metadata.userId(string)请求携带的外部用户标识应为 UUID、哈希或不透明 ID不得包含 PII。anthropicBeta(string[])需要透传的 beta 功能集合多数常用 beta 头由 Provider 自动附加仅在特殊场景手动配置。五、提示缓存Prompt CachingAnthropic 的提示缓存通过cacheControl在消息、系统消息或工具定义上打缓存断点breakpoint。在 AI SDK 中通过providerOptions.anthropic设置{ cacheControl: { type: ephemeral } }也可扩展ttl为5m默认或1h更长缓存时长见 anthropic-api.ts 中AnthropicCacheControl类型。对消息内容打缓存断点const result await generateText({ model: anthropic(claude-sonnet-4-5), messages: [ { role: user, content: [ { type: text, text: You are a JavaScript expert. }, { type: text, text: Error message: ${errorMessage}, providerOptions: { anthropic: { cacheControl: { type: ephemeral } }, }, }, { type: text, text: Explain the error message. }, ], }, ], }); console.log(result.usage.inputTokenDetails.cacheReadTokens); // cache hit tokens console.log(result.usage.inputTokenDetails.cacheWriteTokens); // cache write tokens缓存读取与写入的 token 数会通过标准usage对象的inputTokenDetails.cacheReadTokens/cacheWriteTokens返回generateText与streamText均支持。系统消息与工具也支持打断点——系统消息需以多条role: system消息放在 messages 头部工具则把cacheControl放进工具定义自身的providerOptions。局限性缓存有最小可缓存提示长度门槛短于阈值的提示即使标记cacheControl也不会被缓存。从官方文档content/providers/01-ai-sdk-providers/05-anthropic.mdx整理的门槛如下Claude Opus 4.54096 tokensClaude Opus 4.1 / Opus 4 / Sonnet 4.5 / Sonnet 4 / Sonnet 3.7 / Opus 31024 tokensClaude Haiku 4.54096 tokensClaude Haiku 3.5 / Haiku 32048 tokens六、上下文管理Context ManagementAnthropic 的 Context Management 允许在满足条件时自动清理会话上下文中的工具调用或思考内容从而优化长会话的 token 消耗。通过contextManagement.edits配置支持三类编辑策略参数 Schema 见 anthropic-language-model-options.ts6.1 清理工具调用clear_tool_uses_20250919删除历史中较早的工具调用/结果对const result await generateText({ model: anthropic(claude-sonnet-4-5-20250929), prompt: Continue our conversation..., providerOptions: { anthropic: { contextManagement: { edits: [ { type: clear_tool_uses_20250919, trigger: { type: input_tokens, value: 10000 }, keep: { type: tool_uses, value: 5 }, clearAtLeast: { type: input_tokens, value: 1000 }, clearToolInputs: true, excludeTools: [important_tool], }, ], }, }, }, });trigger触发清理的条件input_tokens阈值或tool_uses数量keep保留最近多少个工具使用clearAtLeast最少清理量clearToolInputs是否同时清理工具输入参数excludeTools永不清理的工具名列表6.2 清理思考内容clear_thinking_20251015删除较早轮次的思考块仅保留最近的contextManagement: { edits: [ { type: clear_thinking_20251015, keep: { type: thinking_turns, value: 2 } }, ], }keep可设为{ type: thinking_turns, value: n }或all。6.3 压缩compact_20260112达到 token 阈值时自动对更早的上下文生成摘要适合超长会话const result streamText({ model: anthropic(claude-opus-4-6), messages: conversationHistory, providerOptions: { anthropic: { contextManagement: { edits: [ { type: compact_20260112, trigger: { type: input_tokens, value: 50000 }, instructions: Summarize the conversation concisely, preserving key decisions and context., pauseAfterCompaction: false, }, ], }, }, }, });压缩发生时模型生成的摘要会以带特殊 provider 元数据的文本块出现在streamText的text-start事件中可通过part.providerMetadata?.anthropic?.type compaction检测在useChat等 UI 场景中摘要会作为带providerMetadata的普通文本 part 返回可据此做差异化样式渲染。生成结束后还可通过result.providerMetadata?.anthropic?.contextManagement.appliedEdits查看实际应用了哪些编辑及各自清理的 token/轮次数。七、批处理BatchAnthropic 语言模型支持通过 Message Batches API 进行异步文本生成。将 Anthropic Provider 传给 AI SDK 的 Batch API 即可获得包含轮询、持久化与结果处理的完整工作流同一个批次内允许使用不同的文本模型const batch anthropic.experimental_batch(); // 或由 AI SDK 的 Batch API 编排需要注意的批处理限制Message Batches不支持speed选项与完成 webhook显式的anthropicBeta值必须在启动批次时配置而不是在单个请求上当提供webhookUrl时Provider 会返回 unsupported 警告并以无 webhook 方式启动批次。八、Anthropic 专属工具集anthropic.toolsProvider 实例上的tools属性导出 Anthropic 提供的 provider 定义工具工厂完整清单见 anthropic-tools.ts。这些工具大多无需自写execute只需按需引入并配置参数。8.1 Bash 工具在沙箱中执行 shell 命令默认通过generateText/streamText传入的experimental_sandbox执行const result await generateText({ model: anthropic(claude-opus-4-8), tools: { bash: anthropic.tools.bash_20250124() }, experimental_sandbox: { description: A sandboxed shell environment., run: async ({ command }) ({ exitCode: 0, stdout: Executed: ${command}, stderr: , }), }, stopWhen: isStepCount(2), prompt: List the files in the current directory., });参数command必填要执行的命令、restart可选布尔值重启工具。bash_20250124为推荐版本另有旧版bash_20241022均仅部分 Claude 版本支持。8.2 Memory 工具让 Claude 使用本地持久化记忆例如文件系统const memory anthropic.tools.memory_20250818({ execute: async action { // Implement your memory command execution logic here }, });8.3 Text Editor 工具提供文件查看与编辑能力const tools { str_replace_based_edit_tool: anthropic.tools.textEditor_20250728({ maxCharacters: 10000, // optional async execute({ command, path, old_str, new_str, insert_text }) { // ... }, }), } satisfies ToolSet;参数包括commandview/create/str_replace/insert/undo_edit、path绝对路径、file_textcreate 用、insert_lineinsert 用、new_str/old_strstr_replace 用、insert_textinsert 用、view_rangeview 的行范围。版本对照textEditor_20250728用于 Sonnet 4 / Opus 4 / Opus 4.1推荐textEditor_20250124用于 Sonnet 3.7textEditor_20241022用于 Sonnet 3.5textEditor_20250429已废弃。8.4 Computer 工具控制键盘与鼠标操作可用于自动化 UI 场景const computerTool anthropic.tools.computer_20251124({ displayWidthPx: 1920, displayHeightPx: 1080, displayNumber: 0, // Optional, for X11 environments enableZoom: true, // Optional, enables the zoom action execute: async ({ action, coordinate, text, region }) { // Implement your computer control logic here }, toModelOutput({ output }) { return typeof output string ? [{ type: text, text: output }] : [{ type: file-data, data: output.data, mediaType: image/png }]; }, });动作支持key、type、mouse_move、left_click、left_click_drag、right_click、middle_click、double_click、screenshot、cursor_position、zoomzoom仅computer_20251124可用。computer_20251124面向 Opus 4.5computer_20250124面向 Sonnet 4.5 / Haiku 4.5 / Opus 4.1 / Sonnet 4 / Opus 4 / Sonnet 3.7。8.5 Web Search 与 Web Fetch 工具Web Search 让 Claude 访问实时网页内容需在组织控制台开启该能力const webSearchTool anthropic.tools.webSearch_20250305({ maxUses: 3, allowedDomains: [techcrunch.com, wired.com], blockedDomains: [example-spam-site.com], userLocation: { type: approximate, country: US, region: California, city: San Francisco, timezone: America/Los_Angeles, }, });配置项maxUses最大搜索次数、allowedDomains/blockedDomains域名白/黑名单、userLocation地理位置信息提供地域相关结果。Web Fetch 允许 Claude 抓取指定 URL 内容进行分析const result await generateText({ model: anthropic(claude-sonnet-4-0), prompt: What is this page about?, tools: { web_fetch: anthropic.tools.webFetch_20250910({ maxUses: 1 }) }, });Web Fetch 额外支持citations可选开启引用{ enabled: true }、maxContentTokens限制进入上下文的抓取内容量等参数。8.6 Advisor 工具advisor_20260301让执行模型在生成过程中向更强的顾问模型请求规划或纠偏建议provider 端执行无需execute函数const result await generateText({ model: anthropic(claude-sonnet-4-6), instructions: You have access to an advisor tool backed by a stronger reviewer model., prompt: Build a concurrent worker pool in Go with graceful shutdown. Outline the design first., tools: { advisor: anthropic.tools.advisor_20260301({ model: claude-opus-4-8, maxUses: 3, maxTokens: 2048, }), }, });关键参数model必填顾问模型能力不得低于执行模型、maxUses单请求内最大调用次数超限返回advisor_tool_result_error、maxTokens单次顾问输出上限最小 1024建议 2048超出顾问模型输出上限会触发 400 错误、caching可选{ type: ephemeral, ttl: 5m | 1h }用于跨调用缓存顾问转录约 3 次以上调用时收益明显。注意顾问子推理不参与流式输出streamText中执行流会在顾问运行期间暂停。8.7 Tool Search 工具针对成百上千个工具的场景Tool Search 让 Claude 按需动态发现并加载工具避免一次性把全部工具定义塞进上下文。有两种变体toolSearchBm25_20251119自然语言 BM25 检索与toolSearchRegex_20251119正则检索。配合被搜索的工具使用providerOptions: { anthropic: { deferLoading: true } }延迟加载const result await generateText({ model: anthropic(claude-sonnet-4-5), prompt: What is the weather in San Francisco?, tools: { toolSearch: anthropic.tools.toolSearchBm25_20251119(), get_weather: tool({ description: Get the current weather at a specific location, inputSchema: z.object({ location: z.string() }), execute: async ({ location }) ({ location, temperature: 72, condition: Sunny }), providerOptions: { anthropic: { deferLoading: true } }, }), }, });如需自定义检索逻辑如基于 embedding 的语义搜索可通过工具的toModelOutput返回tool-reference类型内容块来加载对应延迟工具。九、代码执行与 Agent Skills9.1 Code Execution 工具codeExecution_20260120推荐无需 beta 头支持 Opus 4.6 / Sonnet 4.6 / Sonnet 4.5 / Opus 4.5、codeExecution_20250825支持 Python 与 Bash含增强文件操作、codeExecution_20250522仅 Bash三个版本让 Claude 在沙箱中直接执行 Python/Bash 代码const codeExecutionTool anthropic.tools.codeExecution_20260120(); const result await generateText({ model: anthropic(claude-opus-4-20250514), prompt: Calculate the mean and standard deviation of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10], tools: { code_execution: codeExecutionTool }, });需要让上传的文件进入执行容器时先通过anthropic.files()上传再在文件消息上设置containerUpload: trueanthropic-language-model-options.ts 中anthropicFilePartProviderOptions。支持 CSV、Excel、JSON、XML、图片JPEG/PNG/GIF/WebP与文本文件。9.2 程序化工具调用Programmatic Tool Calling配合代码执行Claude 可以在容器内直接编写代码调用你的工具减少多工具场景的往返延迟与 token 消耗。用allowedCallers声明允许被容器调用的工具并用forwardAnthropicContainerIdFromLastStep在步骤间传递容器 IDconst result await generateText({ model: anthropic(claude-sonnet-4-5), stopWhen: isStepCount(10), prompt: Get the weather for Tokyo, Sydney, and London, then calculate the average temperature., tools: { code_execution: anthropic.tools.codeExecution_20260120(), getWeather: tool({ description: Get current weather data for a city., inputSchema: z.object({ city: z.string() }), execute: async ({ city }) ({ temp: 22, condition: Sunny }), providerOptions: { anthropic: { allowedCallers: [code_execution_20260120] } }, }), }, prepareStep: forwardAnthropicContainerIdFromLastStep, });该能力要求claude-sonnet-4-6/claude-sonnet-4-5/claude-opus-4-6/claude-opus-4-5模型并使用codeExecution_20260120或codeExecution_20250825。容器 ID 在每步结束后可从providerMetadata.anthropic.container.id读取。9.3 Agent SkillsSkills 让 Claude 在沙箱容器中执行文档处理PPTX、DOCX、PDF、XLSX与数据分析等专项任务需要同时启用代码执行工具const result await generateText({ model: anthropic(claude-sonnet-4-5), tools: { code_execution: anthropic.tools.codeExecution_20260120() }, prompt: Create a presentation about renewable energy with 5 slides, providerOptions: { anthropic: { container: { skills: [{ type: anthropic, skillId: pptx, version: latest }], }, }, }, });内置 skill 包括pptx、docx、pdf、xlsx自定义 skill 使用type: custom并传skillId与可选version。Skills 使用渐进式上下文加载并在具备代码执行能力的沙箱容器中运行。十、错误处理与底层实现细节10.1 错误类型映射Provider 会把 Anthropic API 返回的错误类型归一化为 AI SDK 统一的错误结构映射逻辑集中在 anthropic-error.ts流式场景的映射见 anthropic-language-model.ts 的getAnthropicStreamErrorMetadataAPI 错误类型归一化 HTTP 状态码是否可重试api_error500是overloaded_error529是rate_limit_error429是request_too_large413否authentication_error401否permission_error403否not_found_error404否billing_error/invalid_request_error400否10.2 Web Search / Code Execution 的错误形态非流式generateTextWeb Search 错误以异常抛出可用try/catch捕获错误消息包含 Web search failedCode Execution 错误则以tool-error类型的结果 part 出现在result.content中。流式streamText两类错误都以error类型的 part 进入流可在result.textStream中按part.type error检测。10.3 安全分类器与回退FallbacksClaude Fable 5 对网络安全、生物、化学等领域有内置安全限制。当请求被分类器拦截时API 返回200refusal停止原因content-filterfinish reason详情在providerMetadata.anthropic.stopDetails中。为避免被拦截可配置fallbacksproviderOptions: { anthropic: { fallbacks: default }, // 推荐按拒绝类别路由到官方推荐回退模型 }也可指定显式回退链fallbacks: [{ model: claude-fable-5 }]每个条目可覆盖max_tokens、thinking、output_config、speed。回退是否生效可通过providerMetadata.anthropic.iterations中是否存在fallback_message类型条目来判断。10.4 MCP Connector可通过mcpServersprovider 选项在请求中接入远程 MCP 服务器工具调用与结果均为动态输入输出 Schema 未知providerOptions: { anthropic: { mcpServers: [ { type: url, name: echo, url: https://echo.mcp.inevitable.fyi/mcp, authorizationToken: mcpAuthToken, // optional toolConfiguration: { enabled: true, allowedTools: [echo] }, // optional }, ], }, }10.5 PDF 输入Claude 模型支持读取 PDF 文件消息内容中使用type: filemediaType设为application/pdf。既可直接传 URLdata: new URL(...)也可传 base64 Bufferdata: fs.readFileSync(...)。十一、模型能力速查不同 Claude 模型对各类能力支持不一下表汇总常见模型的差异化能力来源content/providers/01-ai-sdk-providers/05-anthropic.mdx模型图像输入结构化输出工具使用Computer UseWeb SearchTool SearchCompactionclaude-opus-5/claude-sonnet-5/claude-fable-5-1/claude-fable-5✓✓✓✓✓✓✓claude-opus-4-8/claude-opus-4-7/claude-opus-4-6✓✓✓✓✓✓✓claude-sonnet-4-6/claude-opus-4-5✓✓✓✓✓✓claude-haiku-4-5✓✓✓✓✓claude-sonnet-4-5✓✓✓✓✓✓claude-opus-4-1/claude-opus-4-0/claude-sonnet-4-0✓✓✓✓✓表内仅列出常用模型完整模型清单以 Anthropic 官方为准同时你也可以把任意有效的模型 ID 以字符串形式传入 provider。十二、总结ai-sdk/anthropic通过统一的 Provider 规范将 Claude 的 Messages API 完整接入 AI SDK 生态默认实例开箱即用createAnthropic支持代理、双认证方式与自定义请求头模型级providerOptions覆盖推理控制、effort 调度、任务预算、数据驻留、结构化输出等进阶能力anthropic.tools则提供了 Bash、Computer、Web Search、Code Execution、Agent Skills、Tool Search、Advisor 等一批 provider 定义的专属工具配合上下文管理、提示缓存与批处理足以支撑从简单文本生成到长程 Agent 的全场景开发。如需进一步阅读源码级实现可参考以下仓库路径Provider 配置与实例创建packages/anthropic/src/anthropic-provider.ts模型选项 Schema 定义packages/anthropic/src/anthropic-language-model-options.ts语言模型调用与流式解析packages/anthropic/src/anthropic-language-model.ts专属工具工厂清单packages/anthropic/src/anthropic-tools.ts错误映射packages/anthropic/src/anthropic-error.ts官方完整文档打包时随包发布content/providers/01-ai-sdk-providers/05-anthropic.mdx【免费下载链接】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),仅供参考