资讯动态

Qwen3 在 aider polyglot 编码基准中的成绩:推理参数、服务方式与配置实践全解析

发布时间:2026/9/8 22:39:27 来源:尧图企业网站定制
Qwen3 在 aider polyglot 编码基准中的成绩推理参数、服务方式与配置实践全解析【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aideraider 官网于 2025 年 5 月发布了 Qwen3 系列模型在 polyglot 编码基准polyglot benchmark上的实测成绩覆盖 diff 与 whole 两种编辑格式、多种模型设置以及不同 API 提供方。读完本文你将掌握如何正确配置 Qwen3 的推理参数尤其是/no_think关闭思考模式、采样参数与提供方选择了解这些“细节”对代码编辑准确率的具体影响并学会借助.aider.model.settings.yml在 OpenRouter、阿里云官方 API 以及 vLLM/llama.cpp 自托管等场景下复现这些结果。为什么开源模型的“细节”如此重要这篇文章延续了 aider 团队在 Qwen2.5 发布时提出的观点见 开源模型细节一文用开源模型做 AI 编码时细节至关重要。闭源模型由模型创作者或可信服务商维护推理设置稳定可预期开源模型任何人都可以托管但不同的 API 提供方可能采用完全不同的推理参数、量化级别、上下文窗口和输出 token 上限这些差异会直接体现在代码编辑能力上。因此 Qwen3 的基准成绩并不是按“模型”单一维度呈现的而是按“模型 编辑格式 模型设置 API 提供方”的组合维度呈现。下面的所有数据均来自仓库内的基准数据文件 qwen3_leaderboard.yml即 Qwen3 基准文章 所用表格的数据源。基准背景与指标含义polyglot 基准基于 Exercism 编程练习题225 道题覆盖多种编程语言端到端地评估 aider 与 LLM 将自然语言需求转化为可执行代码、编辑已有代码并输出正确格式的能力。基准在 Docker 容器内运行相关说明见 benchmark/README.md。阅读下面成绩表时需要理解几个核心指标指标含义pass_rate_1第一次尝试就完全通过测试的题目百分比pass_rate_2最多尝试 2 次后通过测试的题目百分比表中“Percent correct”即此列percent_cases_well_formed模型输出符合 aider 编辑格式要求的题目百分比反映“格式遵循”能力edit_format编辑格式diff或whole详见 编辑格式文档total_cost一次完整基准运行的 API 成本美元本地自托管为 0seconds_per_case单题平均耗时注意这些是单次基准运行的结果通常会有正负 1~2% 的正常波动且部分成绩由 aider 用户提交未经官方验证原始文章中有明确标注。Qwen3 基准完整成绩按pass_rate_2降序排列数据来源qwen3_leaderboard.yml模型 / 配置编辑格式正确率 (pass2)格式正确率成本单题耗时Qwen3-235B-A22BvLLM bfloat16/no_thinkwhole65.3%100.0%$0166.0sQwen3-235B-A22Bno think阿里云官方 APIwhole61.8%100.0%$050.8sQwen3-235B-A22BvLLM bfloat16/no_thinkdiff61.3%94.7%$0158.2sQwen3-235B-A22Bno think阿里云官方 APIdiff59.6%92.9%$045.4sQwen3-235B-A22Bllama.cpp Q5_K_M (unsloth)/no_thinkwhole59.1%100.0%$0635.2sQwen3-235B-A22BOpenRouter 仅 TogetherAI/no_thinkdiff54.7%90.7%$0.6477.2sQwen3-235B-A22BOpenRouter 全部提供方默认设置思考模式diff49.8%91.6%$1.80428.1sQwen3-32BvLLM bfloat16/no_thinkwhole45.8%100.0%$048.1sQwen3-32BvLLM bfloat16/no_thinkdiff41.3%94.2%$059.4sQwen3-32BOpenRouter 全部提供方默认设置思考模式diff40.0%83.6%$0.76372.2s对应的 benchmark 命令形如aider --model openrouter/qwen/qwen3-235b-a22b或aider --model openai/Qwen3-235B-A22B --openai-api-base url自托管时。从数据中可以读出几个结论235B-A22B 明显强于 32B最佳成绩从约 46% 提升到 65%正确关闭思考模式/no_think 推荐采样参数显著优于“什么都不配、直接跑默认设置思考模式”235B 在 OpenRouter 上从 49.8% 提升到 54.7%同时单题耗时从 428 秒降到 77 秒、成本从 $1.80 降到 $0.64whole 格式的“格式正确率”恒为 100%整文件重写不存在解析 diff 块出错的问题而 diff 格式在 83%~95% 之间浮动本地自托管零成本vLLM bfloat16 甚至超过了云端结果llama.cpp 的 Q5_K_M 量化版本也达到 59.1%该成绩由用户提交未经验证。关键技巧一用system_prompt_prefix注入/no_thinkQwen3 是混合思考hybrid thinking模型是否开启思考会影响输出。Qwen 官方推荐在系统提示中加入/no_think来关闭思考即所谓“recommended non-thinking settings”。在 aider 中这通过.aider.model.settings.yml里的system_prompt_prefix字段实现。其底层机制可以从源码确认在 base_coder.py 中格式化聊天上下文时会把模型设置里的前缀拼接到主系统提示的最前面main_sys self.fmt_system_prompt(self.gpt_prompts.main_system) if self.main_model.system_prompt_prefix: main_sys self.main_model.system_prompt_prefix \n main_syssystem_prompt_prefix是ModelSettings数据类的正式字段定义见 models.py。配置实践一通过阿里云官方 APIno think将 OpenAI 兼容端点指向 DashScopeexport OPENAI_API_BASEhttps://dashscope.aliyuncs.com/compatible-mode/v1 export OPENAI_API_KEYkey再在.aider.model.settings.yml中配置完整参数说明见 高级模型设置文档- name: openai/qwen3-235b-a22b use_temperature: 0.7 streaming: false extra_params: stream: false max_tokens: 16384 top_p: 0.8 top_k: 20 temperature: 0.7 enable_thinking: false extra_body: enable_thinking: false要点use_temperature: 0.7是 aider 的模型设置字段控制是否以及用什么温度调用模型——在 models.py 中只有当use_temperature不为False时才会向 litellm 传递temperatureextra_params中的参数会原样透传给litellm.completion()调用因此可以直接携带 DashScope 特有的enable_thinking、extra_body等字段streaming: false/stream: false关闭流式输出基准运行时的稳定选择。配置实践二OpenRouter 锁定 TogetherAI /no_think通过 OpenRouter 调用时可以用同样的推荐设置并额外通过extra_body.provider.order限定只由 TogetherAI 提供服务- name: openrouter/qwen/qwen3-235b-a22b system_prompt_prefix: /no_think use_temperature: 0.7 extra_params: max_tokens: 24000 top_p: 0.8 top_k: 20 min_p: 0.0 temperature: 0.7 extra_body: provider: order: [Together]然后运行aider --model openrouter/qwen/qwen3-235b-a22b限定单一提供方是前面提到的“开源模型细节问题”的应对手段不同提供方的量化与推理设置不同锁定后可保证结果可复现。对应的 benchmark 成绩54.7%$0.64就是这套配置跑出来的。配置实践三默认设置思考模式作为对照原文档中的第三组结果是“零配置”对照——直接运行、不做任何模型特定设置aider --model openrouter/qwen/qwen3-xxx原文档说明这应当会启用思考模式前提是上游提供方遵循 Qwen3 的这一约定。结果显示默认思考模式的 49.8% 低于显式/no_think配置的成绩且耗时与成本都更高这组对照数据正是“推理参数细节影响代码编辑能力”的直接证据。配置实践四vLLM 自托管bfloat16与 llama.cpp 量化本地部署时使用与 OpenRouter 相同的推荐参数仅去掉提供方相关内容- name: openai/model-name system_prompt_prefix: /no_think use_temperature: 0.7 extra_params: max_tokens: 24000 top_p: 0.8 top_k: 20 min_p: 0.0 temperature: 0.7运行方式aider --model openai/model-name --openai-api-base urlvLLM bfloat16 的成绩whole 65.3% / diff 61.3%由 GitHub 用户 AlongWY 通过 PR 提交未经官方验证llama.cpp Q5_K_Munsloth 量化的 59.1% 同样为用户提交。这组数据说明即使量化到 Q5_K_MQwen3-235B-A22B 的代码编辑能力也仅小幅下降与 Qwen2.5 时代的结论一致——量化对编辑能力的影响总体温和但强量化仍会有可测得的损失。与 aider 内置的 Qwen3 默认设置对照值得注意的是当前 aider 代码库已经为 Qwen3-235B 内置了与上述“推荐设置”一致的默认值。从 models.py 可以看到if qwen3 in model and 235b in model: self.edit_format diff self.use_repo_map True self.system_prompt_prefix /no_think self.use_temperature 0.7 self.extra_params {top_p: 0.8, top_k: 20, min_p: 0.0}也就是说命中qwen3-235b的模型名会自动获得 diff 编辑格式、repo map 支持、/no_think前缀和官方推荐的采样参数。你可以通过.aider.model.settings.yml覆盖这些内置值也可以为 aider 不认识的模型补充设置完整的可配置字段列表edit_format、use_temperature、extra_params、streaming、system_prompt_prefix等见 高级模型设置文档。结论Qwen3 在 aider polyglot 基准上给出了 40%~65% 的区间成绩区间内的高低几乎全部由“服务方式 推理参数”而非模型本身决定235B-A22B 配合/no_think与推荐采样参数在 vLLM bfloat16 自托管下达到 65.3%whole 格式是表格中的最佳成绩显式关闭思考模式相比默认思考模式在 OpenRouter 上同时改善了正确率4.9 个百分点、速度约 5.5 倍和成本约 64% 降低whole 格式格式正确率恒为 100%diff 格式则需关注percent_cases_well_formed它直接反映模型对 aider 编辑格式的遵循程度开源模型的可复现性依赖对提供方、量化级别、上下文窗口与输出限制的显式控制——这些正是.aider.model.settings.yml存在的意义。复现本文章结果时建议使用 benchmark/README.md 中的方式在 Docker 中运行benchmark/benchmark.py并用--read-model-settingsfilename.yml传入本文的模型设置以获得可比的成绩。【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aider创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价