命令行看起来像上个世纪的“黑窗口”,却在 AI Agent 兴起之后重新进入产品设计的中心。这个变化并不意味着所有人都要放弃图形界面,而是软件第一次需要同时服务两类用户:人和 Agent。
人擅长通过视觉理解状态,适合按钮、图表和空间化布局;Agent 擅长处理结构化文字、参数和返回值,更适合稳定的命令接口。两者需要的是同一套业务能力的不同表达。
CLI 的本质:用文字调用系统能力
CLI(Command Line Interface)把一次操作表达成“命令 + 参数”,再返回文字或结构化数据。它对人有记忆门槛,却具备几项对 Agent 很友好的特征:
- 文字原生:不必截屏、识别元素和模拟点击;
- 自描述:通过帮助信息发现命令、参数和示例;
- 可组合:一个命令的输出可以成为下一个命令的输入;
- 按需加载:只在需要时调用,避免把整个工具说明长期塞进上下文;
- 便于验证:输入输出明确,容易记录、测试和复现。
图形界面为人的感知系统降低门槛,CLI 则为 Agent 的推理与执行降低摩擦。
它与 API、MCP 是什么关系
CLI 并不是对 API 或 MCP 的简单替代。三者更像不同层次的表达方式:API 是底层能力契约,CLI 把能力包装成可直接执行的命令,MCP 则帮助模型发现和调用工具,并交换上下文。
对一个已经拥有成熟 API 的系统来说,CLI 可以成为轻量、可测试的 Agent 入口;在需要统一工具发现、权限会话或多种资源表达时,MCP 又能提供更完整的协议层。实际选择应看任务频率、上下文成本、部署环境和治理要求,而不是追逐单一技术标签。
给 Agent 设计命令的五个原则
一个命令只完成一个清晰任务
边界越明确,Agent 越容易判断何时使用,也越容易组合。避免把查询、修改、发布全部塞进一个巨大命令。
输出默认结构化
面向 Agent 的结果应优先支持 JSON 等稳定格式,同时保留适合人阅读的摘要。不要让模型从装饰性表格里猜字段。
帮助信息就是产品界面
命令名、参数说明、错误提示和示例,是 Agent 理解产品的主要入口。模糊的帮助文档等同于模糊的按钮标签。
高风险动作可预览、可确认
写入、删除、发布和控制类命令应支持 dry-run 或预览,明确展示影响范围,再进入授权流程。
错误必须可行动
“执行失败”没有价值。系统应该说明失败原因、缺少的条件以及下一步可以采取的动作,让 Agent 有机会自行修正。
结语
CLI 的回归,本质上不是旧交互的复兴,而是软件能力开始面向机器用户重新封装。未来好的产品既要给人一个清楚、可感知的界面,也要给 Agent 一套稳定、可组合、受治理的行动语言。