
拆解 Claude Code /code-review 的 max 档系统提示词十角度并行发现、1 票三态验证与缺口扫描的召回优先审查流水线【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-5.6-Sol, Codex. Google - Gemini 3.5 Flash, 3.1 Pro, Antigravity. xAI - Grok, Cursor, Copilot, VS Code, Perplexity, and more. Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks本文以 Anthropic/claude-code/skills/code-review/max.md 为核心文本完整还原 Claude Code 内置/code-review命令中最高强度档max effort提示词的四阶段审查流水线如何圈定 diff 范围、如何用 10 个独立发现角度finder angles并行生成候选缺陷、如何用 1 票三态CONFIRMED/PLAUSIBLE/REFUTED验证器过滤假阳性、如何用缺口扫描做最后一轮补漏以及最终 JSON 输出契约的硬性规则。读完本文你能理解一套召回优先recall-first的 Agent 化代码评审是如何被提示词编排出来的并可以从中借鉴多 Agent 扇出、验证闸门与结构化输出约束的设计手法。一、max.md 是什么从 Claude Code 二进制中逐字节提取的最高档审查提示词max.md 是 Claude Code/code-review斜杠命令在max effort档位下注入对话的提示词模板。它的第一行就是整条流水线的压缩描述max effort → 55 angles × 8 candidates → 1-vote verify → sweep → ≤15 findings即5 个正确性角度 5 个清理/规范角度每个角度最多产出 8 个候选发现candidate findings随后进入 1 票验证、缺口扫描最终输出不超过 15 条、按严重程度降序排列的发现。该文件并非手写示例而是仓库从 Claude Code 二进制中编译产物里提取、并与实际 API 抓包逐字节比对过的内容。同目录 README 说明五个 effort 档位的模板全部针对 2.1.245 版本的 bundle 于 2026-08-25 重新验证过。命令层面/code-review的完整用法为引自 README/code-review [level] [target]level取值low/medium/high默认/xhigh/max不传 level 时复用上一次输入过的档位target可选可以是 PR 编号、分支名、ref 范围或文件路径--comment将发现以 inline PR 评论形式发出--fix在审查后把发现应用到工作区ultra是独立的多 Agent 云端审查不走本文件描述的流水线。当传入参数时注入到对话中的提示词块会先加一行Review target: args再空一行无参数时直接从 effort 头开始。一个关键事实README 明确指出max 档与 xhigh.md 的正文逐字相同仅头部措辞不同max effort 对 extra-high effort真正区别只在发给 API 的 reasoning effort 参数。也就是说max 档的额外强度来自模型侧的推理力度而不是提示词本身。下文对 max.md 的逐阶段分析对 xhigh.md 同样成立。二、Phase 0圈定审查范围Gather the diffmax.md 的 Phase 0max.md#L7-L14规定了 diff 的收集规则这是整条流水线的输入边界首选命令git diff {upstream}...HEAD取当前分支相对上游基线的三方合并 diff无上游时的回退git diff main...HEAD或git diff HEAD~1工作区兜底如果存在未提交改动或者范围 diff 为空必须追加运行git diff HEAD把工作区变更纳入范围——因为审查常常发生在提交之前目标覆盖如果调用时传入了 PR 编号、分支名或文件路径作为参数则改审该目标最终约定以上得到的 diff 就是本次审查的唯一作用域Treat this diff as the review scope。这条规则的设计意图很实际代码评审 Agent 最常见的翻车场景是审错了范围——只看了已提交的部分、漏掉工作区里真正的改动或者在空分支上跑了个寂寞。Phase 0 用显式的命令回退链把这一层不确定性消掉后续所有角度都只在这份 diff 上工作。三、Phase 1十个独立的发现角度每个最多 8 个候选Phase 1max.md#L16-L21是 max 档的核心提示词要求通过 Agent 工具并行运行 10 个相互独立的 finder angles每个角度最多产出 8 个候选发现理论上限 80 个候选。其中 5 个角度找正确性缺陷另外 5 个找清理项、实现深度问题与规范违规。这里有两条组织性规则必须先记住禁止相互压制Do NOT let one angles conclusions suppress anothers——如果两个角度对同一行代码因不同理由分别标记两条都要记录无 Agent 工具时的降级路径如果当前工具集里没有 Agent 工具提示词明确说不要报错而是在当前上下文里顺序地自己执行每个角度以及每次验证。README 也确认了这一点所有档位都有 no-Agent-tool fallback同样的角度以单遍、无子 Agent 验证的方式内联执行。3.1 五个正确性角度A–E角度名称核心方法典型命中Aline-by-line diff scan逐行读每个 hunk再读每个 hunk 所包裹的完整函数反条件、off-by-one、空引用、漏await、falsy-zero、错变量复制粘贴、吞异常、正则元字符未转义Bremoved-behavior auditor对每一行被删除/替换的代码说出它维护了什么不变量再在新代码里找该不变量在哪里重建被删掉的守卫、丢失的错误路径、收窄的校验、删掉的真实用例测试Ccross-file tracer对 diff 改动的每个函数Grep 出全部调用方并检查调用点是否被破坏同时检查被调方新增前置条件、返回结构变化、新异常、时序/顺序依赖以及同 PR 内并行改动造成的组合风险Dlanguage-pitfall specialist专门扫描 diff 所涉语言/框架的经典陷阱见下文详解Ewrapper/proxy correctness当 PR 新增或修改包装另一类型的代码cache、proxy、decorator、adapter时逐方法核查委托路由错误导致的缓存重入/递归、未转发调用方实际使用的方法角度 A——逐行扫描max.md#L23-L30对 diff 的每个 hunk 逐行阅读然后必须读取包裹该 hunk 的完整函数——这是范围规则里容易被忽略的一点被触碰函数内未改动行的 bug 也在审查范围内因为这次 PR 要么重新暴露了它、要么本来就该修掉它。对每一行固定问一句什么输入、状态、时序或平台会让这一行出错检查清单包括反转/错误条件、off-by-one、null/undefined 解引用、缺失的await、falsy-zero 判断把0、、false误判为缺失、复制粘贴用错变量、catch 里吞掉本应传播的错误、未转义的正则元字符。角度 B——被删行为审计员max.md#L32-L37这是 diff 审查特有的视角——不看新代码对不对而看删掉的东西去哪了。对每一条被删除或替换的行先命名它曾强制的不变量或行为一个守卫、一条错误处理路径、一处校验、一条覆盖真实场景的测试然后在新代码中搜索该不变量在哪里被重建找不到本身就是候选发现。角度 C——跨文件追踪max.md#L39-L44单文件内看着正确的改动往往是跨文件才暴露的。对每个被改函数Grep 符号找调用方检查是否破坏了任何调用点新增的前置条件、变化的返回形状、新抛出的异常、新的时序/顺序依赖同时反查被调方——同一个 PR 里的并行改动是否让某个调用变得不安全。角度 D——语言陷阱专家max.md#L46-L51针对 diff 所用语言/框架的经典坑做专项扫描提示词里给出的示例清单覆盖了主流语言JSfalsy-zero、隐式类型转换、闭包捕获循环变量Python可变默认参数mutable default args、迟绑定闭包late-binding closuresGo对 nil map 写入、range 变量捕获以及跨语言的SQL 注入、时区/夏令时漂移、浮点相等比较。规则是只标记 diff引入的实例不对存量代码翻旧账。角度 E——包装器/代理正确性max.md#L53-L60当 PR 新增或修改一个包装类型的结构缓存、代理、装饰器、适配器时检查每一个方法是否都路由到了被包装实例而不是绕回 registry/session/全局状态。提示词给了一个具体反例一个持有delegate字段的缓存 provider若用session.get(...)而不是delegate.get(...)来解析 ID会重新进入缓存甚至递归。还要检查包装器是否转发了调用方实际用到的所有方法。3.2 三个清理角度Reuse / Simplification / Efficiency这三个角度不找 bug只找改动代码里的清理项max.md#L62-L83Reuse重复实现标记 diff 中重新实现了代码库已有能力的新代码——要求 Grep 共享/工具模块和改动邻近的文件并点名那个应该被调用的既有 helper。Simplification不必要复杂度标记 diff 引入的冗余或可推导状态、轻微变体的复制粘贴、深层嵌套、遗留死代码要求点名能完成同样工作的更简形式。Efficiency浪费的功标记冗余计算或重复 I/O、本可并行却被顺序执行的独立操作、加到启动或热路径上的阻塞工作。其中有一条值得注意的深层规则由闭包或捕获环境构建的长生命周期对象会把整个外层作用域活到对象消亡为止——当作用域里持有大值时这就是内存泄漏更便宜的做法是用类/结构体只拷贝它需要的字段。同样要求点名更便宜的替代方案。3.3 Altitude 与 Conventions实现深度和 CLAUDE.md 规范Altitudemax.md#L85-L90检查每处改动是否实现在正确的深度而不是脆弱的创可贴。判断信号是在共享基础设施上层层叠加特判说明修复不够深——应当泛化底层机制而不是继续加特例。Conventions / CLAUDE.mdmax.md#L92-L103这是把 Claude Code 的记忆体系接入审查的角度。规则分两步找管辖文件依次找用户级~/.claude/CLAUDE.md、仓库根CLAUDE.md以及每个改动文件的祖先目录下的CLAUDE.md或CLAUDE.local.md。目录作用域是严格下行的——某目录的 CLAUDE.md 只约束它自身及更深层的文件只标记可引用的违规只有当能同时引用出确切的规则原文和被违反的确切行时才标记不接受风格偏好或模糊的文档精神推断。发现里必须写明 CLAUDE.md 的路径并引用规则原文使最终报告可被引用没有任何 CLAUDE.md 适用时该角度返回空。3.4 候选的排序规则正确性永远压过清理项max.md#L105-L109 规定Cleanup、Altitude、Conventions 三类候选与正确性候选共用同一套file/line/summary结构唯一区别是failure_scenario字段——正确性候选写具体输入/状态 → 错误输出/崩溃而清理类候选写具体代价重复了什么、浪费了什么、哪里更难维护、或违反了哪条 CLAUDE.md 规则而不是崩溃。当 15 条的输出上限迫使裁剪时正确性 bug 永远排在清理、深度和规范发现之前。四、Phase 21 票、三态的验证闸门Phase 2max.md#L111-L128解决多路扇出必然带来的重复与噪声问题分三步第一步去重。把指向同一行/同一机制的候选合并保留failure_scenario最具体的那一条。第二步每候选一个验证器。对每个去重后的候选通过 Agent 工具运行恰好一个 verifier输入是 diff、相关文件与候选本身它必须返回三态之一状态判定标准举证要求CONFIRMED能说出触发它的输入/状态以及错误的输出或崩溃引用出具体代码行PLAUSIBLE机制真实存在但触发条件不确定时序、环境、配置说明什么证据能把它坐实REFUTED事实上错了代码不是那么写的或他处已有防护引用出能证明它的代码行第三步裁决规则——保留 CONFIRMED 与 PLAUSIBLE丢弃 REFUTED。这里有一条决定整个档位性格的关键句子max.md#L127-L128This is recall mode — a single non-REFUTED vote carries the finding. Do NOT drop on uncertainty.即 max 档是召回模式只要验证器没有给出带证据的 REFUTED这条发现就过关不允许因为不确定而丢弃。作为对照high.md 的验证器被显式要求PLAUSIBLE by default——并发竞争、罕见但可达路径上的 nil/undefined、falsy-zero、代码未排除边界上的 off-by-one、重试风暴/部分失败、丢了锚点的正则白名单等看起来投机但状态真实的情形都判 PLAUSIBLE只有能从代码直接构造出反证事实性错误、类型/常量/不变量证明不可能、本 diff 内已有防护并引用守卫、纯风格无可见影响才判 REFUTED。而 medium.md 的开头则是另一副面孔You are reviewing forprecision... every finding you surface should be one a maintainer would act onprecision 档宁可漏报也不给维护者添麻烦。同一套三态验证框架通过头部一句 recall/precision 的取向声明调出了完全不同的假阳性容忍度。五、Phase 3带着验证清单的缺口扫描Phase 3max.md#L130-L141是 max/xhigh 档独有的一步low/medium/high 均无此阶段。它再派一个 finder但角色被刻意重置它已经拿到验证后的清单重新读 diff 和包裹函数时只找清单上没有的缺陷——不重新推导、不重新确认已有条目the job is gaps。提示词明确列出了首轮容易漏掉的盲点这份清单本身就是很有价值的缺陷模式库被移动/抽取的代码丢了守卫或锚点moved/extracted code that dropped a guard or anchor次级陷阱second-tier footgunsPython dataclass 默认值只求值一次、hash()的非确定性、锁作用域缩小、带副作用的谓词方法测试里 setup/teardown 的不对称配置默认值被翻转。该阶段最多再产出8 个新候选每条都必须指向清单上没有的缺陷没有新发现就返回空扫描——不许凑数do not pad。这条反填充约束很重要在没有 Agent 的 LLM 流水线里为了显得有用而输出是常见失效模式max.md 把它当成一等规则写进了提示词。六、输出契约最多 15 条、按严重程度降序的 JSON 数组max.md 的输出段max.md#L143-L161定义了本次审查的输出契约[ { file: path/to/file.ext, line: 123, summary: one-sentence statement of the bug, failure_scenario: concrete inputs/state → wrong output/crash } ]四条硬性规则数量上限 15按最严重优先排序超过 15 条时只保留最严重的 15 条无存活结果时返回空数组[]而不是散文解释禁止调用 ReportFindings 工具——即使当前工具集里它可用本档的输出契约就是上面的 JSON 块每条发现必须能落到fileline的具体锚点上failure_scenario必须是具体输入/状态 → 错误输出/崩溃的可复现描述。为什么 max.md 要专门强调第 3 条因为仓库里还有一条并行的输出通道report-findings-tool.md 定义了ReportFindings工具的描述与 JSON Schema——当宿主 UI 需要渲染类型化发现typed findings时模型改调该工具上报。该 schema 的要点包括level枚举为low/medium/high/xhigh/maxfindings数组maxItems为 32每条发现除file、summary、failure_scenario必填外还可选带short_summary≤60 字符的紧凑 UI 标签、categorykebab-case 类型 slug≤40 字符、verdict枚举仅CONFIRMED/PLAUSIBLE即只有跑过验证步骤才设置、outcome仅在应用修复后重报时设置枚举fixed/skipped/no_change_needed。README 还把二进制中存在但未收录于此目录的兄弟变体列了出来以ReportFindings工具调用替代 JSON 数组的输出模式、把发现渲染为可分享 HTML 页面的 artifact-publishing 步骤、以及在启用 workflow 时 high/xhigh/max 使用的 workflow 编排每个正确性角度一个 finder、一个合并的 cleanup finder、每个不同 file:line 一个 verifier再做综合。可见 max.md 这份JSON 数组契约只是整个输出体系的一个具体实例。七、max 档在五级流水线中的位置把 code-review 目录 里的五个档位并排max 档的定位一目了然文件流水线输出上限取向low.md单遍 diff无子 Agent、无验证跳过测试/fixture hunk只看 hunk 内可见的 bug≤4 条单行格式无发现时输出(none)最低开销medium.md8 个发现角度3 正确性 3 清理 altitude conventions× 每角度 6 候选1 票验证precision-tuned≤8 条 JSONprecisionhigh.md默认档即 SKILL.md 正文同样 8 角度 × 6 候选1 票验证但 recall-biasedPLAUSIBLE by default≤10 条 JSONrecallxhigh.md10个角度 ×8候选 1 票验证 缺口扫描≤15 条 JSONrecallmax.md与 xhigh 完全同构55 角度 × 8 候选 验证 扫描头部措辞为 max effort开篇声明 catch every real bug ... a missed bug ships. Err on the side of surfacing≤15 条 JSONrecall最强且模型 reasoning effort 更高max 档相对 high 档的增量可以精确概括为三点角度从 8 加到 10新增 Angle D 语言陷阱专家与 Angle E 包装器/代理正确性这两者是 xhigh/max 独有、每角度候选上限从 6 提到 8、新增 Phase 3 缺口扫描。再加 README 所述只有 API reasoning effort 不同max 档 xhigh 提示词 更高的模型推理力度。README 还披露了另一维度的路由effort 只是路由键的一半模型家族是另一半。上述五份文件是default列即没有专属单元格的模型家族领到的版本二进制里的矩阵还给特定家族配了专用变体例如claude-opus-4-8在 low–xhigh 用自己的o48-*提示词max 仍用共享版claude-opus-5把 medium/high 坍缩为极简提示词 → 单次谨慎 diff 通读 → ≤15 条发现、经 ReportFindings 上报的单元格claude-sonnet-5的 low 档改为按min(files, 4)而非固定 4 条封顶。这说明同一档位在不同底座模型上提示词策略是分别调优的。八、可迁移的 Agent 流水线设计要点抛开 Claude Code 的具体语境max.md 展示了一套值得复用的多 Agent 代码审查编排模式范围先行Phase 0先用显式命令回退链把审查对象钉死为一份确定范围的 unified diff后续所有子任务共享同一输入边界视角扇出而非次数扇出并行的是 10 种互补的审查视角逐行、删除审计、跨文件、语言陷阱、包装器正确性、复用、简化、效率、深度、规范而不是同一视角跑 10 遍——这直接决定了召回的多样性候选与验证分离且验证只投一票finder 负责宁可多报每个角度 8 个上限verifier 负责只认证据三态 引用行举证单一投票而非多数表决把成本压在可控范围用措辞显式调取向同一框架里recall mode — do not drop on uncertainty 与 precision ... every finding should be actionable 只是头部一句话的区别但行为差异巨大——提示词里把取向写成不可协商的规则而不是留给模型自由发挥反填充与反压制规则写进提示词do not pad空扫描就返回空、do NOT let one angle suppress another同线异因双记录都是对 LLM 常见失效模式的针对性约束结构化输出契约固定字段的 JSON 数组 数量上限 严重度排序 空数组语义 禁用替代上报通道让下游UI 渲染、--fix、--comment可以无歧义地消费审查结果。九、相关文件索引max.md本文主体max effort 档提示词全文xhigh.md与 max 正文逐字相同、仅头部措辞不同的 extra-high 档high.md / SKILL.md默认档high正文及技能注册 frontmatter含--comment/--fix/ultra/--post等参数说明medium.md / low.mdprecision 档与最低开销档用于对照各档取向差异report-findings-tool.mdReportFindings工具的描述与完整 JSON SchemaREADME命令用法、五档流水线对照表、模型家族路由矩阵与二进制提取/验证说明。适用前提与限制以上所有内容以本仓库提取的 Claude Code 2.1.245 版本 bundle2026-08-25 复核为准。该目录呈现的是提示词模板这一静态事实实际行为还取决于运行时的模型家族路由矩阵、Agent 工具可用性以及 workflow 开关升级 Claude Code 后档位参数与矩阵可能变化阅读时应以对应版本文件为准。【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-5.6-Sol, Codex. Google - Gemini 3.5 Flash, 3.1 Pro, Antigravity. xAI - Grok, Cursor, Copilot, VS Code, Perplexity, and more. Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考