AgentCode V0 当前上线 20 道高质量 Review Mode 题,先训练 AI PR 审核判断力。agentcode.codes
ENGINEERING PRACTICE / REVIEW MODE
真实工程题库:审核 AI 写出的 PR
AgentCode 保留熟悉的题库体验,但训练内容换成真实工程判断。当前 20 道题都来自真实开源问题、安全公告或 SWE-bench 案例,你需要读 diff、看测试、找风险,并判断 AI PR 能不能合并。
SEED CHALLENGES20
TASK MODE PLANNED0
REVIEW MODE READY20
练习题库
查看全部| # | 题目 | 模式 | 难度 | 通过率 | 状态 |
|---|---|---|---|---|---|
| 001 | 题目SymPy Point:修复 evaluate(False) 下的坐标校验误报审查一个 SymPy 几何模块的补丁:作者修复 evaluate(False) 环境下构造 Point 被误报 Imaginary coordinates are not permitted 的问题。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 002 | 题目Next.js Middleware:修复子请求递归导致的重复执行审查一个给 middleware 入口加早退分支的小补丁,作者说它避免了框架子请求触发 middleware 重复执行、重复重定向。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 003 | 题目Server Actions:支持登录后跳回原页面的相对路径重定向审查一个 Server Action 补丁,作者让它只接受相对路径 redirect,并基于当前请求的 origin 构造目标 URL 后回取页面内容。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 004 | 题目Axios:给内部 API client 增加请求 URL 校验审查一个给带 Authorization 的 internal API client 增加 URL 校验的补丁:作者拒绝以 // 开头的 protocol-relative URL。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 005 | 题目path-to-regexp:修复相邻路由参数的正则灾难回溯审查一个声称修复 path-to-regexp ReDoS 公告的补丁:它给相邻参数(如 /:a-:b)的捕获组加了边界,消除长路径上的正则灾难回溯。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 006 | 题目tough-cookie:修复 cookie domain 的原型污染审查一个声称修复 tough-cookie CookieJar 原型污染 PoC(Domain=__proto__)的补丁:它在写入 cookie 前拦截 __proto__ 这个 domain。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 007 | 题目会话令牌校验:让签名密钥支持按环境配置审查一个把 verifySession 的签名密钥改为从环境变量读取的补丁,作者说这样本地开发也能校验令牌。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 008 | 题目Django:用户名校验拒绝末尾换行审查 Django auth 的一个小补丁:作者发现 UsernameValidator 的正则允许末尾带换行符的用户名通过校验,调整了正则锚点让这类输入被拒绝。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 009 | 题目Django:修复密码重置 token 与邮箱状态的关系审查一个 Django auth PR:作者称 password reset token 在邮箱状态异常时仍可能通过校验,并补了一条空邮箱用例。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 010 | 题目Django Admin:调整 Save as new 的展示条件审查一个 Django admin PR:作者认为 Save as new 位于修改页,因此有 change 权限的用户也应该能看到这个动作。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 011 | 题目Django Admin:readonly JSONField 展示为合法 JSON审查 Django admin 的一个展示层补丁:作者让详情页 readonly 的 JSONField 走字段自身的序列化逻辑,以 JSON 文本展示,而不是 Python repr。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 012 | 题目Requests:让 redirect 处理无副作用的重构审查 Requests 会话层的一个小重构 PR:作者认为 redirect 循环里复用请求对象有副作用,改为每一跳都从原始请求复制。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 013 | 题目Requests:包装 urllib3 连接池异常审查一个 Requests adapter PR:作者捕获 urllib3 的 ClosedPoolError,并把它转换成 Requests 的 ConnectionError。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 014 | 题目pytest:缓存 skipif/xfail 字符串条件的求值审查一个 pytest 收集性能优化 PR:作者为 skipif/xfail 的字符串条件引入求值缓存,避免同一条件被反复编译和求值。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 015 | 题目Sphinx autodoc:让显式声明的空 __all__ 生效审查一个 Sphinx autodoc 补丁:作者称模块声明 __all__ = [] 时成员仍会被全部文档化,补丁把空 __all__ 当作显式的空导出列表处理。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 016 | 题目Astropy:修复嵌套 CompoundModel 的 separability 矩阵审查一个 Astropy modeling PR:作者调整了组合模型右侧 block 的填充方式,并补了一个嵌套模型测试。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 017 | 题目Astropy NDData:整理 mask 传播里的 None 判断审查一个 Astropy NDData PR:作者认为 mask 传播里的 operand.mask is None 分支写法含糊,改成更直白的 operand is None。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 018 | 题目xarray:更新 Dataset 时处理 DataArray tuple 输入审查一个 xarray PR:作者在 tuple 输入中把 DataArray 转成 ndarray,以避免 Variable 构造的歧义。 | 模式Review | 难度Senior | 通过率样本不足 | 状态Ready |
| 019 | 题目scikit-learn SVM:处理空 support vectors 的 sparse fit审查一个 scikit-learn SVM PR:作者在 n_SV 为 0 时走专门分支,避免稀疏 dual_coef_ 构造报错。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |
| 020 | 题目SymPy partitions:避免迭代结果共享可变字典审查一个 SymPy iterator PR:作者在 partitions() 返回分区字典时复制结果,避免收集列表后被后续迭代改写。 | 模式Review | 难度Mid | 通过率样本不足 | 状态Ready |