一句话总结
Aider 是一个免费、开源的 AI 结对编程工具,完全跑在终端里,直接改你本地 git repo 里的文件。cd 进 repo、跑 aider、在 shell 里对话即可。它每次改动都给你看 git diff,每个接受的改都单独 commit,全程不开浏览器。截至 2026 年 6 月,它在 GitHub 上约 41,600 star、PyPI 下载超过 530 万次。工具本身免费,你只为指向的模型 API 付费(或跑本地模型,连这部分都免费)。它的精髓就是”每次改都让你 accept / /undo”这个循环,所以本文目标是 30 分钟内把这个循环跑顺,不去抠每个 flag。
Aider 到底是什么
Aider 是一个命令行程序,不是 IDE 插件,也不是网页应用。模型把改动写成 diff,Aider 应用上去,每个接受的改都变成一个独立 git commit,可以用 /undo 回退。整套流程靠三个概念撑起来:
- 每次改都是一个 git commit。 每个接受的改都是单独 commit。改错了?
/undo撤掉上一个。你的仓库就是 undo 栈。 - 用
/add和/drop手动控上下文。 模型看哪些文件你说了算。Aider 会给其余文件建一份 repo map,但不会把整棵树都塞进上下文。 - Architect 模式。 强推理模型先出计划,更快更便宜的模型再写实际 diff。这通常比强模型一路包到底省 30%-50% 成本。
这篇适合谁看
活在终端里的开发者:SSH 进服务器干活的人、机器没 GUI 的人、或者就是不想再装一个 Electron 应用的人。它也很适合想让 AI 编程循环可脚本化的人,因为 Aider 有 headless 模式可以批量跑、进 CI 跑。想要图形化的 Composer 体验,Cursor 新手 30 分钟跑通完整工作流是更好的起点。长时间的 agent 式 shell 会话,Claude Code 更合适。
什么时候适合用
范围紧、想完全控上下文的改动用它最顺:小重构、给一个模块加测试、修一个具体 bug。它在 CI 流里也很出彩,比如 pre-commit 清理、脚本化迁移。和图形 agent 比,开放式的”探索代码库再提个方案”任务它弱,因为 Aider 等你用 /add 把相关文件加进来,而不是替你把整个仓库都索引一遍。
开始前准备
- Python 3.8-3.13。 跑
python --version确认。官方安装器会自带一套隔离的 Python,你的版本不在范围内也没关系。 - 一个 git repo、工作区干净。 Aider 每次改都 commit,未提交的改会和它的 commit 混在一起,diff 就没法看了。
- 一家 provider 的 API key,或一个本地模型。写代码质量首选 Anthropic Claude;OpenAI、Google 也能用;或者用 Ollama / LM Studio 在本地跑模型,API 成本为 0。
- 选好一个小目标。 改一个函数名、给一个模块加测试、修一个 bug。别选”重构整个项目”。
安装 Aider
截至 2026 年 6 月,推荐路径是官方的 aider-install 引导脚本,它会自动配好一套隔离环境,不污染你的系统 Python:
python -m pip install aider-install
aider-install
aider --version
其他方式,效果一样:
# 用 pipx 做隔离的 CLI 安装
pipx install aider-chat
# macOS 用 Homebrew
brew install aider
# uv(快,固定 Python 3.12)
uv tool install --python python3.12 --with pip aider-chat@latest
接入模型
把 API key 写进环境变量,并写到 shell rc 里持久化:
export ANTHROPIC_API_KEY=sk-ant-...
# 或:export OPENAI_API_KEY=sk-...
# 或:export GEMINI_API_KEY=...
选哪个模型看任务。日常改动用快的主力模型,延迟和成本都低;难的设计活就开 architect 模式,让顶级推理模型出计划、主力模型写代码。每百万 token(输入/输出)的大致 API 价格,截至 2026 年 6 月:
| 模型 | 输入 | 输出 | 在 Aider 里的最佳角色 |
|---|---|---|---|
| Claude Sonnet 4.6 | $3 | $15 | 默认 editor,日常改动 |
| Claude Opus 4.7 | $5 | $25 | Architect(规划)模型 |
| Gemini 3.1 Pro | $2 | $12 | 省钱的 editor,大上下文 |
| GPT-5.5 | $5 | $30 | 强规划,editor 也能胜任 |
| 本地模型(Ollama) | $0 | $0 | 离线;质量不及前沿模型 |
Aider 会按会话统计 token 花费,你每次继续前都能看到这次改动花了多少。
跑起这个循环
- 在仓库根用指定模型启动。 Sonnet 4.6 是安全默认;难的设计活加上 architect 模式、用 Opus 4.7 出计划:
cd ~/code/myproject
aider --model anthropic/claude-sonnet-4-6 \
--architect --editor-model anthropic/claude-sonnet-4-6
- 加你想让它改的文件。 挑这次任务相关的 1-5 个,别加整个仓库:
/add src/auth/login.ts
/add src/auth/login.test.ts
- 用大白话提一个小的具名改动。 Aider 会回 diff、应用、commit。下一轮 prompt 之前看一眼 diff——那就是你的复核窗口。
- 错了当场修。
/undo撤上一次 commit。/drop src/auth/login.test.ts把某文件从上下文里拿掉。/diff在继续提交前看当前 diff。 - 用
/exit退出。 仓库里多了一串小 commit,一次接受一个。想 PR 历史干净就在开 PR 前 squash。
四种聊天模式
模式可以用一条命令中途切换。把这几个搞懂,基本就掌握了用好 Aider 的大半本事:
| 模式 | 命令 | 作用 |
|---|---|---|
| Code | /code | 默认。直接改文件来满足你的请求。 |
| Ask | /ask | 讨论并回答关于代码的问题,绝不改文件。 |
| Architect | /architect | 推理模型出计划,editor 模型写 diff。 |
| Help | /help | 回答关于 Aider 本身的问题(配置、用法、报错)。 |
/code 或 /architect 后面不带文字,就把整个会话的默认模式切过去(sticky)。最划算的避坑:别在 code 模式里问设计问题,那样 Aider 会直接动手改而不是给你讲。先 /ask,方案谈拢了再 /code。
一段”逼它说实话”的 prompt
Aider 越紧的 prompt 越好用。存一份模板:
你在改我 /add 进来的文件。约束:
- 只做满足要求的最小改动。
- 不要碰我没 /add 的文件。需要别的文件,先问。
- 每次改后用一句话写它依赖的假设。
- 被改的函数有测试就更新;没有就说"没加测试;建议加 X"。
任务:[一个具体改动]
“先问再加文件”这一行很关键。不加这句,Aider 偶尔会对没在上下文里的文件下手,结果生成的 diff 根本打不上。
让它可复用
- 把启动命令做成 shell alias:
alias ai='aider --model anthropic/claude-sonnet-4-6 --architect'。 - 项目根放一个
.aider.conf.yml:默认模型、忽略路径、editor 模型。提交它,让队友继承同一套配置。仓库级配置覆盖用户级配置。 - 重复性检查用
--lint-cmd和--test-cmd,Aider 会跑你的 linter 和测试,并尝试修自己改坏的地方。 - CI 或脚本化运行用
--message "任务" --yes走非交互:改完 commit、退出。
容易踩的坑
- 把整个仓库
/add进来。 Aider 不是 indexer;上下文撑爆反而提案质量更差。加 1-5 个文件就好。 - 不用 git。 没有 git repo 就没有
/undo、没有 per-edit commit,安全网整个没了。 - 工作区脏着就跑。 你没提交的改和 Aider 的 commit 混一起,diff 没法看了。
- 一轮要它做巨型重构。 Architect 模式能缓解,但 editor 模型在超宽 diff 上还是吃力。拆成有名字的步骤。
- 拿弱模型当 architect。 规划用强推理模型(Opus 4.7 或 GPT-5.5),让快模型去编辑。弱规划者出的计划含糊,editor 照着干不下去。
- 批量时忘了
--no-auto-commits。 默认每次都 commit,挺好,直到你想在每个改落地前先 amend 一下。
FAQ
- Aider 免费吗? 免费。Aider 本身开源(Apache 2.0)、免费。你只为指向的模型 API 付费,跑本地模型则 0 成本。Aider 没有订阅费。
- 新手该从哪个模型开始? 截至 2026 年 6 月,editor 用 Claude Sonnet 4.6 是写代码最安全的默认。涉及多文件设计时,加上 architect 模式、用 Opus 4.7 出计划。
- Aider 能用本地模型吗? 能,走 Ollama 或任何 OpenAI 兼容端点,用
--openai-api-base指过去。质量不如前沿模型,但 diff-看-收 的循环一模一样,API 成本为 0。 - 能在 CI 里 headless 跑吗? 能。
aider --message "任务" --yes非交互运行,改完 commit、退出。 - 为啥 Aider 偶尔提的改打不上? 多半是引了没
/add的文件,或者 diff 格式被打乱。把文件显式加进来再提一次。 .aider.conf.yml是用户级还是仓库级? 都行。仓库级会覆盖用户级,所以把仓库里那份连同团队默认配置一起 commit。
相关阅读
外部参考:Aider 官方文档 和 Aider polyglot 排行榜(225 道 Exercism 习题,覆盖 C++、Go、Java、JavaScript、Python、Rust)是当前命令和模型排名的权威来源。