agents24 incident-response 插件解析:incident-response-code-reviewer 代码审查子代理的职责、能力与调用链路
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
本文以incident-response插件中的代码审查子代理 code-reviewer.md 为主体,完整解析该 Agent 的元数据定义、八项核心审查能力与七步审查流程,并结合 smart-fix.md 编排命令的源码级调用点,说明它在多智能体故障修复工作流中被调用的时机、输入输出契约与结构化结果字段。读完本文后,你将理解这个"逻辑缺陷 + 类型安全 + 错误处理 + 架构隐患"四位一体的审查角色如何嵌入事故响应链路,以及如何在自己的 Agent 编排中复用同样的子代理拆分模式。
一、它在 incident-response 插件中的位置
incident-response是 agents24 仓库(一个面向 Claude Code、Codex、Cursor、OpenCode、GitHub Copilot 与 Google Antigravity 等多 harness 的 Agent 插件市场)中的一个故障响应插件,其目录结构如下:
plugins/incident-response/ ├── agents/ │ ├── code-reviewer.md ← 本文主角 │ ├── debugger.md │ ├── devops-troubleshooter.md │ ├── error-detective.md │ ├── incident-responder.md │ └── test-automator.md ├── commands/ │ ├── incident-response.md # 13 步生产事故响应编排 │ └── smart-fix.md # 10 步智能问题修复编排(两次调用 code-reviewer) └── skills/ ├── incident-runbook-templates/ ├── on-call-handoff-patterns/ └── postmortem-writing/插件内共定义了 6 个子代理,从源码结构看,它们的 frontmattername统一采用incident-response-<角色>的命名约定(如 debugger.md 的incident-response-debugger、error-detective.md 的incident-response-error-detective),这样插件名就内嵌在代理名中,避免跨插件重名冲突,也与仓库文档中说明的代理命名规范一致(参见 docs/architecture.md 关于 hyphen-case 命名的约定)。
在整个插件中,incident-response-code-reviewer的角色定位非常聚焦:它不写修复代码,而是专门审查代码的逻辑缺陷与设计问题,并给出修复设计建议。其 frontmatter 声明的职责是(引自 code-reviewer.md):
--- name: incident-response-code-reviewer description: Reviews code for logic flaws, type safety gaps, error handling issues, architectural concerns, and similar vulnerability patterns. Provides fix design recommendations. model: sonnet ---两个关键元数据值得注意:
model: sonnet:声明该子代理运行时使用 sonnet 级别的模型。审查任务需要跨代码库的模式识别能力,属于"深度推理、中低吞吐"型任务,插件作者统一为 6 个代理都标注了model: sonnet,从源码结构看这是该插件对"专家型子代理"的默认建模选择。description中强调 "similar vulnerability patterns" 与 "fix design recommendations":这直接决定了它在编排中的两个用途——深挖阶段的"问题清单产出者"和收尾阶段的"发布审批者"。
二、八项核心审查能力(Capabilities)
原文档将能力拆为 8 条,这是理解该 Agent 审查视角的完整骨架。下面逐条说明其技术含义,以及在实际审查中对应的检查点:
| # | 能力 | 具体审查对象 |
|---|---|---|
| 1 | 逻辑缺陷分析(Logic flaw analysis) | 错误的假设(incorrect assumptions)、缺失的边界情况(missing edge cases)、错误的算法选择(wrong algorithms) |
| 2 | 类型安全审查(Type safety review) | 识别哪些位置可以用更强的类型系统(narrower types、可空类型标注、泛型约束)从根本上阻止一类 bug 再次发生 |
| 3 | 错误处理审计(Error handling audit) | 缺失的 try-catch、未处理的 promise、可能 panic 的路径(跨语言:Node/Go/Rust/Python 等场景) |
| 4 | 契约校验(Contract validation) | 输入校验缺口(input validation gaps)、输出保证未被满足(output guarantees not met)——即函数/API 的"承诺"与"实际"是否一致 |
| 5 | 架构审查(Architecture review) | 紧耦合(tight coupling)、缺失的抽象(missing abstractions)、分层违反(layering violations) |
| 6 | 模式检测(Pattern detection) | 在全代码库中寻找"与当前缺陷相同"的相似脆弱点——这是把单点修复升级为系统性修复的关键步骤 |
| 7 | 修复设计(Fix design) | 给出三种粒度的方案权衡:最小改动(minimal change)vs 局部重构(refactoring)vs 架构级改进(architectural improvement) |
| 8 | 最终审批审查(Final approval review) | 以代码质量、安全性、部署就绪度三个维度做"放行前最后一道闸" |
这 8 条能力刻意覆盖了从"微观代码行"到"宏观架构"的三个层次:能力 1–4 关注代码行与函数边界,能力 5–6 关注模块与代码库层面,能力 7–8 则面向"修复决策"与"发布决策"这两个出口。这种"分层审查 + 双出口"的结构,正是它能在同一插件中复用两次(见下文)的原因。
三、七步审查流程(Response Approach)
文档为这个 Agent 规定了一条固定的 7 步执行路径,这也是它每次被 Task 工具唤起时的标准工作序列:
- 分析代码路径,识别逻辑缺陷(Analyze the code path and identify logic flaws)
- 检查类型安全性,明确哪些更强类型的引入能阻止问题(Check type safety and where stronger types help)
- 审计错误处理缺口(Audit error handling for gaps)
- 校验契约与边界(Validate contracts and boundaries)
- 在代码库其他位置寻找相似模式(Look for similar patterns elsewhere in the codebase)
- 设计最小有效修复(Design the minimal effective fix)
- 输出带严重度评级的结构化审查结果(Provide a structured review with severity ratings)
两点设计值得强调:
- 流程是"由点到面"再"收口":第 1–4 步把当前缺陷本身挖透,第 5 步横向扩散到全库寻找同类脆弱点(对应能力 6),第 6–7 步才给出修复建议与分级结论。这与"先查完再下结论"的排查纪律一致,避免审查者在第一处发现缺陷后就急于给方案。
- 第 7 步要求 severity ratings:审查结论不是自由文本,而是带严重度分级的结构化结果。这一点在下游编排命令中被严格兑现——
smart-fix验证阶段会依据"Critical / High 发现必须先处理"的规则阻塞流程(见 smart-fix.md:"If there are Critical or High severity findings, address them before proceeding")。
四、调用链实证:smart-fix 编排中的两个调用点
incident-response-code-reviewer在 smart-fix.md 中被subagent_type引用了两次,分别处于 10 步修复工作流的第 4 步与第 9 步。这是理解该 Agent 实际运行契约的最佳证据。
4.1 调用点一:第 4 步"代码审查深挖"(Phase 2: Deep Investigation)
在错误侦探(incident-response-error-detective)完成错误分析、调试器(incident-response-debugger)完成深度代码分析之后,编排命令通过 Task 工具唤起审查者(引自 smart-fix.md):
Task: subagent_type: "incident-response-code-reviewer" description: "Review code logic for: $ISSUE" prompt: | Review code logic and identify design issues: Context from Deep Analysis: [Insert contents of .smart-fix/03-deep-analysis.md] Deliverables: 1. Logic flaw analysis: incorrect assumptions, missing edge cases, wrong algorithms 2. Type safety gaps: where stronger types could prevent the issue 3. Error handling review: missing try-catch, unhandled promises, panic scenarios 4. Contract validation: input validation gaps, output guarantees not met 5. Architectural issues: tight coupling, missing abstractions, layering violations 6. Similar patterns: other code locations with same vulnerability 7. Fix design: minimal change vs refactoring vs architectural improvement Review checklist: - Are null/undefined values handled correctly? - Are async operations properly awaited/chained? - Are error cases explicitly handled? - Are type assertions safe? - Are API contracts respected? - Are side effects isolated? Provide structured output with: LOGIC_FLAWS, TYPE_SAFETY_GAPS, ERROR_HANDLING_GAPS, SIMILAR_VULNERABILITIES, FIX_DESIGN, REFACTORING_OPPORTUNITIES, ARCHITECTURAL_CONCERNS.几个契约要点:
- 输入是文件而非上下文记忆。编排规则明确要求"Read from prior step files — do NOT rely on context window memory":第 4 步必须先读取
.smart-fix/02-root-cause.md与.smart-fix/03-deep-analysis.md,把深度分析结论作为 prompt 上下文注入。这把跨步骤的知识传递从"上下文窗口"迁移到了"工作区文件",使长流程可中断、可恢复。 - 7 项交付物与 Agent 自身 8 项能力一一对应(能力 8"最终审批"在第 4 步不启用),说明编排 prompt 与 Agent 定义是成对设计的。
- 附加了 6 条审查清单(null/undefined 处理、异步 await/链式、错误显式处理、类型断言安全性、API 契约、副作用隔离),是对 Agent 定义的"运行时补丁"——把抽象能力落成可勾选的具体检查项。
- 输出为 7 个结构化字段:
LOGIC_FLAWS、TYPE_SAFETY_GAPS、ERROR_HANDLING_GAPS、SIMILAR_VULNERABILITIES、FIX_DESIGN、REFACTORING_OPPORTUNITIES、ARCHITECTURAL_CONCERNS,落盘到.smart-fix/04-code-review.md。其中SIMILAR_VULNERABILITIES字段会被第 5 步的实现代理直接使用:要求"Regression tests: tests for similar vulnerabilities found in code review",即审查发现的同类脆弱点会转化为回归测试需求,形成"审查 → 修复 → 回归覆盖"的闭环。
4.2 调用点二:第 9 步"最终代码审查"(Phase 5: Final Review & Prevention)
修复实现(第 5 步)、回归测试 / 性能验证 / 安全审查(第 6–8 步)全部通过用户审批后,同一个 Agent 换了一个帽子再次出场——从"问题清单产出者"变为"发布审批者"(引自 smart-fix.md):
Task: subagent_type: "incident-response-code-reviewer" description: "Final review for: $ISSUE fix" prompt: | Perform final code review and approve for deployment: Implementation: [Insert contents of .smart-fix/05-implementation.md] Verification: [Insert contents of .smart-fix/06-verification.md] Deliverables: 1. Code quality review: conventions, patterns, error handling, observability 2. Architecture review: boundaries, coupling, scalability 3. Security review: vulnerabilities, validation, auth 4. Deployment readiness: rollback plan, feature flags, monitoring 5. Risk assessment: blast radius, rollout strategy, success metrics Report: REVIEW_STATUS, DEPLOYMENT_RISK, ROLLBACK_PLAN, ROLLOUT_STRATEGY, MONITORING_REQUIREMENTS, FINAL_VERDICT.这一次的输出契约变为REVIEW_STATUS、DEPLOYMENT_RISK、ROLLBACK_PLAN、ROLLOUT_STRATEGY、MONITORING_REQUIREMENTS、FINAL_VERDICT六个字段,落盘到.smart-fix/07-final-review.md。这正是 Agent 定义中能力 8"Final approval review: code quality, security, deployment readiness"的具体落地:审查维度从"逻辑/类型/错误处理"扩展到"部署就绪度",核心结论由FINAL_VERDICT(最终裁定)表达。
对比说明:插件的另一条编排线 incident-response.md(13 步生产事故响应流程)主要调用
incident-responder、incident-response-debugger、incident-response-devops-troubleshooter与general-purpose,修复实现步骤用的是general-purpose+ "senior backend architect" 角色提示,并不直接调用 code-reviewer。也就是说,code-reviewer 是 smart-fix 这条"代码级问题修复"管线上的专属审查节点,而非事故应急线上的通用环节。
4.3 编排框架为审查结果提供的执行纪律
理解调用点,离不开插件定义的 6 条"关键行为规则"(两条 command 共用同一套前 6 条规则,见 smart-fix.md)。对 code-reviewer 的输出消费方而言,最相关的是:
- 按序执行:不允许跳步、并步——第 4 步的审查结果必须是第 5 步实现的输入,顺序不可颠倒;
- 每步必须落盘:审查结果写入
.smart-fix/04-code-review.md之后才能进入下一步,且后续步骤从文件读取而非记忆; - 检查点停等:第 4 步完成后流程进入 PHASE CHECKPOINT 2 前的中间态,用户未批准不进入修复实现;第 9 步的最终审查结果同样要经 PHASE CHECKPOINT 3 的用户批准;
- 失败即停:审查步骤若因代理错误失败,编排立即停止并询问用户,而不是静默继续。
这些规则保证了审查 Agent 的输出不是"一次性建议",而是工作流中的持久化工件(artifact):.smart-fix/下的01-error-analysis.md→02-root-cause.md→03-deep-analysis.md→04-code-review.md→05-implementation.md→06-verification.md→07-final-review.md→08-prevention.md构成完整证据链,state.json中的completed_steps与files_created记录每一步的推进状态,支持中断后Resume from where we left off。
五、与其他子代理的分工边界
从源码结构看,插件把"找问题 → 深挖 → 审查 → 修复 → 验证 → 审批"拆给了不同专职代理,code-reviewer 的边界清晰:
| 阶段(smart-fix 步骤) | 代理 | 与 code-reviewer 的关系 |
|---|---|---|
| 1. 错误检测 | error-detective | 提供错误签名与时间线,是审查的远端上下文 |
| 2/3. 根因 + 深度分析 | debugger | debugger 回答"为什么失败"(根因、bisect、竞态);reviewer 回答"代码还哪里会这样失败"(设计层面),两者互补不重叠 |
| 4. 代码审查深挖 | code-reviewer | 产出问题清单与修复设计 |
| 5. 修复实现 | general-purpose(senior engineer 角色提示) | 消费04-code-review.md的FIX_DESIGN与SIMILAR_VULNERABILITIES |
| 6–8. 回归/性能/安全 | test-automator + general-purpose | 回归测试覆盖审查发现的同类脆弱点 |
| 9. 最终审查 | code-reviewer | 产出FINAL_VERDICT与发布策略 |
| 10. 文档与预防 | general-purpose(SRE 角色) | 消费最终审查结论 |
这种"同一专家代理在不同阶段承担不同出口(问题清单 / 发布裁定)"的设计,是多 Agent 插件中控制 token 成本与角色漂移的常见做法:Agent 定义保持静态(8 能力 + 7 步流程),场景差异全部由编排 prompt 的 Deliverables 与输出字段约束完成。
六、实际使用方式
在安装了该插件的 harness 中(Claude Code / Codex / Cursor 等,多 harness 安装与命名空间机制参见 docs/harnesses.md 与 tools/adapters/ 下各适配器实现),code-reviewer 不是以独立斜杠命令暴露的,而是由编排命令间接唤起:
- 经智能修复管线触发:运行
smart-fix命令并传入问题描述,如smart-fix "payment 回调偶发 NPE" --verification standard --prevention immediate。流程推进到第 4 步时自动以subagent_type: "incident-response-code-reviewer"唤起本 Agent,审查输出落盘.smart-fix/04-code-review.md;第 9 步再次唤起并产出.smart-fix/07-final-review.md。 - 经事故响应管线间接受益:运行
incident-response命令并传入事故描述与严重级别(如incident-response "订单服务 5xx 飙升" --severity P1),该 13 步流程在深度调试(第 4 步,incident-response-debugger)与修复实现(第 7 步)中产出的代码级结论,与 code-reviewer 所定义的审查维度(逻辑、类型、错误处理、契约、架构、模式)在结构上一致,团队可在事故后的代码修复 PR 上手动引用 smart-fix 的审查步骤做复核。 - 直接作为子代理调用:在支持 Task/Agent 派生的 harness 中(参见 docs/harnesses.md 对各 harness 派生工具能力的说明),可手动以
incident-response-code-reviewer为subagent_type唤起它,prompt 中按其"Deliverables + structured output"契约给出输入文件与期望字段,即可复用其七步审查流程,得到带 severity 分级的结构化审查报告。
七、小结
incident-response-code-reviewer是 agents24 incident-response 插件中"审查即契约"的样板实现:
- 定义层:code-reviewer.md 用 frontmatter(
name+description+model: sonnet)声明身份,用 8 项能力定义审查视角,用 7 步固定流程保证每次执行路径一致,且结论必须带严重度分级; - 编排层:smart-fix.md 在第 4 步与第 9 步以
subagent_type: "incident-response-code-reviewer"两次调用,分别约束 7 个与 6 个结构化输出字段,通过.smart-fix/*.md文件落盘 +state.json状态机 + 检查点审批,把审查结论转化为可追踪、可恢复、可审计的工作流工件; - 分工层:它与 error-detective(找错误)、debugger(挖根因)、test-automator(验修复)边界清晰,自身只负责"设计层缺陷识别 + 修复设计 + 发布裁定",其产出的
SIMILAR_VULNERABILITIES直接驱动回归测试生成,FINAL_VERDICT决定发布放行。
对需要在自己的 Agent 编排中引入"代码审查节点"的开发者而言,该实现提供了三个可直接借鉴的工程要点:审查能力分层(代码行/模块/代码库三层)、同一代理双出口(问题清单与发布裁定)、以及"文件即上下文"的跨步骤知识传递纪律。
【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考