Robocikowo>ROBOCIKOWO
Narzędzia deweloperskie

App Intents

2022AktywnyAktualizacja: 14 lipca 2026Opublikowany
Apple framework (Swift, iOS 16+) do deklaratywnego eksponowania akcji aplikacji jako intencji dla Siri, Shortcuts i Apple Intelligence. Podstawa integracji apps z agentami AI w ekosystemie Apple.
Kluczowa innowacja
Deklaratywny framework Apple pozwalający aplikacjom eksponować swoje akcje, encje danych i typy jako 'intencje' konsumowalne przez systemowe warstwy AI (Siri, Shortcuts, Spotlight, Widgets, Apple Intelligence) - bez pisania wtyczek per platforma. Kluczowy mechanizm zamiany aplikacji iOS/macOS w narzędzia dla agentów AI.
Kategoria
Narzędzia deweloperskie
Poziom abstrakcji
Wzorzec
Poziom operacji
ToolingAplikacjaŚrodowisko agentoweSystem
Zastosowania
Ekspozycja akcji aplikacji do Siri i ShortcutsInteraktywne widgety wywołujące akcje aplikacji na Home Screen/Lock ScreenIntegracja z Spotlight (semantic search app content)Focus Filters - warunkowe zachowanie aplikacji w zależności od trybu FocusInteractive Snippets - odpowiedzi Siri z natywnym UI aplikacjiMulti-app task orchestration przez Apple Intelligence / Siri AIAutomatyzacja workflow między aplikacjami (Shortcuts)Dostęp głosowy do akcji dla dostępności (VoiceOver + Siri)

Jak działa

1. Developer definiuje struct/class implementującą protokół `AppIntent` w Swift: określa `title`, `description`, parametry z `@Parameter` property wrapper, i metodę `perform() async throws -> some IntentResult`. 2. Encje danych aplikacji dziedziczą protokół `AppEntity` z identifierem, displayRepresentation i opcjonalnym query provider'em (do wyszukiwania przez system). 3. Kompilator Swift generuje statyczne metadane intents; ShortcutsProvider definiuje `AppShortcuts` z invocation phrases dla Siri. 4. Runtime iOS/macOS: gdy user mówi/pisze/wybiera akcję w Shortcuts, system pattern-matchuje frazę do zarejestrowanych AppIntents, waliduje parametry (auto-Q&A dla brakujących), wywołuje `perform()`. 5. Apple Intelligence (iOS 18+): LLM Apple analizuje description i parametry AppIntent semantycznie, potrafi wywołać intent nawet gdy nazwana fraza nie pasuje explicit - podobnie do tool calling w GPT/Claude przez JSON schema. 6. Siri AI (iOS 27, 2026): multi-app orchestration - agent może łączyć intents z różnych apps ('znajdź zdjęcia z Chicago w Photos i wyślij mailem do X') traktując je jako compose'owalne narzędzia.

Rozwiązany problem

Aplikacje mobilne były długo 'silosami' - agent AI nie potrafił wywoływać ich akcji bez ręcznie napisanych wtyczek per platforma. App Intents rozwiązuje to przez jedyny deklaratywny API: developer pisze 'moja aplikacja umie X, Y, Z' raz, a system automatycznie eksponuje to do Siri, Shortcuts, Spotlight, Widget actions i Apple Intelligence. Redukcja duplikacji + fundament dla agentów AI operujących na natywnych aplikacjach.

Komponenty

AppIntentDeklaracja akcji

Protokół Swift definiujący pojedynczą akcję aplikacji: title, description, @Parameter'y, metoda perform(). Automatycznie eksponowany do Siri/Shortcuts/Spotlight.

AppEntityTyp danych aplikacji

Protokół dla natywnych encji aplikacji (np. Task w todo appie, Playlist w music appie). Zawiera identifier, displayRepresentation, opcjonalny query provider.

AppEnumTyp wyliczeniowy

Swift enum eksponowany do intents jako lista predefinowanych wartości (np. FocusMode.work | .personal | .doNotDisturb).

@Parameter property wrapperDeklaracja parametrów

Swift property wrapper deklarujący typowany parametr intencji z opisem, defaultem i regułami dialogowymi dla brakujących wartości.

AppShortcutsProviderRejestracja fraz

Provider deklarujący, które AppIntents mają być natychmiast dostępne w Shortcuts + jakimi frazami invocation dla Siri. Kod, nie plist.

IntentResultZwracany wynik

Typ wyniku metody perform(): może zawierać dialog dla Siri, structured value, opening view, lub widget snapshot.

Oficjalna

Implementacja

Pułapki implementacyjne
openAppWhenRun = true nadużywaneWysoka

Domyślne ustawienie na true łamie flow w Shortcuts/Widgets - user oczekuje background execution.

Rozwiązanie:Ustawiaj openAppWhenRun na false gdzie tylko można; używaj true tylko gdy intent wymaga interaktywnego UI.
Brak opisu (description) dla Apple IntelligenceWysoka

Krótki lub brakujący description powoduje że LLM Apple nie potrafi wybrać intent semantycznie - intent jest niewidoczny dla agenta.

Rozwiązanie:Pisz opisowe description (min. 1-2 zdania) w naturalnym języku, opisując intencję i typowe użycia; localize.
Parametry bez requestValueDialogŚrednia

Brak dialogu dla wymaganego parametru powoduje generyczne pytanie Siri ('What is X?') - słabe UX.

Rozwiązanie:Zawsze definiuj requestValueDialog dla każdego @Parameter, best-guess default value gdy możliwe.
Zapominanie o AppShortcutsProviderŚrednia

Bez AppShortcutsProvider intents nie pojawiają się automatycznie w Shortcuts app - są dostępne tylko przez developer flow.

Rozwiązanie:Zawsze zaimplementuj AppShortcutsProvider z listą flagship intents jak najwcześniej.
Localization tylko w plist zamiast w kodzieŚrednia

SiriKit-owe podejście localization w plist nie działa dla App Intents - localization musi być inline w Swift przez LocalizedStringResource.

Rozwiązanie:Używaj LocalizedStringResource dla wszystkich user-visible stringów (title, description, dialogs); klasyczne .strings pliki dla wartości.

Ewolucja

Oryginalny paper · 2022 · WWDC 2022 · Apple Developer Documentation Team
Meet the App Intents framework - WWDC22 Session 10032
Apple Developer Documentation Team
2016
SiriKit (poprzednik)

iOS 10 wprowadza SiriKit - pierwszy framework do integracji akcji aplikacji z Siri. Ograniczony do fixed domains (messaging, ride-booking, payments, VoIP). Wymagał .intentdefinition + plist.

2018
Shortcuts + Custom Intents

iOS 12 dodaje Shortcuts app i Custom Intents - developerzy mogą definiować własne intencje poza fixed domains. Dalej wymaga plist + IntentHandler class.

2022
App Intents (WWDC22, iOS 16)
Punkt przełomowy

Apple wprowadza App Intents jako Swift-first successor SiriKit. Deklaratywne intents w kodzie, integracja z Shortcuts/Siri/Spotlight/Widgets. Interactive Widgets zapowiedziane rok później.

2023
Interactive Widgets + Live Activities

iOS 17: interaktywne widgety wywołujące App Intents z Home Screen/Lock Screen. Live Activities używają App Intents do akcji użytkownika.

2024
Apple Intelligence integration (iOS 18)
Punkt przełomowy

iOS 18 uczyni App Intents narzędziami dla LLM Apple - Apple Intelligence potrafi wywołać intents semantycznie (podobnie do tool calling w GPT/Claude). App Intents staje się fundamentem agentycznego Siri.

2026
Siri AI + multi-app orchestration (iOS 27)
Punkt przełomowy

WWDC 2026: Siri AI oparta na Google Gemini + App Intents jako centralny mechanizm multi-app task orchestration. Agent łączy intents z różnych aplikacji w wieloetapowe workflow. onscreen awareness + personal context.

Hiperparametry (konfigurowalne osie)

Fraza wywołaniaWysoka

Frazy naturalnym językiem rejestrowane w AppShortcutsProvider dla Siri (np. 'Log workout' dla WorkoutIntent).

\(.applicationName) log workoutStandardowa fraza z nazwą aplikacji.
Dialog dla parametruŚrednia

Text pytania Siri dla brakującego parametru (@Parameter(title:, requestValueDialog:)).

Which workout would you like to log?Pytanie dla WorkoutType parametru.
Otwórz aplikację przy uruchomieniuWysoka

Flaga static var openAppWhenRun: Bool - czy intent wymaga otwarcia UI aplikacji czy działa w tle.

falseBackground intents - preferowane dla widgetów i Siri.
trueIntent wymagający interakcji użytkownika z UI (np. editing).
Widoczny w ShortcutsNiska

Czy intent pojawia się w picker'ze Shortcuts. False dla intents wywoływanych tylko programowo lub przez agenta.

Złożoność obliczeniowa

Złożoność czasowa: O(1) rejestracja (compile-time); O(model_inference) wywołanie przez Apple Intelligence. Złożoność przestrzenna: O(|intents_metadata|) - zwykle < 100 KB per aplikacja.

Paradygmat wykonania

Tryb główny
Warunkowy

Który intent jest wywoływany zależy w pełni od zapytania użytkownika / decyzji agenta - conditional invocation.

Wzorzec aktywacji
Zależne od wejścia

Równoległość

Poziom równoległości
Warunkowo równoległy

Pattern-matching Siri i wywołania Shortcuts są sekwencyjne per zapytanie. Multi-app orchestration w Siri AI może wywoływać intents równolegle jeśli agent wykryje niezależne kroki.

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

App Intents jest warstwą API OS - nie ma zależności hardware'owej. Działa na każdym urządzeniu Apple (iPhone/iPad/Mac/Apple Watch/Vision Pro).