Aider AI编程助手教程:终端里让AI帮你写代码
什么是Aider
Aider是一个开源的终端AI编程助手,让你用自然语言指挥AI修改代码。它能理解整个代码库,自动编辑文件、运行测试、提交Git。支持GPT-4o、Claude 3.5、DeepSeek等多种模型。
与GitHub Copilot不同,Aider不是代码补全工具,而是对话式编程代理——你描述需求,它直接改代码。与 Claude Code/Codex 类似但完全开源免费。
Aider vs 其他AI编程工具
| 工具 | 类型 | 开源 | 价格 | Git集成 |
|---|---|---|---|---|
| Aider | 终端对话代理 | ✅ | 免费(需API Key) | ✅ 自动提交 |
| GitHub Copilot | IDE补全+Chat | ❌ | $10/月 | ❌ |
| Cursor | IDE集成代理 | ❌ | $20/月 | 部分 |
| Claude Code | 终端对话代理 | ❌ | API计费 | ✅ |
一、安装Aider
# 通过pip安装(推荐)
pip install aider-chat
# 验证安装
aider --version
二、配置API Key
2.1 使用OpenAI(GPT-4o)
export OPENAI_API_KEY="sk-xxx"
# 启动aider
aider
2.2 使用Anthropic(Claude)
export ANTHROPIC_API_KEY="sk-ant-xxx"
# 用Claude模型启动
aider --model claude-3-5-sonnet
2.3 使用DeepSeek(最省钱)
export DEEPSEEK_API_KEY="sk-xxx"
# DeepSeek Coder,价格仅为GPT-4o的1/50
aider --model deepseek/deepseek-coder
提示:DeepSeek Coder是目前性价比最高的编程模型,价格约GPT-4o的1/50,代码质量接近。可以参考 DeepSeek本地部署教程 了解更多。
三、基本使用
3.1 在项目目录启动
cd my-project
aider
Aider会自动扫描项目结构,进入交互模式:
████ ███████ ████████ ██████ ██████ ██ ██
░░███ ░░███░░ ░░███░░░ ░░██████ ░░██████ ░██ ░██
░░███ ░███ ░███ ░███░███ ░███░███ ░░███ ░██
░░███████ ░███████ ░███░░███░███░░███ ░░██████
░░░███░░ ░░░░░███ ░███ ░░██████ ░███ ░░███░░
░███ ███████ ░██████ ░██████ █████ █████
░███ ░░░░░███ ░███░░██ ░███░░ ░███░ ░███░░
█████ ███████ ░██████ ██████ ░███ ░███
░░░░░ ░░░░░███ ░███░░ ░███░░ ░░░ ░░░
███████ ██████
░░░░░███ ░░██████
███████ ░███░░███
░░░░░███ ░███ ░░███
███████ ░██████
░░░░░░░ ░███░░
> 帮我把utils.py里的所有函数加上类型注解
3.2 添加文件到上下文
# 在aider中添加文件
> /add utils.py main.py
# 查看已添加的文件
> /files
# 移除文件
> /drop utils.py
3.3 让AI修改代码
# 自然语言描述需求
> 在main.py中添加一个函数,读取CSV文件并返回前10行
# Aider会:
# 1. 理解需求
# 2. 编辑main.py
# 3. 自动git add + commit
四、高级用法
4.1 只读模式(不自动提交)
aider --no-auto-commits
4.2 指定编辑模式
# 整个文件重写(适合大改动)
aider --edit-mode whole
# diff模式(适合小改动,省token)
aider --edit-mode diff
# udiff模式(默认,平衡)
aider --edit-mode udiff
4.3 架构模式(Architect)
用两个模型协作:一个设计方案,一个执行修改:
aider --architect --model claude-3-5-sonnet --editor-model gpt-4o
五、实用技巧
5.1 .aiderignore文件
类似.gitignore,排除不需要AI看的文件:
# .aiderignore
node_modules/
*.lock
dist/
*.min.js
5.2 约定文件(CONVENTIONS.md)
在项目根目录创建CONVENTIONS.md,Aider会自动读取作为编码规范:
# CONVENTIONS.md
- 使用4空格缩进
- 函数名用snake_case
- 所有公开函数必须有docstring
- 类型注解必填
5.3 修复测试
# 让AI运行测试并修复失败
> 运行pytest,修复所有失败的测试
# Aider会运行测试,分析错误,自动修复代码
六、省钱技巧
| 模型 | 输入价格 | 输出价格 | 适合场景 |
|---|---|---|---|
| deepseek-coder | $0.14/M | $0.28/M | 日常编程(最省) |
| gpt-4o | $2.5/M | $10/M | 复杂重构 |
| claude-3-5-sonnet | $3/M | $15/M | 架构设计 |
建议日常用DeepSeek,复杂任务切换GPT-4o或Claude。
七、与Git协作
Aider每次修改自动创建Git commit,方便回滚:
# 查看aider的提交历史
git log --oneline
# 回滚aider的修改
git revert HEAD
# 查看aider改了什么
git diff HEAD~1