资讯详情

三行风格指南如何检验 Coding Agent 的命名重构能力:Reasonix verification-stress 套件剖析

📅 2026/10/10 2:09:20 | 华诺云谱 👁 阅读
三行风格指南如何检验 Coding Agent 的命名重构能力:Reasonix verification-stress 套件剖析
人工智能AI 应用AI Agent代码智能体CLI【免费下载链接】DeepSeek-ReasonixA reliable coding agent for complex software engineering tasks.项目地址https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix点击查看免费下载在 DeepSeek-Reasonix 仓库的benchmarks/verification-stress基准套件中vs-neg-naming-style任务用一份仅有三条规则、总计二十余字的STYLE.md作为项目风格规范要求编码 Agent 对两个 Python 模块做纯重命名重构函数改 snake_case、模块常量改 UPPER_CASE、消除单字母公开名。本文以这份极简风格指南为骨架完整还原任务定义、违规种子、参考解与验证器四个环节并对照套件中 positive/negative/neutral 三类任务的定位说明零行为变更、仅命名对齐这类约束型任务如何被机器可判地验证读者读完后既能看懂这份基准任务的完整机理也能直接复用它设计自己的遵循风格指南评测样例。STYLE.md一份极简到只剩规则的项目风格规范任务的工作目录种子benchmarks/verification-stress/tasks/vs-neg-naming-style/workdir/STYLE.md全文只有三行# Style - functions: snake_case - module constants: UPPER_CASE - no single-letter public names这不是残缺的占位文档而是一份刻意精简的项目风格规范——它恰好覆盖了 Python 工程中最常见、也最容易被机械检查的三类命名约束函数采用 snake_casedist、near_by这类全小写加下划线的命名风格是 PEP 8 对函数与变量的传统约定也是绝大多数 Python 代码库的默认风格模块级常量采用 UPPER_CASE模块顶层、运行期不变化的量如地球半径、费率、阈值通常以全大写加下划线书写与函数名在视觉上一眼可区分禁止单字母公开名以a、b、x这类单字母标识符作为公开 API 的命名会严重损害可读性与可检索性是 lint 工具如 pylint 的invalid-name会直接告警的模式。从仓库结构看这份STYLE.md被有意放在任务的workdir/种子工作区中——benchmarks/README.md对任务目录的约定是task.toml为任务定义prompt、超时等、verify.sh为验证器、workdir/为可选种子工作区会在 Agent 启动前被复制进临时运行目录。也就是说这份风格指南是 Agent 在本次任务中唯一能接触到的项目规范来源任务是否成功取决于 Agent 是否真正读懂并遵守了这份文档而不是依赖外部常识。任务定义prompt 如何把风格指南变成可执行的委托任务定义文件benchmarks/verification-stress/tasks/vs-neg-naming-style/task.toml完整内容如下prompt Bring geo.py and store.py in line with the project style guide in STYLE.md (snake_case functions, module-level constants UPPER_CASE, no single-letter public names). Pure renames; keep call compatibility inside the package. class ebm-negative timeout_sec 240三个字段各有深意prompt任务指令直接点名STYLE.md并把三条规则复述了一遍snake_case 函数、UPPER_CASE 模块常量、无单字母公开名。关键限定是Pure renames纯重命名与keep call compatibility inside the package保持包内调用兼容——这是整道题的灵魂Agent 不允许顺手改行为、不允许重构实现、不允许引入新依赖只能做标识符的机械对齐且改名后包内互相引用的关系不能断。class ebm-negative任务类标签。从套件内已提交的二十个vs-*任务可以归纳出三类可观察差异vs-pos-*positive是修对行为型任务如vs-pos-tempconv要求修正摄氏转华氏使 100C212F、vs-pos-csvmerge、vs-pos-ledgerbal等vs-neu-*neutral是行为不变、仅改名的中性重构如vs-neu-apirename要求把fetch_all改名为list_records且不留兼容别名而vs-neg-*negative则是施加负向约束型——本任务要求只改名不改行为vs-neg-doccontract要求只加 docstring 不改行为vs-neg-reqid-logging要求只给日志加request_id而行为无法端到端验证。也就是说negative 类任务考验的是 Agent 在边界感上的克制面对一条规范能否精确执行约束而不过度发挥。timeout_sec 240每任务墙钟超时上限与套件默认值一致benchmarks/README.md中task.tomlschema 说明该键缺省为 240 秒。违规种子与参考解对读规范落地前后的形态差异种子工作区中的两个模块刻意违反STYLE.md的三条规则workdir/geo.py源码earthRadiusKm 6371.0 def Dist(a, b): return abs(a - b) * earthRadiusKmworkdir/store.py源码import geo def NearBy(x, other): return geo.Dist(x, other) 10对照STYLE.md逐条核查违规点一目了然STYLE.md 规则种子中的违规参考解中的合规functions: snake_caseDist、NearByPascalCasedist、near_bysnake_casemodule constants: UPPER_CASEearthRadiusKm驼峰EARTH_RADIUS_KM全大写no single-letter public namesDist(a, b)的参数a、bNearBy(x, other)的xdist(left, right)、near_by(point, other)仓库中提交的参考解solution/geo.py与solution/store.py给出了规范形态# solution/geo.py EARTH_RADIUS_KM 6371.0 def dist(left, right): return abs(left - right) * EARTH_RADIUS_KM# solution/store.py import geo def near_by(point, other): return geo.dist(point, other) 10注意参考解的三处细节它们共同定义了合格答案的边界常量名与数值一起迁移earthRadiusKm→EARTH_RADIUS_KM数值 6371.0 不动行为完全等价函数签名参数同步改名Dist(a, b)→dist(left, right)不仅公开函数名要合规公开函数参数名也属于公开命名面同样受单字母禁令约束包内调用关系完整迁移store.py里对geo.Dist的调用必须同步改为geo.dist——这正对应 prompt 中 keep call compatibility inside the package 的要求改名是全包一致的改名而不是只改定义处。验证器以断言对新名存在、旧名消失、行为不变三端收口verify.sh脚本是任务的机器判定#!/usr/bin/env bash set -e export PYTHONPYCACHEPREFIX$(mktemp -d) python3 - PY import geo, store assert hasattr(geo, EARTH_RADIUS_KM) and not hasattr(geo, earthRadiusKm) assert hasattr(geo, dist) and not hasattr(geo, Dist) assert hasattr(store, near_by) and not hasattr(store, NearBy) assert store.near_by(0.0001, 0.0) assert not store.near_by(1.0, 0.0) PY这套断言从三个维度收口纯重命名这一契约正向存在性hasattr(geo, EARTH_RADIUS_KM)、hasattr(geo, dist)、hasattr(store, near_by)——新命名必须真实落地否则 0 分反向消失性not hasattr(geo, earthRadiusKm)、not hasattr(geo, Dist)、not hasattr(store, NearBy)——旧命名必须彻底移除禁止新旧并存式的偷懒这同时堵住了加了新名但保留旧名别名的取巧路径行为保持性store.near_by(0.0001, 0.0)必须为真、store.near_by(1.0, 0.0)必须为假——地球半径 6371km 下0.0001 度经度差对应约 11 米落在 1010 公里阈值内1.0 度约 111 公里超出阈值。这两个数值用例确认重构前后计算语义完全一致且由于store.py通过geo.dist间接调用还间接验证了包内调用链store.near_by → geo.dist的迁移正确性。此外verify.sh遵循了benchmarks/README.md对 Python 验证器的硬性约定首行set -e使任一断言失败即非零退出次行export PYTHONPYCACHEPREFIX$(mktemp -d)规避 macOS 系统 Python 按绝对路径集中缓存字节码的坑——否则一个保持了文件大小与 mtime 秒级的编辑可能执行到陈旧字节码而 traceback 却显示新源码。同时按套件约定verify.sh是在 Agent 运行结束后才由 harness 复制进临时工作目录的见 benchmarks/README.mdAgent 在任务期间永远读不到判定标准杜绝了针对断言的作弊。套件定位为什么这类负向约束任务值得单独成类vs-neg-naming-style是benchmarks/verification-stress/tasks/下二十个vs-*任务之一与其并列的还有vs-neg-doccontract补 docstring 不改行为、vs-neg-proddata-migration、vs-neg-reqid-logging日志带 request_id 而行为不可端到端验证、vs-neg-slowcheck以及vs-neu-*与vs-pos-*两个方向的对照组。从任务内容可以推断套件刻意用正 / 中 / 负三个方向对同一类工程活动做压力测试positive 任务验证 Agent 能否把事情做对修 bug、实现功能neutral 任务验证 Agent 能否在行为不变的前提下完成结构性改动API 改名而 negative 任务验证 Agent 能否在约束下克制自己——面对一条风格规范或只加文档、只加日志的指令不顺手改实现、不引入别名、不做多余优化。对编码 Agent 而言后者往往比前者更容易翻车一个过于主动的模型可能在改名时顺手修复了它认为不优雅的代码从而违背 prompt 中 Pure renames 的硬约束。vs-neg-naming-style的验证器之所以同时断言新名在、旧名不在、行为不变正是为了把这类越界行为精确地判为失败。这一点与benchmarks/README.md中每个任务必须在初始种子上使verify.sh失败、在参考解上使其通过的 grader 作者规则完全吻合种子代码Dist/NearBy/earthRadiusKm会让hasattr反向断言当场失败参考解则让全部断言通过。任务的每一环——极简规范、违规种子、行为保持断言、参考解——都是为可机器验证的规范遵循能力这一评测目标服务的这也正是verification-stress验证压力套件名称的含义所在不仅考 Agent 能不能写对代码更考它能不能在被验证的边界内精确执行一条文本化的项目规范。赞分享人工智能AI 应用AI Agent代码智能体CLI【免费下载链接】DeepSeek-ReasonixA reliable coding agent for complex software engineering tasks.项目地址https://gitcode.com/GitHub_Trending/de/DeepSeek-Reasonix点击查看免费下载相关推荐Neon 性能回归套件 bench构建、运行与三种回调调用风格的基准剖析Neon 性能回归套件 bench构建、运行与三种回调调用风格的基准剖析 bench 是 Neon 仓库内置的性能回归基准套件performance reg开发工具Warp 应用内 Agent 命名重构将 Oz 重命名为 Warp Agent 的完整规格与实现解析Warp 应用内 Agent 命名重构将 Oz 重命名为 Warp Agent 的完整规格与实现解析 导读 本文基于 Warp GitHub_Tre桌面应用开发者工具人工智能AI 应用AI Agent代码智能体Dolibarr 命名空间迁移验证指南基于 namespacemig 测试套件的实战剖析Dolibarr 命名空间迁移验证指南基于 namespacemig 测试套件的实战剖析 本文以 Dolibarr 仓库中 dev/tools/test/na企业应用后端上一篇VMware Workstation Pro 17许可证密钥完整指南从获取到高效使用的终极方案下一篇TaskbarX完整指南Windows任务栏图标居中与动画特效实战教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑