– by Fotis Fotopoulos in Unsplash
今天,我终于把日常开发的主窗口从 VS Code 换成了 Codex。以前用 VS Code 的界面屏幕分成三栏,左边是文件树,中间是文件内容,右边是 Copilot 或 Agent。现在换成 Codex 以后,左边是项目、对话和 worktree,中间是 Agent,文件视图和终端被放到了右边。看起来只是几个窗口换了位置,实际上是工作的方式变了:工作的第一入口,不再是文件,而是智能体。
文件仍然需要读,代码仍然需要检查,只是我越来越习惯先把事情说出来。我想做什么,就先和 Agent 说,接着再去看它改了什么、结果对不对。文件视图的确认,已经彻底成了辅助。今天把主窗口换过来,我觉得也算是顺着自己的习惯,把界面调到了更合适的位置。
这个变化恰好和我最近做自己软件时的感受连在一起。开发软件的时候,我已经可以通过对话把需求交给 AI;到了使用软件的时候,我以用户的身份代入,却经常还要找菜单、填表单、点按钮。尤其是自己 Vibe Code 出来的软件,功能是按我的需求做的,用起来却还是有些地方让我觉得不顺手。我经常发现,固定的组件和布局会挡住我原本想做的事,于是又陷入新一轮的修改当中。
改着改着,我发现自己想改的已经不只是哪个按钮摆在哪里。我越来越不愿意通过那些手动输入去完成操作,而是想把事情直接说给 Agent 听。同时,我又离不开界面上那些可以直接查看的数据。我还是希望打开 App,就能看到内容,慢慢看,也能接着操作。这两种习惯都已经在我身上了,做自己的 App 时,我也想把它们都留进去。
比如做一个待办应用,按照工具的使用习惯,添加一个任务,要填任务名、任务描述、开始时间、结束时间,再选委派给谁。但实际上在我工作中,我早就有一个待办智能体帮我完成这些内容的填入。我平时都是用自然语言告诉它,而免去了在工具界面上重复:这里填名字,那里填描述,再去选时间、找负责人。虽然每个控件我都熟悉,可我就是越来越不想挨个填了。
因为我现在的待办智能体已经能帮我做这件事。我把任务用自然语言说明白,它就帮我完成相应的操作。用过这种方式以后,我再去考虑自己的待办应用,就会很自然地想:这里也应该能直接说一句话吧,只是要保留任务更新后的内容就可以了。
我也很能理解 Instinct 这样的 Personal Agent 为什么会选择不再增加一套新界面。它在官网上说:“The interface is simple: there are no new interfaces.” 按它的介绍,用户可以直接发消息或打电话,它则能像人一样使用手机和电脑去完成事情。我已经习惯用一句话把任务交给自己的 Agent,自然也会觉得,能在熟悉的沟通方式里把事情办完,就少了一层找入口、学操作的麻烦。官方介绍
想到这里,我觉得这种交互背后最重要的基础是:信任。如同把事情交给一个信得过的人,很多时候也是先把需求说清楚,再让对方去办。在我看来,Instinct 的做法更像是在建立这种与助理相处的关系。创始人 Noah Shinn 在访谈中提到,他们甚至会观察用户多久开始愿意提供信用卡等敏感信息,把它作为信任的观察指标。这个细节让我觉得,要让用户愿意把事情交出去,光能听懂一句话还不够,还得让人慢慢相信它能把事情办好。创始人访谈
不过,想到我自己要做的待办应用,我发现自己本质上还是把它当作一个工具,只完成特定的工作:管理任务。任务录进去以后,我会再回来看:有哪些还没做,时间安排得怎么样,分别交给了谁。这时我希望打开界面就能看见,也能直接确认刚才的修改。Instinct 让我更能理解把入口放进对话里的做法,而我自己的使用习惯,又让我想给这些需要反复查看的内容留一个固定的位置。
所以,我期待的待办应用用起来应该是这样的:我只要通过文字或者语音说要创建什么任务,什么时候开始、什么时候结束,由谁负责;待办智能体把它存进去,页面上就出现这条记录。接着我还可以说要改哪里,改完的内容也马上显示出来。这样我就能一边说,一边看到事情被完成。我在意的“所见即所得”,大概就是这种感觉。说完之后有东西可看,反馈来得及时,我才能顺着往下做。
这也是我想保留工具的原因。以前在一些场景下,经常需要产生一些框架相同,内容不同的报表或者 PPT,于是每次都是让 Agent 从零生成静态页面,现在更希望把重复的操作和呈现固化下来:任务怎么存,列表怎么显示,做好一次,以后继续用。新的内容交给 Agent 处理,已有页面随之更新,也省下反复生成的 Token。
这些想法放在一起,我才觉得,“活的软件”对我来说开始有了一个具体的样子。我想保留熟悉的界面,也想直接和它说话;我想打开它看已有的数据,也想在对话里把新的事情做进去。页面里的内容会随着我的操作变化,我不用总是离开对话去找一个按钮,也不用离开页面去猜后台到底存了什么。
这让我重新想起自己做了这么多年的 SaaS。以前,我很自然地把业务拆成字段和流程,再把它们放进软件里。轮到自己使用,也得照着它的安排来:学会它的菜单,填好它要求的字段,适应它规定的步骤。现在自己用 AI 做软件,我却越来越不愿意迁就这些安排。既然能够按自己的需要去做,觉得不顺手时又能继续改,我就希望软件能适应我,长成我愿意每天使用的样子。
最近半年,我才开始从自己的经历里理解“SaaS 已死”这句话。从前是人迁就软件,现在有了 AI Agent,我开始希望软件迁就人,按每个人的需要来做。先习惯了和 Agent 工作,再回头看自己做的 App,那些过去习以为常的操作就越来越像一种桎梏。我已经把事情说清楚了,为什么还要再填一遍?我想把这种直接表达需求的方式延续下去,让软件围着我的需要来定制,少花在操作上的工夫,留给事情本身。
今天换 IDE,只是这段变化里一个很直观的动作。Agent 到了中间,文件到了旁边,和我现在做事的顺序终于一致了。我也想继续把自己做的 App 往这个方向改。界面留着,数据看得见,要做什么就直接说出来。至于“活的软件”最后会是什么样,我想还是得这样一边做、一边用,才会越来越清楚。