最近在用 Claude Code 写代码的时候有个东西我一开始完全没在意。就是它在干活的时候有时候会突然停下来弹出一个选择界面。有选项有描述方向键选择回车确认。就像你在 RPG 里跟 NPC 对话弹出的那种分支选择框。一开始我根本没觉得有什么特别的。AI 干活遇到需要我做决定的地方停下来问一句让我选一下这不是理所应当的吗就像你让助手帮你订机票他跑来问一句东航还是南航你回一句他继续订。天经地义的事。但后来用得越来越久。用了几个礼拜吧有一天我突然反应过来一个事情。这个弹出来的选择框技术上一点不稀奇。组件是提前写好的AI 输出一个 JSON前端匹配到对应的 UI 组件渲染出来。跟传统软件开发没有任何区别。稀奇的是——该弹什么、什么时候弹、弹几个选项、选项内容是什么这些全部是 AI 自己判断的。不是设计师预先画好的页面流程。不是产品经理定的交互路径。是 AI 在那一刻根据上下文自己决定的。这跟传统软件完全不一样。传统软件的页面流程是写死的——用户打开 A 页面填表单点提交跳到 B 页面。每个人看到的都一样不管你上一步说了什么。但这里是——AI 看了你的上下文自己判断哦这里需要问用户一个问题然后自己决定问什么、怎么问。展现逻辑的决策权从设计师转移到了 AI 手上。用完之后它就消失了。再也不会出现。一次性的。用完即焚。然后我开始越想越不对劲。这个功能在 Claude Code 里叫 AskUserQuestion。它让我开始想一些更大的事情。一些说出来可能有人觉得我疯了的事情。一. 一个写代码的看到的东西不太一样先聊聊这个 AskUserQuestion 是怎么回事。Claude Code 是 Anthropic 出的编程工具你可以在终端里跟它对话让它帮你写代码、改 bug、重构项目。我平时用得最多就拿它举例子。Cursor、Windsurf、Copilot 也有类似的交互都一样。重点是这个交互模式本身。以前用开发工具界面都是写死的。工具栏在哪、菜单在哪、设置面板有几个 tab全部预先定好了。你打开 Eclipse 是这样打开 VS Code 也是这样。你不需要说话你只需要找到对应的按钮去点。但 AI 编程工具不是这样。你跟它说一句话它去干活。干到一半遇到需要你做决定的地方它停下来弹出一个选择界面。比如它帮你装一个日期库不会自己选一个就装了。而是弹出一个选择界面date-fns、dayjs、Temporal每个选项下面还有一句描述。你选完之后它继续干活。整个过程就像你在指挥一个特别靠谱的助手。他遇到拿不准的地方就跑来问你带着方案来问不是空着手来问。你拍板之后他继续执行绝不拖泥带水。这个模式大家已经习以为常了。但我用了很久之后某天突然反应过来一个事情——决定给你看什么界面的人已经不是设计师了是 AI。以前设计师画好页面 A → 页面 B → 页面 C用户沿着这条线走。现在AI 看了你的上下文自己判断这一刻该给你看一个选择框于是弹了一个出来。你选完它消失了。展现逻辑的决策权换了主人。如果你把这个模式往外推一步呢二. 从页面驱动到AI 决定展现什么这一下子让我想到了一件事情。我之前做产品的时候最头疼的就是表单设计。一个信息登记页面光确定按钮放左边还是放右边这种破事就能跟设计师吵一个下午。然后字段顺序怎么排、校验规则怎么写、错误提示怎么措辞……搞来搞去搞了一个礼拜。为什么这么费劲因为传统软件里页面的展现逻辑是固定的。设计师必须在用户到来之前把所有可能性都想好用户第一步看到什么、点下一步看到什么、出错了提示什么、成功了跳哪里。所有人走同一条路看同一个页面。就像一本菜单。菜品分类、配图、描述全部排版妥当。你来餐厅了就翻菜单翻到想吃的就点。菜单是提前印好的谁来翻都一样。这个模式统治了软件行业几十年。从桌面到 Web 到移动端没变过。交互设计的圣经《About Face 4》里面花了大量篇幅讲怎么设计这些固定流程。怎么让用户在页面间导航怎么减少认知负担怎么让操作路径最短。我自己把那本书翻烂了。说实话里面的东西到现在也不过时。但问题是整个这套方法论的前提假设是——设计师要提前把用户可能走的每一步都设计好。而 AskUserQuestion 打破的就是这个前提。它不是设计师画好了页面 A、B、C用户按顺序走。它是AI 根据用户当前说了什么、做了什么自主判断这一刻该给用户看什么。展现逻辑不再固定了。它变成动态的了。这就像你去了一家没有菜单的餐厅。厨师不看提前印好的菜单而是看你——你今天想吃什么、你有没有忌口、外面下不下雨、今天进了什么好食材——然后现场决定给你出什么选择。你选一个厨师去做。选完之后这个菜单就不存在了。下次你来他出的可能是完全不一样的选择题。以前是设计师把路铺好用户沿着走。现在是 AI 看着你临时给你铺一段路。走完了路就撤了。这个翻转。太骚了。三. 气泡渲染一个越想越后怕的东西想到这里我开始往更大的方向想了。如果AI 自主决定展现什么这个模式不只是在终端里弹个选择框而是推广到所有软件的交互场景呢如果未来人类跟软件的交互方式真的变成了在一个聊天框里发号施令那所有的 UI是不是都变成了聊天气泡先看一个最简单的例子。以前你要做一个信息登记得打开一个页面上面有一大堆输入框姓名、电话、邮箱、地址、紧急联系人……你一个个填填完点提交。流程是设计师定死的——打开页面 → 填表单 → 提交。每个人走的都是这条路。但如果按照气泡渲染的思路AI 会根据你说了多少自主决定给你看什么。第一种情况你直接把信息说全了。你说一句“我要登记一下信息。张三13800138000zhangsanexample.com住在朝阳区。”AI 提取完信息回一个气泡。气泡里面不是文字而是一个小卡片。把你说过的信息逐条整理好展示出来最底下一个按钮确认登记。你点一下完事。没有表单页面。没有一排排输入框。没有任何多余的东西。你该说的都说完了AI 就只给你一个确认。第二种情况你没说全。你说一句“我要登记一下信息。”AI 一听啥信息都没给。于是它不做确认框——它在气泡里直接渲染出一个表单姓名、电话、邮箱该有的字段一个不少你直接在气泡里填填完提交。看到了吗同一个功能AI 根据你提供了多少信息自主选择了完全不同的展现方式。你信息给全了它就给你一个确认按钮。你信息没给够它就给你一个表单。没有设计师提前画好用户必须走填表单这条路。AI 自己判断的。好这是最简单的场景。你可能会说这不就是把固定流程变成了动态选择嘛有什么大不了的。当你觉得做到这一步已经挺厉害的时候更牛的来了。再看一个复杂点的。差旅报销。按过去你得打开报销系统。选项目、填行程、上传发票、选费用类型、一个一个金额手动录。录完提交被打回来因为发票日期和行程日期对不上。改了再提交又被打回来因为超过报销标准了。来来回回搞三天。我之前自己做公司报销的时候光搞这个就能给我整崩溃。但如果按气泡渲染的思路——你直接把一堆照片往聊天框里一丢“这个月出差北京帮我报销一下。”AI 识别所有发票自动关联行程自动匹配费用类型自动算金额。然后在气泡里弹出一个卡片行程摘要 费用明细 合规性检查。底下两个按钮确认提交/有异议。你点确认。完事。三天变三秒。还没完。再看一个更狠的。项目管理。以前开一个新项目你得打开 Project 或者 Jira。建项目、建任务、分配人、设截止日期、搞看板……一套操作下来半天没了。然后你还得教团队怎么用这个工具。光培训就搞两场。但如果按气泡渲染的思路——你说一句“帮我开一个新项目要做个官网下个月底上线。前端小王后端小李设计小张。”AI 自动拆任务、自动分配、自动排期。然后在气泡里渲染出一个临时的看板页面。不是跳转到 Jira。是直接在聊天框里给你生成了一个看板。你能拖拽卡片能改截止日期能加备注。用完之后关掉下次打开是另一个完全不同的页面。这已经不是在聊天框里放了个表单了。这是在聊天框里生成了一整个应用。用完即焚。说人话就是以前是人去适应设计师画好的页面流程。现在是 AI 根据你说了什么自主决定给你看什么。以前是人找功能。现在是功能找人。以前是设计师定流程。现在是 AI 定展现。四. 不是所有东西都该变成气泡说到这里我自己也觉得有点上头了。冷静下来想想。有很多场景聊天并不是最好的交互方式。比如你要填一个 50 个字段的企业报表。用自然语言一个个描述那个信息密度太低了。一句话说三个字段你得说十七八句。效率还不如直接在表格里一个个敲。比如你要调整设计稿里一个元素的像素级位置。你当然可以说往右移 2px。但如果你要连续微调十几次用鼠标拖明显更直觉、更高效。就像你让一个人帮你调吉他弦你用嘴说紧一点……再紧一点……过了过了松一点跟你自己拧弦钮比哪个快再比如你要浏览商品列表进行比较。滑动筛选的体验大概率比给我看红色的大衣然后 AI 返回一个气泡要好。因为浏览本身就是一种探索你不知道你想买什么你在找。找的过程需要眼球快速扫描这个聊天做不到。心理学上有个概念叫选择过载——当选项超过一定数量时人反而做不了决定。传统的解决方案是分类、筛选、排序。气泡渲染解决不了这个问题甚至可能让问题更严重。所以我说未来更可能的形态不是一个极端取代另一个极端。而是一个分层结构。简单的事情纯对话就行。帮我约明天下午三点的会议。一句话搞定连气泡都不用。稍微复杂一点的事情AI 在气泡中渲染一个微型交互组件。就像 AskUserQuestion 在终端里弹出的那个选择框。选项不多决策很快选完即消失。再复杂一点的事情AI 生成一个临时页面。一个真正的、有布局有样式的页面但它只在这一次任务中存在。用完即关下次生成的可能是完全不同的页面。最专业的事情还是调起专业工具。Figma 做设计、IDE 写代码、Excel 做分析。这些工具的交互密度太高了不是一句话能替代的。Agent 可以帮你操作它们但这些工具本身的界面形态不会消失。说实话写到这我自己都觉得这可能是我个人的过度脑补。一个终端里的选择框就看到了未来软件的终极形态是不是有点扯。但是。五. 真正被改变的是入口但是。不管我脑补的这些具体场景对不对。有一件事我觉得是确定的。软件的入口正在从页面变成意图。传统的软件用户要完成的操作是打开 App → 找导航 → 找到对应功能 → 操作。你得先知道这个功能在哪个 tab 下面你得学会这个软件的信息架构你得记住那个设置页面藏在三级菜单的哪里。我自己做产品的时候就深有体会。你花了大量时间设计信息架构、设计导航、设计面包屑本质上就是在帮用户解决一个问题帮他找到他想找的东西。但 AI 时代的软件这个需求直接消失了。说出你的意图 → AI 找到最佳路径 → 渲染最小必要的界面给你确认。用户不再需要知道功能在哪。AI 知道就行。这意味着什么意味着不再需要首页了。不再需要导航栏、面包屑、tab 切换。不再需要用户去学习你的信息架构。UI 的设计重心从页面布局变成了对话流设计和组件生成策略。设计师的工作从设计一个页面让用户在上面操作变成了设计一套规则让 AI 知道什么时候该生成什么界面。这就像……以前你是一个建筑师。你要设计一栋楼的每一层、每一个房间、每一条走廊让住户自己去找到想去的地方。楼盖好了住户进来迷路了你得在走廊上贴指示牌在转角处放地标。现在你变成了一个管家。住户说一句我想看书你要判断他是想在客厅沙发上随便翻翻还是想去书房认真啃一本大部头。然后带他去最合适的地方甚至帮他打开灯、泡好茶。以前的设计是空间设计。未来的设计是服务设计。能力要求完全不同了。六. 写在最后凌晨三点。写完这篇稿子。说实话我自己都有点不确定。一个 Claude Code 终端里的选择框就让我看到了软件的终结是不是想太多了。我之前写过一篇文章叫《AI正在吞噬所有软件》。当时写的是 Agent 如何通过 Skill 和 API 取代传统软件的功能。软件不再是一个个独立的 App而是 Agent 身上的一个个能力。但这次我觉得 Marc Andreessen 那句 “Software is eating the world”可能要被倒过来了。World is eating the software。软件这个概念本身可能正在被消解。不再是独立的 App。不再有固定的界面。只有 Agent 和能力注册用户按意图调用。需要界面的时候临时生成一个。用完了就消失了。就像 AskUserQuestion 那个选择框一样。出现的那一刻你甚至不会意识到它是被设计出来的。它只是在那个特定的时间点为那个特定的问题存在了那么一瞬间。然后就不见了。我不知道这个未来什么时候来。可能三年可能五年可能更久。也可能它已经来了只是我们还没注意到。但我知道的是当那个选择框在终端里弹出过无数次之后。有一天我突然反应过来的那个瞬间。浑身起鸡皮疙瘩。就像 2007 年第一次用手指在 iPhone 屏幕上滑动的时候。你说不清楚它到底哪里不一样。但你知道有些东西回不去了。以上既然看到这里了如果觉得不错随手点个赞、在看、转发三连吧如果想第一时间收到推送也可以给我个星标⭐谢谢你看我的文章我们下次再见。