给你的AI员工一台可用的手机(上):先让它看见,再让它动手

! 图像 /media/xlong/archive-8ac0f79746c06118-7522ce2bcd.jpg 先把那句蠢话收回去 “给 AI 员工一台手机,它就能替你上班。” 这句话很适合放在发布会的大屏幕上。字体要大。背景要黑。旁边站一个穿西装的人,手里拿着遥控器,像是刚把硅基生命从培养皿里放出来。 然后他演示:模型看一眼聊天软件,点两下,复制一段话,打开另一个应用,填进表格。掌声来了。评论区开始写“一个人就是一家公司”。有人已经在算自己还要不要招客服、运营、助理。 别急。 它会点屏幕,和它能替你上班,中间

文章

No.010 / 深度文章 / 归档于 2026.08.07

给你的AI员工一台可用的手机(上):先让它看见,再让它动手

! 图像 /media/xlong/archive-8ac0f79746c06118-7522ce2bcd.jpg 先把那句蠢话收回去 “给 AI 员工一台手机,它就能替你上班。” 这句话很适合放在发布会的大屏幕上。字体要大。背景要黑。旁边站一个穿西装的人,手里拿着遥控器,像是刚把硅基生命从培养皿里放出来。 然后他演示:模型看一眼聊天软件,点两下,复制一段话,打开另一个应用,填进表格。掌声来了。评论区开始写“一个人就是一家公司”。有人已经在算自己还要不要招客服、运营、助理。 别急。 它会点屏幕,和它能替你上班,中间

图像

先把那句蠢话收回去

“给 AI 员工一台手机,它就能替你上班。”

这句话很适合放在发布会的大屏幕上。字体要大。背景要黑。旁边站一个穿西装的人,手里拿着遥控器,像是刚把硅基生命从培养皿里放出来。

然后他演示:模型看一眼聊天软件,点两下,复制一段话,打开另一个应用,填进表格。掌声来了。评论区开始写“一个人就是一家公司”。有人已经在算自己还要不要招客服、运营、助理。

别急。

它会点屏幕,和它能替你上班,中间隔着一整间公司。

会点,不等于看见。看见,不等于理解。理解,不等于判断。判断,也不等于有资格把后果按下去。

一台手机接到模型上,首先得到的不是员工。

你得到的是一具执行身体。

它有眼睛:截图、录屏、无障碍树、相机、通知、网页里的文字。它有手:点击、滑动、输入、返回、打开应用、提交一个已经被允许提交的东西。它甚至有一点腿:可以从一个应用走到另一个应用,从一个页面走到下一个页面。

但它没有天然的职位。

职位不是一串工具调用。职位包含目标、权限、例外、交接、考核、责任和终止权。一个财务能不能付款,不取决于她会不会点“确认”;取决于谁给了她额度,什么单据算完整,异常由谁复核,钱错了谁去银行、去法院、去解释。一个运营能不能发内容,也不取决于他会不会按发布;取决于品牌边界、事实核验、排期、平台规则,以及一句话发出去以后谁背它。

手机解决的,只是最后一厘米。

过去模型住在文字框里。它能建议,能写,能分类,能把一个复杂问题说得像已经解决。可一到现实就断了:屏幕在另一边,验证码在另一边,现场软件在另一边,那个只有人类手机应用才有入口的流程也在另一边。

给它手机,是把这堵玻璃拆掉。

不是把责任拆掉。

这篇只讲上半件事:怎样把“看屏幕”和“点屏幕”放进一套能检查的结构。不是教你把一百台设备排成兵马俑,也不是教你绕开任何平台、人脸、支付、账户或风控。那些东西不是技术炫技,是别人账户、别人钱、别人生活上的洞。别把洞叫成自动化。

下篇会给一份完整的、仅限设备所有者或明确授权者使用的部署手册:怎样把一台可控的设备接入观察、动作、日志和人工审批。但先别急着拿工具。先把工具应该服从什么讲清楚。

因为 root 不会生出判断。

多一根数据线,也不会。

一、手机不是员工,它是执行身体

人类一直喜欢把新工具拟人化。

电话刚普及时,人们觉得自己有了分身。电脑进入办公室时,人们说它是电子秘书。智能手机出现后,很多人以为口袋里住了一个助理。现在模型能说完整的句子,能把一份表格读得像真的看懂,大家干脆跳到最后:员工。

这个跳跃很省事。

它也很危险。

工具没有人格,当然不必替它安排人格。问题是,拟人化会把一堆本来必须写清楚的边界,用一个漂亮词掩过去。你说“员工”,听起来就像它知道什么时候该停、该问、该承认不知道、该把麻烦交给上级。可模型和手机的组合并没有这些东西。它只有当前可见的状态、你给的上下文、可调用的动作,以及一个生成下一个动作的概率分布。

它不是在“上班”。

它在执行。

执行身体这个说法更难听,但更准确。身体没有天然目的。手能递水,也能把杯子摔碎;眼睛能看合同,也能看错金额;腿能走进会议室,也能走错门。目的和边界来自外部:谁在控制,什么算任务完成,什么时候不得继续,错误发生后怎样回到安全处。

把 AI 放进手机,发生的是同一件事。模型从纯语言空间,获得了一个能对真实界面造成影响的末端执行器。它看到了过去只在人眼里的像素;它能触到过去只能由手指触到的控件;它能在应用之间来回。这确实是能力跃迁。别假装它不重要。

但能力跃迁不是组织跃迁。

一台叉车能举起一吨货,不等于它是仓库主管。一台打印机能把合同打出来,不等于它懂合同。一套能点击手机的智能体能走完一个流程,不等于它拥有流程的判断权。

真正的员工系统,至少有六个层:

  1. 任务从哪里来,谁有权创建。
  2. 当前事实是什么,系统凭什么相信。
  3. 它可以做哪些动作,哪些动作永远不做。
  4. 它如何记住已经做过什么,避免重复和漂移。
  5. 谁能验收,什么证据算完成。
  6. 出事时谁能叫停,谁承担后果。

手机只碰到第三层的一部分,也参与第二层的一部分。它不是六层的替代品。

这一区分有一个很实际的测试。

把网络断掉,把模型换掉,把某个页面改版,把通知延迟十分钟,问系统还能不能说清:现在在什么状态,为什么刚才点了那里,下一步要等谁,若失败怎么退回?如果回答只是“模型会自己判断”,那不是系统。那是一段演示录像还没来得及遇到坏天气。

二、观察不是判断:像素没有立场

很多人第一次看到视觉模型读手机截图,会误以为“它终于看懂了现实”。

它当然能看出很多东西。按钮在哪里。订单显示什么。弹窗有没有出现。一个表单是空还是满。页面像不像登录页。屏幕上的字能不能读出来。

这已经很有用。

但有用和可靠之间,不该由兴奋来填。

一张截图给出的,是观察。观察是对屏幕某一刻的描述:有一个红色按钮;标题像是“提交”;右上角有数字;弹窗遮住了输入框;页面也许在加载。观察可以带置信度,可以和上一次截图比较,可以由多个识别器交叉核对。

判断不是这个。

判断是:这个“提交”是否应该点;这个数字是否意味着可以继续;弹窗是不是风险提示;此刻是不是仍然属于原来的任务;这条消息是不是该回复;这个结果能不能被接受。

前者可以被机器部分外包。

后者必须被约束、被授权、被验收。

不要拿“模型也会思考”糊弄这条线。模型可以给出判断建议,甚至在重复、低风险、标准明确的场景里给出足够好的判断。但建议能不能变成动作,取决于它是否落在一个预先定义的允许区间。不是因为人类更神秘。是因为后果不会自动从模型的输出里长出承担者。

一个简单例子:屏幕上有“继续”。视觉模型几乎肯定能认出来。

可“继续”后面可能是浏览商品,也可能是提交申请,也可能是删除草稿,也可能是向某个人发送一段错误信息。文字相同,后果不同。像素相同,权限不同。你若只把截图交给模型,让它凭语义决定,等于把一扇门的名字当成了门后面的房间。

所以观察层应该只说自己看见了什么,不替组织下结论。

一个干净的观察结果,长这样:

时间:10:42:13
前台应用:已识别为任务允许的应用之一
可见元素:标题、返回、文本输入区、主按钮
主按钮文字:继续
遮挡:无
页面与预期状态的相似度:0.81
不确定项:右上角状态标记无法确认

它不该偷偷多写一句:“因此可以点击继续。”

那句话属于决策层。

把这两层分开,系统才有机会被审计。出了问题,你能问:眼睛看错了,还是规则给错了,还是授权太宽,还是人在不该放行的时候放了行。若观察和判断搅在一起,最后只剩一句最没用的话:AI 搞错了。

AI 没有搞错。

是你把四种错误塞进一个黑箱,然后给黑箱接了手指。

三、黑屏不是故障的结论,是现场的一部分

我用过第一代 Surface Duo。

它最像一块未来遗物。两块屏幕,中间一条铰链。打开时像把一张纸折出新的平面;合上时,它把外面的世界关掉。产品介绍里,这叫双屏、折叠、效率、多任务。落到真实使用,首先是一件很朴素的事:它会合起来。

电脑上的镜像也会黑。

你坐在桌前,看着原本还活着的画面突然没了。不是模型变笨,不是数据线瞬间背叛,不是你的自动化框架被宇宙取消。只是手机物理闭合。屏幕不再给你看。镜像端也只能诚实地黑下去。

这一幕比很多宏大演示更有价值。

因为它把“AI 有视觉”这句广告词,压回了一个可测试的边界:视觉依赖传感器;传感器依赖设备状态;设备状态会被铰链、电量、锁屏、系统弹窗、线缆、前台应用、显示策略改变。

没有哪个模型能从一张黑图里推理出“它应该继续工作”。

它也不该。

黑屏不是死刑。黑屏是一个状态。一个好的系统要把它写成状态,而不是把它当作恼人的例外。

比如:

观察不到有效画面
→ 停止任何可能改变外部状态的点击
→ 记录最近一次已确认状态与时间
→ 尝试仅限本机、可逆的恢复检查
→ 恢复不了,转人工
→ 人工确认设备可见后,重新观察,不从旧画面盲接

这里没有神秘技术。重点是最后一句:重新观察。

自动化最常见的幻觉,不是模型胡说八道,是系统还拿着上一秒的世界当现在。页面已经变了,弹窗已经盖住了,手机已经锁了,网络已经掉了,任务已经被人取消了。执行器却继续按旧剧本按下去。

人类操作手机时,也会犯这个错。开会分神,手指把一个熟悉位置当成原来的按钮;应用升级后,确认和取消换了边;你以为自己在回复 A,实际上打开了 B。区别在于,人类大多会被迟疑、困惑、眼睛重新聚焦这些很慢的东西拦一下。

机器没有这种迟疑。

它只会快。

所以要人为给它加一个停顿:每次动作之后,重新看。每次状态异常,重新看。每次进入不可逆节点,重新看。不是为了让它显得谨慎,而是为了让“它此刻面对什么”成为一条有证据的事实。

Surface Duo 合上以后,镜像黑了。最正确的动作不是疯狂重连,不是让模型猜屏幕背后发生了什么,更不是把点击队列继续吐出去。

最正确的动作是承认:我现在看不见。

能承认看不见,系统才有资格谈下一步。

四、“No command”不是墙,是入口

还有一类现场,比黑屏更容易把人骗住。

设备进了 Recovery。屏幕上出现 Android 和一行字:No command。

第一次看见的人会以为它死了。没有菜单,没有明显按钮,没有说明。像一扇写着“无命令”的门。很多教程最喜欢在这里堆出一大串按键组合、分区名字、神秘命令。读者照着按,设备状态从“我不知道”迅速变成“我更不知道”。

先把这个画面看对。

“No command”不是一个结论。

它通常是恢复环境的一个入口提示。它告诉你,当前设备没有处在正常用户界面;它没有说“任何下一步都安全”,更没有授予你对里面数据和账户的无限处置权。你需要做的不是把它当成闯关提示,而是识别状态、确认设备归属、确认恢复目标,然后按设备厂商与授权范围选择最小的下一步。

图像

这个细节和 AI 手机有什么关系?关系很大。

一个只会识字的系统看见“No command”,可能给出一段很像专家的解释。一个能被用于生产的系统必须先问:这是哪一台受授权设备?它的身份是否确认?它有没有未备份的业务数据?当前任务是不是允许进入恢复步骤?这一步会不会清除、修改、脱离原账户?谁有权批准?

这就是判断的实体。

它不住在模型的参数里。它住在操作前的事实清单和权限边界里。

“No command”之所以有意思,是因为它把一个常见误解掀开了:人们以为掌握更多工具,就离解决更近。其实工具越多,错误路径也越多。你会进恢复,不代表你知道该恢复什么。你拿到 root,不代表你知道什么不该动。你能读到系统日志,不代表你有权用日志里的信息做决定。

技术人员最容易在这里自恋。

他把“我能进去”误认为“我应该进去”。

两句话中间隔着授权。

这不是道德装饰。这是工程边界。没有授权,任何恢复动作都缺少业务目标;没有业务目标,所谓修复就只能按技术人的想象替别人做决定。最后即使设备启动了,也可能已经毁掉了真正重要的东西:证据、数据、账户关系、客户信任。

因此,在 AI 系统里,恢复状态不是“故障自动修复”的游乐场。它应该是一个显式升级点:机器可以报告自己看到了什么,可以保存证据,可以停止进一步动作,可以提示需要哪个角色介入。它不能靠“尽量帮忙”越过那条线。

工具不会创造判断。

它只会把没有判断的人送得更远。

五、真正的单位不是一条指令,是一个闭环

给模型一张截图,再让它返回一个点击坐标。这很酷。

但它只是一个瞬间。

工作不是瞬间。工作是一串状态变化。你看见一页,做一个动作,现实变了,再看一页。中间可能成功、失败、加载、跳转、弹窗、超时、被人接管、被系统打断。任何一个节点都可能让原来的计划失效。

所以能用的单位不是“截图到动作”。

是闭环:

flowchart LR
    A[观察:截图与可用界面信息] --> B[状态估计:现在可能在哪]
    B --> C{是否足够确定且被授权}
    C -- 否 --> H[停下:记录证据并请求人工]
    C -- 是 --> D[选择一个最小、可撤回的动作]
    D --> E[执行:点击、输入、等待或返回]
    E --> F[再次观察]
    F --> G{结果符合预期吗}
    G -- 是 --> B
    G -- 否 --> H

这张图没有魔法。

它只强迫系统做一件人类会自然做、机器必须被要求做的事:动作之后看结果。

如果没有最后那张截图,你根本不知道刚才发生了什么。你只知道系统发出了一个动作。发出动作不是完成。网络请求发出不是付款成功,按下发送不是对方收到,点击保存不是数据已经落盘,打开页面不是身份仍然有效。

“截图→模型→动作→截图”这四步,是手机执行体最低限度的呼吸。

第一张截图不是为了给模型找按钮。它是为了建立此刻世界的证据。模型不是必须输出坐标,也可以输出“我不知道”“页面不匹配”“需要人看”。动作不是必须点击,也可以是等待、返回、关闭输入法、停止任务。第二张截图不是为了做演示回放,它是为了验证动作有没有把世界带到预期位置。

你若把第二张截图删掉,系统就从闭环退回了投掷。

向屏幕扔一个动作,希望它落在对的地方。

而且闭环必须小。一个动作一观察,最多把几个确定的、低风险的微动作合并。不要让模型在看一眼开头后,连走二十步再回来汇报。那不是自主性,那是把二十次未知叠成一次事故。

有些人会嫌慢。

慢是代价。错一次更慢。

更准确地说,闭环不是固定按秒数慢,而是把速度交给确定性。状态很稳定、界面能机器验证、动作可撤回,步子可以短促。页面异常、信息敏感、动作不可逆,步子必须缩小,直到停下来。速度不是机器的美德。合适的速度才是。

六、状态:别让系统活在上一张截图里

手机上的每一个任务,首先不是一段自然语言,而是状态机。

这句话会让一些人失望。大家希望模型出现以后,状态机这些旧东西可以退休。可现实恰好相反:模型越会说,外部状态越要写清楚。语言可以模糊,付款、发送、删除、提交、跳转和退出不能模糊。

状态不是“页面一”“页面二”这么浅。它至少包含四类信息。

第一类是任务状态:任务是谁创建的,目标是什么,是否仍有效,何时过期,谁可以取消。一个半小时前让系统处理的事情,到现在还该不该继续,不能由模型凭上下文长度猜。

第二类是设备状态:屏幕是否可见,应用是否在前台,设备是否锁定,网络是否正常,是否被人接管,是否出现系统级弹窗。Surface Duo 合上后镜像黑掉,就是设备状态改变。它不是“模型没识别到按钮”。

第三类是流程状态:已经观察到哪个节点,上一次已确认动作是什么,预期的下一种画面是什么,已经重试几次,是否跨过了审批门。流程状态应该能让另一个人接手,而不是只能靠一段漫长对话猜回去。

第四类是风险状态:当前动作会不会对外发送、产生费用、改变权限、覆盖数据、暴露敏感信息;风险是否已被某个拥有权限的人接受。风险不是一句“谨慎一点”。它是一个字段。

把这些写出来以后,模型的位置才清楚:它是状态解释器和候选动作生成器,不是状态本身。

状态应该存在模型外面。

为什么?因为模型会忘,会误读,会因提示词变化给出不同说法。更重要的是,模型没有资格单方面改写事实。系统要能回答“谁在什么时候把任务从待确认改成已完成”,不能只回答“模型在一段回复里说它已经完成”。

一个最小任务记录可以没有多漂亮:

任务编号:唯一
创建者:唯一
允许目标:明确
当前状态:等待观察 / 等待批准 / 执行中 / 已暂停 / 已完成 / 已拒绝
最后证据:截图或界面摘要的时间与校验
最后动作:谁批准、执行什么、结果如何
下一步条件:必须看见什么,或必须得到谁的批准
停止条件:看不见、页面不匹配、超时、权限不足、风险升级

这比一段“你是一个聪明的手机助理,请自主完成任务”的提示词丑多了。

也管用得多。

状态的另一个用处,是防止重复。手机网络不稳定时,提交按钮点了没有、服务器收没收到、页面只是卡住还是已经跳转,常常很难立刻确认。若系统只知道“我刚才好像没看到成功页”,它就会再点一次。于是你得到两条消息、两份申请、两次预约,或者更糟的重复动作。

正确做法不是保证永不出错。保证不了。

正确做法是:不确定时,不把“没看见成功”解释成“肯定没成功”。进入待核对状态,收集额外证据,必要时让人确认。机器最应该学会的一句话,不是“我已完成”。是“我无法证明是否已完成”。

七、权限:手伸得多远,责任就跟到多远

很多人给智能体加权限,像给游戏角色加装备。

能读屏了。再给输入。能输入了。再给通知。能通知了。再给文件。能打开文件了。再给系统设置。最后一看,模型差不多已经能摸到所有东西。然后他们说:终于像员工了。

不像。

这像把办公室每把钥匙串在一个实习生腰上,再夸他行动力强。

权限不是能力列表。权限是后果的预付款。

每多给一个动作,系统就多获得一种影响现实的方式。读取屏幕可能暴露信息;输入文字可能对外表达;点击提交可能产生承诺;打开设置可能改变设备可用性;读取通知可能把私人信息带进任务上下文。权限边界要按动作的后果划,不要按开发者觉得“接起来方便不方便”划。

一个实用的分层是:

  • 观察权限:只读屏幕和设备健康信息,不改变外部状态。
  • 低风险操作:导航、搜索、填写本地草稿、打开已授权页面、在沙箱里试运行。
  • 受控操作:把内容放到待发送区、生成候选结果、提交到内部审核队列。
  • 高风险操作:任何对外发送、付费、删改、账户与权限变化、涉及第三方的动作。

层级不是为了做一张漂亮表。它决定系统遇到每个动作时问什么。

观察权限可以默认持续存在,但仍要最小化采集。低风险操作可以由规则自动批准,但必须有页面匹配和撤回条件。受控操作应留下待验收件。高风险操作默认停在门前,由拥有责任的人明确批准;有些动作则应该永久不开放给这个执行体。

“永久不开放”很重要。

不是所有事情都需要被自动化。尤其是涉及账户安全、付款、身份验证、绕过平台限制、批量操纵他人信息的事。把这些做成一键能力,不叫效率,叫把风险做成规模效应。技术越顺手,人越应该先问:这件事不顺手是不是一种保护?

权限还必须和身份绑定。不是“系统允许发消息”,而是“这个任务由谁创建,允许在哪个范围内形成哪一类草稿,最终由哪个明确身份确认”。没有身份的授权,最后只会变成所有人都以为别人负责。

真正成熟的权限系统,默认答案应该是:不知道,就不做。

这不酷。

但可审计比酷值钱。

八、记忆:不是把聊天记录堆到上下文里

AI 员工这个词最容易骗你的第二个地方,是“记忆”。

它记得你上次说过什么,于是你以为它会像同事一样积累经验。它引用了一条历史偏好,于是你以为它有稳定的工作记忆。可一旦任务跨了几天、换了模型、换了设备、被人手动接管、遇到异常恢复,你会发现它记住的,多半只是被塞进上下文的文字。

那不是组织记忆。

那是临时缓存。

手机执行体的记忆至少要分三种。

第一种是事实记忆:设备是谁的、哪些应用被授权、哪些联系人或业务对象在范围内、哪些规则目前有效。这类记忆必须可以被更新、追溯、撤销。它不能靠模型从聊天里猜,也不能因为某次对话说“以后都这样”就永久生效。

第二种是过程记忆:任务走到哪里、看见了什么、点过什么、失败过几次、谁接过手。它是为了恢复、审计和避免重复。过程记忆的标准不是文采,是别人能否沿着它复现当时的判断。

第三种是经验记忆:某个页面通常怎样加载,某类异常应该停在哪,什么信号意味着要转人。这类东西可以由模型总结,但总结不能直接变成权限或事实。经验是候选规则,先验证,再进入规则库。

很多系统把三种东西混成一个“长期记忆库”。这很省开发时间,也很方便制造聪明的幻觉。模型从旧记录里摸到一句相似的话,就把它当成现在的权限;从一次成功里抽出一个模式,就拿去处理不相似的新情境;从一段私人上下文里带出不该出现的信息。

记忆越多,越要问它的来源、有效期和可见范围。

记忆不是“知道得多”。

记忆是“知道这条东西能不能在这里用”。

例如,一个系统可以记住“某个页面在网络差时会停留很久”。这能帮助它延长等待和重新观察。它不该因此记住“遇到任何加载页都多等一会儿”,更不该把一次特定任务里得到的敏感数据带进下一次无关任务。

把记忆做成带边界的记录,才有可能删除、纠正、过期、复审。否则所谓长期记忆,只是一座越堆越高的旧仓库。系统每次从里面拎出一个东西,都不知道它是不是已经变质。

九、验收:完成不是模型宣布的

模型很爱说“已完成”。

这不是它的道德问题。它的工作就是给出一个看起来连贯的下文。你给它一个任务,它走了几步,页面出现一点变化,它自然倾向于把故事收尾。人类也有这个毛病:事情做得差不多了,就想宣布完工。

可在手机执行里,完成必须是外部定义的。

不是模型说完成,不是日志写成功,不是点击函数返回,也不是某张截图看起来很像结果页。完成是验收人根据预先约定的证据,接受“这个任务在允许范围内达到了目标”。

这里的关键词是:允许范围内。

一封草稿写得再好,若发给了不该发的人,不算完成。一份表单提交得再快,若字段来自未经核实的信息,不算完成。一个流程跑到了末尾,若中间越过了本该人工确认的门,不算完成。

验收可以自动化一部分。比如格式是否齐全、页面是否出现特定且可信的确认信息、记录是否完整、结果是否落在白名单范围。自动验收负责检查机器可判定的部分。

但最终接受,尤其是对外承诺、涉及重要关系或不可逆影响的接受,仍然应该属于人。

因为验收不是检查一个像素。

验收是接受剩余风险。

人类在这里的价值,不是什么“灵魂”“温度”“直觉”这种广告词。是名字。你愿意在这个结果上留下名字,意味着你看过证据,理解还有哪些不确定,愿意承担它向外扩散的后果。没有这个名字,系统就只有动作,没有责任。

一套健康的流程应该允许三种结束:已接受、已拒绝、已暂停。不要只设置成功和失败。暂停不是失败。暂停是系统承认它到达了自己的边界。一个从不暂停的自动化,要么权限太宽,要么日志在撒谎。

十、人的最终责任不能外包

把人放在环里,不是让人每十秒点一次确认。

那样不叫安全。那叫把机器人变成一个需要人盯着的慢速机器人。人会疲劳,会形成肌肉记忆,会在一百个正确确认后把第一百零一个错误确认掉。所有把人当“橡皮图章”的设计,最后都会得到一个自动按按钮的人。

人的位置应该放在判断成本最高的地方。

什么叫最高?不是最复杂的地方,是一旦错了,后果难以撤回、难以解释、难以赔偿的地方。对外发布、对人承诺、涉及隐私、涉及资金、涉及身份、涉及删除、涉及规则例外的动作,都应该把人放在前面。人不必控制每一次滑动,但要控制系统能否跨过那些门。

责任还有另一层:人要能停止。

停止不是在事故发生后拔电源。停止权要被设计成正常路径:取消任务、冻结设备、撤回待处理动作、把当前上下文封存、禁止新动作、交给指定的人检查。若一个系统只有“继续”和“崩溃”两个状态,它迟早会逼人用崩溃解决继续。

真正的最终责任也意味着,不能把错误推给模型。

模型不签合同,不接电话,不付赔偿,不会在客户面前解释“为什么系统认为这条通知属于低风险”。它只是你选择使用的一段能力。选择把它接到哪里、给它什么权限、用什么证据验收、何时让它停,都是人的决定。

这句话不浪漫。

也正因为不浪漫,才值得写进系统里。

十一、无控制探索:最像聪明,最接近事故

有人会说:如果每一步都要状态、权限、观察、验收,AI 还怎么探索?

答案是:探索可以有。但探索不能偷偷变成生产。

探索的本质是尝试未知路径。未知路径意味着你不知道下一页有什么,不知道按钮会不会改变状态,不知道某个异常是不是可恢复。若它发生在沙箱、测试账号、模拟数据、明确隔离的设备上,探索是学习成本。若它发生在真实账户、真实联系人、真实业务数据上,探索就是让别人替你支付学习成本。

这条边界要硬。

一个系统可以在受控环境里探索“页面出现这个提示时有哪些安全的返回路径”。它不该在生产设备上为了“找找看”不断点新入口。它可以尝试识别新的界面模式,并把未知报告出来。它不该把不认识的页面自动归到最像的旧流程,然后自信地继续。

模型特别擅长把陌生东西说得像熟悉东西。

这正是探索需要围栏的原因。

围栏不必复杂。可以是独立设备、无真实数据的测试环境、受限网络、只读权限、动作白名单、严格次数上限、自动录屏、人工在场。关键不在于你用了多少安全名词,而在于探索产生的错误能不能被收回,错误成本是不是由同意探索的人承担。

如果答案不是,那就别探索。

“让它自己试试”这句话,在生产环境里通常等于“我不知道它会做什么,但希望它别做错”。这不是策略。是祈祷。

十二、为什么手机群控不是员工系统

把一堆手机摆出来,接上电脑,看上去非常像未来工厂。

屏幕亮着,任务在流,手指不见了。有人会把这叫数字员工矩阵、无人运营中心、全天候增长引擎。词越来越大,桌子上的问题没有变。

一百台手机可以把一条错误扩大一百倍。

它们不会因此拥有一百份判断。

群控系统解决的是并发。并发的价值是同一个已被定义、已被授权、已被验证的动作,可以在多个独立而合规的对象上执行。它没有自动解决目标是否正当、对象是否同意、上下文是否一致、平台规则是否允许、结果是否被验收。

更直白一点:规模不是组织。

组织有角色、有制度、有记忆、有问责、有例外处理。群控只有更多终端。若你把更多终端误认为更多员工,就会得到一支没有判断、没有责任、也没有刹车的手指军队。

这也是为什么我不把“大规模手机自动化”叫员工系统。它最多是一种执行基础设施。是否能成为员工系统,取决于上面有没有任务入口、权限分层、状态记录、验收权和责任人。没有这些,它的规模只会放大噪声。

手机数量越多,最先需要扩张的不是模型上下文,是治理。

谁能调度哪台设备?谁知道设备现在被谁使用?谁能暂停?同一个任务能否重复执行?日志保留多久?设备屏幕里的信息谁能看?异常是自动隔离还是继续排队?这些问题没有答案,设备从十台到一百台,不是线性升级。是把一个未定义的责任面放大十倍。

别被屏幕墙迷住。

屏幕墙是视觉奇观。状态墙、权限墙、证据墙才是系统。

十三、一个可用执行体的最低结构

到这里,可以把一台“给 AI 用的手机”压缩成一句不那么好卖的话:

它是一台在明确授权下,持续观察自身状态,只执行允许动作,并把每一步交回证据与验收的设备。

里面没有“自主上班”。

但里面有真正能用的东西。

最低结构可以是这样:任务由人或上层业务系统创建;任务写清目标、对象、有效期和停止条件;设备先观察;模型只解释当前界面并提出候选动作;规则检查候选动作是否匹配状态和权限;需要批准的就等待;执行后再次观察;证据和状态写入外部记录;达到验收条件才结束;任何不确定都可以暂停。

这套东西甚至不需要一开始就很复杂。你可以只在一台自有设备、一个可撤回的内部流程、一个明确的测试任务上跑起来。不要一上来就追求“万能”。万能是最不负责的产品词之一。一个系统知道自己只会做什么,才有机会把那一件事做稳。

判断是否可用,也不靠演示视频。

看四个问题:

  1. 屏幕和实际状态不一致时,它会不会停。
  2. 页面改了、弹窗来了、网络慢了,它会不会重新观察而不是盲点。
  3. 遇到不确定或高风险动作,它能不能指出需要谁批准、缺什么证据。
  4. 事后能不能从记录里还原:谁让它做、它看见什么、点了什么、结果怎样、谁接受了。

四个问题都答不上,别叫它 AI 员工。

叫它自动点击器就行。自动点击器不丢人。把自动点击器吹成员工,才丢人。

十四、先让它看见,再让它动手

标题里的顺序不能倒。

很多人做手机自动化,先研究怎么点:坐标、手势、输入、唤醒、脚本、连接、权限。因为动作最容易展示。屏幕动一下,成就感立刻到手。

但真正难的不是让它动。

是真正让它看见自己正在面对什么,并在看不清时停下。

看见不是 OCR 把字读出来。看见包括:知道自己是不是仍在预期应用;知道页面是否被弹窗遮挡;知道设备是否锁住;知道这张截图是否新鲜;知道当前画面是否足以支持下一步;知道自己其实不知道。

最后一句最贵。

一个系统能说“我不知道这个页面”,通常比一个系统在陌生页面里找出一个看起来合理的按钮更值得信任。前者把不确定暴露出来,后者把不确定藏进动作里。动作一旦落到真实世界,藏起来的不确定会变成别人要收拾的后果。

Surface Duo 合上,镜像黑了。此刻最好的模型不是会猜铰链状态的模型,而是会把任务停在“不可观察”的模型。Recovery 里出现“No command”。此刻最好的系统不是急着展现自己懂多少底层名词的系统,而是会把它标成“需要确认归属与恢复目标”的系统。

这两幕很小。

小到不适合做发布会高潮。

可所有能长期运行的系统,都由这种小事构成。承认传感器会失明。承认状态会丢。承认界面会变。承认工具没有资格替人决定。承认人最终要在结果上留下名字。

你想给 AI 一台手机,可以。

先别急着叫它员工。

先给它一双看得见自己边界的眼睛。再给它一只只在允许范围内落下的手。然后,让一个愿意负责的人站在最后。

下篇才进入部署:如何在所有者或明确授权者的设备上,搭起观察、连接、动作、日志、暂停和审批,让这具执行身体真的可用。那会是一份操作手册。

这一篇的结论先留在这里:

手机不是 AI 员工。手机是 AI 的执行身体。身体越接近现实,判断和责任越不能缺席。

别把一根数据线,当成一份劳动合同。

十、一次失败,比十次演示更接近系统

演示总挑天气好的时候拍。

设备满电。网络正常。应用版本刚好。登录状态还在。屏幕没有锁。任务短得像一道选择题。模型看见按钮,点下去,页面跳了。视频到这里结束。旁白说:从此不必亲自操作手机。

现实从视频结束的下一秒开始。

第一代 Surface Duo 的黑屏,就是这种现实。它不是抽象意义上的“设备异常”。它有非常具体的时间线:桌面镜像仍在;设备被人拿起;两块屏幕合拢;显示策略改变;电脑端不再得到可用画面;原计划里下一步需要依赖画面的位置和文字,却还留在队列里。

如果系统设计得差,接下来会发生两件事。第一,观察层把黑图误判为加载页或空白页。第二,执行层继续消费旧计划,在已经没有可验证前提的情况下发出动作。它未必立刻造成损失。也可能只是点空、超时、回到首页。这种“没出事”的幸运,最容易把错误设计养大。

好的失败处理反而无聊。

它把时间线切开:最后一张有效截图是什么时候;最后一个已确认状态是什么;黑屏前有没有未完成的外部动作;设备是否可能被人手动接管;任务是否仍在有效期。然后它进入暂停。暂停期间不做新点击,不用旧截图推断新页面,不把“我没看到结果”翻译成“再试一次”。

这才是故障恢复的起点。

恢复不是让机器尽快回到会动的样子。恢复是重新获得可信的观察,再决定旧任务是否还能继续。很多任务不能。有人可能已经处理了它;应用可能已经跳页;原本的授权窗口可能到期;前一动作可能已经成功但界面没来得及反馈。此时重开任务,往往比续接任务安全。

Recovery 里的 No command 也是同一种教材。它让技术人很难受,因为画面不立刻给出答案。可系统首先需要的恰恰不是答案,是分类:正常界面、受限系统界面、未知状态、需要人工确认的设备状态。分类正确,下一步才可能小。分类错了,再熟练的工具也是往错误方向加速。

所以我看一个手机执行系统,不先看它能不能跑完最长流程。我先故意破坏几个前提:关屏、切应用、制造网络慢、让页面弹出陌生提示、让人接管设备。它能安全停住,才配谈恢复;能恢复后重新建立证据,才配谈连续工作。

失败不是演示的反面。

失败处理才是演示没有拍到的主体。

十一、任务契约:把一句人话拆成可拒绝的东西

“帮我处理一下手机里的事。”

这是一句人话。人和熟人之间可以这样说,因为双方会用经验补全空白。机器不该补。

它不知道“处理”是看一眼、整理草稿、还是对外动作;不知道“手机”里哪些内容属于任务,哪些属于私人空间;不知道什么时候算完成;更不知道遇到歧义时是停下来问,还是按最像的经历猜。把这种话直接交给执行体,等于先删除边界,再要求它聪明。

一个任务契约要把空白变成字段。不是为了文书工作,是为了让系统能够拒绝不完整的请求。

最小契约至少写六件事:目标、对象、允许动作、禁止动作、验收证据、失效条件。目标是要得到什么结果,不是要模型显得忙。对象是明确的自有设备、已授权应用和已定义业务范围,不是“顺便看看”。允许动作写到类型,例如读取、导航、填写草稿、提交到内部队列。禁止动作也要写,例如不对外发送、不做账户或权限变化、不处理未列入范围的内容。验收证据写清最终谁看什么。失效条件则告诉系统何时自动作废:时间过期、页面不匹配、设备被接管、授权撤回、风险等级变化。

任务契约还应该有一个很容易被省掉的字段:不做什么。

人类写需求时习惯描述想要的结果。可对具备行动能力的系统,负面边界往往更重要。你可以允许它把资料整理到待审区,同时明确不允许发布;允许它打开一个内部页面,同时明确不允许点任何会影响第三方的控件;允许它检查状态,同时明确不允许尝试未知恢复路径。这个“不”不是能力不足,是把责任从模糊中拿回来。

契约不是提示词的装饰。

提示词可以帮助模型理解任务。契约决定模型理解错了以后,系统还会不会让它动手。两者不是一个层。把所有限制写进一段自然语言提示里,最后只能得到一段很长、很难审计、很容易被上下文挤掉的愿望。

更实际的做法是让契约可被机器检查。目标是否在白名单;设备是否匹配;动作是否属于允许集合;有效期是否尚未结束;验收人是否存在;风险动作是否有批准。检查不通过,系统不需要和模型辩论。直接拒绝或转人工。

这会减少一点“哇,它什么都能干”的感觉。

也会减少很多以后要解释的事情。

十二、状态不是页面名,是对现实的临时主张

有人把状态机理解成给每个页面起名字:首页、详情页、成功页。

这不够。页面只是观察到的表面。状态是系统对“现在可以安全地做什么”的主张。它需要同时引用任务、设备、流程和风险。

例如,“等待确认”不是因为屏幕上有一个确认按钮,而是因为任务已经生成候选结果、证据齐全、下一动作会对外产生影响、当前角色没有最终接受权。换一台设备、换一个人接管、换一个任务,这个同样的按钮可能落在完全不同的状态里。

状态转换要有守卫条件。守卫条件不是代码里的门面话,而是转换前必须为真的事实。要从“已观察”进入“可执行”,必须确认截图新鲜、前台应用匹配、目标元素可信、动作在权限范围内、没有更高优先级的停止信号。要从“执行中”进入“已完成”,必须有结果证据和验收结果。任何一项缺失,就留在等待或暂停。

你会发现,这种系统常常不够顺滑。

它会卡在“无法确认”。会要求重新观察。会在看见陌生弹窗时拒绝继续。它甚至会在用户觉得显而易见的时候要求点一下批准。

这是成本。

但没有这层成本,所谓顺滑只是把不确定性藏到事故发生以后再结算。

状态还需要版本。应用更新、规则调整、授权改变时,昨天允许的路径不一定今天还允许。若系统只存“上一次成功怎么走”,它会把历史当成法律。版本化的状态和规则能让你回答:这次任务依据的是哪一版权限、哪一版页面识别、哪一版验收条件。答案不好看,却比“模型记得”强得多。

十三、观察证据要能被怀疑

截图不是事实本身。

截图是一个传感器读数。它可能旧,可能被遮挡,可能只截到局部,可能颜色失真,可能刚好处在动画过渡里。无障碍树也不是神谕:它可能缺字段,可能与视觉层不同步,可能被应用实现得很差。通知同样会迟到、合并、消失。

所以观察层应该允许自己被怀疑。

一份证据除了内容,还要带时间、来源、覆盖范围和置信度。系统不必把置信度神化成一个精确小数,但要区分“页面完全匹配”“文本可读但上下文不全”“屏幕不可见”“元素存在但无法证明可点击”。这些区别决定后面能不能动。

交叉验证也很朴素。动作后不要只看一个按钮变色;看页面标题、返回路径、任务记录、应用前台状态是否共同符合预期。若一个动作声称成功,而屏幕、流程状态和外部记录互相矛盾,最好的结论不是强行选一个。是标记冲突,停止推进。

这和人类做实验没有区别。仪器读数不是结论,多个读数能否相互支持才是。AI 看到像素,也只是多了一台仪器。不要因为仪器会说话,就让它自己写实验报告、自己通过审核、自己把结果拿去影响别人。

十四、权限不是开关,是逐步缩小的半径

“允许”与“不允许”之间,还有很多层。

一个系统可以被允许读取某个页面,却不被允许把内容带出页面;可以被允许填写草稿,却不被允许提交;可以被允许执行内部导航,却不被允许进入系统设置;可以被允许在一台自有测试设备上试错,却不被允许把相同动作迁移到真实业务设备。

这叫最小权限。听起来老套,因为它确实是老常识。老常识在 AI 时代没有过期,只是更容易被忽略。过去一个脚本权限太大,最多是脚本乱跑;现在模型能在许多合理的路径里选择,权限太大就会让它在错误的合理性里走得更远。

权限半径应该和任务一起缩放。任务越具体,设备范围越小,动作集合越短,证据要求越明确。不要为了省事给一个“通用助手”永久大权限,再指望提示词每天把它管好。授权应当有对象、期限、目的和撤销点。任务结束,临时权限也应结束;人撤回,系统立刻停止;设备归属不明,观察也要最小化。

安全不是把每一步都锁死。安全是让每一把锁都能说清它保护的是什么。

十五、记忆要会过期,经验不能冒充规则

长期运行的系统一定会积累记忆。问题从来不是要不要记,而是记什么、谁能改、什么时候不再可信。

事实记忆应当短而硬:设备标识、授权角色、有效期、允许应用、任务归属。它宁可缺,也不要靠模型补。过程记忆应当完整但克制:每次观察、每次动作、每次暂停、每次人工接管。它服务于复盘,不服务于窥探。经验记忆可以柔软一些:某类页面的稳定特征、常见加载时间、已验证的恢复建议。但经验永远只是候选。它必须通过测试和复核,才能影响下一次规则。

最危险的记忆,是没有来源的习惯。系统从过去一次成功里学到“这样做通常没问题”,然后在新上下文里把通常当成必然。人类事故里,这种事很多:熟练工跳过检查,不是因为他坏,是因为过去一千次没出事。模型没有疲劳,却会以另一种方式形成惯性:相似文字、相似页面、相似目标,会把它推向相似动作。

给记忆加来源、范围和过期日,就是给惯性加摩擦。摩擦不漂亮,却能让旧经验在进入新现实前被问一句:你还适用吗?

十六、验收权是最后一个接口

系统从外部世界拿到输入,再把动作送回外部世界。验收权是中间最后一个接口。

它决定什么叫做完,什么叫做错,什么叫必须重来。若没有验收权,任务就会被“动作已发出”这种内部信号提前结束。所有自动化都容易有这个毛病:它们把自身的完成感,误当成业务的完成。

验收条件应该尽量具体。不是“处理好”,而是“在批准范围内生成了哪类结果,证据是否完整,是否仍可撤回,谁已确认”。自动规则可以拦格式、重复、缺字段和明显不匹配;人来接受语境、例外和剩余风险。两者都不是摆设。

验收人也不必是一个永远在线的老板。可以是任务发起人、指定值班人、具有某类业务责任的角色。重要的是身份清楚、权限清楚、证据可见。一个“任何人都能点通过”的界面,最后等于没有验收人。

这就是为什么我反复说手机不是员工。员工系统的核心不是有多少动作,而是谁拥有验收权。没有验收权的执行体,只是一只被接长的手。

十七、免费部分到这里,已经够用

免费的上篇不该故意挖坑。

你现在已经可以用它判断一个方案是不是在卖幻觉:它有没有把观察和判断分开;有没有动作后的再次观察;有没有状态、权限、记忆和验收;有没有把暂停当成正常结局;有没有一个能留名字、能停止、能承担后果的人。没有这些,硬件越多,故事越大,风险只会更整齐。

这也是我愿意把这部分摊开的原因。不是每件有用的东西都要先锁起来,等人付钱才告诉他刹车在哪。底层判断应该公开。你可以不用我的工具、不用我的设备、不用我的后续方案,照样拿这几条去拆任何“AI 手机员工”的宣传。

但从哲学到部署,中间仍有一段脏活。设备连接会断,系统版本会变,镜像会黑,日志会缺,权限配置会互相影响,恢复路径会因具体设备不同而不同。不存在一份脱离设备、脱离授权、脱离现场的万能教程。谁承诺有,谁多半卖的是录屏。

下篇付费的价值不在于再给你一串神秘命令。它会给出一套面向所有者或明确授权者的完整部署法:如何建立一台设备的观察通道,如何把动作限制在批准范围,怎样存证、暂停、交接、复核,怎样在黑屏、断连和异常状态里不把旧计划当现实。每一步都要有目的、边界和回退条件。

你付费买的不是“让 AI 随便碰手机”的权利。

你买的是少踩几次坑,和一套能在坑边停下来的结构。

先让它看见。再让它动手。

剩下那部分,才叫部署。

十八、把“人类在环里”拆成几个角色

“人类在环里”这句话已经快被说坏了。很多产品把它翻译成一个弹窗:模型每做一步,弹窗问你一次“是否同意”。这不叫人类在环里。这叫把人类做成低质量的验证码。

人不是一个角色。至少要分开四种。

任务发起人决定为什么要做。他提供目标、对象和业务背景,也有权在目标变化时撤回任务。授权人决定这台设备和这类动作能不能被使用。他不必知道每个页面细节,但要对授权范围负责。验收人决定结果能不能被业务接受。他看的是证据、例外和剩余风险,而不是模型说话是否流畅。处置人则在异常时接手:断连、锁屏、未知页面、设备故障、规则冲突。处置人有停止权,却不必自动拥有发布权或扩权。

四个角色可以由一个人兼任。小团队里通常就是一个人。把它们写出来,仍然有意义。因为同一个人今天以任务发起人的身份说“帮我整理”,不等于他在没有看证据时已经以验收人的身份说“可以对外”。角色分开,是为了让权限在时间上也分开。

很多事故来自“默认同意”。系统看到创建者和验收者是同一个人,就把后续所有确认视为自动通过;系统看到设备曾被授权,就把每一个新任务都当成旧任务的延续;系统看到某人拥有管理员身份,就让他在不理解业务后果时也能放行一切。技术上很方便。组织上等于取消了检查。

真正的人工介入应该发生在信息增量最大的地方。不是每个普通步骤,而是出现新事实、风险改变、任务边界变宽、结果将对外生效的时候。人看到的不是一句“请确认”,而是一份可读的摘要:原目标是什么;系统现在看见什么;下一动作会带来什么后果;它为什么认为符合条件;还缺什么证据;拒绝或暂停会怎样。

如果弹窗不能回答这些问题,别让人点。

那不是审批。

那是把责任从机器端迁到一个没有信息的人身上。

十九、不要把成功信号当成世界已经改变

手机界面特别擅长制造假成功。

一个按钮按下去会变灰。一个圆圈转几秒。页面弹出“已保存”。这三个信号都可能是真的,也都可能只是本地界面的乐观反应。网络请求也许没出去,服务端也许拒绝了,数据也许仍在排队,后台也许稍后回滚。若任务涉及任何真实业务,系统就不能把第一个成功信号当成终点。

这里需要区分动作确认和结果确认。

动作确认只说明设备尝试过:点击事件发出、输入法写入、页面发生视觉变化。结果确认说明目标事实成立:内部记录已更新、预期状态能被重新观察、验收人拿到了可检查的产物。二者之间可能隔着延迟、异步、失败和人工处理。

一个稳的系统宁可说“动作已提交,结果待核”,也不要为了显得利落说“已完成”。这句话会让用户觉得慢,却能避免更昂贵的重复。尤其在网络抖动、应用卡顿或外部服务不确定时,第二次尝试不一定是修复,可能是重复提交。

因此,每个任务都应该有幂等边界。不是要求所有应用都支持复杂的工程术语,而是要求系统知道:同一个意图在不确定后不能无限重放。它可以保存任务编号、时间、最后证据,等待新的观察;可以把不确定交给人;可以在有可靠查询方式时先核对。它不应该因为“没有看见成功页”就继续拍同一个按钮。

这是手机闭环比脚本难的地方。脚本调用一个接口,往往能得到明确返回。手机面对的是一块会动画、会缓存、会被人抢走的玻璃。它带来更广的可达性,也带来更弱的确定性。用屏幕操作,就必须接受这种成本,而不是假装视觉识别把它抹掉了。

二十、日志不是监控录像,是责任的索引

很多人说要“全程录屏”。录屏当然有用,但录屏不是日志的替代品。几个小时的视频很难找,画面也不总能说明为什么。真正需要留下的是能索引、能对照、能复盘的记录。

每一次状态变化应当至少留下:任务是谁创建的;当时适用哪一版规则;观察来自哪里、是什么时间;模型给了哪些候选;规则为什么允许或拒绝;最终动作是什么;动作后的观察是否支持预期;谁批准了例外;何时暂停,何时恢复。敏感内容应做最小化保存和访问控制,不是把整个屏幕生活永久堆进仓库。

日志的第一用途不是找人背锅。第一用途是让系统有机会被修好。没有日志,你无法区分页面识别错、状态转换错、权限配置错、模型建议错、人工批准错。所有原因都会坍缩成“刚才它不太对”。有日志,才知道该改哪一层,也知道改完以后有没有引入新问题。

第二用途才是责任。当一个任务影响了外部世界,参与者需要能还原决定链。不是为了让每个人恐惧,而是为了让每个人不必靠记忆自证。系统替人记下:当时看见了什么,谁拥有哪种权力,谁在什么证据下接受了什么风险。记录越清楚,越不需要靠嗓门争论。

日志也要有边界。不要因为“可追溯”就无限留存敏感画面和私人内容。保留什么、保留多久、谁能访问、何时删除,属于任务契约的一部分。AI 执行体最不该做的事之一,就是以自动化的名义建立一座无人负责的监控仓库。

二十一、规模化之前,先做反向验收

正向验收问:它能不能完成任务。

反向验收问:它会不会在不该完成时停下。

后一个问题更值钱。因为正常路径总是容易被优化。团队会不断喂给系统干净截图、稳定网络、正确授权、熟悉页面。系统最后看起来像个高手。可真实世界里,最重要的路径通常是脏的:同名联系人、延迟通知、意外弹窗、临时改版、过期任务、手动接管、授权撤回。

反向验收故意制造这些条件,但只在自己控制的测试环境里做。观察层看不清时是否报告未知;页面与预期不一致时是否停止;动作超过权限时是否拒绝;完成信号不充分时是否保持待核;记忆过期时是否不再引用;人工撤回后是否立即切断新动作。每个“是”,都比一次丝滑的连点更接近可用。

如果一套系统只能证明“在正确条件下能成功”,它还只是 demo。能证明“在错误条件下不会乱来”,才开始像基础设施。

这条标准对手机尤其重要。手机是一个极其混杂的端点:私人与工作混在同一块玻璃上,系统通知会插进来,人的手随时可以覆盖机器的手,应用的界面由第三方更新。你无法把它改造成一个完美工厂。你只能承认它不完美,然后把不确定留在观察和暂停里,而不是推到外部世界。

二十二、结尾:它不是替你活,是替你碰到世界

模型在文本里很强。它可以把一段意图铺开,把资料压缩,把候选方案摆出来。手机给它的,不是更高的智力,而是一个接触点。它能看见屏幕,能碰到按钮,能把内部判断送到现实边缘。

这就够危险,也足够有用。

你不需要相信它会成为员工,才有资格使用它。恰恰相反,先把它当执行身体,才会认真给它安排眼睛、手、边界、日志和停止权。身体可以很快,判断必须慢一点;身体可以覆盖重复,责任不能被覆盖;身体可以连接更多界面,组织不能因此省略。

第一代 Surface Duo 的合拢提醒我们:视觉会消失。Recovery 的 No command 提醒我们:看不懂的状态不是可以随便跨过去的墙。它们都不宏大。可它们比任何“全天候 AI 员工”都诚实。

手机不是 AI 员工。

它是 AI 伸进现实的一截肢体。

先让它看见。让它在看不见时停下。再让它动手。让它在手落下以后回头看结果。最后,把接受结果的名字留在人这边。

二十三、恢复不是越权的借口

系统一旦卡住,总有人会说:先把它救回来再说。

这句话听上去务实,实际常常把两个问题搅成一个。第一个问题是设备能不能恢复到可观察、可使用的状态;第二个问题是当前任务还有没有资格继续。前者是技术问题,后者是授权问题。技术处理成功,不会自动替你回答授权还在不在。

例如设备因为锁屏、断连或系统界面变化而失去画面。系统可以报告失明,可以保存最后证据,可以请求设备所有者检查连接和可见性。它不该为了完成原任务,擅自扩大访问范围、尝试未知设置、修改账户状态,或把恢复环境当成绕开正常流程的捷径。恢复的目标应当是回到一个可确认的安全点,不是“无论如何把任务跑完”。

这条原则很适合测试。问自己:若设备恢复后,原任务已经过期、对象已变化、页面已换、人工已接手,系统会怎样?正确答案通常不是续跑。它应该重新观察,重新核对契约,必要时重新申请批准。只有当前事实仍符合原授权,旧任务才有资格继续。

人很讨厌从头来。机器更不该讨厌。重新开始的成本,常常比错误延续便宜。

二十四、别拿“省人”当第一张账

有人问这种系统能省多少人力。我理解这个问题。重复操作会吞掉注意力,手机上的碎流程尤其讨厌:应用之间切来切去、信息散在通知里、每一步都小,却不断打断工作。

但第一张账不该只算节省的分钟数。还要算系统要你付出的注意力:规则谁维护,权限谁复审,异常谁处理,设备谁保管,日志谁看,版本变更谁测试。若一个流程每周只出现一次、每次只需两分钟,给它接上一套复杂执行体未必划算。自动化不是把任何人工都替掉,而是把稳定、重复、可验证、错误可收回的劳动从人手里剥出来。

真正值得自动化的,往往不是最显眼的动作,而是最容易形成可靠边界的动作。你能说清输入,能说清输出,能说清停止条件,能在异常时交回人,这类事情才适合交给执行体。反过来,若任务价值来自关系、语境、例外判断和责任承诺,机器即使能点完每个按钮,也可能没有省下任何真正的工作。

把这张账算清,能让你避开一个很常见的陷阱:为了展示 AI 很强,先把最复杂、最敏感、最难验收的流程交出去。那不是落地。那是拿自己的业务做舞台。

二十五、从一台开始,先练会停

若你真的要做,起点应该很小。一台自有或明确授权的设备。一个内部、低风险、可撤回的流程。一个能清楚验收的目标。一次只增加一种能力:先看,后导航;先保存证据,后允许填写;先允许填写到草稿,后讨论是否需要任何外部动作。

每增加一步,都问同样四个问题:它现在靠什么观察?它在什么条件下允许动作?动作后靠什么确认?不确定时交给谁?四个问题有一个答不上,就不要加下一层。

这不是保守主义。是把速度放在可以积累的地方。你在一台设备上练出来的不是一套神秘脚本,而是一种工作纪律:事实在模型外,权限在动作前,验收在结果后,暂停永远可用。以后无论换手机、换模型、换应用、换团队,这些纪律仍然在。

工具会换。边界不会。

这也是免费上篇真正想留下的东西。不是一段能复制粘贴的连接指令,不是一张屏幕墙的照片,而是一把尺子。拿它去量任何 AI 执行方案:它越靠近现实,越要把眼睛、手、记忆、权限、验收和责任拆开。拆不开的地方,就先别让它碰。

二十六、授权会衰减,交接必须重新开始

权限不是一枚盖下去永远有效的章。它会衰减。

人会换岗位,设备会换主人,应用会更新,任务背景会消失,原先说过“你可以处理”的那句话会失去具体含义。一个昨天被允许的动作,到了下周可能已经没有对象、没有目的、没有验收人。系统若把授权当成永久记忆,迟早会在一段已经结束的关系里继续行动。

因此,授权应当像电池,不像纹身。它要有范围、期限、用途和可撤销性。任务完成后,临时动作权回收;设备交接时,旧任务冻结;角色变化时,原来的审批链重新确认;规则版本升级时,尚未执行的任务重新检查。不是因为每个人都不可信,而是因为上下文本来会消失。

交接也是一次新的观察。

人接手机器时,不能只读一句“已处理到第六步”。他需要看当前设备是否仍可见,任务是否仍有效,最后证据是否可信,下一步是否仍在允许范围内。机器接手人也一样:不能因为日志显示前任曾经批准,就假设当前人已经接受了同样风险。交接不是把旧状态复制过去。交接是把旧状态拿出来重新验。

很多团队没有把这件事写进系统,因为它看起来不像技术。可真正长期运行的自动化,最后都死在这种不显眼的地方:离职的人仍在审批链里,旧设备仍带着权限,过期任务在夜里被重试,没人记得当初为什么允许。

把授权做成会过期的东西,系统才有机会跟现实一起变。

把交接做成重新确认的东西,责任才不会在传递中蒸发。

到这里,这篇文章没有承诺一台手机能替你经营公司。它只给出一个更小、更硬的结论:任何想让 AI 接触屏幕、接触动作、接触现实的人,都先该把“它看见了什么”“它凭什么能动”“动完怎么证明”“出事谁来停”写下来。

写不下来,就不要接线。

二十七、会拒绝,才算真的能帮忙

最后再留一条最不讨喜的标准:一个可用的执行体,必须会拒绝。

拒绝不是把用户当敌人。拒绝是把不完整的意图还给意图的主人。目标不清,就要求补目标;对象不在授权内,就指出范围;页面不匹配,就报告未知;动作会跨过高风险门槛,就等待拥有名字的人批准;证据不足,就不宣布完成。它不需要装得像人,也不需要用很长的道歉。它只要清楚地说:我现在缺什么,因此不能继续。

这比“我已经尽力了”有用。

人在工作里也一样。真正可靠的同事,不是每个请求都说好,而是在请求会造成误解、越权、重复或损失时,把问题推回到该决定的人手里。AI 执行体不必假装拥有同事的生活和责任,但应该继承这条工作纪律。

于是“给它一台手机”这件事终于变得普通。不是造了一个新人类,也不是把企业塞进一根线。只是把一套被约束的观察和动作,接到了真实界面的边缘。它能替你搬一段路。路线、边界、终点和后果,仍然在你手里。

你会发现,真正难的从来不是让屏幕动起来。真正难的是在它动起来以后,仍然知道自己正在做什么。一个系统若能把这句话守住,哪怕只服务一台设备、一个流程、一个清楚的任务,也已经比许多声称拥有数字员工军团的方案更接近工作。

别急着扩张。先让第一次暂停是可理解的,让第一次拒绝是可解释的,让第一次恢复不是侥幸。把这些做完,手机才不是一块会发光的风险。它才开始成为一具可控的执行身体。

这不是慢。是把速度从盲目点击里拿回来,放进能够复盘、能够修正、也能够负责的闭环里。

能把这一圈走稳,才配把下一圈交给机器。

先守住边界,再谈规模。

如此。

二十八、授权会过期,任务不能靠惯性活着

委托不是把一把钥匙交出去。它更像给一张临时通行证盖上时间。今天你允许系统替你整理某个内部页面,不等于明天它还可以;你允许它处理一条明确任务,不等于同类任务以后自动续期;你曾经是设备所有者,也不等于你离开这个岗位后,旧授权还在替你做决定。

这叫授权衰减。

系统很容易忽略它。因为历史记录里有一个“曾被批准”,模型就会把它读成“仍然允许”;因为设备连接还在,执行器就会把可达读成可用;因为任务队列没有被清空,它就以为目标还活着。人类组织里最危险的权限,往往不是被明确滥用的权限,而是没人记得应该收回的权限。

所以授权必须带寿命。任务有截止时间;动作有目的范围;审批有版本;设备有当前归属。任何一个字段变化,都应该让旧委托重新进入待确认,而不是靠昨天的同意滑过去。系统不必猜某个人是不是还愿意。它只需要承认自己不知道,然后停。

这很像人类交接工作。前任说“这个客户可以这样处理”,后任也不能把这句话当永久规则。客户情况会变,合同会变,承诺会变。可靠的交接不是继承一句口头经验,而是重新核对事实、权限和下一步责任。机器交接也一样。

二十九、最危险的错误,是看起来像成功

失败时,人会警觉。红字、报错、黑屏、转圈,都在提醒你事情不对。真正麻烦的是假阳性:页面弹出“已提交”,但服务器没有接收;按钮变灰,只是本地动画;系统日志写了成功,实际只是动作被发出;模型说“任务完成”,它不过看见一个熟悉的结尾。

假阳性比报错更毒。报错让流程停住,假阳性让错误带着完成感继续往下走。

因此,成功也要被怀疑。对每个重要动作,分开问两件事:设备是否尝试了动作;世界是否已经变成预期状态。前者是执行证据,后者是结果证据。两者不一致,就不要用乐观的那个覆盖谨慎的那个。把任务标成待核,等待新的观察或人工确认。

这不是故意把系统做慢。它是在防止“没看见失败”被错误地翻译成“已经成功”。手机界面尤其需要这层,因为它本来就是给人看的,不是为严格事务确认设计的。人能从上下文和责任感里补上一点迟疑;机器必须把迟疑写进状态。

三十、人工交接不是接管,是一份协议

当系统把任务交给人,不能只丢一句“需要人工处理”。这句话把最难的上下文又塞回人的脑子里,等于让人从零开始猜机器为什么停。

一次合格交接至少交出五样东西:原任务要什么;当前可确认的状态是什么;最后一张有效证据是什么;系统拒绝继续的具体原因;人接手后有哪些允许选择。人可以批准、拒绝、修正目标、取消任务、恢复到某个安全点。系统则必须记住人选择了什么,不能在下一轮又把同一个问题问一遍。

这是一份协议,不是一句求救。

协议的价值在于,人与机器都不假装知道对方脑子里的东西。机器不假装人已了解风险;人也不假装机器已经完成。交接完成后,状态应当重新建立:是谁接手,接手时看到了什么,哪些授权被改变,下一步还是否有效。没有这些,所谓人工在环里只是一段断裂的聊天记录。

三十一、故意小的第一件事,教你的最多

第一件交给手机执行体的任务,不该拿来证明它多聪明。应该拿来验证它会不会守规矩。

选一个小到有点无聊的任务:范围固定、对象自有、结果可检查、失败可撤回、没有对外承诺。它的价值不在产量,而在让你看见完整闭环在哪里裂开。你会发现设备并不总是可见,页面并不总是稳定,旧证据很快过期,权限需要比想象中窄,人工交接也需要比想象中清楚。

这些发现不浪漫。但它们是以后所有规模的地基。

一开始就挑最大的流程,学到的通常只有一件事:系统很复杂。先挑最小流程,你才能知道复杂究竟从哪一层长出来。是观察不稳,是状态缺失,是授权太宽,还是验收没人?问题一旦有名字,就能被修;没有名字的宏大失败,只会变成下一次更大的演示。

先让它在小事上安全地停住。之后才谈让它在大事上替你动手。

来源与更新

  1. 大神网归档