
Qwen3-Coder 仓库内 DevQualityEval v0.5.0 评测报告详解以 nous-capybara-7b 为例读懂 LLM 代码生成质量报告【免费下载链接】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/eval-dev-quality模块自动生成的一份真实评测报告nous-capybara-7b 报告展开系统讲解 DevQualityEval 基准的七类模型分类体系、三份 CSV 结果文件的字段含义与交叉校验方法以及如何结合 benchmark 主 README 和源码完整复现一份报告。读完本文你将掌握解读该基准任意一份模型评测报告的方法并能独立运行eval-dev-quality对 LLM 的代码生成质量可执行性、语句覆盖率、响应规范性进行量化评估。报告的来源与定位这是一份自动生成的评测快照该报告文件 README.md 并非手写文档而是由 DevQualityEval 基准Symflower 开源的 LLM 代码生成质量评测框架本仓库收录于 eval-dev-quality 目录自动生成的结果文档。报告头部给出了两个关键元信息评测时间戳Evaluation from 2024-06-19 10:47:13即该快照的产生时刻生成器与版本This report was generated by DevQualityEval benchmark in version 0.5.0。该版本号与源码中 evaluate/version.go 里的Version 0.5.0常量完全一致可据此确认报告对应的基准版本。报告同时附有一句重要的免责说明原文Keep in mind that LLMs are nondeterministic. The following results just reflect a current snapshot.即 LLM 输出具有非确定性报告只反映某一次运行的结果快照不能视为该模型的固定能力值。本次评测的对象是通过 OpenRouter 接入的openrouter/nousresearch/nous-capybara-7b模型模型标识前缀openrouter/即主 README 中说明的最便捷接入方式评测任务为write-tests为既有代码仓库生成单元测试。七类模型分类体系从结果到类别的完整映射报告的核心是分类category机制每个参评模型会被归入且仅归入以下七个类别之一原文档对这七类给出了完整定义category unknown无法归类的模型response error模型在产生响应时遇到错误no code模型响应中不含任何代码invalid code模型生成的代码执行时产生错误即无效代码executable code模型生成了可执行无错误运行的代码statement coverage reached模型生成的代码达到了 100% 语句覆盖率no excess response模型没有输出超出要求的内容响应简洁规范。这七类并非仅存在于文档措辞中它们在源码中有精确的一一对应。evaluate/metrics/category.go 定义了全部AssessmentCategory结构例如// ID 分别为category-unknown / response-error / response-no-code / // code-invalid / code-executed / code-coverage-statement / code-no-excess AssessmentCategoryCodeCoverageStatementReached registerAssessmentCategory(AssessmentCategory{ ID: code-coverage-statement, Name: statement coverage reached, Description: Models in this category produced code that reached full statement coverage., })分类的判定逻辑实现在同文件的Category()方法中category.go#L79-L98其规则值得特别注意——一致性原则源码注释解释为模型的总类别对应于在所有任务上都稳定拿到满分的那一条标准。例如共 3 个任务模型在全部任务上都产出了可执行代码但只有 1 个任务达到覆盖率目标则其类别只能是CodeExecuted因为覆盖率目标并未被一致地达成。具体判定顺序是一个switch级联响应无错误分 ≠ 满分 →response error响应含代码分与文件可执行分均未满分 →no code源码中保留了 issue #43 的 TODO因不能总是检测响应是否含代码若代码实际全部成功执行则不判入 no code文件可执行分未满 →invalid code覆盖率分未满 →executable code无多余响应分未满 →statement coverage reached全部满分 →no excess response。而category unknown在源码中对应任务总数为 0的兜底分支category.go#L80-L82。三份 CSV 的字段详解与本模型的完整数据报告正文声明完整评测日志见 evaluation.log详细打分明细见 evaluation.csv。需要说明当前仓库该目录下实际只包含README.md、categories.svg和三份 CSVevaluation.csv、models-summed.csv、golang-summed.csv、java-summed.csv全量日志evaluation.log并未随仓库分发因此文章以下面的 CSV 数据为准。evaluation.csv 是逐任务per-task明细表头字段为model, language, repository, task, score, coverage, files-executed, generate-tests-for-file-character-count, processing-time, response-character-count, response-no-error, response-no-excess, response-with-code本模型的三条任务记录原样摘录仓库任务scorecoveragefiles-executed待生成测试文件字符数处理时长(ms)响应字符数no-errorno-excesswith-codegolang/plainwrite-tests100073212871986523java/lightwrite-tests65496210571041039612951134681157691java/plainwrite-tests221017048458377102533字段含义可结合报告分类体系与源码理解score / coverage任务总分与语句覆盖率得分write-tests 任务的核心目标是让生成的测试代码覆盖被测代码的语句files-executed成功执行生成并通过运行的测试文件数generate-tests-for-file-character-count被测目标源码的字符数体现任务规模java/light 的 10.4 万字符远大于 golang/plain 的 732 字符processing-time / response-character-count单次请求的处理耗时毫秒与响应长度response-no-error / response-no-excess / response-with-code三类评估项assessment的累计得分正是上一节Category()判定所读取的AssessmentKey*键值来源。另外两份 CSV 是按语言/整体维度的汇总用于快速核对models-summed.csv跨语言合计score6581、coverage6220、files-executed58、处理时长合计 1020003ms、响应字符 121556、no-error125、no-excess81、with-code97golang-summed.csv10 / 0 / 0 / 732 / 12871 / 986 / 5 / 2 / 3java-summed.csv6571 / 6220 / 58 / 111151 / 1007132 / 120570 / 120 / 79 / 94。数据自洽性校验读者可用此方法核对任意一份报告java 汇总 golang 汇总应等于 models 汇总。逐项验证6571106581 ✓622006220 ✓58058 ✓1007132128711020003 ✓120570986121556 ✓1205125 ✓79281 ✓94397 ✓。汇总数据与逐任务明细完全吻合。从明细还可看出该模型的明显偏科java/light大仓库拿到 6210 覆盖率分、57 个文件执行通过而 golang/plain 与 java/plain 两个小仓库的覆盖率均为 0/接近 0且 java 大任务的单次耗时约 961 秒占总耗时的 94%。报告头部的 categories.svg 是与上述七类对应的每个类别中模型数量柱状图本目录只有 1 个模型图中该模型落在category unknown一档。为什么该模型被列在 category unknown 分类下报告 Results 小节最后的逐模型清单将openrouter/nousresearch/nous-capybara-7b列于Result category category unknownModels in this category could not be categorized之下。这一点与evaluation.csv中存在三条完整任务打分明细并存值得留意。从源码结构看AssessmentCategoryUnknown是Category()方法在totalTasks 0时返回的兜底类别category.go#L79-L82报告 Markdown 的生成逻辑位于 evaluate/report/markdown.go。可以推断该模型在报告生成时刻用于判定类别的评估项聚合为空任务数为 0因此落入 unknown 桶而同一评测进程产生的逐任务 CSV 明细仍然落盘。这提醒使用者报告首页的分类结论必须与 CSV 明细一起阅读单看分类可能低估或误判模型实际产出反过来CSV 中有分不代表分类桶里一定好看。这正是报告强调结果只是当前快照的深层原因。被评测的对象write-tests 任务与其仓库集合本次报告评测的任务标识符是write-tests它在源码中注册于 evaluate/task/task.goIdentifierWriteTests registerIdentifier(write-tests)具体实现与仓库形态校验在 evaluate/task/task-write-test.go如validateWriteTestsRepository检查 write-tests 任务所用仓库是否结构完整。该基准还支持code-repair、transpile、write-tests-symflower-fix等任务同目录task-*.go文件write-tests 是其中与代码质量直接相关的一类要求模型为给定仓库编写测试并以测试能否执行、能覆盖多少语句作为客观打分依据而非依赖人工或 LLM 判分。报告 CSV 中的三个取值golang/plain、java/light、java/plain即本次评测所用的目标仓库语言/规模档位与 CSV 的language列和两份分语言汇总 CSV 一一对应。如何复现这份报告安装与运行步骤依据 eval-dev-quality 主 README复现路径如下适用前提本机已安装 Git 与 Go# 1. 安装 git clone https://github.com/symflower/eval-dev-quality.git cd eval-dev-quality go install -v github.com/symflower/eval-dev-quality/cmd/eval-dev-quality # 2. 配置 OpenRouter 接入密钥最便捷的 provider export PROVIDER_TOKENopenrouter:${your-key} # 3. 在全部模型与仓库上运行基准任务 eval-dev-quality evaluate运行结束后输出为一份包含所有请求/响应与所执行命令的详细日志最终结果保存到evaluation.csv并生成类似本文剖析的按模型目录组织的 Markdown 报告即docs/reports/version/model/README.md结构。README 中有一条安全警示必须遵守This project does not execute the LLM generated code in a sandbox by default. Make sure that you are running benchmarks only inside of an isolated environment, e.g. by using--runtime docker.基准默认不在沙箱中执行 LLM 生成的代码务必使用--runtime docker等隔离环境运行。v0.5.0 报告族单个模型报告在整个基准中的位置本报告并非孤立文件而是 docs/reports/v0.5.0/ 目录下数十个模型报告之一同目录下还有deepseek-coder、gemini-pro-1.5、claude-3.5-sonnet、codeqwen等模型子目录以及跨模型汇总的顶层evaluation.csv。v0.5.0 版本的结果还配套了一篇深度分析文章见主 README 的 latest results 链接说明结论是DeepSeek v2 Coder 与 Claude 3.5 Sonnet 在代码生成上比 GPT-4o 更具成本效益。因此使用本仓库这份 nous-capybara-7b 报告的正确姿势是单模型报告用于查看某模型在响应规范性 → 可执行性 → 覆盖率梯度上的落点跨模型对比则应基于 v0.5.0 顶层evaluation.csv汇总。结合本文的字段解读与交叉校验方法你完全可以对目录中任意一份模型报告做同等深度的解读或运行基准生成新的快照来做模型迭代前后的质量回归对比。【免费下载链接】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),仅供参考