网易首页 > 网易号 > 正文 申请入驻

Claude 上车苹果生态

0
分享至

大家好,我是 Ai 学习的老章

WWDC26 刚结束,Anthropic 就放了个大招——Claude 正式接入 Apple Foundation Models 框架,iOS/macOS 开发者现在可以用同一套 API无缝切换设备端模型和 Claude 云端大脑了

以前你想在 App 里接 Claude,得自己封装 HTTP 请求、处理流式响应、搞 JSON 解析,一堆脏活累活

现在 Anthropic 出了一个 Swift 包ClaudeForFoundationModels,直接让 Claude 符合 Apple 的LanguageModel协议,用LanguageModelSession就能调用,跟调用本地模型一模一样

这波操作,属于是 Claude 主动上车苹果生态

这个包是什么

ClaudeForFoundationModels是 Anthropic 官方出品的 Swift Package,核心作用就一个:让 Claude 成为 Apple Foundation Models 框架里的一个"服务端语言模型提供者"


Apple Foundation Models 框架

写 SwiftUI 应用时,原来怎么调 Apple 自带的设备端模型,现在就怎么调 Claude。API 完全一致,开发者心智负担为零

几个关键事实:

  • 请求直接从你的 App 发到 Claude API,Apple 不在请求链路上,不会看到你的 prompt 和响应

  • 按 Anthropic 标准 API 计费,走的是你自己的 Anthropic 账户

  • 你的 App 可以灵活决定什么时候用本地模型(快速、隐私、离线),什么时候升级到 Claude(大上下文、强推理、服务端工具)

系统要求
  • iOS 27 / macOS 27 / visionOS 27 / watchOS 27(全部 Beta 阶段)

  • Xcode 27 Beta

  • Anthropic API Key(开发用)

注意,这些系统版本目前都在 Beta,正式版预计今年秋天随新系统一起推出

安装

两种方式,都很简单

方式一:Package.swift

dependencies: [
.package(url: "https://github . com/anthropics/ClaudeForFoundationModels.git", from: "0.1.0")
]

方式二:Xcode 图形界面

File → Add Package Dependencies → 输入仓库 URL 搜索添加就行

然后在代码里 import 两个模块:

import FoundationModels
import ClaudeForFoundationModels
快速上手

来看最简单的用法,5 行代码搞定一次 Claude 调用:

import FoundationModels
import ClaudeForFoundationModels

let model = ClaudeLanguageModel(
name: .sonnet4_6,
auth: .apiKey(ProcessInfo.processInfo.environment["ANTHROPIC_API_KEY"] ?? "")
)

let session = LanguageModelSession(model: model)
let response = try await session.respond(to: "Plan a 4-day trip to Buenos Aires.")
print(response.content)

看到没?LanguageModelSession是 Apple 框架的原生类型,你传入ClaudeLanguageModel就用 Claude,传入SystemLanguageModel就用本地模型。一行代码切换,架构层面零改动

这个设计太优雅了,比自己封装 URLSession 调 Messages API 不知道高到哪里去

模型选择

通过ClaudeModel枚举值来指定模型:

ClaudeLanguageModel(name: .opus4_8, auth: auth)   // Opus 4.8
ClaudeLanguageModel(name: .sonnet4_6, auth: auth) // Sonnet 4.6

枚举常量直接映射 API model ID,比如.opus4_8对应claude-opus-4-8。新模型会随包更新加入

如果你想试验还没正式编译进去的新模型,也能手动声明能力:

let model = ClaudeModel(
id: "claude-experimental-x",
capabilities: .init(effortLevels: [.low, .high], structuredOutput: true)
)
ClaudeLanguageModel(name: model, auth: auth)
Effort Level:精细控制推理深度

这是个很实用的功能——你可以钉死一个 effort level,让每次请求都用固定的推理强度:

ClaudeLanguageModel(name: .opus4_8, auth: auth, fixedEffort: .xhigh)

五档可选:low、medium、high、xhigh、max

Apple 框架自带的 reasoning level 会自动映射:.light→ low,.moderate→ medium,.deep→ high。但如果你想上xhigh或max,就得用fixedEffort显式指定,因为框架的级别最高只到 high

什么时候用 Claude,什么时候用本地模型

这其实是这个包最核心的设计哲学:

下面这张架构图可以帮助理解整体设计思路:


Claude for Foundation Models 架构示意

场景

原因

快速响应、隐私敏感

本地模型

零延迟、数据不出设备

大上下文窗口

Claude

本地模型上下文有限

复杂推理

Claude

前沿推理能力

需要联网搜索

Claude

服务端工具支持

离线场景

本地模型

无需网络

因为两者共享同一套LanguageModelSessionAPI,切换只需要换model:参数,甚至可以做运行时动态降级——Claude 限流了就自动回退到本地模型

认证方式

开发阶段:直接用 API Key

ClaudeLanguageModel(name: .sonnet4_6, auth: .apiKey("YOUR_API_KEY"))

⚠️ 注意:打包到 App 里的 Key 可以被人从二进制文件里提取出来,千万别在正式发布的 App 里这么干

生产环境:走自建代理

ClaudeLanguageModel(
name: .sonnet4_6,
auth: .proxied(headers: ["X-App-Token": "..."]),
baseURL: URL(string: "")!
)

你的后端代理接收标准 Messages API 请求,加上x-api-key头后转发给 Anthropic。这样 App 端不存任何密钥

Anthropic 还提到未来会推出一种不需要自建后端的生产模式,基于 App Attest 认证,计费走你的 Anthropic workspace。但目前还没上线

流式响应

let stream = session.streamResponse(to: "Summarize today's top science stories.")
for try await partial in stream {
print(partial.content)
}

注意这里每个partial是累积快照,不是增量 delta。这跟一些其他 SDK 的设计不同,用的时候注意

结构化输出

这个功能我特别喜欢。用@Generable宏标注一个 struct,Claude 就会按照类型约束返回结构化数据:

@Generable
struct Trip {
@Guide(description: "Destination city") var destination: String
@Guide(description: "Length in days") var days: Int
}


let response = try await session.respond(to: "Plan a trip to Tokyo.", generating: Trip.self)
print(response.content.destination) // "Tokyo"

Swift 原生类型安全 + AI 结构化输出,强类型 all the way。再也不用手动解 JSON 了

服务端工具

Claude 的服务端工具(Web Search、Web Fetch、Code Execution)可以直接配置,在一次 API 往返中在 Anthropic 的基础设施上运行:

let model = ClaudeLanguageModel(
name: .sonnet4_6,
auth: auth,
serverTools: [
.webSearch(maxUses: 5),
.codeExecution,
]
)

.webSearch和.webFetch还支持域名过滤(allowedDomains / blockedDomains)和调用次数限制

这些工具和 Apple 框架的tools:数组是分开的——tools:放的是客户端工具(在设备上执行),serverTools:放的是服务端工具(在 Anthropic 服务器上执行)

错误处理

do {
let response = try await session.respond(to: prompt)
print(response.content)
} catchClaudeError.missingCredential {
// 提示用户输入 API Key
} catchlet error asLanguageModelError {
// 框架级错误:限流、上下文超长、内容审核等
} catch {
// 网络/传输错误
}

Claude API 的错误会映射到 Apple 的LanguageModelError:上下文超长 →.contextSizeExceeded,429 限流 →.rateLimited,超时 →.timeout

一个常见模式:捕获.rateLimited后自动回退到本地模型,或者排队重试

当前限制

这个包目前不支持的东西:

  • Prompt caching 控制(包会自动启用缓存,但你无法控制 TTL 和断点)

  • Stop sequences

  • 批量处理(Batch API)

  • Files API

  • Token counting

  • Beta headers

本质上它只暴露了 Apple Foundation Models 协议能表达的那部分能力,超出协议边界的特性暂时用不了

总结

ClaudeForFoundationModels是一个设计极其克制但恰到好处的 SDK。它没有试图做一个全功能的 Anthropic API 客户端,而是精准地完成了一件事:让 Claude 成为 Apple Foundation Models 框架里的一员

对于 iOS/macOS 开发者来说,这意味着:

  • 零学习成本接入 Claude(用的是你已经会的 LanguageModelSession API)

  • 架构层面可以灵活混用本地模型和 Claude

  • 强类型、Swift 原生、async/await 全套

  • 生产就绪的认证方案

目前还是 Beta 阶段(毕竟 OS 27 都还没正式发布),但整体 API 设计已经相当成熟。如果你在做 Apple 平台的 AI 应用,这个包值得现在就开始关注

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
卢卡申科:白俄罗斯将在对乌克兰的冲突中无条件地与俄罗斯保持一致

卢卡申科:白俄罗斯将在对乌克兰的冲突中无条件地与俄罗斯保持一致

阿尔卑斯瞭望
2026-10-04 19:54:39
郭华萍,人前是女市长,人后是电诈头目,竟残忍折磨多名同胞致死

郭华萍,人前是女市长,人后是电诈头目,竟残忍折磨多名同胞致死

新时代精神
2026-10-04 08:05:49
余承东发微博忘删内部备注,回应:已改,谢谢大家提醒

余承东发微博忘删内部备注,回应:已改,谢谢大家提醒

南方都市报
2026-10-04 19:42:37
金价一夜大反转!10月3日金价行情已清晰,金价或将重演13年历史?

金价一夜大反转!10月3日金价行情已清晰,金价或将重演13年历史?

说故事的阿袭
2026-10-04 19:55:12
小泉进次郎:感到强烈愤慨

小泉进次郎:感到强烈愤慨

极目新闻
2026-10-04 13:24:31
WTT中国大满贯:男单大爆冷!日本世界冠军0:3被淘汰,薛飞1:3

WTT中国大满贯:男单大爆冷!日本世界冠军0:3被淘汰,薛飞1:3

国乒二三事
2026-10-04 14:24:32
10万游客涌入5万人口的青海祁连县城致酒店满房,当地紧急安排免费宿舍,游客:-4℃住进暖气房,祁连上大分!

10万游客涌入5万人口的青海祁连县城致酒店满房,当地紧急安排免费宿舍,游客:-4℃住进暖气房,祁连上大分!

极目新闻
2026-10-04 17:31:17
何超琼遭骚扰恐吓,还被勒索2000万港币,获批禁制令......她曾说豪门没有理所当然的机会,也要去争取

何超琼遭骚扰恐吓,还被勒索2000万港币,获批禁制令......她曾说豪门没有理所当然的机会,也要去争取

新民周刊
2026-10-04 15:33:49
赵今麦海边泳装照冲上热搜,网友硬说像纸尿片,我看完直接笑出声

赵今麦海边泳装照冲上热搜,网友硬说像纸尿片,我看完直接笑出声

手工制作阿歼
2026-10-04 02:48:52
伟大的2-0!中国香港队夺冠了!3战全胜0失球,国际足联主席颁奖

伟大的2-0!中国香港队夺冠了!3战全胜0失球,国际足联主席颁奖

绿茵舞着
2026-10-04 00:09:12
蒙古总理访日一语惊人,中蒙声明3个月不到,就对中国阳奉阴违?

蒙古总理访日一语惊人,中蒙声明3个月不到,就对中国阳奉阴违?

墨兰史书
2026-10-04 16:00:18
韦世豪:国庆踢了场难看的球,想对球迷们说声抱歉

韦世豪:国庆踢了场难看的球,想对球迷们说声抱歉

懂球帝
2026-10-04 20:08:15
亚运会夺银的李春辉,国庆回家也得掰苞米,经纪人:她从小懂事,经常帮父母干农活

亚运会夺银的李春辉,国庆回家也得掰苞米,经纪人:她从小懂事,经常帮父母干农活

极目新闻
2026-10-03 21:50:14
重磅消息!俄大选结果揭晓,拉夫罗夫完美谢幕,梅德韦杰夫落败!

重磅消息!俄大选结果揭晓,拉夫罗夫完美谢幕,梅德韦杰夫落败!

历史的烟火
2026-10-04 04:34:36
中网再爆大冷门!萨巴伦卡遭20岁新星横扫,前2号种子均已遭淘汰

中网再爆大冷门!萨巴伦卡遭20岁新星横扫,前2号种子均已遭淘汰

全景体育V
2026-10-04 12:51:13
因产生分歧 美国反华议员科顿被特朗普“开盒”

因产生分歧 美国反华议员科顿被特朗普“开盒”

看看新闻Knews
2026-10-04 23:35:41
成都有回锅肉3片卖105元?店主:明码标价,一片有六七两重,另有套餐12元起

成都有回锅肉3片卖105元?店主:明码标价,一片有六七两重,另有套餐12元起

封面新闻
2026-10-04 20:41:06
菲律宾警方突袭查获244名外籍涉诈人员,多为中国籍

菲律宾警方突袭查获244名外籍涉诈人员,多为中国籍

风向观察
2026-10-04 16:03:09
中考取消了,是真的

中考取消了,是真的

行者殷涛
2026-10-03 16:38:09
网红“慧慧饱饱”被封号:一年内多次翻车,这次平台直接清空了她的主页;巅峰期年收入近千万,单条广告报价10万元

网红“慧慧饱饱”被封号:一年内多次翻车,这次平台直接清空了她的主页;巅峰期年收入近千万,单条广告报价10万元

蓬勃新闻
2026-10-04 15:26:38
2026-10-05 00:00:49
Ai学习的老章 incentive-icons
Ai学习的老章
Ai学习的老章
3526文章数 11198关注度
往期回顾 全部

科技要闻

苹果确认:iPhone 18 Pro Max有问题

头条要闻

30多岁中国夫妇在澳洲遇惨烈车祸丧生 肇事司机仅17岁

头条要闻

30多岁中国夫妇在澳洲遇惨烈车祸丧生 肇事司机仅17岁

体育要闻

“小将”吴曦,中国的莫德里奇

娱乐要闻

高晓松悄悄复出:官媒没给他留体面

财经要闻

OpenAI前安全部门员工:公司文化已崩坏

汽车要闻

方程豹9月热销破4万 首款皮卡鲨鱼将于四季度上市

态度原创

本地
手机
艺术
教育
军事航空

本地新闻

中秋逛白塔寺,体验国医妙荟雅集

手机要闻

iPhone18 Pro:首销破百万,国产旗舰首销总和不到人一半!

艺术要闻

深圳歌剧院建设再提速,6大标段齐发,超12亿元!

教育要闻

中国石油(华东)27届保研1261人:材料科学47个毕业生保34个

军事要闻

驻冲绳美军士兵抢劫杀人 日本向美国提出抗议

无障碍浏览 进入关怀版