今天看到一些关于 CLI 未来演进方向的讨论,顺着这个问题,我重新想了一遍 AI 编程工具这件事。
我觉得,IDE 和 CLI 从一开始就不是同一道题。
它们真正的差异,不在界面,也不在交互形式,而在于:它们分别在优化软件生产中的不同摩擦。
IDE 优化的是过程摩擦
IDE 本质上是一个 过程协作型系统。
它的价值,不只是辅助编码,而是帮助开发者在理解、编写、重构、修正这条连续过程中,降低认知切换成本,并保持对过程的掌控。
这类工具的强项在于:
紧贴开发过程工作 理解当前上下文、修改点和意图 支持小步推进和持续修正 将 AI 嵌入人的思考流,而不是将人从思考流中抽离
因此,IDE 类工具的核心价值,不是替代开发者,而是增强开发者处理过程的能力。
这也是为什么 IDE 天然更适合专业用户。
它默认用户已经处在生产过程之中:清楚当前目标,知道问题所在,也具备判断改动是否合理的能力。
在这个场景下,AI 承担的不是“代替完成”,而是“协助推进”。
IDE 的本质,是把 AI 放进人的工作回路里,优化过程体验。
CLI 优化的是结果摩擦
CLI 更接近一个 结果执行型系统。
它的价值不在于让过程更舒适,而在于让任务更直接地走向执行、验证和闭环。
表面上看,CLI 的优势是简洁;
但更本质的优势在于:它更容易承载抽象,并将抽象直接转化为可执行动作。
一个真正强大的 CLI,并不只是减少界面操作,
而是将原本分散在界面、流程、经验和工具链中的复杂性,压缩为一套高密度的表达方式。
输入的也不只是命令,而是对目标、约束和执行路径的编码。
因此,CLI 真正优化的不是交互过程,而是:
目标表达 能力调用 执行链路 验证闭环
CLI 的本质不是文本界面,而是结果导向的能力调度入口。
为什么我更看重 CLI 的长期方向
如果只看当前阶段,IDE 显然更容易普及。
它没有改变开发者原有的工作方式,只是在既有流程中嵌入了 AI。
但如果把时间拉长,我会更看重 CLI。
原因不是因为命令行更高效,也不是因为它更“极客”,而是因为它更接近 agent 的本质。
Agent 最关键的能力,不是局部补全,也不是单点生成,
而是能够围绕一个目标持续推进任务,直到形成结果闭环。
这背后至少包括几件事:
接收目标 理解约束 调用能力 拆解步骤 执行过程 验证结果 完成交付
而 CLI 天然更适合承载这种能力。 它更贴近系统边界、工程链路和执行环境,也更容易与脚本、测试、构建、部署、Git 等能力直接连接。
如果说 IDE 更像是“更聪明的开发助手”,那么 CLI 更像是“真正能够交付任务的执行代理”。很明显CLI的上限和潜力是更高的.
这也是我为什么会判断:
短期看,IDE 更容易成为主流入口;长期看,CLI 更可能成为系统重心。
我对未来工作模式的判断
我理想中的未来工作模式,不是 IDE 和 CLI 二选一,
而是 IDE 负责建模,CLI 负责落地,但系统重心逐步转向 CLI。
IDE 仍然重要,而且会长期存在。
但它承担的,将不再主要是“直接产出代码”,而是帮助人完成更高质量的前置工作,例如:
理解业务问题 分析上下文 快速试探方案 建立任务模型 沉淀关键约束 明确验收标准
IDE 更适合承载认知活动。 它是人和 AI 一起完成理解、判断、建模和决策的空间。
而 CLI 则更适合承载执行活动。 它接收的,不只是一个模糊需求,也不只是单条命令,而是已经经过整理的目标、约束、上下文和验收条件,然后把这些内容继续推进为:
具体执行 多步骤联动 工程化操作 自动验证 最终交付
在这种工作模式下,复杂任务和简单任务会自然分流。
对于简单任务,用户并不需要显式建模。
自然语言入口、命令入口,甚至一个简短指令,就足以触发执行。
系统的重点是降低门槛,尽快返回结果。
但对于复杂任务,真正重要的不是“怎么下指令”,
而是先把任务结构、关键约束和验收条件整理清楚。
这类任务会先在 IDE 或其他认知界面中完成建模,再交给 CLI 或执行系统推进落地。
夜雨聆风