核心能力

Aider 是一个运行在终端中的 AI 结对编程工具。完成本教程后,你将能够:

  • 在命令行中直接与 GPT-4 等大语言模型对话,让 AI 修改本地代码文件
  • 自动将 AI 的代码建议应用到项目,并生成 Git 提交记录
  • 支持多文件上下文感知,AI 能理解整个项目结构进行修改

前置条件

项目要求
操作系统macOS / Linux / Windows (WSL2)
Python3.8 及以上版本
Git已安装并配置好全局用户信息
终端支持彩色输出(如 iTerm2, Windows Terminal)
API 密钥OpenAI API Key 或其他兼容 API

安装步骤

1. 安装 Aider

打开终端,执行以下命令:

python -m pip install aider-chat

预期结果:终端显示安装成功,无报错。

注意事项:

  • 如果使用 pip3,请确保对应 Python 3.8+
  • 建议在虚拟环境中安装,避免与系统 Python 包冲突

2. 配置 API 密钥

设置环境变量(推荐):

export OPENAI_API_KEY="sk-你的密钥"

或者创建配置文件 ~/.aider.conf.yml:

openai-api-key: sk-你的密钥

验证方法:运行 aider --check,如果输出包含模型名称和连接成功信息,则配置正确。

常见问题:

  • 如果使用 Azure OpenAI,需额外设置 --azure 参数并提供端点 URL
  • 密钥不要直接写在公开的脚本中

使用教程

第一步:进入项目目录

cd /path/to/your/project

要求:该目录必须是 Git 仓库(已执行过 git init 或克隆自远程仓库)。

第二步:启动 Aider

aider

预期结果:终端显示欢迎界面,列出当前 Git 仓库中被追踪的文件列表。

失败排查:

  • 如果提示 No git repo found,请先执行 git init
  • 如果提示 API 连接失败,检查网络和密钥配置

第三步:添加文件到对话上下文

在 Aider 交互界面中,输入:

/add app.py utils.py

说明:添加的文件会被 AI 读取,作为修改依据。支持通配符,如 /add *.py。

注意事项:

  • 不要添加过多文件(建议不超过 10 个),否则可能超出模型上下文窗口
  • 二进制文件(如图片、PDF)无法被 AI 理解

第四步:向 AI 提出修改需求

示例指令:

将 app.py 中的日志输出改为使用 logging 模块,并添加时间戳

预期结果:AI 会分析文件内容,给出修改方案,并询问你是否应用。

最佳实践:

  • 指令要具体:说明「做什么」和「在哪里做」
  • 可以一次提多个修改要求,AI 会按顺序处理
  • 如果修改涉及多个文件,AI 会自动识别并提示

第五步:确认修改并提交

当 AI 输出修改方案后,终端会显示:

Apply changes? (Y/n) 

输入 y 确认应用,Aider 会自动:

  1. 修改对应文件
  2. 执行 git add 和 git commit
  3. 提交信息自动生成(如 feat: 添加 logging 模块并格式化时间戳)

注意事项:

  • 如果输入 n,修改不会生效,文件保持原样
  • 提交信息可后续通过 git commit --amend 修改

进阶操作

代码审查模式

aider --review
  • AI 会审查当前 Git 仓库中未提交的改动,并给出改进建议
  • 适用于提交前代码检查

指定模型

aider --model gpt-4-turbo-preview
  • 支持 GPT-4、GPT-4-turbo、Claude-3 等模型
  • 不同模型对代码修改的准确度有差异,建议使用最新版 GPT-4

回退修改

如果 AI 修改后出现问题,使用 Git 回退:

git reset --hard HEAD~1
  • 注意:这会丢弃最近一次提交的所有改动
  • 如果修改涉及多个文件,请确认回退范围

常见问题

问题原因解决方法
AI 修改后代码报错模型理解偏差回退修改后,重新描述需求,增加约束条件
修改未应用到文件未确认应用重新运行指令,输入 y
中文输出乱码终端编码问题设置终端 UTF-8 编码
API 调用超时网络问题或模型繁忙重试或更换模型

适用边界

  • 适合:重构代码、添加注释、修复 bug、生成单元测试
  • 不适合:处理大型二进制文件、执行数据库迁移、需要实时交互的调试
  • 限制:AI 无法理解项目之外的依赖关系,修改前请确保项目结构清晰

数据统计

相关导航