来源:aider.chat · github.com/Aider-AI/aider · aider.chat/docs | 整理时间:2026-04-07
Aider 是什么?
Aider 是一个开源终端 AI 结对编程工具,让你在命令行中与 LLM 协作编辑代码。它的核心理念是:像和同事结对编程一样,告诉 AI 你想做什么,Aider 帮你完成。
核心特点
- 多文件编辑:上下文感知的多文件同时修改
- Git 深度集成:自动提交、
/undo回退、Conventional Commits - 模型无关:支持 OpenAI、Anthropic、Google、DeepSeek、Ollama 等
- 仓库地图:基于 tree-sitter 的代码库全景理解
- 100+ 编程语言:通过 tree-sitter 语法支持
- 完全开源:Apache 2.0 许可证
安装与配置
安装
# 推荐方式(Python 3.9+)
pip install aider-install && aider-install
# 一键安装(Mac/Linux)
curl -sSfL https://aider.chat/install.sh | sh
# pipx 安装
pipx install aider-chat
API Key 设置
# OpenAI
export OPENAI_API_KEY=your-key
# Anthropic
export ANTHROPIC_API_KEY=your-key
# Google Gemini
export GEMINI_API_KEY=your-key
# DeepSeek
export DEEPSEEK_API_KEY=your-key
启动
# 在 Git 仓库中启动(推荐)
cd your-project
aider main.py utils.py
# 指定模型
aider --model sonnet # Claude Sonnet
aider --model gpt-4.1 # GPT-4.1
aider --model deepseek # DeepSeek V3
# 本地模型(Ollama)
aider --model ollama_chat/codellama
四种对话模式
| 模式 | 用途 | 会编辑文件 |
|---|---|---|
code(默认) |
代码生成与编辑 | 是 |
ask |
提问与解释,不修改代码 | 否 |
architect |
两阶段:架构设计 + 代码实现 | 是 |
help |
Aider 使用帮助 | 否 |
# 在对话中切换模式
> /code 重构认证模块使用 JWT
> /ask 解释数据库连接池的工作原理
> /architect 为所有 API 端点添加 Redis 缓存
Architect 模式详解
Architect 模式是 Aider 的独特功能,将任务分为两个阶段:
- 架构师阶段:主模型(如 Sonnet)分析需求,提出高层设计方案
- 编辑者阶段:编辑模型(如 GPT-4.1)根据方案执行精确的代码修改
# 指定架构师和编辑者使用不同模型
aider --architect --model sonnet --editor-model gpt-4.1
仓库地图(Repo Map)
Repo Map 是 Aider 的核心创新,为 LLM 提供整个代码库的概览:
- tree-sitter 解析:将源码解析为 AST,提取函数签名、类定义
- 图排序算法:类似 PageRank,识别最重要的代码符号
- 动态 token 预算:根据上下文窗口自动调整信息量
- 跨文件感知:模型知道哪些文件存在、它们之间的关系
project/
├── auth.py
│ ├── class AuthManager
│ │ ├── def login(username, password) -> Token
│ │ ├── def logout(token) -> None
│ │ └── def verify(token) -> User
│ └── def hash_password(password) -> str
├── database.py
│ ├── class Database
│ │ ├── def connect(url) -> Connection
│ │ └── def query(sql) -> Result
│ └── def migrate() -> None
常用命令
# 文件管理
/add src/auth.ts src/db.ts # 添加文件到上下文
/read-only docs/api-spec.md # 添加只读参考文件
/drop src/old.ts # 移除文件
# Git 操作
/undo # 撤销上次 AI 修改(基于 git)
/diff # 查看当前未提交的修改
# 代码质量
/lint # 运行 lint 检查
/test # 运行测试
# 模型切换
/model claude-3.7-sonnet # 切换模型
/model gpt-4.1
# 其他
/clear # 清空对话历史
/help # 查看帮助
三层模型系统
Aider 使用三层模型架构优化成本和效果:
| 层级 | 参数 | 用途 |
|---|---|---|
| 主模型 | --model |
代码生成和编辑的主力模型 |
| 弱模型 | --weak-model |
提交信息等简单任务 |
| 编辑模型 | --editor-model |
Architect 模式中的代码修改 |
编辑格式
| 格式 | 说明 |
|---|---|
diff |
标准 diff 补丁(推荐) |
whole |
整文件替换 |
diff-fenced |
围栏式 diff |
editor-diff |
编辑器专用 diff |
Aider 根据模型能力自动选择最佳编辑格式。
模型排行榜(Aider Leaderboard)
Aider 维护了自己的代码编辑能力排行榜(aider.chat/docs/leaderboards):
| 排名 | 模型 | 编辑正确率 |
|---|---|---|
| 1 | Gemini 2.5 Pro | 82.4% |
| 2 | DeepSeek R1 | 79.1% |
| 3 | Claude 3.7 Sonnet | 77.8% |
| 4 | OpenAI o3 | 76.2% |
| 5 | GPT-4.1 | 74.5% |
Aider vs Claude Code
| 维度 | Aider | Claude Code |
|---|---|---|
| 许可证 | 开源 Apache 2.0 | 商业闭源 |
| 模型支持 | 多厂商(OpenAI/Anthropic/Google/本地) | 仅 Claude |
| 架构 | 文件中心,显式文件管理 | Agent 模式,自主工具调用 |
| 上下文 | Repo Map(tree-sitter) | 原生 Agent 搜索 |
| Token 效率 | 较高(据称比 Claude Code 省 4.2x) | 较高 |
| Git 集成 | 深度集成,自动提交 + /undo | Git 感知,手动提交 |
| 费用 | 免费 + API 费用 | 订阅制 $20-200/月 |
| 扩展性 | 开源可修改 | Skills/Hooks/MCP |
选择建议:
- 想用多种模型或本地模型 → Aider
- 需要端到端 Agent 自主开发 → Claude Code
- 重视开源和可定制性 → Aider
- 需要多 Agent 协作 → Claude Code
实战示例
示例 1:日常开发工作流
# 启动 Aider,添加需要修改的文件
aider src/auth.py src/models.py
# 在对话中
> 重构 login 函数,使用 JWT 替代 session
> 为 User 模型添加 last_login 字段
> /lint
> /test
> /undo # 如果测试失败,回退修改
示例 2:使用截图驱动开发
# 添加设计稿截图
aider --model sonnet
> /add mockup.png
> 让页面看起来像这张设计稿
示例 3:跨文件重构
# Architect 模式处理大型重构
aider --architect --model sonnet --editor-model gpt-4.1
> /add src/api/*.py src/models/*.py
> /read-only docs/api-spec.md
> 将所有 REST API 从 Flask 迁移到 FastAPI
相关链接
- Aider 官网
- Aider 文档
- GitHub Aider-AI/aider
- 模型排行榜
- ../comparisons/ai-coding-tools-landscape.md — AI 编程工具全景对比
- ../claude-code/overview.md — Claude Code 概述