App 可能不再是入口:从 iOS 27 快捷指令看苹果的 AI Agent 野心

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,更值得关注。

相关推荐
Maple9961 小时前
Firebase iOS SDK 重大事故:一个 nil key 如何让全球 App 集体崩溃
ios
GAMC1 小时前
chrome-devtools-mcp:让 AI 编码助手真正"看见"浏览器
前端·人工智能
undsky_1 小时前
【n8n教程】:Set 节点,实现数据转换魔法!
人工智能·ai·aigc·ai编程
丁希希哇1 小时前
激活函数(Activation Function)
人工智能·机器学习
虫无涯1 小时前
Claude Code 频繁卡住?一文搞懂Spinner状态标识、卡顿根源与排查方案
人工智能·claude
虫无涯1 小时前
踩坑实战:Roo Code 调用本地模型卡顿?手把手教你优化到原生速度
人工智能
tellmewhoisi1 小时前
机器学习:集成学习4(XGBoost前置知识泰勒展开式2)
人工智能·机器学习·集成学习
西部驯兽师1 小时前
制造企业的信息化选型课题(二)
大数据·人工智能·制造
怪奇云呼军1 小时前
从 ElevenLabs 看工具调用:闪电智能 Voice Agent 的企业集成验收设计
android·大数据·运维·服务器·网络·人工智能·kotlin