2026년 6월 WWDC26는 Siri AI를 ‘완전히 새로운 Siri’로 정의했다. 화면을 읽고, 개인 맥락을 찾고, 앱을 가로질러 일을 처리하며, 웹에서 세계 지식을 보완한다. 9월이 되면 iOS 27은 정식 공개 창에 들어가고, 개발자는 이미 베타에서 App Intents와 App Schemas를 시험할 수 있다. 많은 팀은 이를 “Siri가 더 잘 잡담한다”로 듣는다. 실제로 바뀌는 것은 진입점이다. 아이콘을 열지 않아도 시스템 에이전트가 객체를 찾고 동작을 실행할 수 있다. 이 층을 건너뛰면 앱은 Siri, Spotlight, 앱 간 흐름 속에서 보이지 않는 섬이 된다. 이 글은 세션 목록을 되풀이하지 않는다. 서드파티가 지금 무엇을 내놓고, 어떤 층을 먼저 할지, 어떻게 검수할지라는 일정 질문에만 답한다.
왜 iOS 27에서 앱 개발이 진짜로 바뀌는가
옛 경로와 새 경로의 충돌은 구체적이다. 옛 경로는 UI 우선이다. 앱을 열고 버튼을 누르며 설계한 탐색을 걷는다. 새 경로는 Intent 우선이다. 시스템에 말하거나 Spotlight 결과를 누른다. Siri AI가 AppEntity와 App Intent를 고르고, 필요할 때만 UI를 연다. Shortcuts 문구, 제한된 SiriKit 도메인, “깨운 뒤 연다”는 옛 경로는 남는다. 더 이상 충분하지 않다. Siri AI가 원하는 것은 이벤트, 메시지, 미디어, 내비게이션 세션처럼 시스템이 이미 아는 범주이지, 사적인 호출 어휘가 아니다.
2026년 일정 문제가 된 이유는 세 가지다. 첫째, 차세대 Apple Intelligence가 화면 인식, 개인 맥락 검색, 앱 간 동작을 하나의 에이전트 루프로 접어, 서드파티는 Shortcuts 장식이 아니게 되었다. 둘째, WWDC26가 App Schemas, IndexedEntity, IntentValueQuery, Interaction Donation, OwnershipProvidingEntity를 테스트 가능한 면으로 묶고 키노트 스케치에서 끝내지 않았다. 셋째, 2026년 9월 사용자 대상 배포는 언어와 지역별로 단계적이다. 영어가 먼저 베타에 들어간다. EU의 iOS / iPadOS는 초기에 사용할 수 없고, Mac, Apple Watch, Apple Vision Pro는 지원 언어에서 쓸 수 있다. 중국 본토는 규제 절차 중이다. 구현은 지금 할 수 있다. 지구상 모든 iOS 27 사용자가 출시일에 앱을 부른다고 쓰면 안 된다.
기기 조건도 검수표에 적는다. Siri AI와 Apple Intelligence는 iPhone 16 이후, iPhone 15 Pro / Pro Max, A17 Pro iPad mini, M1 이후 iPad / Mac, 짝을 이룬 최신 Apple Watch에 올라간다. 데모 폰이 더 오래됐다면 제품 실패가 아니라 능력 구멍을 측정하는 것이다. Xcode, 시뮬레이터, 실기기 회귀는 여전히 macOS가 필요하다. 빌더 선택은 Xcode Cloud와 원격 Mac 비교를 본다.
Siri AI, App Intents, 에이전트를 어떻게 쌓는가
세 이름을 하나의 백로그로 납작하게 만들면 일정이 요동친다. 시스템이 실제로 호출하는 순서를 따른다. 한 층이 빠지면 데모만 남는다.
| 층 | 내는 것 | 시스템이 하는 일 | 빠지면 |
|---|---|---|---|
| 엔티티 | AppEntity: 무엇인지, 어떻게 식별하는지, 어떤 속성을 보여줄지 | 범주를 이해하고 선택, 확인, 결과 카드를 구동 | Siri는 앱을 켜도 어느 레코드인지 말하지 못함 |
| 동작 | 도메인별로 묶은 스키마 정합 AppIntent | 자연어를 실행 가능한 동작에 사상하고 되묻기를 처리 | 맞춤 문구만 남고 앱 간 흐름이 붙지 않음 |
| 발견 | IndexedEntity / Spotlight 또는 IntentValueQuery | 의미 또는 구조화 조건으로 객체를 찾음 | 내부 id를 정확히 말하거나 앱을 먼저 열어야 함 |
| 맥락과 신뢰 | 온스크린 인식, Interaction Donation, OwnershipProvidingEntity | 보이는 것에서 이어가고 부작용 전에 확인 | 에이전트가 짐작하거나 공유 데이터를 무확인으로 바꿈 |
Siri AI는 시스템 에이전트다. 언어, 되묻기, 확인, 웹 지식을 위해 앱을 떠날지 결정은 그쪽이 가진다. 앱은 사적 Siri를 훈련하지 않는다. 그 에이전트의 도구 면이 된다. 모양은 클라우드 Function Calling과 같다. 모델이 도구를 고르고 런타임이 부작용을 적용한다. 다만 프로토콜은 App Intents이고 프로세스는 사용자 기기 위의 여러분 것이다. 벤더 간 비교는 Function Calling이란을 본다.
발견을 하나의 스위치로 두지 않는다. 플레이리스트, 로컬 일정, 사용자 초안은 IndexedEntity에 올려 Spotlight 의미 색인이 키워드 너머로 찾게 한다. 거대한 카탈로그, 서버 스토어, 빨리 바뀌는 원격 캘린더는 IntentValueQuery다. 시스템이 구조화 검색을 보내고 여러분은 맞는 엔티티를 반환한다. SKU 전체를 기기에 붓지 않는다. iOS 17 시스템 검색 스키마는 .system.searchInApp으로 이름이 바뀌었다. “이 앱에서 러닝 플레이리스트 보여 줘”만 말해도 일반 카드가 아니라 자체 검색 UI로 착지할 수 있다.
온스크린 인식은 지금 보이는 객체를 에이전트에 알린다. Interaction Donation은 UI에서 방금 한 일을 알린다. Siri와 Shortcuts 경로는 이미 알려졌으니 다시 기부하지 않는다. 너무 자주 기부하면 무시된다. 쓰기, 특히 소유자가 공유한 엔티티에는 OwnershipProvidingEntity를 붙여 공개 이벤트 업데이트에서 확인을 강제한다. 기본은 사적이라 확인이 건너뛰어질 수 있다. 혜택이 아니라 위험이다.
import AppIntents
import CoreSpotlight
struct EventEntity: AppEntity, IndexedEntity {
static var typeDisplayRepresentation: TypeDisplayRepresentation = "Event"
static var defaultQuery = EventQuery()
var id: String
var title: String
var startDate: Date
var displayRepresentation: DisplayRepresentation {
DisplayRepresentation(title: "\(title)")
}
}
struct OpenEventIntent: AppIntent {
static var title: LocalizedStringResource = "Open Event"
@Parameter(title: "Event")
var event: EventEntity
@MainActor
func perform() async throws -> some IntentResult {
NavigationManager.shared.open(event)
return .result()
}
}
// After a local write, keep Spotlight's semantic index in sync
try await CSSearchableIndex.default().indexAppEntities([event])
완성 프로젝트가 아니다. 세 사실만 고정한다. 객체에 안정 id와 표시 이름이 있다. 열기는 자유 텍스트가 아니라 엔티티를 받는다. 로컬 쓰기 직후 Spotlight를 갱신한다. 스키마 채택, 맞춤 대화, ShowsSnippetView, ProvidesDialog의 전체 문장과 보조 문장은 다음 반복. “아예 찾아지는가”와 같은 카드에 묶지 않는다.
네 진입 경로를 같은 열로 비교
갈림길은 진입점이지, 어떤 모델이 더 똑똑하게 들리느냐가 아니다. 서드파티는 이제 네 경로를 동시에 본다. 열을 맞추지 않은 결정표는 연극이다.
| 경로 | 진입 | 실행 | 맥락 | 누구에게 |
|---|---|---|---|---|
| App Intents + App Schemas | Siri, Spotlight, Shortcuts, 일부 시스템 카드 | 열기, 생성, 갱신, 앱 간 전달. 부작용은 여러분 프로세스 | 엔티티, 화면 객체, 개인 맥락, 의미 색인 | iOS 27 시스템 에이전트에 나타나야 하는 소비·생산성 앱 |
| Shortcuts 문구 / 옛 자동화 | 단축어, 일부 잠금 화면과 위젯 | 사용자가 짠 동작 사슬 | 의미가 약함. 문구와 매개변수 칸 | 기존 Shortcuts 사용자, 내부 도구, 전환기 호환 |
| 구 SiriKit 도메인 | 역사적으로 열린 도메인 | 도메인 안 고정 인텐트 | 도메인 허용 목록. 임의 객체에 약함 | 옛 도메인의 음성, 결제, 이동. 주 경로가 아니라 호환 |
| 자체 LLM Function Calling | 자체 채팅 UI 또는 서버 에이전트 | 사설 API, 데이터베이스, 컴퓨터 사용 | 자체 세션 기억과 도구 목록 | Apple 기기를 떠나 사설망이나 비 Apple 모델을 쓰는 제품 |
네 경로는 쌓이며 서로를 지우지 않는다. 시스템 에이전트는 “이미 iPhone에 있어 말로 일을 처리하고 싶다”를 덮는다. 자체 에이전트는 “브라우저, 데스크톱, 자체 봇 안”을 덮는다. App Intents를 Apple 생태계 도구 스키마로, 클라우드 Function Calling을 교차 플랫폼 스키마로 보고, 두 목록을 같은 업무 동작에 맞춘다. iOS에서 일정을 바꿀 수 있으면 웹에서도 바꿀 수 있어야 한다.
장면으로 고르기
| 당신이 | 고를 것 | 이유 |
|---|---|---|
| 캘린더, 할 일, 노트이고 객체가 주로 로컬 | AppEntity + 스키마 + IndexedEntity | Siri는 “다음 주 화요일 리뷰”를 찾아야 하며 정확한 제목이 아니다 |
| 거대한 서버 카탈로그의 커머스나 미디어 | 얇은 색인 + IntentValueQuery + searchInApp | 모든 SKU를 Spotlight에 부을 수 없다 |
| 사회적 부작용이 있는 메시징이나 협업 | 스키마 동작 + Donation + 소유 확인 | 메시지 전송이나 공유 이벤트 편집에는 확인 카드가 필요하다 |
| Shortcuts 파워 유저에 이미 의존 | Shortcuts를 유지하고 같은 인텐트를 스키마에 붙임 | 옛 진입은 남기고 새 진입은 같은 perform()를 재사용 |
| 가치가 Windows, 웹, 사설 API에 있음 | Function Calling 우선. iOS는 읽기 전용 엔티티 | 시스템 에이전트는 VPC에 닿지 않는다. 한 음성 명령을 전 세계에 약속하지 말 것 |
| EU iPhone 기반이 크거나 중국 본토가 본시장 | Siri는 강화, 주 경로는 UI | 2026년 9월 그 사용자 대상 능력은 정책으로 잘려 있다 |
추천 조합
A — 인디 또는 수직 생산성 앱: 캘린더, 노트, 미디어 중 한 스키마 도메인을 깊게 판다. 엔티티 하나, 동작 둘(열기와 생성), 로컬 색인, Shortcuts에서 초록, 그다음 Siri. 맞춤 ShowsSnippetView는 다음 반복. 검수는 지원 하한 iPhone 16 또는 15 Pro. 시뮬레이터 음성만으로는 부족하다.
B — 작은 제품 팀: 엔티티 층과 동작 층을 다른 카드로 잡는다. 카드 1: Spotlight가 의미로 찾고 올바른 상세로 착지. 카드 2: 생성과 갱신이 스키마를 지나 확인을 보여 줌. 카드 3: 온스크린과 UI Donation. 시험 순서를 고정한다. App Intents 단위, Shortcuts 모양, Spotlight 색인, Siri 종단. 한 Mac 이미지에서 돌려 “내 노트북에서는 된다”를 숨기지 않는다.
C — 기업 또는 다면: iOS 시스템 에이전트는 읽기 조회와 저위험 열기만 노출한다. 쓰기는 감사된 API 게이트와 자체 에이전트. 공유 캘린더와 공개 문서는 소유 상태를 보고한다. 계정과 인도는 도움말 센터, 월 비용은 Mac mini 요금. 상주 Xcode와 회귀 상자가 필요하면 M6 Mac mini가 개발자에게 맞는지부터 본다.
흔한 함정
- Siri AI를 채팅 피부로 봄: 대화 UI만 더하고 엔티티가 없다. “그 주문을 금요일로”에 잡을 대상이 없다.
- 스키마를 맞춤 문구로 대체: Shortcuts 데모는 속일 수 있다. 앱 간·화면 맥락은 시스템이 아는 도메인에 붙지 않는다.
- 카탈로그 전체를 Spotlight에 붓기: 색인이 부풀고 프라이버시 면이 커지며 재색인이 전경을 멈춘다. 원격 데이터는 IntentValueQuery.
- UI를 기부하지 않거나 너무 자주 기부: 시스템이 연락처가 이 앱을 선호한다는 것을 배우지 못하거나, 무시하고 확인 정책을 더럽힌다.
- 전 지구에 음성을 약속: 영어 우선, 초기 EU iOS 없음, 미완료 중국 절차. 데모 기기와 스토어 문구는 지역으로 나눈다.
착수 7단계
- 실제 부작용이 있는 구두 동작 다섯을 적는다. “설정 열기” 같은 빈 동사는 지운다.
- 각 객체에 안정 id, 제목, 핵심 날짜나 상태를 가진
AppEntity를 준다.DisplayRepresentation에 이미지와 부제를 싣는다. - 열기와 생성을 맞는 App Schema에 맞춘다.
perform()는 이동이거나 쓰기만. 언어와 되묻기는 시스템. - 로컬 엔티티를 Spotlight에 넣고 생성·갱신·삭제 때 새로 고친다. 원격 목록은 IntentValueQuery.
- 상세 화면에서 온스크린 대상을 표시한다. UI가 정말 보내거나 만들거나 내비게이션을 시작할 때 Donation한다.
- 쓰기와 공개 엔티티에 확인을 켠다. Shortcuts에서 매개변수 모양을 증명하고, Siri 종단, App Intents Testing으로 업무 로직을 잠근다.
- Xcode, 하한 실기기, 회귀 스크립트를 재현 가능한 Mac 노드에 둔다. 세션 끝에 DerivedData를 지워 따뜻한 로컬 캐시가 합격을 가장하지 못하게 한다.
FAQ
iOS 27 출시일에 Siri AI가 모든 언어에서 열리나?
아니다. 2026년 9월은 언어와 지역별 단계 개방이다. 영어가 먼저 베타. EU의 iOS / iPadOS는 초기에 없다. 중국 본토는 규제 중이다. 지금 만들고, 출시 약속은 지역으로 나눈다.
App Intents 없이도 Siri가 내 앱을 열 수 있나?
아이콘 실행은 된다. 객체 이해, 앱 간 동작, 화면에서 이어가기는 어렵다. 엔티티와 스키마가 없으면 섬으로 남는다.
App Intents와 Shortcuts는 같은가?
아니다. Shortcuts는 사용자가 짜는 자동화 면. App Intents는 호출 가능한 프로토콜. Siri AI가 원하는 것은 스키마에 맞춘 인텐트이지, 호출 문구를 더 쌓는 일이 아니다.
모든 레코드를 Spotlight에 넣어야 하나?
로컬이고 안정적이며 사용자 개인 엔티티는 색인한다. 크거나 서버이거나 빨리 바뀌는 데이터는 IntentValueQuery. 카탈로그 전체를 기기에 두지 않는다.
서드파티가 자체 Siri 모델을 훈련해야 하나?
아니다. 언어, 되묻기, 확인은 시스템. 넘기는 것은 실행 가능한 엔티티, 동작, 색인 신선도, 권한 경계다.
정리
iOS 27 Siri AI는 앱 개발을 바꾼다. 바꾸는 것은 진입점과 프로토콜이지, 모든 화면을 채팅으로 다시 만들라는 명령이 아니다. 엔티티와 스키마 동작을 먼저 기술하고, 색인, 화면 맥락, 확인을 더한다. Shortcuts와 자체 Function Calling은 위에 쌓는 것이며 시스템 에이전트를 대체하지 않는다. 사용자 대상 능력은 지역으로 쓴다. 검수는 실기기와 재현 가능한 Mac에 둔다. 원격 노드는 대여와 요금. 계정은 도움말 센터.