Aider 上手:终端 AI 编程,每次改都自动 git commit

装上 Aider,对着 git repo 跑起来,diff-看-收的循环就在 shell 里。不开 IDE、不开浏览器、不绑工具。2026 年 6 月更新。

一句话总结

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$25Architect(规划)模型
Gemini 3.1 Pro$2$12省钱的 editor,大上下文
GPT-5.5$5$30强规划,editor 也能胜任
本地模型(Ollama)$0$0离线;质量不及前沿模型

Aider 会按会话统计 token 花费,你每次继续前都能看到这次改动花了多少。

跑起这个循环

  1. 在仓库根用指定模型启动。 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. 加你想让它改的文件。 挑这次任务相关的 1-5 个,别加整个仓库:
/add src/auth/login.ts
/add src/auth/login.test.ts
  1. 用大白话提一个小的具名改动。 Aider 会回 diff、应用、commit。下一轮 prompt 之前看一眼 diff——那就是你的复核窗口。
  2. 错了当场修。 /undo 撤上一次 commit。/drop src/auth/login.test.ts 把某文件从上下文里拿掉。/diff 在继续提交前看当前 diff。
  3. /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)是当前命令和模型排名的权威来源。

标签: #AI 编程 #教程 #Aider