📘 AI教程 💬 🔥 Trending

🩺 摘要

📝 详情

Aider AI编程进阶:多模型配置、自定义指令和Architect模式实战

省流版: 上篇讲了Aider基础用法,这篇讲进阶——用.aider.conf.yml做精细化配置、搭配多个模型分工(大模型规划+小模型执行)、用--architect做架构先行开发、以及用.aider.rules定义项目专属编码规则。


为什么需要进阶配置?

上篇我们聊了Aider的基础用法。用了两周之后,你会发现:

  • 每次启动输一堆参数太烦
  • 有些代码风格AI总是不遵守
  • 简单任务用Claude Sonnet太贵,复杂任务用小模型又不够聪明

这些问题都可以用配置解决。Aider的灵活度远比你第一眼看到的要高。


一、配置文件:.aider.conf.yml

Aider支持YAML配置文件,可以放在项目根目录或~/.aider.conf.yml

全局配置文件示例

# ~/.aider.conf.yml
model: claude-sonnet-4
architect: true
auto-commits: true
git-commit-exit-code: true
map-multiplier-no-files: 3
show-diffs: true
edit-format: diff
lint: true
lint-cmd:
  - ruff check --fix {filename}
  - pyright {filename}

这份配置做到:

  • 默认用Claude Sonnet 4——写代码质量最好
  • 开启Architect模式——先给方案再写代码
  • 自动Git提交——不用手动commit
  • 显示改动差异——改了什么一眼知道
  • 改完自动Lint——用ruff检查,确保代码风格统一

项目级配置文件

在项目根目录放一份.aider.conf.yml,团队共享:

# .aider.conf.yml
model: deepseek-chat
env-file: .env.aider

# 忽略不需要AI碰的目录
skip-suggestions: true
file-watch: true
watch-files:
  - src/**/*.py
  - tests/**/*.py
ignore:
  - node_modules/
  - vendor/
  - dist/
  - .git/

env-file可以单独管理AI密钥,不跟其他环境变量冲突。


二、多模型分工:一个鲜有人知道的技巧

Aider支持一个隐藏技巧:用不同模型完成不同任务

思路

  • 规划/架构 → 用强模型(Claude Sonnet 4或GPT-4o)
  • 执行/实现 → 用性价比模型(DeepSeek或GPT-4o mini)
  • 代码审查 → 用另一模型(新鲜视角查漏补缺)

实操

# 用Claude Sonnet做架构设计
aider --model claude-sonnet-4 --architect \
  "把现有的Flask API改成FastAPI,画出迁移方案"

# 审阅方案后,用DeepSeek执行
aider --model deepseek-chat \
  "按上面的方案开始迁移,一次改一个文件"

为什么要分开? 因为架构设计需要深度推理,但代码实现大部分是模式化转换。用DeepSeek(成本是Claude的1/10)来做实现,能把API消耗降低80%以上。

另一种玩法:用本地模型做简单修改

安装Ollama后:

# 本地模型做简单重构
aider --model ollama/qwen2.5-coder:14b \
  "把所有的print改成logging"

完全免费。复杂任务再切回云端模型。


三、自定义编码规则:.aider.rules

这是Aider最被低估的功能。

在项目根目录创建.aider.rules文件,里面的内容会作为系统提示注入到每次AI交互中:

# .aider.rules
rules:
  - 使用Python 3.12+ 类型注解
  - 所有函数必须有Google风格docstring
  - 异常信息必须包含上下文
  - 禁止使用wildcard import (from xxx import *)
  - 测试必须用pytest,覆盖率80%+
  - 数据库迁移文件走Alembic
  - API版本号在URL中(/v1/)
  - commit message遵循Conventional Commits

然后跟Aider说「加个数据库重试逻辑」——它就会遵循这些规则来写。

规则效果

没有.aider.rules时:

def get_user(id):
    return db.query(User).filter(User.id == id).first()

.aider.rules时:

def get_user(user_id: int, db: Session = Depends(get_db)) -> User | None:
    """根据ID查询用户信息。

    Args:
        user_id: 用户ID
        db: 数据库会话

    Returns:
        用户对象,未找到返回None

    Raises:
        DatabaseError: 数据库查询异常
    """
    try:
        return db.query(User).filter(User.id == user_id).first()
    except SQLAlchemyError as e:
        raise DatabaseError(f"查询用户失败: user_id={user_id}") from e

不需要你每次重复说「加类型注解」「加docstring」「加异常处理」。规则写一次,AI自动遵守。


四、Architect模式深度使用

--architect模式下,Aider分两步走:

Step 1:架构师AI(默认用最强模型)

输出详细方案,包括文件结构、接口设计、数据流。等你确认。

Step 2:编辑AI(默认用同一个模型)

按方案执行,逐文件修改。

什么时候必须用Architect模式

  • 跨多个文件的重构(比如改名、拆分模块)
  • 涉及数据库Schema变更(需要先看迁移方案)
  • 新功能对现有架构有影响(需要评估)
  • 你不确定AI理解是否正确(让它先出方案,你看懂了再动手)

什么时候不用Architect模式

  • 修一个小bug——直接改更快
  • 加一个简单接口——直接改就行
  • 改文档或注释——不需要方案

五、Git集成高级技巧

交互式Rebase

Aider默认改一个功能就commit一次,commit多了你可能会想整理提交历史。

# 让Aider帮你做rebase
aider "把最后5个关于缓存的commit squash成一个"

分支管理

# 让Aider在feature分支上开发
git checkout -b ai-feature/user-cache
aider "给用户模块加上Redis缓存"

自动生成CHANGELOG

aider --git-log 50 "用最近的50个commit生成CHANGELOG.md"

六、生产环境实战:用Aider管理服务器代码

一个很多人没提到的用法:通过Aider管理远程服务器的代码。

# SSH进去后
ssh myserver
cd /var/www/myapp
aider --no-auto-commits --show-diffs

# 临时修bug
"修复订单状态同步delay的问题"

因为Aider在终端运行,ssh上去就能用,不需要在服务器上装VSCode。但是注意:生产环境建议关掉auto-commits,手动review后再commit。


常见进阶问题

Q:Aider怎么处理超大项目?

对于1000+文件的项目,建议:

  1. --map-multiplier-no-files 3让Aider更依赖地图缓存
  2. 手动指定文件:aider src/core/ src/models/
  3. 把无关目录加到ignore列表

Q:Aider的token消耗大吗?

取决于模型和项目大小。一个典型的中等功能(5-8个文件修改):

  • Claude Sonnet 4:约$0.5-1.0
  • DeepSeek:约$0.05-0.1
  • GPT-4o mini:约$0.02-0.05

强烈建议复杂任务用Claude规划+DeepSeek执行,成本降80%。

Q:Aider能生成测试吗?

可以。在.aider.rules加一条测试规则,然后:

给OrderService写单元测试,覆盖所有public方法

它会自动找测试框架配置、补测试依赖、生成测试代码。


总结

Aider进阶用法的核心就三点:

  1. 配置文件化——把常用参数写在.aider.conf.yml里,启动就是最优设置
  2. 多模型搭配——强模型规划,性价比模型执行,本地模型做简单活
  3. 规则先行——.aider.rules定义了AI的编码规范,一次配置,次次受益

用得越久,配置越顺手,AI写出来的代码越接近你团队的风格。

💡 建议收藏本文。 进阶配置不是看一遍就能记住的,遇到大项目重构时翻回来照着配置。

📤 转发给朋友,他肯定会感谢你。 如果你朋友还在用Aider默认配置——他根本不知道自己在错过什么。

📚 AI编码工具系列(一)Aider AI编程助手入门:47K星标的终端AI编程伴侣(三)OpenCode vs Aider vs Claude Code:三款终端AI编程助手横评(四)AI代码文档自动生成指南 · (五)AI辅助代码迁移实战