LZLZL/AI 工具链/本地 · 入门
免费浅 · 入门 一阶 本地概念

CLI agent 和聊天框,
差的不是聪明

2026-08-21 · 差的是闭环在谁那一边

同一个模型,装在聊天框里和装在命令行里,能干的事差一个数量级。 差别不在模型,在于它能不能自己读、自己改、自己跑。 这是整条线的第一块地基——后面每一篇都建立在「闭环在机器这边」之上。

本文写什么三种能力各自意味着什么、代价是什么、什么时候不该用。 本文不写我们自己拿它干什么、跑在哪台机器上。示例一律用通用占位。

先说结论:三种能力,第三种才是分水岭

把一个模型接上工具之后,它多出三种能力。前两种听起来更厉害,其实第三种才是质变。

能力它能做什么没有它会怎样
自己去翻你磁盘上的文件、目录、日志你得手工复制粘贴,粘多少它知道多少
直接写回文件它给你一段代码,你负责搬运和对齐
执行命令,并且看见输出它永远不知道自己写的东西对不对

前两种省的是你的手。第三种改变的是谁在验证

聊天框里,验证这一步永远由你完成:它给代码,你去跑,报错了你把错误贴回去。 每一轮都要过你这道人肉转运。能跑命令之后,这个循环整个搬到机器那边—— 它写完自己跑,报错自己读,改完再跑一遍。你从转运工变成了验收员。

为什么这条比「模型更聪明」重要得多

一个能自己跑、能看见报错的中等模型,在真实工程任务上常常打得过一个只能空想的更强模型。 因为编程这件事的大部分难度不在「想出正确答案」,而在「发现自己错了」—— 而发现自己错了需要反馈,反馈需要执行。

所以选工具时,「能不能跑、跑完能不能看见输出」这一条,权重高于模型档次。

代价:能跑命令,就能删文件

这三种能力是一个包,不能只要前两个。而「能跑命令」的另一面是—— 它拥有的权限,等于你给它的那个 shell 的权限。

这不是理论风险。一个把 rm 用错路径的命令, 和一个把 .env 读进上下文再发出去的命令, 在工具层面看起来是一样的:都只是「跑了个命令」。

所以权限不是可选项,是入门必修

正经的 CLI agent 都带三层闸:允许(这类命令直接放行)· 询问(每次问你一遍)· 拒绝(永远不许)。 装好第一件事就是把它配上,而不是等踩了再说。

具体怎么配,两个工具各不相同,见下一篇再下一篇

什么时候聊天框反而更好

不要把这条当成「CLI 全面胜出」。有三种情况聊天框更合适:

情况为什么
你在,还没到做构思阶段没有文件可读、没有命令可跑,三种能力一种都用不上
代码不能出你的机器以外的地方,而你还没搞清数据流向先把数据边界弄明白再上工具,顺序不能反
一次性小问题装配置授权的成本高于问题本身

判据很简单:这件事需不需要「跑一下看看」?需要就上 CLI,不需要就聊天框。

这条线接下来讲什么

四个阶段,每一阶都建立在前一阶之上:

解决的问题
一 · 本地让它能改你的代码(第 1–5 篇)
二 · 接入层账号、额度、中转——让这套东西不因为一个账号没了就断掉(第 6–9 篇)
三 · 常驻从「我敲一句」到「它自己跑」(第 10–16 篇)
四 · 上云搬到一台不关机的机器上(第 17–22 篇)

中间有一根主心骨贯穿始终:一个叫 base_url 的旋钮第 7 篇把它讲透,之后每换一个工具都是同一个旋钮换个地方拧。

两个当下的实例 Claude Code(Anthropic)与 Codex(OpenAI)都是这个形态。 Codex 仓库 openai/codex:Rust,110,216 ★,最新 release rust-v0.149.0(2026-08-20)。 数字取自 GitHub API,2026-08-21 核。
局限 「能跑就能验证」这条在有明确成败信号的任务上(编译、测试、脚本)最成立; 在没有客观判据的任务上(写文案、做设计),闭环回到你这边,CLI 的优势会小很多。
本文不提供的 我们自己的主机、密钥、定时表与内部服务名。 本线所有示例都是通用占位,不是任何真实部署的复刻。

相关接着读什么

一阶 · 本地
Claude Code:从零到第一次改代码
一阶 · 本地
Codex:从零到第一次,以及怎么分工
二阶 · 接入层
中转 API 到底是什么:一个 base_url 的事
三阶 · 常驻
什么活值得自动化,什么只是自嗨
本文是教育与工程记录,不是任何第三方产品的推荐或测评。命令、配置键、价格与条款均以各家官方文档为准, 本文标注考证日期,随时可能变更 —— 照抄前请自己核一遍。 自建与自托管的安全责任在部署者本人:密钥、账号与数据的后果由你承担。