
Qwen3-Coder 评测仓库中的 aider 发布历史全解从 v0.5.0 到 v0.55.0 的 AI 结对编程工具演进实录【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder导读本文以qwencoder-eval/instruct/aider/aider/website/HISTORY.md这份发布历史文档为主体系统梳理 AI 结对编程工具 aider 从 v0.5.0 到 v0.55.0 的关键版本演进包括编辑格式的迭代、对话内命令体系、仓库地图repomap、提示词缓存、lint/测试集成等核心能力的发展脉络。该文档作为 aider 源码在 Qwen3-Coder 评测仓库qwencoder-eval/instruct/目录中用于 Agent 级代码编辑评测的组成部分其记录的每一项能力都能在仓库内的 aider 源码中找到对应实现。读完本文你将理解 aider 的核心架构决策、主要命令行参数与对话命令的用途并能用仓库内的源码与 benchmark 评测框架交叉印证这些能力。文档定位一份被网站模板复用的发布历史在仓库中这份发布历史位于 qwencoder-eval/instruct/aider/aider/website/HISTORY.md它带有 Jekyll 站点的 YAML front mattertitle: Release history、parent: More info、nav_order: 999并通过 cog 注释机制将根目录HISTORY.md的内容整体嵌入网页。文档自述Release notes and stats on aider writing its own code——它不仅记录功能变更还逐版本统计aider 自己写出的代码比例这一独特指标。从源码结构可以推断该仓库收录的是 aider 在 v0.55.0 之后的开发状态aider/version.py 中显示__version__ 0.55.1.dev59g2663233b这一版本命名方式本身就是 v0.54.12 版本引入的vX.Y.Z.dev命名规范的产物同时也是 v0.54.9 版本采用 setuptools_scm 以携带 git 哈希的开发版本号的实现证据。一、模型与提供商支持从单一 OpenAI 到多厂商直连发布历史记录了 aider 模型支持的完整扩张路径这在 aider/args.py 的命令行参数与 aider/llm.py 的实现中均可见v0.5.0支持gpt-3.5-turbo与gpt-4-32k新增--map-tokens与 PageRank 仓库地图算法。v0.6.2支持gpt-3.5-turbo-16k及全部 OpenAI 对话模型新增--openai-api-base以支持 API 代理。v0.9.0支持 Azure 上的 OpenAI 模型。v0.14.0通过 OpenRouter 支持 Claude2 等第三方模型社区贡献并提高最低 Python 版本要求至 3.9。v0.17.0支持 11/06 新模型gpt-4-1106-preview128k 上下文与gpt-3.5-turbo-110616k。v0.26.0默认模型切换为 GPT-4 Turbo新增-3、-4快捷开关。v0.29.0支持直接连接 Anthropic、Cohere、Gemini 等多家提供商新增--weak-model指定用于提交消息与聊天历史摘要的弱模型源码中该参数默认值为 None具体取值依赖主模型见 args.py新增--4-turbo-vision、--opus、--sonnet、--anthropic-api-key等快捷开关。v0.30.0将 Gemini 1.5 Pro 列为推荐的免费模型。v0.33.0原生支持 DeepSeek 模型DEEPSEEK_API_KEY与deepseek/deepseek-chat等不再需要走通用 OpenAI 兼容接口。v0.35.0默认模型升级为 GPT-4o。v0.41.0若设置了ANTHROPIC_API_KEY默认模型切换为claude-3-5-sonnet-20240620同时为 3.5 Sonnet 与 GPT-4o 启用图像支持含 OpenRouter 通路。v0.45.1以 4o-mini 全面取代 3.5-turbo 作为弱模型。v0.52.0默认 OpenAI 模型更新为gpt-4o-2024-08-06。v0.54.0新增gemini/gemini-1.5-pro-exp-0827与gemini/gemini-1.5-flash-exp-0827的模型设置。从源码结构看args.py中保留了大量上述快捷开关的历史形态--sonnet、--opus等而--chat-mode/--edit-format参数args.py正是 v0.50.0 引入以编辑格式划分启动模式思想的延续。二、编辑格式的迭代从 edit block 到 search/replace、unified diff 与 whole编辑格式是 aider 的核心技术路线发布历史呈现了清晰的演进链v0.10.0 之前早期基于edit block格式v0.16.0 切换为search/replace block减少了畸形编辑块的比例。v0.19.0引入unified diff 编辑格式显著降低了 GPT-4 Turbo 的偷懒式编码在 laziness 基准上从 20% 提升到 61%并使gpt-4-1106-preview默认使用 unified diff。v0.22.0 / v0.21.1持续改进 unified diff 格式并修复相关缺陷。v0.32.0Gemini 1.5 Pro 默认切换为新的 diff-fenced 编辑格式以适配更大代码库。v0.44.0GPT-4o mini 使用 whole整文件编辑格式取得接近 GPT-3.5 的成绩。在仓库中这一演进沉淀为 aider/coders 目录下的多套编辑器实现editblock_coder.py、udiff_coder.py、wholefile_coder.py、single_wholefile_func_coder.py等并有配套的 prompts 与 tests见 tests/basic/test_editblock.py、tests/basic/test_udiff.py验证各格式的行为。三、仓库地图repo map上下文感知的代码索引repo map 是 aider 控制上下文成本的关键机制其演进同样贯穿多个版本v0.5.0引入--map-tokens设定仓库地图的 token 预算配合 PageRank 算法决定哪些文件与标识符进入地图。仓库源码中该参数默认值为 1024用 0 可禁用见 args.py。v0.16.0基于 tree-sitter 重构仓库地图显著提升对多种语言的解析质量。v0.30.0允许 whole 编辑格式使用仓库地图。v0.37.0仓库地图优化逻辑同时考虑聊天历史文本与加入聊天的文件。v0.48.0新增--subtree-only将 aider 限制在当前目录子树改善大型/mono 仓库性能。v0.51.0新增--map-refresh always|files|manual|auto控制地图刷新频率源码默认auto见 args.py启用缓存时地图重算频率降低。v0.52.0新增--map-multiplier-no-files控制聊天中没有文件时的地图 token 倍数默认倍数降至 2源码默认值 2 与之吻合见 args.py。tree-sitter 的查询定义保留在 aider/queries 目录涵盖 go、rust、python、typescript、c、cpp 等约 20 种语言这印证了 v0.27.0改进 typescript 支持、v0.16.3修复 C# 支持、v0.17.0改进 elisp 支持等历史条目。四、对话内命令体系从 /run 到 /settings 的完整命令集发布历史展示了丰富的聊天内命令slash commands这些命令在 aider/commands.py 中均有对应实现如cmd_model、cmd_web、cmd_lint、cmd_test、cmd_ask、cmd_voice、cmd_clipboard、cmd_read_only、cmd_settings基础操作/add、/dropv0.10.0 起统一以 git 根目录为基准的相对路径v0.8.1 起支持 glob 通配符v0.14.1 支持绝对路径与带引号文件名/run与!别名v0.15.0 起支持完整 shell 命令如/run (cd subdir; ls)/gitv0.10.0/undov0.40.6 起不受--attribute设置影响v0.43.0 支持连续多次撤销。对话管理/clearv0.5.0、/tokensv0.5.0报告上下文 token 用量v0.49.0 起显示当前激活模型、/resetv0.52.0等价于 /drop 文件并 /clear 历史、/quit与/exit别名v0.23.0。模式切换/codev0.50.0在 ask 模式下发起代码编辑请求、/askv0.46.0只提问不改代码、/chat-mode ask|code|helpv0.46.0。上下文注入/read与--readv0.49.0可将 git 仓库外的文件以只读方式加入聊天v0.52.0 起支持~展开、/web urlv0.24.0抓取网页转为 markdown 加入聊天、/clipboardv0.49.0粘贴剪贴板图片或文本取代/add-clipboard-image、/add-clipboard-imagev0.48.0。质量与检查/testv0.23.0 起运行命令并在非零退出码时将输出加入聊天v0.36.0 起支持自动修复测试失败、/lintv0.36.0、/diffv0.49.0 起展示包含 lint/测试修复在内的全部变更差异、/model name与/models queryv0.31.0。辅助功能/voicev0.12.0 的语音编码v0.13.0 起支持--voice-language约束转录语言源码默认值为en、/settingsv0.54.6展示当前激活设置、/helpv0.43.0 起可用/help question咨询用法与排障。此外v0.22.0 起!作为/run别名v0.46.0 起文件名自动补全对/add、/drop大小写不敏感v0.49.0 起脚本化调用时聊天消息内可直接包含/命令。五、lint 与测试驱动修复自动化的代码质量闭环v0.36.0 是质量闭环的里程碑版本aider 可在每次 LLM 编辑后自动 lint 并修复错误内置基于 tree-sitter 的多种语言基础 linter支持用--lint-cmd配置自定义 linter新增/test、--test与--test-cmdaider 会自动尝试修复测试失败。后续版本持续打磨v0.47.0 在 lint 前先询问是否修复、提升--lint对全部脏文件的性能、在 lint 前先对代码编辑进行自动提交v0.54.9 将激活的测试与 lint 命令共享给 LLM。这些能力的当前形态可见于 args.py--auto-lint、--test-cmd、--auto-test、--test与 aider/linter.py。六、缓存、成本与上下文管理面对长会话与大型仓库的 token 开销发布历史记录了系统的成本控制方案提示词缓存v0.51.0 为 Anthropic 模型引入--cache-prompts缓存系统提示、仓库地图与只读文件并改进缓存成本估算v0.53.0 新增--cache-keepalive-pings每 5 分钟 ping 一次 API 以保持缓存不过期源码默认 0 次见 args.py。上下文摘要v0.11.0 自动摘要聊天历史以避免耗尽上下文窗口v0.43.0 起切换 code/ask 模式不再对聊天历史做摘要v0.47.0 起提交消息与聊天摘要都有强模型兜底。token 报告v0.46.0 增强 token 用量与成本报告流式场景下同样生效v0.52.0 改进 token 报告与确认对话框的排版v0.23.0 起--no-stream时可显示基于官方定价的成本信息。无限输出v0.41.0 允许 Claude 3.5 Sonnet 流式输出超过 4k token首个能写出大规模连贯代码编辑的模型v0.50.0 将其扩展至 DeepSeek Coder 与 Mistral。七、Git 集成与提交消息的演进aider 的 Git 集成经历了自动提交 → 提交归属标注 → Conventional Commits三个阶段v0.13.0只对 GPT 试图编辑的脏文件做 git 提交。v0.15.0新增--commit参数用 gpt-3.5 生成合理提交消息并提交全部待处理变更。v0.38.0提交消息不再加 aider: 前缀改为在 git author/committer 名称中附加 (aider)。v0.40.0提供选项抑制在 git author/committer 名称中加入 (aider)。v0.47.0在提交消息提示中加入 Conventional Commits 规范新增--commit-prompt自定义提交消息提示强模型作为提交消息兜底。v0.49.0拆分为--attribute-commit-message-author仅当 aider 参与变更时加 aider: 前缀与--attribute-commit-message-committer所有提交均加前缀两者在 args.py 中均有定义。其他 git 细节v0.8.1 找不到 git 仓库时询问创建v0.25.0 拒绝加入匹配.aiderignore的文件并给出明确提示v0.15.0 引入.aiderignore文件机制v0.54.5 拒绝在$HOME下创建 git 仓库并警告用户v0.54.8 启动时对 git 仓库做健全性检查异常时优雅退出。八、安装、打包与 Dockerv0.14.2 / v0.15.0docker 镜像可用并加入 universal ctags 与多架构支持。v0.43.0 / v0.43.1 / v0.43.2 / v0.43.4将 HuggingFace 嵌入依赖移入[hf-embed]extratorch 换成 CPU 版新增[dev]extra将 scipy 加回主 requirements.txt。v0.44.0默认 pip 安装体积缩减 3–12 倍新增按需安装的 extrasaider-chat[help]、aider-chat[browser]、aider-chat[playwright]。v0.47.0解决docker run --user xxx权限问题新增包含全部 extras 的paulgauthier/aider-full镜像。v0.50.0从setup.py迁移到pyproject.toml社区贡献。v0.54.3docker 镜像依赖锁定watchdog5。v0.54.2 / v0.54.9 / v0.54.11 / v0.54.12补全pexpect依赖、采用 setuptools_scm、改善 Windows 上 pip 命令输出并切换为vX.Y.Z.dev版本命名与仓库中__version__.py的0.55.1.dev59g2663233b相互印证。升级通道v0.54.0 新增--upgrade从 pypi 安装最新版--update为别名v0.53.0 新增--install-main-branch更新到最新开发版args.pyv0.55.0 起 Windows 上只打印自更新命令而不自动执行。九、稳定性、错误处理与多平台适配发布历史中反复出现对稳定性与平台适配的投入Windowsv0.8.0 修复路径分隔符问题并增加 CI 步骤在 Windows 上运行全部测试v0.20.0 修复 Windows 上的虚假自动提交v0.54.5/0.54.8 修复 shell 命令问题v0.53.0 修复包含\_的 Windows 文件名。编码v0.8.0 默认以 utf-8 读写文本文件并新增--encoding开关v0.46.0 处理流式输出到终端时的 UnicodeEncodeErrorv0.47.0 修复子进程编码问题。错误处理v0.7.0 优雅处理上下文窗口耗尽并给出提示v0.23.0 修复OPENAI_API_BASE等环境变量失效问题v0.34.0 捕获并重试所有 litellm 异常v0.46.0 修复--no-verify-ssl回归并让/web抓取时可关闭 SSL 校验v0.49.0 改进 API 错误重试v0.54.7 提供提交预填未捕获异常的 GitHub issue能力v0.54.8 崩溃报告附带 Python 版本、OS 等信息v0.55.0 将大量错误消息转为警告并新增--tool-warning-color设置。终端适配v0.8.3 新增--dark-mode/--light-modev0.10.0 在 VSCode 终端中自动强制--no-prettyv0.55.0 处理不支持 pretty 输出的终端、playwright 与 pandoc 错误并在/voice转录异常时展示 WAV 文件便于用户找回。十、性能优化v0.42.0是性能里程碑启动提速 5 倍大型 git 仓库自动补全据用户报告约快 100 倍。v0.48.0 / v0.37.0大型/mono 仓库性能优化与仓库地图计算优化。v0.54.0大型/mono 仓库自动补全性能改进。v0.11.1创建仓库地图时增加进度条。十一、评测基准与aider 自写代码比例发布历史反复引用 aider 的 code editing benchmark基于 Exercism Python 习题。仓库内保留了完整的评测框架qwencoder-eval/instruct/aider/benchmark 下的 benchmark.py、README.md、prompts.py、swe_bench.py 等。按照 benchmark/README.md 的说明评测需要在 docker 容器内运行因为框架会不加人工审核地执行 LLM 生成的代码核心命令形如./benchmark/benchmark.py a-helpful-name-for-this-run --model gpt-3.5-turbo --edit-format whole --threads 10常用参数包括--model模型名与直接传给 aider 的一致、--edit-format编辑格式实验性模型建议从whole起步、--threads并行线程数10 对 OpenAI API 较合适、--num-tests限制运行测试数量、--keywords按名称过滤测试。结果目录为tmp.benchmarks/YYYY-MM-DD-HH-MM-SS--run-name用./benchmark/benchmark.py --stats 目录可生成汇总报告。发布历史还披露了多轮版本的自写代码比例指标如 v0.41.0 的 Sonnet 长输出能力、v0.36.0 的 lint 能力均以 benchmark 数据佐证并逐年统计 aider 自身代码的 AI 参与度例如 v0.55.0 为 53%、v0.54.0 为 64%、v0.53.0 为 59%、v0.52.0 为 68%、v0.51.0 为 56%、v0.50.0 为 66%、v0.49.0 为 61%、v0.48.0 为 44%、v0.47.0 为 58%、v0.46.0 为 45%、v0.45.0 为 42%、v0.44.0 为 29%157/547 行、v0.43.0 为 9%424 行中的 9%。仓库根目录的 tally_results.txt 与 tally_output.txt 则记录了 benchmark 运行中的中间计分输出可作为复现评测流程的痕迹。十二、完整版本时间线速览为便于检索与引用将发布历史中的其余版本要点整理如下v0.54.x 系列v0.54.10 修复平台信息中测试命令的 bugv0.54.9 将关键 devops 文件纳入 repomap、打印带引号的 pip 安装命令、共享激活的测试与 lint 命令、捕获多数文件读写与 git 错误、新增--verboseshell 调试输出v0.54.8 启动质量改进git 仓库健全性检查、模型检查后暂停确认、新文件创建时不模糊匹配文件名社区贡献、崩溃报告含 python 版本与 OSv0.54.7 修复无限输出v0.54.6 新增/settings命令、仅在--verbose下显示缓存预热状态v0.54.4 修复/model补全与 home 目录特例回归v0.54.2 帮助在 home 目录启动的用户创建仓库、补pexpect依赖。v0.53.0批量接受/拒绝 url 与 shell 确认改进 S/R 块文件名匹配为 Sonnet 加强代码聊天模式提示弱模型使用extra_headers支持 Anthropic beta 特性--verbose显示模型元数据改进 LLM 环境变量缺失的警告。v0.52.1 / v0.52.0修复应用编辑时的 NameErroraider 主动建议运行 shell 命令打开浏览器预览、安装依赖、跑数据库迁移、运行程序验证、运行新测试用例/read、/drop支持~展开提示符处显示当前聊天模式/reset命令自动提交时序优化。v0.50.1 / v0.50.0修复提供商 API 异常DeepSeek Coder 使用 8k token 输出--chat-mode mode启动模式/code命令网页抓取在页面不空闲时更稳健/read只读文件改进。v0.49.1 / v0.49.0修复/help/read与--read支持仓库外只读文件/diff展示全部变更/clipboard取代/add-clipboard-image/web展示抓取到的 markdowndocker 镜像内提示正确升级命令--mini开关gpt-4o-mini。v0.48.1 / v0.48.0新增openai/gpt-4o-2024-08-06规避 litellm 移除 OpenRouter 请求头的问题移除过时的 16k 提交 diff 限制改用按模型限制。v0.47.1 / v0.47.0改进 conventional commits 提示提交消息与 lint 流程全面增强详见上文。v0.46.1 / v0.46.0numpy 降回 1.26.4/ask与/chat-modefile: CONVENTIONS.md配置项支持单文件与多文件提交消息使用祈使语气、主模型兜底。v0.45.1 / v0.45.04o-mini 取代 3.5-turbo 弱模型/undo新文件与新仓库边界修复--verbose显示 API key 后四位修复多个.env文件优先级。v0.43.0/help question多次/undo所有配置从 home、git root、cwd 与命名开关四层加载新增$HOME/.aider/caches缓存目录默认--model-settings-file为.aider.model.settings.yml、--model-metadata-file为.aider.model.metadata.json。v0.40.6 / v0.40.5 / v0.40.1 / v0.40.0/undo不受--attribute影响litellm 升级修复 Gemini 流式问题恢复--help改进提示以阻止 Sonnet 浪费 token--model-settings-file自定义按模型的设置社区贡献。v0.39.0--sonnet快捷开关所有AIDER_xxx环境变量可在.env中设置--llm-history-file记录原始 LLM 消息。v0.38.0--vim键位.aider.models.json添加 LLM 元数据社区贡献token 超限错误信息更详细单行提交消息playwright 等待网络空闲以抓取 JS 站点文档移入 website/ 子目录、测试移入 aider/tests/。v0.37.0repo map 结合聊天历史优化聊天中粘贴 URL 时主动提议抓取不提议make、run等可能只是单词的裸文件名覆盖已设置的GIT_EDITOR/voice检测支持的音频采样率。v0.35.0GPT-4o 成为默认模型--restore-chat-history恢复上次会话diff 编辑格式的反射反馈改进。v0.34.0提示词自然化重构--show-prompts调试开关新增 openrouter/claude-3-opus、gpt-3.5-turbo 显式模型设置。v0.32.0代码编辑排行榜发布含 GPT-3.5/4 Turbo、Opus、Sonnet、Gemini 1.5 Pro、Llama 3、Deepseek Coder、Command-Rbenchmark 输出 YAML 格式。v0.31.0--browser实验性浏览器版本/model与/models命令。v0.30.1 / v0.30.0补google-generativeai依赖--models搜索可用模型--no-show-model-warnings静默模型警告。v0.29.2 / v0.29.1改进未知模型警告支持 groq/llama3-70b-8192。v0.28.0支持gpt-4-turbo-2024-04-09与gpt-4-turbo默认仍为gpt-4-1106-preview。v0.27.0typescript repomap 改进/undo只回滚上次提交涉及的脏文件没有 tags.scm 的罕见语言不再崩溃。v0.26.1 / v0.26.0修复 git config 解析默认 GPT-4 Turbo。v0.25.0聊天中代码过多时告警拒绝加入匹配.aiderignore的文件--openai-organization-id。v0.24.1 / v0.24.0--no-stream成本计算修复/web命令gpt-3.5-turbo-0125默认修复!别名。v0.23.0gpt-4-0125-preview支持/test命令/quit别名--openrouter快捷设置。v0.22.0 / v0.21.1 / v0.21.0unified diff 改进!作为/run别名带空格文件名自动补全Python 3.12 支持--check-update。v0.20.0图片加入聊天自动启用 GPT-4 Vision社区贡献/run输出 unicode 编码改进Windows 虚假自动提交修复。v0.19.1 / v0.19.0移除调试输出unified diff 默认化与--4-turbo开关。v0.18.1 / v0.18.0升级 openai 客户端 v1.3.7GPT-4 与 Turbo 提示词改进、benchmark 提升至 51%/71%。v0.17.011/06 模型支持脚本化 API 文档化SEARCH/REPLACE 块更简洁。v0.16.3 / v0.16.2 / v0.16.1C# repomap 修复docker 镜像修复tree-sitter 依赖精简 pip 安装。v0.15.0.aiderignore--commitdocker 镜像含 universal ctags 与多架构。v0.14.2 / v0.14.1 / v0.14.0docker 运行/add /drop 细节修复OpenRouter 支持 Claude2 等。v0.13.0只提交 GPT 试图编辑的脏文件Whisper 语音转录以聊天历史为上下文--voice-language。v0.12.0voice-to-code 语音编码/diff崩溃修复editblock coder 重构。v0.11.1 / v0.11.0仓库地图进度条自动摘要聊天历史非 OpenAI 模型文件名星号防御GitRepo 从 Coder 类中拆出。v0.10.1 / v0.10.0路径相对 git root/git命令Meta-ENTER 多行输入自动创建含.aider*的 .gitignore检测新版本2 秒内两次 ^C 强制退出。v0.9.0Azure 支持--show-repo-map重试输出改进verbose 输出中隐藏 API key。v0.8.3 / v0.8.2 / v0.8.1深/浅色模式gpt-4 通用可用性管理找不到仓库时询问创建glob 通配符FAQ。v0.8.0GPT-3.5 与 GPT-4 对比 benchmarkWindows 修复与 CIutf-8 默认编码与--encoding--code-theme社区贡献。v0.7.2 / v0.7.1 / v0.7.0含三反引号文件的编辑修复流式 diff 显示修复上下文窗口耗尽优雅处理--message单指令模式--no-stream与成本显示基于 Exercism python 的编码能力 benchmark 工具。v0.6.2 / v0.5.0gpt-3.5-turbo-16k、--openai-api-basegpt-3.5-turbo/gpt-4-32k、--map-tokens与 PageRank 地图算法、/tokens与/clear。结语这份发布历史文档本质上是 aider 的技术演进地图从单模型、单编辑格式起步逐步发展为支持多提供商、多编辑格式、带仓库地图、缓存管理、lint/测试闭环与丰富对话命令的成熟工具。在 Qwen3-Coder 评测仓库中它不仅是版本说明更是理解 aider/commands.py、aider/args.py、aider/coders 等源码设计动机的最佳入口。若要深入体验 aider 的代码编辑评测能力可参考 qwencoder-eval/instruct/aider/benchmark/README.md 在 docker 容器内运行 benchmark 框架实测不同模型与编辑格式在 Exercism 习题集上的表现。【免费下载链接】Qwen3-CoderQwen3-Coder is the code version of Qwen3, the large language model series developed by Qwen team.项目地址: https://gitcode.com/GitHub_Trending/co/Qwen3-Coder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考