返回资料库 AI Agent 基础

Aider:开源终端 AI 结对编程工具

Aider 是一个开源终端 AI 结对编程工具,让你在命令行中与 LLM 协作编辑代码。它的核心理念是:像和同事结对编程一样,告诉 AI 你想做什么,Aider 帮你完成。

来源: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 的独特功能,将任务分为两个阶段:

  1. 架构师阶段:主模型(如 Sonnet)分析需求,提出高层设计方案
  2. 编辑者阶段:编辑模型(如 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:开源终端 AI 结对编程工具 适合什么读者?

Aider:开源终端 AI 结对编程工具 适合希望系统掌握 AI Agent 基础 的读者,尤其是需要从概念快速过渡到实践的人。页面包含主题摘要、相关阅读和来源链接,便于形成可执行的学习路径。

阅读 Aider:开源终端 AI 结对编程工具 需要多久?

当前页面预估阅读时长约 6 分钟。建议先读正文结论,再根据“同专题延伸”继续阅读,通常 20 到 40 分钟可以建立完整主题框架。

如何把 Aider:开源终端 AI 结对编程工具 的内容用于实际项目?

先按正文中的关键概念完成最小可运行示例,再把示例嵌入你当前项目流程。你可以结合来源链接验证细节,并使用同专题文章补齐部署、协作和评估步骤。