← 所有文章

Apple 即将开源 Foundation Models 框架

Apple 承诺今夏将 Foundation Models 框架开源,这样您在应用中调用的同一套 Swift API 也能在自己的服务器上运行。1 在 Platforms State of the Union 上,Apple 直白地阐述了此举:“此外,我们还要做一件大事。今年夏天晚些时候,该框架将开源。这样,您在应用中使用的同一套 Swift API 现在也能在您的服务器上运行,让您在任何部署 Swift 的地方都能获得完整的端到端 AI 工作流。”1 与这一公告同步,一个配套的 Swift 包在同一周登陆 GitHub,其中包含一套 Skills API、历史管理工具,以及一个将 Foundation Models 编程模型对接到任意 chat-completions 端点的模型适配器。2 框架本身仍是今夏的承诺;而这个工具包现已上线。

Watch on Apple Developer ↗

开源公告出现在 12:44。

太长不看

  • Apple 将“今年夏天晚些时候”开源 Foundation Models 框架,让同一套 Swift API 在服务器上运行,并“在任何部署 Swift 的地方都能获得完整的端到端 AI 工作流”。1 该框架目前尚未开源。
  • 一个独立的开源 Swift 包 FoundationModelsUtilities 已经以 Apache-2.0 许可登陆 GitHub,支持 Apple 平台以及 Ubuntu 等部分 Linux 发行版。2
  • 该包提供了一套 Skills API:一个遵循 DynamicInstructionsSkills 类型,通过结果构建器(result builder)构建,能够即时将特定任务的指令注入会话记录,从而避免上下文污染并优化首字时延(time-to-first-token)。2
  • 它还提供了历史管理的 profile 修饰符(丢弃已完成的工具调用、滚动窗口、摘要压缩),以及一个可与任何使用 chat completions REST API 的服务器通信的 ChatCompletionsLanguageModel2
  • 继 Xcode 工具链 skills 和 Game Porting Toolkit skills 之后,该包是本届 WWDC 第三种 skills 交付形式,而仓库将自身的模式描述为“正在演进且处于实验阶段”。2

框架今夏开源

重头戏是一个日期,而非一个下载。在 State of the Union 大约 12:44 处,Apple 用两句话给出了时间表和影响:“今年夏天晚些时候,该框架将开源。这样,您在应用中使用的同一套 Swift API 现在也能在您的服务器上运行,让您在任何部署 Swift 的地方都能获得完整的端到端 AI 工作流。”1 您已经在设备上通过 LanguageModelSession 调用的那个框架,将变成一个您也能在任何运行 Swift 的地方运行的东西,包括您自己掌控的服务器。

这带来的是对称性。今年 Apple 一直在拓宽 Foundation Models 的指向:设备端模型、Private Cloud Compute,以及 Gemini 和 Claude 等第三方模型,这些内容在《Foundation Models 与 Private Cloud Compute》中有所介绍。开源框架将这一触及范围朝另一个方向延伸——彻底走出设备。正如该场演讲所言:“您已经看到 Foundation Models 框架如何连接到第三方模型、Private Cloud Compute 和设备端模型。您拥有所需的灵活性,为合适的任务选择合适的模型。”1 开源这一步意味着一套编程模型横跨客户端与服务器,而不再是两套。

有一点需要精确把握:该框架尚未开源。Apple 说的是“今年夏天晚些时候”,诚实的解读是一项附带了时间节点的承诺,今天并无实际交付。下文所述的工具包是一个独立的产物,将二者混为一谈会夸大当前已有的内容。

已经上线的工具包

您今天就能克隆的部分是 FoundationModelsUtilities,一个以 Apache-2.0 许可发布在 GitHub 上的开源 Swift 包。2 它支持 Apple 平台以及 Ubuntu 等部分 Linux 发行版,这一点很重要,因为它预示了框架本身今夏将走向的跨平台方向。2 仓库将其内容描述为“正在演进且处于实验阶段的模式”,因此请把这些 API 视为 Apple 未来走向的预览,而非冻结的契约。2

State of the Union 直接介绍了这个包:“我们推出了一个全新的开源 Swift 包,内含丰富的预构建工具,帮助您快速上手 skills 等概念以及用于上下文管理的实用工具。”1 Apple 用一个真实应用作为具体例子:“像 Tiimo 这样的任务管理应用,可以使用这个包引入一项 skill,根据用户的数据调整其语气和建议,提供个性化的简报,帮助用户从容掌控自己的一天。”1 同一段话点出了其背后的基础:“这些来自开源包的实用工具,是用一种名为 Dynamic Profiles 的全新基础构建块创建的。”1

三个组件承载了这一承诺,且每一个都对应着 agentic Swift 应用中的一个真实问题。

基于 Dynamic Profiles 构建的 Skills API

第一个组件是 Skills API。该包定义了一个遵循 DynamicInstructionsSkills 类型,并通过结果构建器(result builder)构建,同时配有一个用于追踪当前激活了哪些 skill 的 SkillActivations 类型。2 您用一段提示词或指令初始化单个 Skill,并且当某个 skill 应当在会话中途可被移除时,可以将其标记为 allowsDeactivation: true2

有意思的是它的用途。一个 skill 会即时将特定任务的指令加入 LanguageModelSession 的会话记录,从而避免会话记录被某一轮并不需要的指令塞满。2 由此带来两项具体收益:会话避免了上下文污染,并优化了首字时延(time-to-first-token),因为更短、更相关的会话记录能让模型在开始响应前更快处理完毕。2 Skills API 就是指令的即时注入机制,将其限定在真正需要它们的那一刻。

Dynamic Profiles 正是使这一切成为可能的根基。在第三天的回顾中,Swift Intelligence Frameworks 高级工程经理 Lori Hylan-Cho 将 skills 直接置于这一基础之上:“所以我们还有 Dynamic Profiles,它算是 skills 这类更高阶事物的一种基础技术,而我们也以包的形式发布它,这样人们既可以使用它,也可以构建自己的抽象,比如 skills。”3 这一表述很精确。Apple 将 skills 作为一个包发布,并期望开发者要么使用这个包,要么在同样的 Dynamic Profiles 基础上构建自己的抽象。

作为 profile 修饰符的历史管理

第二个组件处理上下文问题的另一半:在 agentic 循环运行时无限增长的会话记录。该包提供了用于历史管理的 profile 修饰符,README 列出了三种策略。2 丢弃已完成的工具调用,会在结果不再需要后移除已完成工具调用的往返交互。滚动窗口策略只保留最近历史的一个有界片段,而非整段会话记录。摘要压缩则将较早的轮次压缩成更短的形式,让模型仍能据此推理。2 每一种都是同一个旋钮上的不同档位:在不让会话记录膨胀到超出模型高效处理范围的前提下,保持其信息量。

一个 chat-completions 适配器,真正的潜力股

第三个组件是默默做得最多的那个。ChatCompletionsLanguageModel 能与任何使用 chat completions REST API 的服务器通信,并可选支持引导式生成。2 其含义重大:Foundation Models 编程模型——会话、工具、指令——都可以指向任意 chat-completions 端点,而不仅限于 Apple 的模型。

最自然的搭配是本地搭配。MLX-LM Server 在 Mac 上以兼容 chat-completions 的 HTTP 服务器形式运行,相关内容见《在 Mac 上用 MLX 运行 Agentic AI》。把 ChatCompletionsLanguageModel 接到一个本地 MLX 服务器,您就得到了由 Foundation Models API 接口驱动、却完全运行在自己硬件上的模型。改而将它指向一个云端端点,同样的代码就会调用一个托管模型。正是这个适配器,让“Foundation Models”从 Apple 模型的代称,变成了一个您可以随意指向任何地方的编程模型。

一届 WWDC 的第三种 skills 交付

Apple 在本届 WWDC 上以三种截然不同的方式交付了 skills,而这个工具包是第三种。Xcode 27 工具链捆绑了 SwiftUI agent skills,您可以用 xcrun agent skills export 将其导出,相关内容见《Xcode 27 推出可随处导出的 Agent Skills》。Game Porting Toolkit 4 则从一个 GitHub marketplace 以 Claude Code 插件形式分发 Metal 和 MetalFX 移植 skills,相关内容见《Game Porting Toolkit 4:在 Mac 上进行 Agentic 游戏移植》。Foundation Models 工具包增加了第三种形态:作为运行时代码的 Skill API——一个您在应用中组合的 Swift 类型,而非您导出的 markdown 文件或安装的插件。

这三种交付回答的是不同的问题。Xcode skills 和 GPTK 插件把 Apple 的专业知识分发给您所运行的任何 agent。而工具包则给了您一些构建块,让您能在自己的会话中、针对自己的数据、用自己的激活逻辑来编写和激活 skills。Apple 既交付了精心整理的知识,也交付了让您构建自己一套的机制,二者都建立在 Lori 所描述的同一个 Dynamic Profiles 基础之上。3

要点总结

对于构建 AI 功能的 Swift 开发者: - 为客户端与服务器共用一套编程模型做好规划。Foundation Models 框架将“今年夏天晚些时候”开源,因此您今天编写的 Swift API 正是届时将在服务器端运行的那一套。1 请将其视为路线图承诺,而非当前能力。 - 现在就克隆 FoundationModelsUtilities,预览 Skills API 和历史管理修饰符,但请把仓库“正在演进且处于实验阶段”的措辞读作一个信号:其接口可能会变动。2

对于管理上下文与成本的团队: - 善用 Skills API 来即时注入特定任务的指令,以此减少上下文污染并改善首字时延,而不是把每一条指令都预先塞进会话记录。2 - 应用历史管理修饰符(丢弃已完成的工具调用、滚动窗口或摘要压缩),让漫长的 agentic 循环不至于超出模型的有效上下文。2

对于运行本地或第三方模型的开发者: - 使用 ChatCompletionsLanguageModel 将 Foundation Models 编程模型指向任意 chat-completions 端点,包括 Mac 上的本地 MLX-LM Server,从而让一套 API 接口同时驱动设备端、本地服务器或云端模型。2

常见问题

Foundation Models 框架现在开源了吗?

没有。在 WWDC 2026 上,Apple 表示该框架将“今年夏天晚些时候”开源,让同一套 Swift API 在服务器上运行,并提供“在任何部署 Swift 的地方都能获得的完整端到端 AI 工作流”。1 截至公告发布之时,这是一项带有时间表的承诺,而非已交付的发布。GitHub 上那个独立的工具包才是您现在就能使用的东西。2

FoundationModelsUtilities 包是什么?

FoundationModelsUtilities 是 GitHub 上的一个开源 Swift 包,以 Apache-2.0 许可发布,支持 Apple 平台以及 Ubuntu 等部分 Linux 发行版。2 它提供了一套 Skills API、历史管理的 profile 修饰符,以及一个 ChatCompletionsLanguageModel 适配器。仓库将其内容描述为“正在演进且处于实验阶段的模式”。2 该包与框架不同;它并不是那个正在被开源的框架。

Skills API 是如何工作的?

该包定义了一个遵循 DynamicInstructions、通过结果构建器(result builder)构建的 Skills 类型,外加一个用于追踪激活中 skill 的 SkillActivations 类型。2 您用一段提示词或指令初始化一个 Skill,并可设置 allowsDeactivation: true。一个 skill 会即时将特定任务的指令注入 LanguageModelSession 的会话记录,从而避免上下文污染并优化首字时延(time-to-first-token)。2 Skills 建立在 Dynamic Profiles 之上,Apple 将后者描述为 skills 这类更高阶事物的“一种基础技术”。3

我能将 Foundation Models 与非 Apple 模型搭配使用吗?

可以,通过该包的 ChatCompletionsLanguageModel,它能与任何使用 chat completions REST API 的服务器通信,并可选支持引导式生成。2 您可以将它指向 Mac 上的本地 MLX-LM Server 或一个云端端点,从而让 Foundation Models 编程模型驱动 Apple 自家模型之外的模型。

这个包与 Apple 在 WWDC 2026 上的其他 skills 有何关系?

该包是本届 WWDC 第三种 skills 交付形式。Xcode 27 捆绑了可用 xcrun agent skills export 导出的 SwiftUI skills(详见Agent Skills 导出一文),Game Porting Toolkit 4 则以 Claude Code 插件形式交付移植 skills(GPTK 4 一文)。工具包的不同之处在于,它提供的 Skill API 是一段运行时 Swift 代码,您可以在自己的应用中组合它,它建立在 Dynamic Profiles 之上,因此您可以编写和激活自己的 skills。2


开源这一步,延伸了 Apple 今年朝设备方向所构建的同一触及范围:《Foundation Models 与 Private Cloud Compute》介绍了该框架已经横跨的设备端、Private Cloud Compute 和第三方模型路径。skills 策略贯穿整届 WWDC,从《Xcode 27 推出可随处导出的 Agent Skills》中的 Xcode 工具链,到《在 Mac 上用 MLX 运行 Agentic AI》中的本地模型搭配——后者中 MLX-LM Server 为 ChatCompletionsLanguageModel 提供了一个可供调用的 chat-completions 端点。完整系列入口是 Apple 生态系统系列

参考资料


  1. Apple, WWDC 2026 session 102, Platforms State of the Union. Source for the open-source commitment (“Later this summer, the framework will be open source. So the same Swift APIs you use in your app can now run on your server too, giving you a complete end-to-end AI workflow anywhere you deploy Swift”), the package introduction (“we’re introducing a new open source Swift package, loaded with pre-built tools to help you get started with concepts like skills and utilities for context management”), the Tiimo example, the flexibility framing (“You’ve seen how the Foundation Models framework connects to third-party models, Private Cloud Compute, and the on-device model”), and the statement that “these utilities from the open source package are created with new fundamental building blocks called Dynamic Profiles.” 

  2. Apple, foundation-models-utilities. Source for the package name FoundationModelsUtilities, the Apache-2.0 license, support for Apple platforms and select Linux distributions like Ubuntu, the “emerging and experimental patterns” framing, the Skills API (the Skills type conforming to DynamicInstructions built with a result builder, SkillActivations tracking active skills, individual Skill objects initialized with a prompt or instructions, the optional allowsDeactivation: true, and the just-in-time transcript injection that prevents context pollution and optimizes time-to-first-token), the history-management profile modifiers (dropping completed tool calls, rolling-window strategies, and summarization), and the ChatCompletionsLanguageModel that communicates with any server using the chat completions REST API with optional guided generation. 

  3. Apple, WWDC 2026 session 398, Dub Dub Daily: Day 3. Source for the Lori Hylan-Cho interview, in which the Senior Engineering Manager for Swift Intelligence Frameworks describes Dynamic Profiles as “kind of a foundational technology for sort of higher order things like skills, which we’re also releasing as a package, so that people can use those or build their own abstractions like skills.” 

相关文章

Private Cloud Compute 上的 Foundation Models

iOS 27 在 Private Cloud Compute 上新增了一个服务器级别的 Foundation Model,兼顾端侧隐私,同时提供一套可接入自有 LLM 的协议。

4 分钟阅读

iOS 27 全面引入设备端 AI:Spotlight 与媒体

iOS 27 将设备端模型贯穿整个系统:SpotlightSearchTool 让 Core Spotlight 以 LLM 为基础,AVFoundation 则在设备上直接生成字幕。

3 分钟阅读

AI代理技能需要行为审计,而不是通过率

AI代理技能可能会改变行为,而通过率保持不变。建立信任之前,行为审计会对比执行轨迹、声明能力和副作用。

2 分钟阅读