Apple 將開源 Foundation Models 框架
Apple 承諾將在今夏開源 Foundation Models 框架,讓您在 app 中呼叫的同一套 Swift API 也能在伺服器上執行。1 在 Platforms State of the Union 上,Apple 直白地說明了這項舉措:「此外,我們還要做一件大事。今夏稍晚,這個框架將會開源。如此一來,您在 app 中使用的同一套 Swift API,現在也能在伺服器上執行,讓您在任何部署 Swift 的地方都能擁有完整的端到端 AI 工作流程。」1 在這項宣布的同時,一個配套的 Swift 套件也在同一週於 GitHub 上線,內含一套 Skills API、歷史記錄管理工具,以及一個能讓 Foundation Models 程式設計模型指向任何 chat-completions 端點的模型轉接器。2 框架本身仍是一個今夏的承諾;而這個工具套件現已上線。
開源宣布出現在 12:44。
重點摘要
- Apple 將「今夏稍晚」開源 Foundation Models 框架,讓同一套 Swift API 能在伺服器上執行,並提供「在任何部署 Swift 的地方都能擁有完整的端到端 AI 工作流程」。1 該框架目前尚未開源。
- 一個獨立的開源 Swift 套件
FoundationModelsUtilities已在 GitHub 上以 Apache-2.0 授權釋出,支援 Apple 平台以及 Ubuntu 等部分 Linux 發行版。2 - 此套件提供一套 Skills API:一個符合
DynamicInstructions的Skills型別,透過 result builder 建構,能在恰當時機將任務專屬的指示注入工作階段的對話記錄(transcript),以避免污染脈絡並最佳化首個 token 的產生時間(time-to-first-token)。2 - 它還提供歷史記錄管理的 profile 修飾器(捨棄已完成的工具呼叫、滾動視窗、摘要化),以及一個能與任何使用 chat completions REST API 的伺服器溝通的
ChatCompletionsLanguageModel。2 - 此套件是本屆 WWDC 第三種 skills 的釋出形式,前兩種分別是 Xcode 工具鏈的 skills 與 Game Porting Toolkit 的 skills,而該儲存庫自述其模式為「正在浮現中且屬於實驗性質」。2
框架將於今夏開源
這則頭條是一個日期,而非一個下載連結。在 State of the Union 約 12:44 處,Apple 用兩句話定下了時間表與其影響:「今夏稍晚,這個框架將會開源。如此一來,您在 app 中使用的同一套 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 說的是「今夏稍晚」,誠實的解讀是一項附帶季節的承諾,目前並未交付任何東西。下文所述的套件是一個獨立的成果,把兩者混為一談會誇大目前實際存在的內容。
已經上線的工具套件
您今天就能複製(clone)的部分是 FoundationModelsUtilities,這是一個在 GitHub 上以 Apache-2.0 授權釋出的開源 Swift 套件。2 它支援 Apple 平台以及 Ubuntu 等部分 Linux 發行版,這一點之所以重要,是因為它預示了框架本身今夏將走向的跨平台方向。2 該儲存庫將其內容描述為「正在浮現中且屬於實驗性質的模式」,因此請將這些 API 視為 Apple 走向的預覽,而非一份定案的契約。2
State of the Union 直接介紹了這個套件:「我們推出一個全新的開源 Swift 套件,內含眾多預先建構好的工具,協助您上手 skills 等概念以及脈絡管理的工具程式。」1 Apple 以一個真實的 app 為具體範例加以說明:「像 Tiimo 這樣的任務管理 app,便可運用此套件引入一個 skill,使其語氣與建議能因應使用者的資料而調整,提供個人化的摘要,協助使用者掌握一整天的節奏。」1 同一段話也點出了底層的根基:「這些來自開源套件的工具程式,是以名為 Dynamic Profiles 的全新基礎構件所打造的。」1
三個元件承載著這份承諾,而每一個都對應到 agentic Swift app 中的一個實際問題。
建立在 Dynamic Profiles 之上的 Skills API
第一個元件是 Skills API。此套件定義了一個符合 DynamicInstructions 的 Skills 型別,並透過 result builder 建構,搭配一個用於追蹤目前有哪些 skills 處於啟用狀態的 SkillActivations 型別。2 您可以用一段提示或一組指示來初始化單一的 Skill,並在某個 skill 應可在工作階段中途被移除時,將其標記為 allowsDeactivation: true。2
其用途才是有趣之處。一個 skill 會在恰當時機將任務專屬的指示加入 LanguageModelSession 的對話記錄,避免對話記錄被某一輪對話並不需要的指示塞滿。2 隨之而來的是兩項具體的好處:工作階段得以避免脈絡污染,並最佳化首個 token 的產生時間,因為較短、較切題的對話記錄能讓模型在開始回應前更快完成處理。2 這套 Skills API 正是指示的恰時注入機制,其作用範圍精準落在指示真正重要的那一刻。
Dynamic Profiles 正是讓這一切得以實現的關鍵。在第三天的回顧中,Swift Intelligence Frameworks 資深工程經理 Lori Hylan-Cho 將 skills 直接定位在這項基本元件之上:「我們也推出了 Dynamic Profiles,它可說是支撐 skills 這類更高階事物的一項基礎技術;我們同樣會以套件的形式釋出 skills,讓大家能直接使用,或在其之上建立自己的抽象層,例如自己的 skills。」3 這番措辭相當精確。Apple 以一個套件的形式提供 skills,並期望開發者要嘛使用該套件,要嘛在同一套 Dynamic Profiles 基礎上建立自己的抽象層。
以 profile 修飾器進行歷史記錄管理
第二個元件處理脈絡問題的另一半:對話記錄會隨著 agentic 迴圈的執行而無止盡地增長。此套件提供了用於歷史記錄管理的 profile 修飾器,README 列出了三種策略。2 捨棄已完成的工具呼叫,會在已完成工具叫用的結果不再需要後,移除其往返的內容。滾動視窗策略則保留一段有界限的近期歷史,而非整份對話記錄。摘要化會將較舊的對話輪次壓縮成模型仍可據以推理的較短形式。2 每一種都是同一個旋鈕上的刻度:在不讓對話記錄膨脹到超出模型可有效處理的範圍下,維持其資訊量。
chat-completions 轉接器,深藏不露的一招
第三個元件是默默發揮最大作用的那一個。ChatCompletionsLanguageModel 能與任何使用 chat completions REST API 的伺服器溝通,並可選擇性地搭配引導式生成(guided generation)。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,是一個您在 app 中組合的 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 在恰當時機注入任務專屬的指示,藉此減少脈絡污染並改善首個 token 的產生時間,而非把每一項指示都預先塞進對話記錄。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 上、以 Apache-2.0 授權的開源 Swift 套件,支援 Apple 平台以及 Ubuntu 等部分 Linux 發行版。2 它提供一套 Skills API、歷史記錄管理的 profile 修飾器,以及一個 ChatCompletionsLanguageModel 轉接器。該儲存庫將其內容描述為「正在浮現中且屬於實驗性質的模式」。2 此套件與框架有所區別;它並非那個正被開源的框架。
Skills API 如何運作?
此套件定義了一個符合 DynamicInstructions 的 Skills 型別,透過 result builder 建構,並搭配一個追蹤已啟用 skills 的 SkillActivations 型別。2 您可以用一段提示或一組指示來初始化一個 Skill,並可設定 allowsDeactivation: true。一個 skill 會在恰當時機將任務專屬的指示注入 LanguageModelSession 的對話記錄,藉此避免脈絡污染並最佳化首個 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 一文)。工具套件的不同之處在於,它提供的是以執行階段 Swift 程式碼形式呈現的 Skill API,讓您在自己的 app 中組合、建立在 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 生態系系列。
參考資料
-
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.” ↩↩↩↩↩↩↩↩↩↩
-
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 (theSkillstype conforming toDynamicInstructionsbuilt with a result builder,SkillActivationstracking active skills, individualSkillobjects initialized with a prompt or instructions, the optionalallowsDeactivation: 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 theChatCompletionsLanguageModelthat communicates with any server using the chat completions REST API with optional guided generation. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
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.” ↩↩↩