iOS 27 快捷指令大升级:苹果正在把 Shortcuts 变成系统级 AI Agent
iOS 27 对「快捷指令(Shortcuts)」做了一轮很有意思的增强。
如果只是把这些更新拆开来看:
- AI 模型
- Storage
- Notification Trigger
- Screenshot Trigger
- App Intents
似乎只是快捷指令又增加了一些 Action 和 Trigger。
但如果把它们组合起来看,会发现苹果正在逐渐补齐一套非常典型的 Agent 架构:
sql
Trigger
↓
Context
↓
LLM
↓
Action
↓
Memory
换句话说:
Shortcuts 正在从「手机上的可视化脚本工具」,逐渐变成一个系统级的轻量 AI Agent Runtime。
本文从开发者视角看看 iOS 27 的快捷指令到底增加了什么,以及这些能力组合起来可以做什么。
一、Use Model:直接把 AI 放进工作流
过去快捷指令主要解决的是确定性的自动化:
获取输入
↓
处理文本
↓
判断条件
↓
调用 App
最大的问题是:
输入必须比较结构化。
比如我们希望从下面这句话里自动记账:
今天中午和同事吃饭花了 128 块
传统快捷指令很难稳定地理解:
金额 = 128
分类 = 餐饮
备注 = 和同事吃饭
有了 Use Model 之后,就可以把自然语言直接交给模型处理:
获取输入
↓
Use Model
↓
提取结构化信息
↓
调用后续 Action
例如要求模型返回:
json
{
"type": "expense",
"category": "food",
"amount": 128,
"description": "和同事吃饭"
}
然后 Shortcut 根据结果继续执行。
这意味着快捷指令开始拥有一个非常关键的能力:
处理非结构化输入。
图片、文本、自然语言、网页内容,都可以先经过模型理解,再决定下一步做什么。
二、Storage:快捷指令终于可以保存"记忆"
过去 Shortcut 有一个很明显的问题:
执行结束之后,状态基本就消失了。
想长期保存数据,通常要借助:
文件
备忘录
Data Jar
第三方 App
自己的服务器
iOS 27 引入 Storage 后,可以直接保存一些持久化数据。
基本逻辑类似:
markdown
Set Storage
↓
保存 value
下一次运行
Get Storage
↓
读取 value
例如:
ini
第一次运行:
count = 1
第二次运行:
count = 2
第三次运行:
count = 3
看起来很简单,但如果和 AI 组合起来,意义就完全不同了。
例如:
Storage
↓
读取历史信息
↓
Use Model
↓
AI 根据历史信息处理当前任务
↓
更新 Storage
这实际上就是:
Memory
↓
LLM
↓
Memory
也就是一个非常简单的 Agent Memory。
当然,Storage 并不是数据库。
如果有大量结构化数据,依然应该使用:
SQLite
CloudKit
自己的服务器
第三方 App
但对于:
- 用户偏好
- 上一次执行状态
- 简单计数
- 少量历史信息
- Agent 上下文
Storage 已经非常实用了。
三、Notification Trigger:通知也可以成为事件源
这是我认为非常值得玩的一个能力。
iOS 27 可以根据 Notification 触发自动化。
例如:
收到通知
↓
判断通知内容
↓
执行 Shortcut
甚至可以根据关键词过滤。
这意味着很多没有开放 API 的 App,也可能通过通知成为自动化的数据源。
例如快递:
markdown
收到通知:
"您的快递已送达"
↓
Notification Trigger
↓
创建提醒:
"下班回家取快递"
再比如银行消费通知:
markdown
收到通知:
"尾号 1234 银行卡消费人民币 128.00 元"
↓
Notification Trigger
↓
Use Model
↓
提取:
金额:128
类型:支出
分类:消费
↓
写入记账 App
这就非常有意思了。
因为以前想做自动记账,最大的困难之一就是:
你拿不到其他 App 的数据。
但是通知本身可能已经包含了我们需要的信息。
于是:
markdown
Notification
↓
LLM
↓
App Intent
就形成了一条新的自动化链路。
四、Screenshot Trigger:截图之后自动让 AI 处理
另一个很有意思的 Trigger 是 Screenshot。
用户截图之后,可以触发后续自动化:
截图
↓
Shortcut
↓
获取截图
↓
AI / OCR
↓
执行操作
这可以产生很多玩法。
例如开发过程中遇到错误:
javascript
截图 Error
↓
Use Model
↓
识别错误信息
↓
分析可能原因
↓
保存到开发笔记
看到一个商品:
商品截图
↓
AI 识别
↓
提取:
商品名
品牌
价格
↓
保存到备忘录
看到一段英文:
截图
↓
OCR
↓
翻译
↓
保存结果
甚至可以做一个统一的:
AI Screenshot Assistant
让 AI 先判断截图是什么:
javascript
截图
↓
Use Model
↓
判断类型
↓
├── 代码 → 解释代码
├── Error → 分析错误
├── 英文 → 翻译
├── 商品 → 提取商品信息
├── 地址 → 打开地图
└── 普通内容 → 总结
截图实际上变成了一种非常自然的 Agent 输入方式。
五、Keyboard Trigger:硬件也能成为 Trigger
快捷指令还增加了键盘连接相关 Trigger。
比如 iPad 连接 Magic Keyboard:
arduino
Keyboard Connected
↓
开启工作专注模式
↓
打开开发工具
↓
打开 Slack
拔掉键盘:
arduino
Keyboard Disconnected
↓
关闭工作专注模式
↓
打开阅读 App
虽然这个功能不像 AI 那么抢眼,但它体现了 Shortcuts 的一个发展方向:
越来越多系统事件正在成为自动化 Trigger。
六、用自然语言生成快捷指令
还有一个非常实用的变化:
可以通过自然语言创建 Shortcut。
以前创建一个复杂 Shortcut,需要自己拖很多 Action:
vbnet
Get Clipboard
↓
If
↓
Get Contents of URL
↓
Get Text
↓
Set Variable
↓
Save File
现在可以直接描述:
创建一个快捷指令:
读取剪贴板内容,
如果是网页链接就获取网页内容,
然后总结成 Markdown,
最后保存到备忘录。
AI 可以帮助生成工作流。
如果生成以后不满意,还可以继续描述修改:
如果剪贴板为空就直接结束。
这种方式其实和现在 AI Coding 的变化非常像。
以前:
人 → 写代码
现在:
人 → 描述需求 → AI → 代码
Shortcut 也开始变成:
人 → 描述自动化需求 → AI → Workflow
七、App Intents:第三方 App 成为 Agent 的 Tools
如果你是开发者,真正值得关注的是 App Intents。
假设我们开发了一个记账 App。
可以暴露几个 Intent:
AddTransaction
GetBalance
GetTransactions
GetMonthlyExpense
那么 Shortcuts 就可以调用这些能力。
例如:
sql
银行通知
↓
Notification Trigger
↓
Use Model
↓
解析金额
↓
AddTransaction
↓
记账完成
注意这里的角色变化。
你的 App 不一定需要自己实现:
监听通知
AI 理解
自动化规则
自然语言交互
你的 App 只需要提供:
Tools
例如:
scss
addTransaction()
getBalance()
getMonthlyExpense()
至于:
什么时候调用、为什么调用、如何组合调用
可以交给:
diff
Shortcuts
+
Apple Intelligence
这和现在 AI Agent 的 Tool Calling 非常相似。
八、App Intents 也在增强
iOS 27 对 App Intents 也继续进行了扩展。
例如可以支持更复杂的执行场景:
LongRunningIntent
用于执行耗时更长的任务,并报告执行进度。
还有:
CancellableIntent
允许任务被取消。
以及:
UndoableIntent
允许 Intent 执行的操作撤销。
对于开发者来说,这意味着 App Intent 已经不只是:
"打开某个页面"
或者:
"执行一个简单动作"
而是逐渐可以承载更加完整的业务能力。
九、把这些能力组合起来会发生什么?
单独看这些功能:
sql
Notification Trigger
Screenshot Trigger
Storage
Use Model
App Intent
都不算特别震撼。
但把它们组合起来:
arduino
System Event
↓
┌──────────────────┐
│ Notification │
│ Screenshot │
│ Keyboard │
│ Siri │
│ Action Button │
└────────┬─────────┘
↓
Shortcut
↓
Use Model
↓
AI 理解 / 决策
↓
┌────────┴────────┐
↓ ↓
Storage App Intent
Memory ↓
↓ 第三方 App
└────────┬────────┘
↓
下一次
这就非常熟悉了。
因为一个最简单的 AI Agent,本质上也是:
sql
Trigger
↓
Context
↓
LLM
↓
Tool Calling
↓
Memory
对应到苹果生态:
sql
Trigger → Shortcuts Automation
Context → 系统 / App / 屏幕内容
LLM → Apple Intelligence / Use Model
Tool Calling → App Intents
Memory → Storage
几乎一一对应。
十、一个实际案例:AI 自动记账
把上面的能力组合起来,我们甚至可以做一个完整的自动记账流程。
例如收到银行通知:
yaml
"尾号 1234 银行卡消费人民币 36.00 元"
系统:
php
Notification Trigger
↓
获取通知内容
↓
Use Model
↓
输出:
{
"amount": 36,
"type": "expense",
"category": "food"
}
↓
App Intent
AddTransaction(
amount: 36,
category: "food"
)
↓
保存成功
甚至可以进一步加入 Storage:
Storage
↓
读取用户分类习惯
↓
Use Model
↓
结合历史习惯判断分类
例如以前:
星巴克 → 餐饮
滴滴 → 交通
京东 → 购物
模型就可以结合历史数据进行判断。
于是这个 Shortcut 已经具备:
感知
理解
决策
行动
记忆
这已经非常接近一个轻量 AI Agent。
十一、对 App 开发者意味着什么?
我认为这里可能存在一个很重要的变化。
过去 App 的思路通常是:
用户进入我的 App,然后使用我提供的功能。
所以开发者会努力把所有能力都塞进 App:
UI
业务逻辑
自动化
AI
搜索
入口
但是如果系统级 Agent 越来越成熟,未来可能变成:
App 不只是一个 UI,而是一个「能力提供者」。
例如一个记账 App:
以前:
用户
↓
打开 App
↓
点击记账
↓
输入金额
↓
选择分类
↓
保存
以后:
用户:
"午饭 36"
↓
Siri / Shortcut / Apple Intelligence
↓
AddTransaction
↓
记账 App
甚至用户根本没有打开你的 App。
因此开发者需要考虑的不只是:
我的 App UI 怎么设计?
还需要考虑:
我的 App 能给系统暴露哪些能力?
也就是:
App → Tools
十二、结语
如果只看功能列表,iOS 27 的 Shortcuts 更新可能只是:
sql
增加 AI
增加 Storage
增加 Trigger
增强 App Intents
但从 Agent 的角度重新看一次:
sql
Trigger
↓
Context
↓
LLM
↓
Tool
↓
Memory
你会发现苹果正在逐渐把这些基础设施补齐。
最终可能形成:
markdown
iOS
│
┌────────┴────────┐
│ │
Apple Intelligence Shortcuts
│ │
└────────┬────────┘
│
App Intents
│
┌─────────┼─────────┐
↓ ↓ ↓
微信 记账 App 地图
Tool Tool Tool
过去:
App 是入口。
未来可能逐渐变成:
Agent 是入口,App 是 Tool。
而 Shortcuts + App Intents + Apple Intelligence,正在一点一点搭出苹果自己的系统级 Agent Runtime。
对于 App 开发者来说,这可能比 iOS 27 又增加了几个 UI API,更值得关注。