未来软件即将消失?港大CLI-Anything,AI Agent可取代绝大多数 APP
前几天我刷到了香港大学开源的一个项目——CLI-Anything,GitHub 上线不到一周就突破了 11,000 星。我盯着它的 README 看了很久,脑子里冒出一个有点吓人的问题:如果 AI Agent 能直接操控所有软件,我们还需要那些精心设计的用户界面吗?未来的软件,究竟会消失,还是会进化成我们认不出的样子?

从 GUI 到 CLI:交互范式的根本性转移
CLI-Anything 的出现,本质上是在解决一个被长期忽视的问题:如何让 AI Agent 真正"用"起来人类世界的专业软件?
在此之前,业界主要有三种思路,但都有致命缺陷:
第一种是 GUI Agent 方案——通过截图识别界面、模拟鼠标点击。这种方案极其脆弱,UI 元素位置一变就失效,分辨率和系统主题变化都可能导致失败 。
第二种是调用官方 API——但大多数桌面软件的 API 要么不存在、要么极不完善、要么文档匮乏 。
第三种是手工开发命令行包装器——工作量巨大,需要深入理解目标软件架构,往往要数周甚至数月 。
CLI-Anything 的颠覆性在于:它用自动化的方式,一条命令就完成整个 CLI 生成流程。它不是替代原有软件,而是为软件生成一个"Agent 原生"的命令行外壳,直接调用真实软件后端执行操作,保留 100% 专业功能 。

这让我想起 Andrej Karpathy 最近的预言:软件正在从"标准化产品",变成"按需生成的临时工具" 。他举例说,自己为了追踪 8 周的心率训练计划,用 AI Agent 临时做了一个专属仪表盘——不是去应用商店搜索下载,而是直接描述需求,AI 现场生成。整个过程只用了 1 小时,而他预测未来可能只需要 1 分钟 。
Karpathy 的核心观点是:当自然语言本身就是编程接口,软件就不一定非要先被做成一排排固定产品等人下载——它可以在对话里被拼出来,在具体场景中存在,用完就消失
什么是 CLI-Anything?
先来说说这个项目到底在做什么。
CLI-Anything 的思路是从根本上绕开这个困境。它是一个开源的 Claude Code 插件,通过全自动的 7 阶段流水线,将任何拥有代码库的软件转化为 Agent 可原生调用的 CLI 接口。整个过程可以用一句话概括:把 GIMP 的源码扔给它,你就得到一个 cli-anything-gimp,Agent 从此可以用命令行驱动 GIMP 的全部专业能力——不是玩具实现,是调用真实后端。

7 阶段自动化流水线是这个项目的核心工程设计:
分析(Analyze)→ 设计(Design)→ 实现(Implement)→ 规划测试(Plan Tests)→ 编写测试(Write Tests)→ 文档化(Document)→ 发布(Publish)。插件完全自动地处理架构设计、代码实现、测试规划、测试编写和文档生成。
分析 —— 扫描源代码,将 GUI 操作映射为 API
设计 —— 构建命令组结构和状态模型
实现 —— 生成基于 Click 框架的完整 CLI
测试规划 —— 创建单元测试和 E2E 测试方案
编写测试 —— 实现全面的测试套件
文档 —— 更新技术文档
发布 —— 生成安装包并配置 PATH
生成的 CLI 有几个关键特性让我觉得它不是玩具:
每条命令都内置 --json 标志,向 Agent 返回结构化的 JSON 数据;同时支持 --help 自描述,Agent 可在运行时自主发现工具能力,无需手写任何 API spec。目前项目已为 GIMP、Blender、LibreOffice、Inkscape、Audacity、OBS Studio、Kdenlive 等 9 款主流软件生成了 CLI,拥有 1436 条测试,100% 通过率。
适用范围也在快速扩展。不只是 GUI 桌面软件,对于碎片化的 Web API,你可以把文档或 SDK 喂给它,Agent 就能得到一个有状态的 CLI,把分散的接口包装成连贯的命令组——用一个工具代替数十个原始 API 调用。

CLI 为什么是 Agent 的"母语"?
这里有一个很值得细想的底层逻辑:为什么要把所有软件都变成 CLI?
文字命令与 LLM 的输入格式天然匹配,可以链式组合,构建复杂的多步骤工作流。Agent 无需对抗晦涩的 GUI,就能搭建强大的自动化流水线。
我的理解是这样的:GUI 的本质是为人类的感知系统设计的——视觉层次、颜色反馈、鼠标交互,这些都是把机器指令翻译成人类能直觉操作的语言。但 Agent 根本不需要这层翻译,它直接以结构化文本思考,CLI 才是它的母语。让 Agent 去点击 UI,就像让一个中文母语者先把想法翻成英文、再翻成中文来交流——多此一举,还容易出错。
CLI-Anything 的设计哲学正是:确定性(Deterministic)与可靠性(Reliable)——稳定一致的输出让 Agent 行为可预测,这在大规模自动化中至关重要。

未来真的还需要软件吗?
这是我真正想认真讨论的问题。
我认为答案不是"软件消失",而是软件的形态会发生深刻的分裂。
人机交互层(GUI)会长期存在,但受众会收窄
对于普通用户,GUI 仍然是必要的。不是所有人都想、也都会通过自然语言指令让 Agent 去操控软件。拍一张好照片、剪一段视频,很多人享受的就是那种"自己动手"的感觉,这是软件的情感价值,不是功能价值。GUI 不会消亡,但它的角色可能从"操控工具"变成"体验媒介"。

Agent 调用层(API/CLI)会成为软件的新"一等公民"
这才是真正的变革所在。过去软件的核心资产是用户界面,未来软件的核心资产将是能力暴露的质量——能否被 Agent 清晰地调用、组合、编排。CLI-Anything 这类项目的出现,本质上是在倒逼软件行业重新思考"什么是软件的接口"。
我甚至大胆预测:三到五年内,任何一款 to B 软件如果没有良好的 Agent 调用接口,将在采购决策中处于明显劣势。就像今天没有移动端的 SaaS 会被认为"不够现代"一样。
"软件"的边界本身会模糊
更深远的变化是,当 Agent 可以动态生成 CLI、动态调用能力时,"一个软件"的定义本身就开始动摇。今天我们说"我用 Photoshop 修图",未来可能只是"我让 Agent 完成了修图任务"——Agent 在背后调用了哪些工具、哪些 CLI,用户完全不感知。软件从前台走向后台,从产品变成服务,从名词变成动词。

但能力的天花板取决于底层实现
CLI-Anything 一个很清醒的设计决策是:目标软件(如 GIMP、LibreOffice、Blender)必须安装在系统上,这是刻意为之的设计——真实集成意味着真实能力,而非玩具式的重新实现。这说明"软件"这个概念并不会消失,真正消失的是"人必须亲自操作软件"这件事。软件的能力依然需要有人去构建、去维护,只是最终的调用者从人类变成了 Agent。
一个没有 APP Store 的未来?
我最近在想一个更极端的可能性:如果 Agent 变得足够强大,能够根据任务动态合成工具,而不是从现成软件里选择,那传统意义上的"应用商店"还有存在的必要吗?
今天 App Store 的逻辑是:开发者把能力打包成产品,用户下载安装使用。而未来的逻辑可能是:开发者暴露原子能力,Agent 按需组装。用户不再下载"一款软件",而是描述一个目标,让 Agent 去编排完成。

这不是科幻,CLI-Anything 的出现已经是这条路上很具体的一步。它的愿景明确写着:让所有软件 Agent 原生化(Making ALL Software Agent-Native)。
我并不觉得这是一件令人担忧的事。软件工程师不会消失,反而会更重要——但工作内容会从"设计用户界面"转向"设计 Agent 接口",从"写 UI 代码"转向"定义能力边界与调用协议"。这是一次工种的升维,而不是替代。

最后回到最开始的问题:软件会消失吗?
我的答案是:软件的外壳会逐渐隐退,但软件的内核——那些精心构建的算法、处理逻辑、专业能力——将比任何时候都更重要。只是它们不再需要一个漂亮的窗口来示人了。
CLI-Anything 这个项目发布仅三天就突破万星,这本身就是一个信号。开发者社区已经在用脚投票:Agent 时代的软件基础设施,正在被重新定义。
更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:人工智能研究Suo, 启示AI科技
动画详解transformer 在线视频教程


AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)