它是最后一种人类和机器都能使用、都能读懂的界面形态。
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 通信,大语言模型在中间做翻译。没有人需要再说对方的语言。
也没有人还能看到房间里发生了什么。
而我们今天热衷于复兴的,是人类和机器最后一种共同语言。
【本文由投资界合作伙伴微信公众号:硅基立场授权发布,本平台仅提供信息存储服务。】如有任何疑问,请联系(editor@zero2ipo.com.cn)投资界处理。





