乐于分享
好东西不私藏

软件正在悄悄地为另一种用户重写

软件正在悄悄地为另一种用户重写

命令行的回归,不是一场怀旧运动。它是一场关于「谁才是软件真正的使用者」的悄然转变。

失效中的假设

软件设计有一个延续了三十年的隐含假设:最终使用它的,是一个用眼睛看、用手操作、注意力有限、容易不耐烦的用户。围绕这个假设,整个产业建立起了一整套被奉为标准的设计哲学——用户友好、所见即所得、降低认知负担、让操作流畅得「像呼吸一样」。这套哲学在1980年代由 Macintosh 启蒙,在1990年代由 Windows 普及,在2010年代由移动端推到极致,几乎覆盖了所有商业软件的每一个像素。

而这个假设,正在2025年之后悄悄失效。
证据散落在各个看似无关的角落。Anthropic 推出的 Claude Code,主要载体是命令行;Google 紧随其后发布的 Gemini CLI 同样如此;OpenAI 的 Codex、Atlassian 的 Rovo Dev、Cursor、Qodo——叫得出名字的 AI 编程工具,几乎清一色把终端窗口作为主舞台。一些原本是图形界面优先的产品,开始反向补上 CLI 版本。
2026年3月,AI 搜索公司 Perplexity 在其开发者大会 Ask 2026 上宣布,公司内部生产系统正在从 Model Context Protocol(MCP)转向传统 API 和 CLI,对外仍保留 MCP 服务器但不再作为主要架构。Perplexity 的 CTO Denis Yarats 给出的理由是工程性的:MCP 的工具描述会预先占用大量上下文窗口(业界引述的某次部署中,工具 schema 占用了高达72%的可用上下文),多服务器认证流程在生产规模下成为可靠性瓶颈,而大部分 MCP 特性在实际部署中很少被用到。值得玩味的是,MCP 恰恰是 Anthropic 在2024年底推出、并已交由 Linux 基金会治理的开放标准——而 Anthropic 自己的 Claude Code,在执行具体任务时也大量直接调用 shell 命令,而非全程绕道 MCP。Y Combinator 的 CEO Garry Tan 出于同样理由,自行搭了一个 CLI 版的 Agent 集成。
这些零散的现象,单独看都不奇怪,合在一起却指向同一个不太愿意被明说的事实:CLI 正在复活,不是因为它变得更好用了,而是因为它的使用者,正在从人变成机器。

GUI 的辉煌三十年

要理解这件事的分量,需要先承认 GUI 在过去三十年取得的那场无可争议的胜利。
1984年的 Macintosh 不仅仅是一台机器,它是一份宣言。它向整个产业宣告:计算机不应该再是工程师的玩具,它应该是一个普通人也能使用的工具。这个宣言在随后的二十年里被一遍遍验证、一遍遍兑现。
Windows 95 把 GUI 推到了千家万户,iPhone 把它放进了每个人的口袋,软件即服务的浪潮则把所有应用都包装成了精美的网页和移动端界面。整个软件产业的设计哲学,可以用一句话概括:人是视觉动物,人的认知带宽有限,所以一切以人的感官舒适为准。
CLI 在这场胜利中并没有死,但它退到了边缘——退到了系统管理员的 SSH 会话里,退到了 Linux 服务器的脚本里,退到了少数自我标榜「power user」的开发者的傲慢趣味里。对绝大多数普通用户而言,CLI 是「过去」的代名词,就像黑白电视和打字机一样。

GUI 的胜利建立在一个隐含前提之上:软件最终是给人用的。三十年里,没有人质疑过这个前提——因为没有理由质疑。

这个前提之所以在今天开始松动,是因为软件的「直接使用者」开始分化。

「直接使用者」开始分化

「直接使用者」这个概念,在 GUI 时代过于自明,以至于从来不需要被定义。一个员工打开 CRM 系统填写客户信息,他就是直接使用者;一个设计师打开 Photoshop 修图,她就是直接使用者;一个会计打开 SAP 录入凭证,他就是直接使用者。软件被设计来取悦这些人,因为他们坐在屏幕前,他们的手指在鼠标和键盘上,他们的不耐烦会直接转化为产品差评。
但今天,越来越多的工作不再由「坐在屏幕前的人」直接完成。一个开发任务,可能是工程师对着 Claude Code 描述需求,由 Claude Code 在终端里读文件、改代码、跑测试、提交 commit;一个客服流程,可能是 AI Agent 自动从工单系统读取问题、查询知识库、起草回复、登记结果;一个采购询价,可能是企业 Agent 自动访问多个供应商接口、汇总报价、生成对比表。在这些新的工作流里,人的角色从「直接操作者」退到了「指挥者和审查者」——人告诉 Agent 要做什么,Agent 直接和软件打交道,最后人来检查结果是否合意。
这就引出了一个对软件产业冲击巨大的问题:当直接和软件交互的不再是人,而是另一个程序,那些围绕「人」建立起来的设计美学,还合理吗?
答案越来越清晰:不,至少在很多场景里不再合理。一个图标,对人是直观的,对 Agent 却需要先 OCR 再推理;一个动画反馈,对人是愉悦的,对 Agent 是噪音;一个精心隐藏在三级菜单里的高级选项,对人是「不打扰新手」的贴心,对 Agent 是「找不到」的灾难。GUI 把信息可视化、把操作隐藏在按钮背后、把状态用动画呈现——这些设计每一项都增加了机器理解的成本。
而 CLI 在七十年代被发明出来时所做的事情,恰恰反过来:所有信息以纯文本呈现,所有操作以可组合的命令表达,所有状态以结构化输出回传。它不漂亮,但它对一个非视觉的、读纯文本的、需要程序化调用的使用者而言,几乎是完美的。
CLI 没有变。是世界变了,世界开始需要它原本的样子。

为 Agent 而生的新物种

香港科技大学一个研究小组在2025年开源了一个项目,名字直白到近乎挑衅:CLI-Anything。它的目标是把任何现有的桌面软件——GIMP、Blender、LibreOffice 这些原本完全为人类视觉设计的工具——自动改造成 Agent 可以直接调用的命令行接口。这个项目的口号,可以说是这场转向最简洁的总结:今天的软件服务于人,明天的用户将是 Agent。
这句话听起来像是一个营销文案,但它在产品策略层面已经被严肃对待了。Google 在2026年初推出的 Agents CLI,官方文档写得很直接——这是一个「专门为 AI 编码 Agent 设计」的工具,把 Google Cloud 的整个 Agent 技术栈包装成了一组机器可读的命令。
Atlassian 的 Rovo Dev CLI 在 SWE-bench 这个公认的 Agent 编程基准测试上拿到第一名。一种新的产品类别正在浮现,业界开始管它叫「Agent-native 工具」——它们不再以人作为首要使用者,而是以 AI Agent 作为首要使用者,人则退居为 Agent 的指挥者和审查者。

这是过去七十年软件设计哲学的一次根本性反转。「为人优化」第一次成了一种可能需要重新评估的默认选项。

值得强调的是,这并不意味着 GUI 即将消失。普通用户买一台笔记本电脑,仍然会期待一个漂亮的图形界面来打开邮件、看视频、刷社交网络——这些场景里,人依然是直接的、唯一的使用者。但在另一个迅速扩大的疆域里——开发、运维、数据处理、内容生产、企业自动化——软件的直接使用者正在从「人」迁移到「Agent」,而人变成了「Agent 的使用者」。这是一种隔了一层的关系,它带来的设计哲学转向是结构性的:「界面美观」让位于「输出可解析」,「操作流畅」让位于「调用无状态」,「学习曲线平缓」让位于「文档对模型友好」。这些新的优先级,每一项都更像是1980年代之前的工程美学,而不是过去三十年我们习以为常的产品美学。

对企业应用的影响

这场转向带来的真正冲击,在企业内部远不止于「我们要不要采购一些 CLI 工具」这种采购层面的问题。它在更深的层面上,正在重塑企业 IT 的资产观。
过去十几年,企业花在 SaaS 和软件许可上的钱,绝大部分买的是「人的使用体验」——漂亮的仪表盘、流畅的工作流、能让最终用户少点几下鼠标的界面优化。这些投入在「软件给人用」的假设下,是合理的。但当越来越多的企业内部工作开始由 Agent 来执行——自动写代码、自动处理工单、自动生成报表、自动跟进客户——那些为「人的体验」而支付的溢价,正在变成一种隐形的浪费。一个 Agent 不需要漂亮的仪表盘,它只需要一个干净的 API 或者一个可靠的 CLI。
这对企业的供应商策略提出了一个不太好答的问题:在未来五年的合同里,我们究竟应该为「人友好」付多少钱,又应该为「Agent 友好」付多少钱?很多 SaaS 厂商目前的报价单上,根本还没有出现这个区分——他们卖的还是「席位」,按人头计费。但当真正使用系统的不再是人,而是一个可以并发跑出几十个实例的 Agent,「按人头」这个计费单位本身,就变得和软件的实际价值脱节了。这是另一个值得另开一篇专门讨论的话题。
更值得警惕的,是企业内部的能力缺口。习惯于 GUI 时代的 IT 团队,很多人对命令行、脚本、API 编排这些「Agent 时代的基本素养」是生疏的。他们能熟练地使用某个图形化的运维平台,却写不出一段干净的 shell 脚本去和 Agent 协同。这种缺口在 GUI 时代不是问题——因为厂商会替你把一切包装好;但在 Agent 时代,这种缺口直接决定了你的组织能不能把 Agent 用起来、用得深。
我们需要重新培养一批「能和 Agent 对话」的工程师。他们不一定是最资深的开发者,但他们必须熟悉文本接口、结构化输出、可组合工具链这一整套思维方式——也就是1990年代之前那一代 Unix 程序员的基本功。三十年前我们以为这套技能要被淘汰了,结果它正在以一种意想不到的方式回归。

软件的两副面孔

把上面这一切串起来,浮现出的是一幅过去七十年软件设计哲学的潜流式地震图。
三十年前,我们让软件学会了用人的语言说话——图标、动画、所见即所得、点击与拖拽。这是一场漫长而辉煌的革命,它把计算从极少数人的特权变成了所有人的工具。三十年后,我们正在让软件学会用机器的语言重新说话——纯文本、结构化输出、可组合命令——只不过这一次,听众是另一种正在崛起的智能,而人则站到了一个更新、也更高的位置上:不再是软件的直接操作者,而是 Agent 群体的指挥者。
下一代企业级软件的形态,很可能是「双面」的:一面留给人,保留所有 GUI 的优雅与温度;另一面留给 Agent,呈现出 CLI 般的简洁与可调用性。哪一面更重要、哪一面更值钱、哪一面将定义未来软件公司的竞争力——这些问题在今天还没有标准答案。但可以确定的是,那些只有「人那一面」而没有想清楚「Agent 那一面」的软件公司,正在悄悄地失去一种重要的入场券。
终端窗口里跳动的字符,看起来一如三十年前。但它们今天承载的含义,已经截然不同了。