Apple udostępnia framework Foundation Models jako open source
Apple zobowiązało się do udostępnienia frameworka Foundation Models jako open source tego lata, dzięki czemu te same API Swift, które wywołuje się z aplikacji, mogą działać również na serwerze.1 Podczas Platforms State of the Union Apple ujęło ten ruch wprost: „Plus, we’re doing something big. 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”.1 Wraz z tą zapowiedzią, w tym samym tygodniu na GitHubie pojawił się towarzyszący pakiet Swift, zawierający API Skills, narzędzia do zarządzania historią oraz adapter modelu, który kieruje model programowania Foundation Models na dowolny endpoint chat-completions.2 Sam framework pozostaje obietnicą na to lato; pakiet narzędziowy jest dostępny już teraz.
Zapowiedź open source w 12:44.
W skrócie
- Apple udostępni framework Foundation Models jako open source „later this summer”, dzięki czemu te same API Swift działają na serwerze i dają „a complete end-to-end AI workflow anywhere you deploy Swift”.1 Framework nie jest dziś open source.
- Osobny pakiet Swift open source,
FoundationModelsUtilities, jest już na GitHubie na licencji Apache-2.0, obsługując platformy Apple oraz wybrane dystrybucje Linux, takie jak Ubuntu.2 - Pakiet dostarcza API Skills: typ
Skillszgodny zDynamicInstructions, zbudowany przy użyciu result buildera, który wstrzykuje instrukcje specyficzne dla zadania do transkryptu sesji dokładnie w odpowiednim momencie (just-in-time), aby zapobiec zanieczyszczeniu kontekstu i zoptymalizować czas do pierwszego tokenu.2 - Dostarcza też modyfikatory profilu do zarządzania historią (usuwanie zakończonych wywołań narzędzi, okna przesuwne, podsumowywanie) oraz
ChatCompletionsLanguageModel, który komunikuje się z dowolnym serwerem mówiącym w REST API chat completions.2 - Pakiet to trzecia dostawa Skills na tym WWDC, po skillach toolchainu Xcode i skillach Game Porting Toolkit, a samo repozytorium opisuje swoje wzorce jako „emerging and experimental”.2
Framework trafia do open source tego lata
Nagłówkiem jest data, a nie plik do pobrania. Mniej więcej w 12:44 State of the Union Apple wyznaczyło harmonogram i jego konsekwencję dwoma zdaniami: „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”.1 Framework, który już wywołuje się z LanguageModelSession na urządzeniu, staje się czymś, co można uruchomić również wszędzie tam, gdzie działa Swift, łącznie z kontrolowanym przez siebie serwerem.
To, co się dzięki temu zyskuje, to symetria. Apple poświęciło ten rok na poszerzanie zakresu, na który wskazuje Foundation Models: model na urządzeniu, Private Cloud Compute oraz modele firm trzecich, takie jak Gemini i Claude, omówione w Foundation Models i Private Cloud Compute. Udostępnienie frameworka jako open source rozszerza ten zasięg w przeciwnym kierunku, całkowicie poza urządzenie. Jak ujęto to w sesji: „You’ve seen how the Foundation Models framework connects to third-party models, Private Cloud Compute, and the on-device model. You have the flexibility you need to get the right model for the job”.1 Krok ku open source oznacza, że jeden model programowania obejmuje klienta i serwer, zamiast dwóch.
Pewne zastrzeżenie warto utrzymać precyzyjnie: framework nie jest jeszcze open source. Apple powiedziało „later this summer”, a uczciwym odczytem jest zobowiązanie z dołączoną porą roku, nic dziś dostarczonego. Pakiet opisany poniżej to osobny artefakt, a mieszanie ich obu wyolbrzymia to, co istnieje w tej chwili.
Pakiet narzędziowy, który jest już dostępny
Częścią, którą można sklonować już dziś, jest FoundationModelsUtilities, pakiet Swift open source na GitHubie na licencji Apache-2.0.2 Obsługuje platformy Apple oraz wybrane dystrybucje Linux, takie jak Ubuntu, co ma znaczenie, bo zapowiada wieloplatformowy kierunek, który sam framework obiera tego lata.2 Jeśli chce się przetestować tę ścieżkę Swift-on-Ubuntu lokalnie, dzieli od niej jedno utworzenie container machine: trwałe środowisko Ubuntu na Macu z zamontowanym własnym repozytorium. Repozytorium opisuje swoją zawartość jako „emerging and experimental patterns”, więc warto traktować te API jako podgląd tego, dokąd zmierza Apple, a nie zamknięty kontrakt.2
State of the Union przedstawiło pakiet wprost: „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”.1 Apple osadziło konkretny przykład w prawdziwej aplikacji: „a task management app like Tiimo can use the package to pull in a skill that adapts its tone and recommendations to the user’s data, delivering a personalized brief to help them stay on top of their day”.1 Ten sam fragment nazwał leżący u podstaw fundament: „these utilities from the open source package are created with new fundamental building blocks called Dynamic Profiles”.1
Tę obietnicę realizują trzy komponenty, a każdy odpowiada na realny problem w agentowych aplikacjach Swift.
API Skills zbudowane na Dynamic Profiles
Pierwszym komponentem jest API Skills. Pakiet definiuje typ Skills, który jest zgodny z DynamicInstructions i jest budowany przy użyciu result buildera, wraz z typem SkillActivations, który śledzi, które skille są aktualnie aktywne.2 Pojedynczy Skill inicjalizuje się za pomocą promptu lub instrukcji, a skill można oznaczyć jako allowsDeactivation: true, gdy powinien być możliwy do usunięcia w trakcie sesji.2
Najciekawsza jest tu intencja. Skill dodaje instrukcje specyficzne dla zadania do transkryptu LanguageModelSession dokładnie w odpowiednim momencie (just-in-time), co zapobiega zapełnianiu transkryptu instrukcjami, których dana tura nie potrzebuje.2 Wynikają z tego dwie konkretne korzyści: sesja unika zanieczyszczenia kontekstu i optymalizuje czas do pierwszego tokenu, ponieważ krótszy, bardziej trafny transkrypt jest dla modelu szybszy do przetworzenia, zanim zacznie odpowiadać.2 API Skills to mechanizm wstrzykiwania instrukcji w trybie just-in-time, ograniczony do momentu, w którym mają one znaczenie.
To Dynamic Profiles sprawiają, że jest to możliwe. W podsumowaniu trzeciego dnia Lori Hylan-Cho, Senior Engineering Manager for Swift Intelligence Frameworks, umieściła skille bezpośrednio na tym prymitywie: „So we also have Dynamic Profiles, which is 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”.3 Sformułowanie jest precyzyjne. Apple dostarcza skille jako jeden pakiet i oczekuje, że deweloperzy albo użyją tego pakietu, albo zbudują własne abstrakcje na tym samym fundamencie Dynamic Profiles.
Zarządzanie historią jako modyfikatory profilu
Drugi komponent zarządza pozostałą połową problemu kontekstu: transkryptem, który rośnie bez ograniczeń w miarę działania pętli agentowej. Pakiet dostarcza modyfikatory profilu do zarządzania historią, a README wymienia trzy strategie.2 Usuwanie zakończonych wywołań narzędzi eliminuje wymianę dotyczącą ukończonych wywołań narzędzi, gdy ich wyniki nie są już potrzebne. Strategie z oknem przesuwnym utrzymują ograniczony wycinek najnowszej historii zamiast całego transkryptu. Podsumowywanie kompresuje starsze tury do krótszej formy, na której model wciąż potrafi rozumować.2 Każda z nich to inne ustawienie tego samego pokrętła: utrzymać transkrypt informatywnym, nie pozwalając mu wykroczyć poza to, co model może wydajnie przetworzyć.
Lab na WWDC 2026 uzupełnił obraz tego, jak zachowuje się modyfikator podsumowywania. Parafrazując z lokalnie transkrybowanego nagrania WWDC 2026 Coding Intelligence, Machine Learning & AI Group Lab, panel opisał sprawdzanie rozmiaru transkryptu na początku każdego promptu i, gdy przekroczy on próg ustawiony przez dewelopera, zwijanie starszej historii do pojedynczego podsumowanego wpisu i kontynuowanie od tego miejsca.6 Panel poczynił dwie istotne uwagi dotyczące adopcji. Modyfikator działa z dowolnym backendem, nie tylko z modelami Apple, ponieważ wszystko, co jest zgodne z protokołem modelu językowego, dziedziczy te narzędzia za darmo.6 Panel sformułował też zasadę projektową rządzącą całym pakietem: każdy prompt wbudowany w narzędzie, w tym prompt podsumowywania, musi być nadpisywalny przez dewelopera, więc dostarczony domyślny wariant to punkt wyjścia, który się dostraja, a nie ustalone zachowanie, które się akceptuje.6
Adapter chat-completions, cichy bohater
Trzeci komponent robi po cichu najwięcej. ChatCompletionsLanguageModel komunikuje się z dowolnym serwerem mówiącym w REST API chat completions, z opcjonalnym guided generation.2 Implikacja jest duża: model programowania Foundation Models — sesja, narzędzia, instrukcje — może wskazywać na dowolny endpoint chat-completions, nie tylko na modele Apple.
Naturalne połączenie jest lokalne. MLX-LM Server działa na Macu jako serwer HTTP zgodny z chat completions, omówiony w Uruchamianie agentowej AI na Macu z MLX. Podłącz ChatCompletionsLanguageModel do lokalnego serwera MLX, a otrzymasz powierzchnię API Foundation Models napędzającą model działający w całości na własnym sprzęcie. Skieruj go zamiast tego na endpoint w chmurze, a ten sam kod wywoła hostowany model. To adapter zamienia „Foundation Models” z nazwy modeli Apple w model programowania, który można skierować, gdzie się chce.
Teza o dowolnym backendzie ma już nazwany, wydany przykład. Anthropic dostarcza ClaudeForFoundationModels, pakiet na licencji Apache-2.0 opisany jako „Claude support for Apple Foundation Models”, który dostosowuje Claude do protokołu modelu językowego frameworka, tak aby LanguageModelSession napędzał go w taki sam sposób, w jaki napędza model Apple na urządzeniu.5 To wzorzec adaptera uczyniony konkretnym przez firmę trzecią: działający backend, który można sklonować już dziś i który implementuje protokół eksponowany przez framework. Apple ze swojej strony nazwało wbudowane integracje dla Anthropic, OpenAI i Google w Xcode, a State of the Union zapowiedziało partnerstwo z Google wprost. Wniosek dla protokołu jest w każdym przypadku ten sam: framework definiuje szew, a backendy — Apple lub czyjekolwiek inne — go wypełniają.
Rozliczanie tokenów i budżety, względem których się gospodaruje
Zarządzanie historią ma znaczenie tylko dlatego, że budżety są małe, a w tym roku framework daje precyzyjny sposób na sprawdzenie, ile takiego budżetu się wydaje. LanguageModelSession.Response ma teraz właściwość usage, nową w iOS 27 (beta), udokumentowaną jako „Information about how many tokens were used by this response”.4 Odczytuje się ją z odpowiedzi, którą i tak się otrzymuje, więc rozliczanie zużycia jedzie razem z pracą, zamiast wymagać osobnego przebiegu pomiarowego.
Lab na WWDC 2026 dodał fakturę, którą dokumentacja pomija. Parafrazując z lokalnie transkrybowanego nagrania WWDC 2026 Coding Intelligence, Machine Learning & AI Group Lab, panel opisał response.usage raportujące liczbę tokenów wejściowych i wyjściowych, ile tokenów zostało zbuforowanych oraz, w przypadku modelu rozumującego, ile tokenów wyjściowych przypadło na rozumowanie, a ile na ostateczną odpowiedź.6 Panel nazwał rozliczanie tokenów funkcją mocno wyczekiwaną i zauważył, że symbole do liczenia tokenów i odczytu rozmiaru kontekstu modelu systemowego pojawiły się wcześniej, w iOS 26.4, a response.usage dopełnia obraz w tym roku.6
Znajomość liczby pomaga tylko wtedy, gdy zna się pułap, a lab podał go wprost. Parafrazując z tego samego nagrania, rozmiar kontekstu modelu na urządzeniu pozostaje bez zmian na poziomie 4096 tokenów i jest to wspólne okno wejścia plus wyjścia: jak ujął to panel, mniej więcej 4 000 tokenów na wejściu pozostawia około 96 na odpowiedź.6 Private Cloud Compute podnosi pułap do 32K, również wspólny budżet dla wejścia i wyjścia.6 Liczby tłumaczą, dlaczego modyfikatory zarządzania historią zasługują na swoje miejsce. Przy wspólnym oknie 4096 tokenów transkrypt, który rośnie bez kontroli, nie tylko spowalnia; wypiera przestrzeń, której potrzebuje odpowiedź, a temu właśnie mają zapobiegać strategie usuwania, przesuwania okna i podsumowywania.
Trzecia dostawa Skills jednego WWDC
Apple dostarczyło skille na tym WWDC na trzy odrębne sposoby, a pakiet narzędziowy to trzeci z nich. Toolchain Xcode 27 zawiera skille agentowe SwiftUI, które wyciąga się poleceniem xcrun agent skills export, omówione w Xcode 27 dostarcza skille agentowe, które można wyeksportować wszędzie. Game Porting Toolkit 4 dystrybuuje skille do portowania Metal i MetalFX jako wtyczkę Claude Code z marketplace’u na GitHubie, omówione w Game Porting Toolkit 4: agentowe porty gier na Macu. Pakiet narzędziowy Foundation Models dodaje trzeci kształt: API Skill jako kod uruchomieniowy, typ Swift, który komponuje się we własnej aplikacji, a nie plik markdown, który się eksportuje, ani wtyczkę, którą się instaluje.
Te trzy dostawy odpowiadają na różne pytania. Skille Xcode i wtyczka GPTK dystrybuują wiedzę ekspercką Apple do dowolnego agenta, którego się uruchamia. Pakiet narzędziowy daje klocki do tworzenia i aktywowania skilli wewnątrz własnej sesji, względem własnych danych, z własną logiką aktywacji. Apple dostarcza zarówno wyselekcjonowaną wiedzę, jak i maszynerię do budowy własnej, na tym samym fundamencie Dynamic Profiles, który opisała Lori.3
Najważniejsze wnioski
Dla deweloperów Swift budujących funkcje AI:
- Planuj jeden model programowania obejmujący klienta i serwer. Framework Foundation Models trafia do open source „later this summer”, więc API Swift, które piszesz dziś, to te same, które będą wtedy działać po stronie serwera.1 Traktuj to jako zobowiązanie z roadmapy, a nie bieżącą możliwość.
- Sklonuj FoundationModelsUtilities już teraz, aby podejrzeć API Skills i modyfikatory zarządzania historią, ale odczytuj określenie repozytorium „emerging and experimental” jako sygnał, że ta powierzchnia może się zmienić.2
Dla zespołów zarządzających kontekstem i kosztem: - Sięgnij po API Skills, aby wstrzykiwać instrukcje specyficzne dla zadania w trybie just-in-time, co zmniejsza zanieczyszczenie kontekstu i poprawia czas do pierwszego tokenu, zamiast ładować z góry każdą instrukcję do transkryptu.2 - Zastosuj modyfikatory zarządzania historią (usuwanie zakończonych wywołań narzędzi, przesuwanie okna lub podsumowywanie), aby długie pętle agentowe nie przerosły efektywnego kontekstu modelu.2
Dla deweloperów uruchamiających modele lokalne lub firm trzecich:
- Użyj ChatCompletionsLanguageModel, aby skierować model programowania Foundation Models na dowolny endpoint chat-completions, w tym lokalny MLX-LM Server na Macu, tak aby jedna powierzchnia API napędzała modele na urządzeniu, na lokalnym serwerze lub w chmurze.2
FAQ
Czy framework Foundation Models jest dziś open source?
Nie. Na WWDC 2026 Apple powiedziało, że framework będzie open source „later this summer”, dzięki czemu te same API Swift działają na serwerze i dają „a complete end-to-end AI workflow anywhere you deploy Swift”.1 W chwili zapowiedzi jest to zobowiązanie z harmonogramem, a nie wydana wersja. To, czego można użyć już teraz, to osobny pakiet narzędziowy na GitHubie.2
Czym jest pakiet FoundationModelsUtilities?
FoundationModelsUtilities to pakiet Swift open source na GitHubie, na licencji Apache-2.0, który obsługuje platformy Apple oraz wybrane dystrybucje Linux, takie jak Ubuntu.2 Dostarcza API Skills, modyfikatory profilu do zarządzania historią oraz adapter ChatCompletionsLanguageModel. Repozytorium opisuje swoją zawartość jako „emerging and experimental patterns”.2 Pakiet jest odrębny od frameworka; nie jest tym frameworkiem udostępnianym jako open source.
Jak działa API Skills?
Pakiet definiuje typ Skills zgodny z DynamicInstructions, budowany przy użyciu result buildera, oraz typ SkillActivations, który śledzi aktywne skille.2 Skill inicjalizuje się za pomocą promptu lub instrukcji i można ustawić allowsDeactivation: true. Skill wstrzykuje instrukcje specyficzne dla zadania do transkryptu LanguageModelSession dokładnie w odpowiednim momencie (just-in-time), co zapobiega zanieczyszczeniu kontekstu i optymalizuje czas do pierwszego tokenu.2 Skille bazują na Dynamic Profiles, które Apple opisuje jako „a foundational technology” dla rzeczy wyższego rzędu, takich jak skille.3
Czy mogę używać Foundation Models z modelem spoza Apple?
Tak, dzięki pakietowemu ChatCompletionsLanguageModel, który komunikuje się z dowolnym serwerem mówiącym w REST API chat completions, z opcjonalnym guided generation.2 Można skierować go na lokalny MLX-LM Server na Macu lub na endpoint w chmurze, tak aby model programowania Foundation Models napędzał modele wykraczające poza własne modele Apple.
Jak ten pakiet ma się do pozostałych skilli Apple z WWDC 2026?
Pakiet to trzecia dostawa Skills tego WWDC. Xcode 27 zawiera skille SwiftUI, które eksportuje się poleceniem xcrun agent skills export (omówione we wpisie o eksporcie skilli agentowych), a Game Porting Toolkit 4 dostarcza skille do portowania jako wtyczkę Claude Code (wpis o GPTK 4). Pakiet narzędziowy różni się tym, że dostarcza API Skill jako uruchomieniowy kod Swift, który komponuje się we własnej aplikacji, zbudowany na Dynamic Profiles, dzięki czemu można tworzyć i aktywować własne skille.2
Krok ku open source rozszerza ten sam zasięg, który Apple zbudowało w stronę urządzenia w tym roku: Foundation Models i Private Cloud Compute omawia ścieżki modelu na urządzeniu, Private Cloud Compute oraz modeli firm trzecich, które framework już obejmuje. Ten sam kierunek „Foundation Models poza aplikacją Swift” pojawia się w Foundation Models z Pythona: CLI fm, gdzie ten sam model odpowiada na polecenie powłoki lub na pythonowy LanguageModelSession poza Xcode. Strategia skilli przewija się przez całe WWDC, od toolchainu Xcode w Xcode 27 dostarcza skille agentowe, które można wyeksportować wszędzie po połączenie z modelem lokalnym w Uruchamianie agentowej AI na Macu z MLX, gdzie MLX-LM Server daje ChatCompletionsLanguageModel endpoint chat-completions do wywołania. Pełny hub serii to Seria Apple Ecosystem.
Bibliografia
-
Apple, WWDC 2026 session 102, Platforms State of the Union. Źródło zobowiązania do open source („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”), przedstawienia pakietu („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”), przykładu Tiimo, ujęcia elastyczności („You’ve seen how the Foundation Models framework connects to third-party models, Private Cloud Compute, and the on-device model”) oraz stwierdzenia, że „these utilities from the open source package are created with new fundamental building blocks called Dynamic Profiles”. ↩↩↩↩↩↩↩↩↩↩
-
Apple, foundation-models-utilities. Źródło nazwy pakietu
FoundationModelsUtilities, licencji Apache-2.0, obsługi platform Apple oraz wybranych dystrybucji Linux, takich jak Ubuntu, określenia „emerging and experimental patterns”, API Skills (typSkillszgodny zDynamicInstructionsbudowany przy użyciu result buildera,SkillActivationsśledzące aktywne skille, pojedyncze obiektySkillinicjalizowane promptem lub instrukcjami, opcjonalneallowsDeactivation: trueoraz wstrzykiwanie do transkryptu w trybie just-in-time, które zapobiega zanieczyszczeniu kontekstu i optymalizuje czas do pierwszego tokenu), modyfikatorów profilu do zarządzania historią (usuwanie zakończonych wywołań narzędzi, strategie z oknem przesuwnym oraz podsumowywanie) orazChatCompletionsLanguageModel, który komunikuje się z dowolnym serwerem korzystającym z REST API chat completions z opcjonalnym guided generation. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Apple, WWDC 2026 session 398, Dub Dub Daily: Day 3. Źródło wywiadu z Lori Hylan-Cho, w którym Senior Engineering Manager for Swift Intelligence Frameworks opisuje Dynamic Profiles jako „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”. ↩↩↩
-
Apple Developer Documentation:
LanguageModelSession.Response.usage(iOS 27.0 beta). „Information about how many tokens were used by this response”. Właściwość typuLanguageModelSession.Response, nowa w iOS 27 (beta). ↩ -
Anthropic,
ClaudeForFoundationModels. Apache-2.0, opisany jako „Claude support for Apple Foundation Models”. Pakiet dostosowuje Claude do protokołu modelu językowego frameworka Foundation Models, tak abyLanguageModelSessionnapędzał go w taki sam sposób, w jaki napędza model Apple na urządzeniu. Działający backend firmy trzeciej implementujący protokół modelu językowego frameworka. ↩ -
Apple, WWDC 2026 lab 8121, Coding Intelligence, Machine Learning & AI Group Lab. Parafraza z lokalnie transkrybowanego nagrania WWDC 2026 Coding Intelligence, Machine Learning & AI Group Lab; Apple nie opublikowało napisów do labów, więc brzmienie tutaj jest parafrazą, a nie cytatem. Źródło opisu panelu, w którym
response.usageraportuje tokeny wejściowe i wyjściowe, zbuforowane tokeny oraz podział na rozumowanie i odpowiedź dla modeli rozumujących; charakterystyki rozliczania tokenów jako mocno wyczekiwanej funkcji; uwagi, że symbole do liczenia tokenów i odczytu rozmiaru kontekstu pojawiły się w iOS 26.4; niezmienionego okna 4096 tokenów wspólnego dla wejścia i wyjścia w modelu na urządzeniu (mniej więcej 4 000 tokenów na wejściu pozostawia około 96 na odpowiedź) oraz wspólnego budżetu 32K w Private Cloud Compute; modyfikatora podsumowywania zwijającego starszą historię do pojedynczego wpisu po przekroczeniu progu ustawionego przez dewelopera i działającego z dowolnym backendem; a także zasady projektowej, że każdy prompt wbudowany w pakiet musi być nadpisywalny przez dewelopera. ↩↩↩↩↩↩↩