
你刚决定学AI编程,第一件事干了什么?
大概率是装编辑器。VS Code下载好,主题挑了半小时,插件装了一排,左边文件树,右边预览窗——看着像那么回事了。然后让AI帮你写段代码,跑一下,报错了。报错信息在哪?在终端里。你打开终端,黑底白字,光标一闪一闪——然后脑子也跟着一片空白。
说实话,这个场景太常见了。编辑器搞得再漂亮,你跟计算机之间真正说话的地方,不是那个窗口,是那个黑底白字的终端。
你以为学AI编程的第一步是选一个好用的界面,其实第一步是搞懂命令行。
这不是我瞎说。现在最火的AI编程工具,像Claude Code,根本就没有图形界面——它就是一个命令行工具。你给它下指令,它自己跑完全程。没有窗口,没有按钮,没有拖拽。
为什么?因为GUI是给人类用的,CLI是给Agent用的。
Agent最重要的是能干活,不是界面交互好。等runtime跑通了、核心逻辑稳了,再去慢慢打磨GUI,一点都不晚。
你可能会想:我又不做Agent开发,它用什么界面跟我有什么关系?
关系大了。Agent选CLI,不是因为它酷,而是因为CLI离系统最近、控制粒度最细——你学编程也一样,先搞懂系统在干什么,别被界面遮住眼睛。Agent的优先级,恰好就是你的学习优先级。 先跑通核心逻辑,再打磨界面——这条进化路径,不只是Agent的开发策略,也是你学AI编程最合理的路线。
今天这篇文章,就是帮编程初学者把这件事说透:CLI、TUI、GUI到底是什么,为什么AI编程要从命令行开始,以及——你具体该怎么上手。
你以为的"界面",其实有三种
先别急着往下看,花10秒钟想一个问题:你平时用电脑,有哪些方式跟它"说话"?
大多数人脑子里只会冒出一种——鼠标点一点,窗口拖一拖,按钮按一按。这就是GUI,图形用户界面。
但实际上,跟计算机交互的方式,远不止这一种。搞清楚这三种界面,是你理解AI编程的第一块拼图。

CLI:打字机模式
CLI,全称Command-Line Interface,命令行界面。
说白了,就是你打一行命令,计算机回一行结果。一问一答,没有多余的视觉包装。
你在终端里输入 ls,它列出当前目录的文件。输入 git status,它告诉你代码仓库的状态。输入 python app.py,它帮你把程序跑起来。
简单记忆:CLI就是打字机模式。你打字,它回话,干净利落。
典型工具:Bash、PowerShell、Git终端。
TUI:终端里的“伪图形”窗口
TUI,全称Text-based User Interface(也叫Terminal User Interface),文本用户界面。
它还是跑在终端里,但不再是干巴巴的一问一答了——它用字符画出了窗口、菜单、表格、进度条。你在终端里看到了“界面”,只不过这个界面是用字符拼出来的。
用过htop吗?那个在终端里实时显示CPU、内存占用的彩色面板,就是TUI。用过lazygit吗?那个在终端里管理Git分支、查看提交记录的可视化工具,也是TUI。
简单记忆:TUI就是终端里的“伪图形”窗口。它比CLI多了视觉辅助,但不需要图形系统支撑。
典型工具:htop、lazygit、neovim、ranger。
GUI:桌面完整图形模式
GUI,全称Graphical User Interface,图形用户界面。
这就是你最熟悉的那种——鼠标、窗口、图标、按钮,所见即所得。VS Code是GUI,浏览器是GUI,Windows资源管理器也是GUI。
简单记忆:GUI就是桌面完整图形模式。点一点就会,拖一拖就完事。
一张表看清三种界面
看到这张表,你可能已经发现了一个反直觉的事:学习曲线最低的GUI,操作效率和自动化能力反而是最差的。 而学习曲线最陡的CLI,反而是最强大的。
这不是巧合。GUI降低了使用门槛,但也降低了控制粒度。你点一个按钮,背后可能跑了10步操作,但你只能看到最后的结果。而CLI把每一步都交给你,你可以精确控制每一步做什么、不做什么。
门槛低不等于效率高。 这句话,在整个AI编程时代会越来越重要。
为什么最懂编程的AI工具,反而不用图形界面
搞清楚了三种界面是什么,下一个问题来了:为什么最懂编程的AI工具,反而不用图形界面?
答案就藏在你自己的开发经验里。
核心逻辑:能干活比好看重要
你想想,一个AI Agent,最重要的是什么?
是界面好看吗?不是。是交互丝滑吗?也不是。是它能干活。
一个Agent如果核心逻辑稀烂,跑都跑不起来,界面再漂亮也是空壳。反过来,一个Agent如果runtime稳定、逻辑清晰、任务能闭环,哪怕界面只是命令行,它也能真正帮你解决问题。
这就是为什么Agent开发有一个天然的优先级:先把核心逻辑跑通(CLI+TUI),等runtime成熟了,再慢慢打磨GUI。
这不是偷懒,这是工程常识。
研究支撑:CLI-first是AI编程Agent的趋势
这不是我一个人的判断。行业研究普遍认为:AI编程辅助正从复杂的IDE插件向终端原生Agent发生根本性转变。 开源项目OpenHands(原名OpenDevin)的快速崛起,就是这一趋势的缩影——它从IDE插件模式转向了终端原生的Agent架构,强调“规划→执行→观察→修正”的闭环。
为什么?因为CLI-based Agent有三个天然优势:
第一,信息环境干净。 在IDE里,AI要处理的不只是你的代码,还有Tab状态、UI元素、插件信息——这些东西对AI来说全是噪音。就像你在图书馆看书,旁边有人聊天、放音乐——这些都是干扰。而CLI就是给你一个安静的单间,只放你要看的那本书。AI只关心文件本身,不仅省Token,更重要的是让Agent能聚焦在任务上。
第二,自主执行能力强。 CLI-based Agent可以直接运行在开发者管理源码控制、执行构建和部署的环境里。规划→执行→观察→修正,它自己跑完全程,不需要你一步步点按钮。
第三,天然支持自动化。 命令行可以写脚本、接CI/CD、跑无头模式。GUI很难原生支持这些——你很难自动化一个需要鼠标点击的界面。
行业实践:Claude Code vs Cursor的路线之争
这个判断不是纸上谈兵。看看现在最火的两个AI编程工具,走的就是完全不同的路线。
Cursor走的是IDE集成路线——嵌入你的编辑器,猜你下一步要写什么,弹出建议。核心思路是:你来干活,AI递工具。
Claude Code走的是CLI-first路线——在终端里工作,你给它一个任务,它自己规划、执行、验证、修正。核心思路是:Agent自己干活,你只管验收。
这两种路线各有各的场景,但有一个数据很有意思:Claude Code在AI编程工具市场中占据了超过半数的份额,越来越多的开发者选择了CLI-first路线。理由很一致——CLI交互避免IDE界面干扰,让AI专注任务本身。
一般来说,Cursor更适合小范围修改、前端样式调整这种“精修”活,Claude Code更适合架构级重构、多文件修改、自动化任务这种“重活”。但两者能力有交叉——Cursor也有Agent模式可以处理复杂任务,Claude Code也能做小范围修改。
而“重活”,恰恰是AI Agent最有价值的部分。
三个判断,一个逻辑
回到开头那三句话:
这三句话不是三个独立的观点,而是一个完整的逻辑链:先跑通核心,再优化体验。 这是工程思维,也是AI Agent产品最合理的进化路径。
TUI:被低估的甜点区
讲完了CLI和Agent的关系,你可能会觉得:命令行这么强,那大家都用命令行不就行了?
也不全是。命令行确实强大,但对初学者来说,纯文本的交互方式确实有点“冷”。你输入一个命令,它回一行结果,你看不到整体画面,也感受不到操作反馈。
这时候,TUI就登场了。
TUI不是CLI的“低配版GUI”
很多人一看到TUI,第一反应是:这不就是在终端里画了个丑丑的界面吗?
不是。TUI的本质,是CLI和GUI的混合体。
跟GUI比,TUI对系统资源要求更低、依赖更少、更稳定。它不需要图形系统支撑,在SSH远程连接里照样跑得飞快。
跟CLI比,TUI交互更灵活、信息展示更直观、学习曲线更平缓。你不用记那么多命令,键盘导航加上视觉辅助,很多操作一目了然。
有一句话说得好:“TUI并不等于'更难',它只是更接近系统本体。”
很多新手一看到终端,就本能地觉得这是高手才用的东西。但实际上,TUI有时反而比图形界面更直观——因为它少了很多视觉包装,系统在干什么一眼就能看出来。
实证:107条prompt,7420行代码
TUI作为“甜点区”不是空谈,有实证支撑。
2026年一篇软件工程论文记录了一个完整案例:有人用Claude Code,通过107条prompt,开发出了一个7420行的TUI框架。28个类、334个方法,包含窗口子系统、事件驱动架构、交互组件、层级菜单、网格和树组件、标签控件、多窗口桌面环境。
人类做了什么?提出功能需求、提供架构指导、验证行为、发出修正prompt。整个开发过程中,没有手动写一行代码——全部由AI通过prompt驱动完成。
这意味着什么?
意味着TUI的开发成本极低,但能产出功能完整的交互系统。 对于“runtime还没成熟”的阶段,TUI是性价比最高的选择。你不需要花大量时间画界面,但用户已经能看到窗口、菜单、表格,已经能键盘操作了。这种“低成本、高回报”的特性,就是甜点区。
什么时候用TUI?
简单说:当你觉得纯命令行太冷,但GUI又太重的时候,TUI就是你的选择。
具体场景:
TUI不是退而求其次,而是在正确的时间、用正确的工具、做正确的事。
实操指南:从命令行到图形界面,一步一步来
理解了进化路径,你就知道该从哪里开始:从CLI起步,不是因为它难所以高级,而是因为它离系统最近、组合性最强、也是AI Agent最擅长的工作方式。
这部分我按“CLI→TUI→GUI”的进化顺序,给你每一层的具体工具和上手路径。不用全学,按需取用。
第一步:认识终端
不管你用什么操作系统,终端都是入口。
打开终端,看到那个闪烁的光标,别慌。你现在已经站在了CLI的门口。
第二步:掌握10个核心命令
你不需要背几百个命令。对初学者来说,这10个够用了:

ls | ls -la | |
cd | cd ~/projects | |
mkdir | mkdir my-app | |
cp | cp file.txt backup/ | |
mv | mv old.txt new.txt | |
rm | rm file.txt | |
cat | cat README.md | |
grep | grep "error" log.txt | |
curl | curl api.example.com | |
git | git status |
这10个命令覆盖了绝大多数日常操作。记住它们,你就能在命令行里活下来。
还有一个概念值得了解:管道。它用 | 符号把多个命令串起来,前一个的输出变成后一个的输入。比如:
cat app.log | grep "error" | wc -l这行命令的意思是:读取日志文件 → 筛选出包含“error”的行 → 统计行数。三个命令组合,完成了一个GUI里要点好几下才能做的事。
这就是CLI的威力——不是一个个命令有多强,而是它们能自由组合。
第三步:试试TUI工具
命令行用熟了,你可以试试TUI工具。它们在终端里给你“界面感”,但不需要图形系统。
| htop | ||
| lazygit | ||
| ranger/yazi | ||
| neovim |
这些工具的安装都很简单,一行命令搞定。比如:
# macOS
brew install htop lazygit ranger neovim
# Ubuntu/Debian
sudo apt install htop ranger neovim
装完直接在终端里输入工具名就能启动。试试看,你会发现终端里的“界面”也可以很好用。
第四步:AI编程工具怎么选
这是初学者最常问的问题。我的建议是:根据你现在的阶段选,别一上来就追最火的。

有一个判断标准特别好用:不要只问“这个工具聪不聪明”,要问“它怎么拿上下文、怎么做计划、怎么调用工具”。 这三个问题,比任何功能对比表都更能帮你选到合适的工具。
第五步:GUI是你的终点站,不是起点
等你把命令行用熟了、TUI工具也上手了,再回到GUI,你会发现一切都不一样了。
你打开VS Code,不再只是拖文件、点按钮——你知道底层的git命令在做什么,你知道终端里的构建脚本跑的是什么,你知道DevTools里那个网络请求对应的是哪行代码。
GUI不是不能用,而是你先搞懂了底层,再用GUI,才是真正的“会用”。
别急着画界面,先把命令行跑通
回到最开始那个问题:学AI编程,第一步到底该干什么?
不是装编辑器,不是选主题,不是找插件。
是打开终端,输入你的第一行命令。
很多人觉得命令行是“高手才用的东西”,觉得自己应该从图形界面开始,慢慢再学命令行。但AI编程时代的逻辑恰恰反过来了——命令行不是进阶技能,它是基础技能。
因为命令行不只是“更强大”。它是AI编程时代的通用语言。 Agent用命令行干活,你用命令行跟Agent对话。当你打开终端的那一刻,你和AI说的是同一种语言。
先跑通核心逻辑,再打磨界面。这不只是Agent开发的优先级,也是你学AI编程的优先级。
命令行不酷。但能跑起来的程序,比好看但跑不起来的程序,酷一万倍。
往期推荐
夜雨聆风