首页 › tips-tricks › 终端党只用Aider一成:八个隐藏开关

终端党只用Aider一成:八个隐藏开关

如果你每天泡在终端里写代码,大概率听过 Aider——这个在 GitHub 上狂揽数万 star、长期霸榜「AI 编辑代码能力排行榜」第一的命令行 AI 结对编程工具。但我和几位重度用户聊下来发现一个尴尬的事实:90% 的人装完 Aider,就只会在终端敲一句自然语言让它改代码,然后用默认模型、默认参数、默认流程跑到底。

这就好比你买了一台单反,永远只用全自动挡拍。Aider 真正值钱的地方,藏在那一堆 -- 开头的 flag 和 / 开头的斜杠命令里——它们能把一个「能用」的 AI 改代码工具,变成一个能砍掉一半 token 账单、能自动跑测试、能跨模型分工的提效引擎。今天这一篇,我翻遍 Aider 官方文档(aider.chat/docs),把八个中国用户大概率没碰过的隐藏开关一次性讲透。


先搞懂:Aider 的「双模型」底层逻辑

在讲具体开关之前,你必须先建立这张心智地图——这是后面所有省钱技巧的基础:

flowchart TD
    A[你的请求: 改这段代码] --> B{谁来干活?}
    B -->|出方案/读地图/分析| C[主模型<br/>Architect / Reasoning<br/>贵但聪明]
    B -->|具体改代码/填diff| D[编辑模型 Editor<br/>便宜但听话]
    C -->|产出修改计划| D
    C -->|读仓库地图| E[弱模型 Weak Model<br/>最便宜<br/>只负责建repo map]
    D --> F[git auto-commit]
    F --> G[/undo 可回退/]
    style C fill:#ffe0e0
    style D fill:#e0ffe0
    style E fill:#fff8e0

记住一条铁律:贵模型只在「想」的时候烧钱,便宜模型在「动手」的时候干活。 下面八个开关,本质上都是在调度这张图里的箭头。


开关一:Architect 模式——让 Opus 出方案,Haiku 写代码

这是 Aider 省钱最狠的一招,也是最少人用的一招。

默认情况下,你用什么模型改代码,就全程烧那个模型的 token。比如你用 Claude Sonnet 改一个 200 行的文件,Sonnet 既要读、要想、又要逐字吐 diff,全程按最贵档位计费。

而 --architect 模式把这件事拆成两段:

aider --architect --model sonnet --editor-model haiku

操作步骤: 1. 启动时加 --architect,用 --model 指定一个「架构师」(强推理)模型,比如 sonnet / opus 2. 用 --editor-model 指定一个「编辑」(廉价)模型,比如 haiku 或 DeepSeek 3. 架构师模型只负责「读代码 + 提方案」,输出一段自然语言的修改计划 4. 编辑模型拿着这份计划,去做真正的 diff 编辑——这部分是机械活,便宜模型完全够用

预期效果: 实测在大型重构场景下,token 账单能砍掉 40%~60%,而代码质量几乎不打折扣,因为「想」的部分依然是最强模型在做。

适用场景: 复杂多文件重构、跨模块改造、需要深度推理的 bug 修复。简单的小改动反而没必要开。

⚠️ 小坑:Architect 模式默认会弹确认框让你 review 架构师的方案。如果你嫌烦想全自动,加 --auto-accept-architect(这是相对较新的功能,老版本可能没有)。


开关二:--thinking-tokens / --reasoning-effort——给推理模型拧阀门

这是 2025 年下半年才在文档里稳定下来的功能,很多老 Aider 用户根本不知道。

现在的推理模型(Claude Sonnet/Opus 的 thinking、OpenAI 的 o 系列、DeepSeek R1)都有一个「思考预算」概念。思考越多越准,但也越烧钱、越慢。Aider 给了你两个旋钮直接拧:

# Claude 系:用 thinking-tokens 控制思考token预算
aider --model sonnet --thinking-tokens 8k    # 简单任务调小
aider --model sonnet --thinking-tokens 32k   # 难题调大

# OpenAI o 系:用 reasoning-effort 三档
aider --model o3-mini --reasoning-effort low
aider --model o3-mini --reasoning-effort high

信息差在哪: 大多数人装好 Aider 用默认值,等于让模型「用最大火力」思考每一条请求。但现实是——「把这行变量名改一下」根本不需要模型思考 8k token。把简单请求的 --thinking-tokens 调到 2k 甚至 0,复杂调试时再调大,单这一招就能省下一笔可观的账单,而且简单任务反而更快返回。

适用场景: 你已经在为推理模型付费,且任务难易混杂时,强烈建议按任务难度动态调。


开关三:--weak-model——把「建地图」这种脏活外包

Aider 启动时会用 tree-sitter 扫描你的整个 git 仓库,生成一张「仓库地图」(repo map)喂给模型,让它知道有哪些函数、哪些类、它们的关系。这张地图对代码质量至关重要,但它本身也要消耗 token 去生成。

--weak-model 让你指定一个超便宜的模型专门负责生成 repo map 和处理杂务:

aider --model sonnet --weak-model haiku

效果: 主模型(sonnet)依然负责核心改代码,但 repo map 的构建、文件摘要这些「不需要高智商」的活,全部甩给 haiku。等于雇了个廉价实习生做资料整理,主工程师专注写代码。

配合开关一食用更佳: --architect sonnet --editor-model haiku --weak-model haiku,三个角色分工,账单最优。


开关四:--map-tokens + --subtree-only——精准控制上下文预算

仓库地图是 Aider 的灵魂,但很多人不知道它的大小是可以手动拧的。

# 默认 ~2048 tokens,大仓库可以调大给模型更多全局视野
aider --map-tokens 4096

# 小项目或想省钱,调小
aider --map-tokens 1024

# 只画某个子目录的地图(巨型 monorepo 神器)
aider --subtree-only src/payment/

# 控制地图刷新频率:always / auto / files / never
aider --map-refresh auto

信息差: 在十万行级别的 monorepo 里,默认的 repo map 会把不相关的模块也塞进去,既烧 token 又干扰模型。--subtree-only 让 Aider 只把你当前要改的那个子目录画进地图,token 消耗立降一个数量级,模型也更聚焦。

预期效果: 大仓库场景下,单轮对话上下文从动辄十几万 token 压到两三万,账单和延迟双降。


开关五:--cache-prompts——重复请求的九折券

Aider 支持 prompt caching(提示词缓存),但默认不一定开。加一个 flag 就能白嫖:

aider --cache-prompts

原理: 当你在同一个会话里连续发多轮请求,前面已发送的 prompt(系统提示 + 仓库地图 + 已添加文件)会被服务商缓存。下一轮如果这部分内容没变,就按缓存价计费——比如 Anthropic 的缓存价格只有正常输入价的十分之一左右。

适合谁: 会话较长、多轮迭代改同一个功能的场景。一轮对话搞定的小改动感知不明显,但一个下午改 50 轮,省下来的钱够再跑十轮。

强烈建议写进配置文件(见开关八),让它永久生效。


开关六:--auto-lint + --auto-test——让 AI 自己跑测试自证清白

这是 Aider 区别于「纯聊天型」AI 工具最大的杀手锏,但很多人完全没用。

# 改完代码自动跑 lint
aider --auto-lint --lint-cmd "ruff check --fix"

# 改完代码自动跑测试,失败了让AI自己修
aider --auto-test --test-cmd "pytest tests/"

工作流: 你让 Aider 改一段代码 → 它改完自动跑你指定的 lint/test 命令 → 如果报错,它会自己看到错误输出,然后自动迭代修复,直到通过为止——全程不用你插手。

sequenceDiagram
    participant U as 你
    participant A as Aider
    participant T as 测试/Lint
    U->>A: 改这个函数并加测试
    A->>A: 改代码 + 生成diff
    A->>T: 自动跑 pytest
    T-->>A: ❌ 2个测试失败
    A->>A: 读报错 → 自动修复
    A->>T: 再跑一次
    T-->>A: ✅ 全绿
    A->>U: 完成,已git commit

信息差: 国内很多人把 Aider 当「会改文件的 ChatGPT」用,改完还得自己手动 pytest、手动 git diff 检查。开了这两个开关,Aider 就变成一个会自我验证的闭环 Agent——这才是它真正的形态。

适用场景: 任何有测试套件的项目。没有测试?那就先让它帮你写测试(/test 命令 + --test-cmd)。


开关七:--read + CONVENTIONS.md——给 AI 立规矩,一次性喂规范

--read 让你把文件以只读方式加进上下文,AI 能看到但不会去改它。最经典的用法是喂项目规范:

# 把代码规范、架构说明喂进去,AI改代码时全程遵守
aider --read CONVENTIONS.md --read ARCHITECTURE.md

# 临时参考某个接口文档
aider --read docs/api-spec.md main.py

进阶玩法——CONVENTIONS.md: Aider 官方文档专门推荐你建一个 CONVENTIONS.md 文件,写上「本项目用 tabs 不用空格」「错误处理必须用自定义异常类」「函数必须有类型注解」之类规则,然后 --read 进去。从此 AI 生成的代码自带你们团队的「肌肉记忆」,省去每次手动纠正风格的沟通成本。

和 /add 的区别: /add 是可编辑,--read 是只读参考。规范文档千万别 /add,否则 AI 可能「好心」帮你改规范。

信息差: 大多数人反复在对话里强调「请用这个风格」,每轮都烧一遍 token。写成 CONVENTIONS.md 用 --read 喂一次,配合 --cache-prompts(开关五)还能享受缓存价,一劳永逸。


开关八:.aider.conf.yml——把上面所有开关固化成「出厂设置」

最后一个,也是最该第一个做的开关:别每次都在命令行敲一长串 flag。

在项目根目录或 ~/.aider.conf.yml 写一个 YAML 配置文件:

# 模型分工
model: sonnet
editor-model: haiku
weak-model: haiku
architect: true

# 省钱
cache-prompts: true
map-tokens: 2048
map-refresh: auto
thinking-tokens: 8k

# 自验证闭环
auto-lint: true
lint-cmd: "ruff check --fix"
auto-test: true
test-cmd: "pytest -q"

# 规范
read:
  - CONVENTIONS.md

# 中文commit message
commit-language: zh

之后直接敲 aider factorial.py,所有配置自动生效。再配一个 .aiderignore(语法同 .gitignore),把 node_modules/、*.lock、密钥文件挡在 AI 视线之外。

信息差: 配置文件是 Aider 体验从「能用」到「顺手」的分水岭。海外老手的 ~/.aider.conf.yml 都是精调过的,新手却每次裸奔。花 10 分钟写好这个文件,相当于给你未来每一次 AI 编程都省下配置成本。


信息差总结:你知道的 vs 别人不知道的

维度 多数人的用法(一成) 高手的用法(剩下九成)
模型 一个模型干所有事 Architect 主模型出方案 + Editor 廉价模型写码 + Weak 廉价模型建地图
推理预算 默认最大火力 --thinking-tokens 按任务难度动态拧
仓库地图 默认全仓库扫 --subtree-only 只画子目录,token 降一个数量级
重复请求 每轮全价 --cache-prompts 享缓存十分之一价
测试验证 AI 改完手动跑 --auto-test 让 AI 自跑自修到全绿
代码规范 每轮口头强调 CONVENTIONS.md + --read 一次喂入
配置 每次命令行裸敲 .aider.conf.yml 固化出厂设置
中文场景 默认英文 commit --commit-language zh + --chat-language zh

行动指南:今晚就能做的三步

  1. 第一步(5分钟): 在 ~/.aider.conf.yml 落地开关八的配置模板,至少开 cache-prompts: true 和 auto-lint: true。
  2. 第二步(15分钟): 在你最熟的项目里跑一次 aider --architect --model sonnet --editor-model haiku --auto-test --test-cmd "你的测试命令",对比一下账单和效果。
  3. 第三步(持续): 建立 CONVENTIONS.md,把团队规约沉淀进去,用 --read 喂给 AI,从此告别「AI 不懂我们风格」的反复沟通。

Aider 的核心信息差不在于「它存不存在」,而在于——这个工具把「省钱、自验证、多模型分工」的能力全做成了 flag,但默认全关着,就等你去打开。


参考来源


本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入