你身边的同事十个有九个在用 Cursor 或 Claude Code 写代码,月费 20 美元起步还动不动排队。但海外一批老程序员最近悄悄回流到了一个开源免费的老牌终端工具 —— Aider。中文圈对它的印象大多停留在「终端版 ChatGPT」,这恰恰是最大的信息差:绝大多数人只用了它一成功力。它最狠的隐藏功能,是让你在 IDE 的代码注释里喊一声 AI,保存文件,它就自动把活干完——全程不用碰终端。这篇文章把 Aider 官方文档里散落的八个冷门玩法一次性拆给你,每一个都有具体命令、具体场景,看完当天就能用上。
Aider 是一个跑在终端里的 AI 结对编程工具,官方 GitHub 仓库和 Discord 全部公开,工具本身免费,你只需要为背后调用的模型 API 付费。它的两个底座能力决定了下面所有玩法:
官方文档里的示例版本号已经到 v0.79.0,项目迭代非常活跃。官网 aider.chat 一条命令即可安装。下面进入正题,八个冷招按「惊喜程度」排序。
这是 Aider 最被低估的功能。启动时加一个参数:
aider --watch-files
之后它会常驻后台,监视仓库里所有文件。你回到 VSCode 或任何编辑器里正常写代码,想动哪段代码,就在旁边写一行注释,以 AI、AI! 或 AI? 开头或结尾:
# Make a snake game. AI!
# What is the purpose of this method AI?
保存文件,魔法发生:
AI!(感叹号)→ Aider 直接动手改代码AI?(问号)→ Aider 只回答问题,不动代码比如你写下 function factorial(n) // Implement this. AI!,保存后 Aider 会直接把这个函数实现出来。三个进阶细节:
AI! 引爆,Aider 会把所有注释收集起来一次性执行;AI! 扣下扳机;AI! 开头或结尾即可。还有个偷懒技巧:小写 ai! 同样有效,而且指令本身可以极短——上下文足够明确时,在空函数后面补一句 // ai! 它就懂了。原理上,Aider 会把你的 AI 注释连同 repo map 一起发给模型,并用高亮标记出注释在代码中的精确位置,所以它知道「这句注释指挥的是哪段代码」。
flowchart TD
A["aider --watch-files 启动"] --> B["你在IDE里正常写代码"]
B --> C["随手写一行注释 标记AI"]
C --> D{"结尾是感叹号还是问号"}
D -->|"AI! 改代码"| E["收集全部AI注释"]
D -->|"AI? 只答疑"| F["回答问题 不动代码"]
E --> G["结合repo map生成改动"]
G --> H["自动lint查语法"]
H --> I["git留痕 可随时undo"]
平时要把某个文件加进对话,得在终端里敲 /add 文件名。但开了 watch 模式后,你只需要在该文件里写一个 #AI 注释并保存,文件就会被自动加入会话——之后把注释删掉也无妨,文件已经加进去了。你的手指全程不用离开编辑器。
官方推荐的日常节奏是两种模式来回切:
/ask 进入讨论模式,只聊不改:让它出方案、列选项、互相纠偏;因为方案是双方逐步对齐出来的,改起代码来几乎不跑偏。比这更重一层的是 architect 模式(/architect 或启动参数 --architect):它把任务拆给两个模型——主模型(/model 配置)当「架构师」负责出方案,再用 --editor-model 指定一个「编辑」模型把方案翻译成具体的文件修改。官方明确建议:o1 这类推理强但改文件弱的模型,配 GPT-4o 或 Sonnet 当编辑,效果最佳。代价是每次任务发两次请求,更慢也更贵,适合硬骨头任务。
很多人不知道 Aider 内置了「改完自检」的闭环。它自带主流语言的 linter,每次编辑完代码都会自动 lint;你也可以挂自己的工具链:
aider --test-cmd "npm test" --auto-test
配置后,AI 每改一次代码就自动跑一遍测试命令;命令返回非零退出码,Aider 就把报错吃进去自动尝试修复——等于给 AI 装了一个永不下班的质检员。编译型语言同样适用,官方给的例子是 --test-cmd "dotnet build && dotnet test"。平时在会话里用 /run python myscript.py 和 /test 也能手动把报错喂回对话,它看到报错就顺手修掉。
flowchart TD
A["AI提交一版修改"] --> B["自动lint检查"]
B --> C{"--auto-test已开启?"}
C -->|"是"| D["自动跑测试命令"]
C -->|"否"| E["等手动test"]
D --> F{"退出码为零?"}
F -->|"通过"| G["收工"]
F -->|"报错"| H["报错喂回AI自动修"]
H --> B
反直觉但官方明确建议:别把一堆文件塞进对话。无关代码只会干扰模型。正确姿势是:只 /add 确定要改的那 1-2 个文件,其余背景知识 Aider 靠 repo map 自己补齐。上下文管理四件套要熟:/tokens 查当前占用、/drop 移除不要的文件、/clear 清空历史重新开聊、/reset 一键全清。
配套的还有「卡死自救三板斧」,官方原文照抄级别的建议:
/clear 抛弃对话历史,干净重来;/model 换个模型再试——官方特别点名:GPT-4o 和 Sonnet 之间来回切,常常能绕过卡住的问题;模型的 API 知识往往过时,Aider 的解法简单粗暴:在对话里直接贴文档链接,它自动抓取阅读。官方原例:
Add a submit button like this https://ui.shadcn.com/docs/components/button
也有专门的 /web <url> 命令,甚至能在命令行外用 python -m aider.scrape <url> 单独把网页转成 Markdown 看效果。图片同理:/add 截图.png 或 /paste 直接粘剪贴板截图,配合视觉模型,甩一张 UI 设计稿让它照着写页面。
团队有编码规范?写进一个 CONVENTIONS.md,用 /read CONVENTIONS.md 或启动参数 --read CONVENTIONS.md 加载。关键细节:用 /read 加载的文件被标记为只读,不会被 AI 改动,而且能吃到 prompt 缓存——规范这种每次都要带的固定内容,缓存命中意味着重复调用时费用大幅下降。还可以写进 .aider.conf.yml 让它每次自动加载:
read: [CONVENTIONS.md, anotherfile.txt]
效果立竿见影:官方做过对照实验,同一段任务,带上「优先用 httpx、处处写类型注解」的规范文件,AI 就老老实实用 httpx 并带类型;不带规范,它就随手用 requests 裸写。
最后是几个顺手的细节,知道后体验翻倍:
{,最后一行单独输入 },中间随便换行;正文里如果有大括号,改用 {tag 开头、tag} 结尾的标签写法;/paste:把剪贴板内容直接灌进对话;/editor 或 Ctrl-X Ctrl-E:调起你顺手的编辑器写长消息;| 大多数人以为 | 实际上 |
|---|---|
| Aider 只是个终端聊天框 | watch 模式下它常驻后台,在 IDE 注释里就能遥控它改代码 |
| 用 AI 编程必须付订阅费 | 工具开源免费,模型可接 DeepSeek 或本地 Ollama |
| 塞的文件越多越准 | 官方建议只加 1-2 个文件,全仓库视野靠 repo map |
| 报错要手动复制粘贴 | /run、/test 一条命令喂回;--auto-test 让它改完自测自修 |
| 团队规范 AI 记不住 | CONVENTIONS.md 用 /read 只读加载,还吃 prompt 缓存省钱 |
| 推理模型改不动代码是模型不行 | architect 模式:强模型出方案 + 编辑模型落地,各干各的 |
aider --watch-files 挂在常用项目上,练习「注释布置任务 + AI! 引爆」的工作流,体验不碰终端的 AI 结对;CONVENTIONS.md,配置 --test-cmd + --auto-test 组成自动质检闭环;硬任务再上 /architect 双模型模式。本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
