Aider
在终端中进行 AI 结对编程的开发工具。
Aider 是在终端里配合开发者修改代码的 AI 编程助手,可针对已有 Git 仓库或新项目进行对话式编辑。
Aider 能做什么
它会把指定文件与精简的仓库地图提供给模型,帮助模型理解相关函数、类和依赖关系。仓库地图提供结构线索,具体修改仍需要加入相关文件。
编辑建议:把一个清楚的小问题交给一次会话,先给失败例子和可运行的测试命令,再检查代码差异。
明确控制参与修改的文件
启动时可指定文件,也可在会话中用 /add 加入文件。只加入相关文件能减少无关上下文和模型调用开销。
用仓库地图补充结构线索
仓库地图概括重要文件中的函数、类与签名,并按上下文预算选择相关部分,方便从局部修改追踪其他模块。
把 AI 修改放进 Git 工作流
Aider 可为修改创建 Git 提交、显示差异,并用 /undo 撤回上一次 Aider 修改。编辑建议:开始前确认已有未提交工作。
把检查失败反馈给模型
可配置 lint 命令;测试可通过 /test 执行,也可结合 --test-cmd 与 --auto-test 在修改后运行。测试命令需要来自项目本身。
- 核心用途
- 终端对话改代码,结合仓库地图理解依赖
- 可完成的工作
- 小范围缺陷修复、跨文件重构和测试补齐
- 如何开始
- 在项目目录启动 aider,加入目标文件
- 使用条件
- 先配置模型访问与项目可运行的检查命令
如何使用 Aider
- 准备项目与模型
按官方使用文档配置可访问的模型,并进入目标项目目录。先查看 Git 状态,明确当前工作边界。
- 加入必要文件
启动 aider 并指定要修改的文件;发现缺少上下文时用 /add 补充,避免一开始装入整个仓库。
- 描述一个可检查的问题
说明当前行为、期望行为与禁止改变的接口。编辑建议:让首轮只解决一个明确问题,再继续后续任务。
- 运行检查并审阅提交
通过 /test 执行项目测试,必要时配置自动测试;检查 diff 和提交,确认不合适时再使用对应撤回功能。
修复一个有复现条件的边界问题
适合:维护已有项目的开发者
- 准备输入
- 出错输入、预期结果、涉及文件和针对该问题的测试命令。
- 操作方法
- 编辑建议:加入实现和测试文件,描述复现条件;让 Aider 小步修改,运行测试后阅读差异。
- 预期交付物
- 围绕单个缺陷的补丁与检查输出。
- 人工检查
- 补测相邻边界;确认修复没有顺带改变其他接口。
调整一个被多处调用的接口
适合:需要小范围重构的开发者
- 准备输入
- 旧接口、目标接口、调用方范围和兼容要求。
- 操作方法
- 编辑建议:先借仓库地图查相关符号,再把实际要编辑的调用方加入会话,分批修改并检查引用。
- 预期交付物
- 实现与调用方一致的接口调整。
- 人工检查
- 搜索残留旧名称,检查外部调用与序列化字段是否仍兼容。
为已有修复补回归测试
适合:有现成测试框架的开发者
- 准备输入
- 已知缺陷、已有测试样例及运行方式。
- 操作方法
- 编辑建议:提供相邻测试作为格式参考,生成失败例子,再运行局部测试检查它确实覆盖目标行为。
- 预期交付物
- 可重复运行的回归测试。
- 人工检查
- 确认测试会在旧实现上失败,避免只验证新代码的写法。
界面与参考图片

开始前需要了解
模型访问另有条件
Aider 需要连接可用模型;云模型可能按提供方规则收费,本地模型则需要自己的运行环境。不要把安装工具理解成模型调用无限免费。
仓库地图有上下文预算
地图是精简的结构信息,并非把所有文件完整读入。遗漏的相关实现需要主动加入会话。
检查命令不会凭空具备环境
lint 与测试依赖项目已有的命令、依赖和配置。检查通过也只说明覆盖到的行为,仍应阅读补丁。
可连接云端或本地模型;使用云端模型时需要对应提供商凭据,模型费用与客户端分别确认。
账号权限、费用与可用功能请以官方入口的当前说明为准。重要结果应先检查,再用于实际工作。
常见问题
必须先把整个仓库放进对话吗?
不需要。先加入要修改的文件,仓库地图补充其他代码的结构信息;需要编辑其他文件时再加入。
修改会留下 Git 记录吗?
Aider 支持为修改自动创建 Git 提交和查看差异。开始前应确认仓库状态,以便区分自己的修改与会话生成的修改。
测试会自动运行吗?
可手动使用 /test。若要在修改后自动运行,需要设置测试命令并启用相应自动测试选项。
仓库地图能保证理解全部依赖吗?
不能。它会在有限上下文中选择相关结构;动态调用、配置和外部依赖仍需要补充说明和检查。