命令行界面(CLI)作为人机交互的最后一种双向透明语言,将在AI时代重新崛起并最终被机器间自主通信协议取代,标志着人类与机器共同语言的终结。 --- ## 1. CLI的复兴与核心价值 - **可组合性**:Unix命令行工具像积木自由拼接,突破图形界面预设功能限制,实现无限任务组合(如`find | sort | count`管道操作)。 - **可编程性**:手动命令可封装为脚本自动化执行,成为AI时代工作流自动化的天然入口。 - **文本即协议**:纯文本输入输出构成通用接口,无需预先数据格式约定即可实现工具间无缝协作。 ## 2. 人机交互的钟摆运动 - **1960s前物理GUI**:打孔卡和纸带通过物理空间编码实现视觉化交互。 - **1960-1970s CLI统治**:分时系统和Unix使命令行成为唯一交互方式,要求人类完全适应机器语言。 - **1980-2010s GUI霸权**:Macintosh和Windows通过空间隐喻(回收站/文件夹)让机器迁就人类直觉。 - **2010s后CLI回归**:云原生工具链(Git/Docker/K8s)和AI Agent需求重新激活命令行价值。 ## 3. AI时代的透明性革命 - **双向监督机制**:命令行实时显示AI Agent操作步骤(如代码重构过程),人类可随时干预,优于GUI的视觉黑箱和API的结果遮蔽。 - **母语优势**:大语言模型天然擅长文本处理,CLI规避图形界面所需的视觉识别负担(如图标定位)。 - **Anthropic实践**:Claude Code采用CLI设计,实现"透明房间"式的人机协作,验证该模式在AI工作流中的必要性。 ## 4. 后CLI时代的机器语言 - **API局限性**:固定契约无法满足自主Agent的动态工具发现与组合需求(如Model Context Protocol尝试突破)。 - **A2A协议雏形**:未来Agent间将通过高维向量交换语义(非人类可读格式),实现包含意图/风险评估的复杂协商。 - **共同语言消亡**:从CLI(人机妥协)到自然语言(人类主导)再到机器语言(自主演化),交互透明度将彻底消失。
CLI 之后,人类与AI 将相忘于江湖
2026-03-24 15:56

CLI 之后,人类与AI 将相忘于江湖

本文来自微信公众号: 硅基立场 ,作者:骆轶航,原文标题:《CLI 之后,人类与 AI 将相忘于江湖》


它是最后一种人类和机器都能使用、都能读懂的界面形态。


1992年,夏天。我妈给还是小学生的我报了一个暑期电脑班。


我就是那会儿,在位于交道口的北京市东城区第二十二中学的崭新机房里,第一次接触到电脑这个东西的。当时进机房要套鞋套,因为电脑怕灰。


20多个差不多大的小孩排排坐,面前是一台台苹果机——绿色字符在黑屏上闪烁的那种。


我们学的是Logo语言。屏幕中央有一只小海龟,你敲一行命令,它就动一步。FORWARD 100,海龟往前走一百步,画出一条线。RIGHT 90,海龟就右转90度。把这两步重复四次,屏幕上就出现一个正方形。


这是我人生中第一次体验到一种特殊的交互:你用文字告诉一个东西该怎么做,它立刻照做,你看着结果,决定下一步。


你还可以把"画正方形"存成一个新命令叫"SQUARE",之后只要敲"SQUARE",海龟就会自动画一个正方形。然后你可以用SQUARE组合出更复杂的图形。


33年后,2025年10月,人到中年的我,坐在电脑前,对着打开的Claude Code敲下一行字:重构这个网页的UI。屏幕上开始滚动一行行命令——它读取文件、分析结构、修改代码、运行测试。


我看着它的每一步操作,在关键节点决定让不让它继续。


记忆秒回到那个在蝉鸣、假山、水池围绕,位于教学楼五层的开着空调的电脑房。作为文科生,我已经那么多年没亲自看着命令行在我的眼前这么跑了。


一个小学生指挥一只海龟画画。一个人指挥一个AI agent写代码,中间隔了33年,但交互结构是一样:人类用命令表达意图,机器实时执行并展示过程,人类根据结果调整方向。


这个交互结构有一个名字。它叫命令行界面,Command Line Interface,就是最近颇为流行的CLI。


CLI拥有一颗老灵魂,它在计算机交互界面的历史中已存在了60多年,在我的个人生命中已存在了34年。而今天,它宛若婴儿。


CLI是人机交互的自由王国


很多人对命令行的印象停留在黑客电影——黑屏绿字飞速滚动,键盘啪啪作响,然后一句I'm in。


这个印象不能说错,但它遮蔽了一个更基本的事实:CLI首先是一种用户界面。跟你手机上的触屏、电脑上的图形桌面一样,它是人和计算机之间的一层翻译。


区别在于:图形界面用图标和鼠标翻译,而命令行用文字和键盘翻译。



但"用文字操作电脑"只是表面。真正让CLI在AI时代重新变得重要的,是它的三个结构性特征——


可组合性。在Unix/Linux系统里,每个命令都是一块积木:一块搜索文本,一块排序,一块计数,一块筛选。这些积木可以拼在一起:搜索的结果交给排序,排序的结果交给计数,一行命令完成一个复杂任务。在图形界面里,你能做的事是设计师预先规划好的。而在命令行里,你能做的事是无限的,只要你会拼积木。


可编程性。就像Logo里把"画正方形"存成SQUARE一样,命令行操作天然可以被记录、封装、复用。你今天手动敲的十行命令,明天变成一个脚本自动运行。命令行就是自动化的入口——任何你能手动完成的事,都可以变成机器自动完成的事。


文本即协议。命令行世界里一切都是文本。输入是文本,输出是文本,工具与工具之间传递的也是文本。这看起来是限制,其实是一种极强的统一性——任何工具,只要能读入文本、吐出文本,就能跟任何其他工具协作。不需要提前约定数据格式,不需要专门的对接开发。文本就是通用语言,是最大公约数的协议。


CLI不是什么"更极客的操作方式",它是一种人机交互哲学:你不是在使用一个被预先设计好的系统,而是在跟一套开放的工具集对话,并且可以随时重新组合它们来解决新问题。


可以这么说,当人们的默认设置是使用既有的架构、软件和工具完成某项任务的时候,GUI(图形交互界面)是更合适的选项,人们不必给自己找麻烦。


而当人们需要与计算机进行开放式的协作、创造并接受过程的不确定性的时候,CLI是那个最合适的界面,它的想象力和执行力没有什么边界。


不难判断,人与Agent的协作属于哪一种。


钟摆的历史


所有的计算机界面设计,背后都隐藏着一套权力秩序:是人迁就机器的认知,还是机器迁就人的习惯。前者指向了CLI,后者指向了GUI。


而你惊奇地发现,这是一个钟摆。


物理计算时代的GUI(Before 1960s)


在1961年"分时系统"诞生前,人与机器——更多的是传统的物理计算机而非电子计算机——互动是缺乏实时性的。


人们用打孔机和批处理电传打字机处理庞大运算,而打孔卡和纸带就是物理化的比特——你能看见它、摸到它。纸带上的孔洞排列就是程序的视觉呈现。操作员看着一叠卡片的厚度,就大概知道程序有多长;看着孔的位置,就知道数据是什么。


这就是物理计算机时代的GUI图形界面——信息被编码在物理空间里,变成人类可以用视觉和空间直觉理解的东西。


CLI的诞生和主宰(1960s-1970s)


到了1961年,MIT的CTSS(兼容分时系统)让人与计算机的交流变得实时可交互。整个1960-1970年代,计算机都是通过命令行操作的。


1970年代Unix操作系统在贝尔实验室诞生,C语言被发明,Unix被重写后,命令行工具变得更加可移植、组合和扩展。


这个阶段,CLI是唯一的界面。所有人——工程师、科学家、早期的商业用户——都必须用机器的语言跟机器说话。没有别的选择。


真正的GUI时代(1980s-2010s)


就在CLI逐渐大行其道的1960年代末,属于电子计算机的GUI开始萌芽:鼠标、超文本链接、多窗口和视频会议等概念诞生。


1973年施乐实验室(Xerox PARC)造出了第一台具有图形操作系统的计算机——Alto。乔布斯在1979年看到它的时候说:"我觉得这是我一生中见过的最好的东西"。


之后就是大家熟悉的故事了:1984年,苹果发布Macintosh,1985年Windows 1.0发布,自此GUI个人电脑开始普及,CLI使用显著下降。到了1995年的Windows 95,GUI基本完成了对消费级计算的统治。


CLI的复兴(2010s-)


而又是在CLI式微,GUI兴起的1990年代初,Linux的发布给了Unix时代的shell和命令行工具创造了新平台,保存并重新点燃了人们对终端计算的兴趣。


而随着互联网的发展,云计算平台诞生并逐渐强大,CLI工具在云计算和自动化领域重新获得重要地位。2010年代,Git、Docker和Kubernetes,整个云原生基础设施,都建立在命令行之上。


2022年,人类猝不及防地跨入了生成式人工智能时代,AI的自动化和组合性需求催生了无处不在的Agent,CLI再度成为赋予人们探索AI能力的自由度最适合的界面。


整个计算机的历史,就是GUI和CLI钟摆式切换,定义着人机交互方式的历史,这真是太美妙了。


GUI是机器向人类的妥协,把"删除文件"变成一个回收站图标,把"存储层级"变成一个个文件夹,把"关闭进程"变成窗口右上角的那个×。


这些空间隐喻极其成功,让全人类,包括不懂任何技术的人,都能使用计算机。从Macintosh到Windows再到iPhone,每一次GUI的进化都是机器更努力地把自己翻译成人类的直觉。


而CLI则是人类向机器的弯腰,学会一套严格的语法,记住指令和参数,理解输入输出的规则。


find.-mtime-1-type f这些字符,比用鼠标打开文件目录,搜索最近24小时修改过的文件要抽象得多。这是人类把自己的意图压缩成机器能无歧义解析的格式,换来精确性、组合性和自动化能力。


而你越迁就机器的理解能力,机器给你的自由度越大,而这正是让AI Agent更好为人类工作的方式。


CLI绝不是GUI的落后版本,而是光谱上的另一个位置。现在,钟摆的投影又回来了。


一只海龟和一个Agent


回到1992年夏天,我那无忧无虑,第一次打开苹果机,学习Logo语言的童年。


Logo值得重新审视,不是因为它是一种好的编程语言——以今天的标准看它极其简陋。而是因为它在30多年前就展示了一种人机协作模型,而这个模型恰好就是今天Agent时代的核心交互范式。


你对海龟说FORWARD 100,海龟画一条线。你觉得方向不对,说RIGHT 45。海龟调整了角度。你说FORWARD 50,海龟再画一条线。你对结果满意了,把这几步存成一个新命令,下次直接调用。


Claude Code也是这样。你说"重构这个模块"。Agent分析代码结构,提出方案。你说"别动这个文件,换个思路"。Agent调整方向,生成新的修改。你检查改动,说"可以,继续"。Agent执行下一步。你把刚才的过程,生成了一个Skill。


它们看上去一模一样,但有一个关键区别。Logo的海龟只会严格执行你的命令——走一百步就走一百步,多一步都不会。Claude Code不一样。你说"重构这个模块",它需要自己理解什么叫重构,自己决定从哪里开始、怎么拆分、先改哪个文件。


海龟没有判断力,所以不会犯错。Agent有判断力,所以会犯错。


这就是CLI在Agent时代最重要的价值。不是效率,不是可编程性,这是它过去就具备的。CLI在这个时代新的价值,是透明性。


如果一个Agent只会逐字执行你的指令,你不需要监督它——就像你不需要监督Logo语言下的那只海龟。但今天的AI agent有自主判断能力,它会自己决定下一步做什么。


这意味着你必须能看到它在做什么。


而命令行,也就是CLI,是唯一对人类和Agent同时透明的界面。


对人类而言,Agent的每一步操作——读了什么文件、改了哪行代码、跑了什么测试、拿到什么结果,都以文本形式实时滚动在屏幕上。你不用等它做完再看报告,任何一步都可以喊停、提问、纠正。


对Agent来说:CLI是它的母语。大语言模型的底层能力就是处理文本——理解文本输入,生成文本输出。在命令行里,Agent读文件、写代码、跑命令、分析日志,全是文本操作,全是它最擅长的事。它不需要模拟鼠标点击,不需要识别图标位置,不需要理解空间布局。


这就是Anthropic把Claude Code做成命令行工具的原因。不是因为工程师偏爱终端的审美——而是因为命令行提供了一种双向透明:人类看得懂Agent在干什么,Agent也能无障碍地执行任务。


命令行是一间透明的房间。人和Agent都在里面,都能看到对方在做什么。而GUI做不到——你没法让Agent在可视化界面里拖拽图标,同时让人类实时理解它的意图。API也做不到——它高效但对人类不透明,你看不到过程,只能看到结果。


在AI agent刚刚开始进入人类工作流的今天,这种人与Agent能共享的透明化机制,对两边都好。


CLI终究会消失,GUI也不会再复兴


但透明的房间不会永远被需要。


AI agent帮你工作了一年,处理了成百上千个任务而极少犯错,你开始跳过逐行检查,开始说"直接做吧,做完告诉我"。从盯着屏幕看每一步,到扫一眼结果就行,再到不用看了我信你。


今天已经有开发者在Claude Code里输入需求,然后去倒杯咖啡,回来看结果就好。Agent的执行过程正在从前台退到后台,从实时观测变成异步回顾,从逐步审批变成事后抽查。


那么,当人类退出这间透明的房间之后,机器之间会说什么语言?


简单回答是API。但这个回答可能太简单了。


API的本质是人类预先定义好的契约——你能调用什么、传什么参数、返回什么格式,全是工程师事先设计好的。它是一本菜单,你只能点菜单上的菜。对今天的软件系统来说够了。对有自主判断力的Agent来说,这是不够的。


变化已经在发生。MCP(Model Context Protocol,模型上下文协议)是一个新方向——它不只是让Agent调用固定函数,而是让Agent自己发现有什么工具可用、理解每个工具的能力、然后自行决定怎么组合。


但这不是终局,其实也很容易被跳过。再往前一步。当Agent不只是跟工具对话,而是跟其他Agent对话呢?


两个Agent协作完成一个任务,传递的不只是数据——还有意图、上下文、不确定性、优先级和对风险的评估。


这些东西塞不进一个固定的数据格式。它们之间的通信更像一种协商:我有这些信息,我的判断是这样,你那边什么情况,我们怎么分工。


这就是传说中的A2A协议。


我觉得,A2A更像是机器之间的"自然语言",而不是人类可以理解和编译的语言。它是机器演化的、适合机器认知方式的语言。结构化但不刚性,有语义理解能力,能处理模糊性和上下文变化。


想想看,如果两个Agent之间最高效的通信方式是直接交换某种压缩的语义表示——高维向量空间里的一组信号——那它们的"语言"将不再是任何人类能读懂的符号系统。不是文字,不是代码,不是JSON,而是某种诞生于机器认知空间内部的表达方式。


相信我,那一天会来到的。我们终将有一天退出它们的对话。


而CLI,是我们与它们最后的一道沟通屏障,和接头的暗号。


我们也不会看到GUI-CLI-GUI-CLI的钟摆再一次摆回到GUI的一侧,因为这本是计算机历史和人机交互的一部分。接下来,人机不会再交互了。


共同语言的终结


回头看界面演化的历史,线索很清楚。


最早,人类学机器的语言——打孔卡、汇编、命令行。然后机器开始学人类的语言——图形界面、触屏、语音助手。再然后,机器跟机器之间发展出了自己的通信方式——API、数据库协议、微服务架构。每一步,人和机器之间的"共同语言"都在缩小。


CLI是这条线上的一个特殊节点。它是最后一种人类和机器都能使用、都能读懂的界面形态。


在它之前,人类不得不完全用机器的语言说话。在它之后,图形界面让人类可以用自己的直觉操作机器,API让机器绕过人类直接对话。CLI刚好卡在中间——人类妥协了,机器的输出人类勉强还能读懂。


Agent的到来,有可能彻底消解这个延续了半个世纪的妥协。人类用自然语言说话,Agent用自己演化出的方式跟工具和其他Agent通信,大语言模型在中间做翻译。没有人需要再说对方的语言。


也没有人还能看到房间里发生了什么。


而我们今天热衷于复兴的,是人类和机器最后一种共同语言。

AI原生产品日报频道: 前沿科技
本内容来源于网络 原文链接,观点仅代表作者本人,不代表虎嗅立场。
如涉及版权问题请联系 hezuo@huxiu.com,我们将及时核实并处理。
正在改变与想要改变世界的人,都在 虎嗅APP
赞赏
关闭赞赏 开启赞赏

支持一下   修改

确定