Interrogate 是一个对抗性代码审查技能,旨在通过独立的 Judge 智能体对代码变更进行严格审视,以发现潜在问题、盲点和改进空间。
用途
该技能用于对代码变更进行对抗性审查,帮助开发者挑战现有实现、压力测试代码质量,并识别可能被忽视的盲点。它适用于需要严格审查代码正确性、安全性和可维护性的场景。
主要能力
- 启动一个独立的 Judge 智能体,依据明确的意图和审查标准对代码进行审查。
- 支持从上下文确定审查范围,包括特定文件、差异或功能分支的完整变更集。
- 要求明确陈述审查意图,确保审查目标清晰。
- 使用指定的模型和配置(codex/gpt-6-astra,xhigh 思考选项,full-access 模式)启动 Judge。
- 提供审查模板,包括意图、差异或文件内容、审查标准以及代码质量视角。
- 验证 Judge 的发现,追溯每个声称的失败,去重并区分确认问题与不确定性。
- 由主导审查者(资深工程师视角)对发现进行分类:Act On、Consider、Noted、Dismissed。
- 输出结构化的裁决结果,包括意图、Judge 发现、各类别详细说明以及不确定性。
使用方式
- 确定范围:根据用户指向的文件、差异或功能分支(如 git diff main...HEAD)确定审查内容,并打包差异及相关上下文文件。
- 陈述意图:从用户消息、提交信息、PR 描述或代码本身推导出明确的意图段落。如果不确定,需先询问用户。
- 启动 Judge:读取 list_profiles,使用 pstack-judge 启动一个 Paseo create_agent。设置 provider/model 为 codex/gpt-6-astra,settings.thinkingOptionId 为 xhigh,settings.modeId 为 full-access,notifyOnFinish 为 true。保持任务只读。如果 Astra xhigh 不可用,报告受阻的审查,不替换其他模型或努力级别。读取 references/reviewer-prompt.md 并填入模板,包括意图、差异或文件内容、审查标准(references/rubric.md)和代码质量视角(references/code-quality-review.md)。
- 验证发现:阅读 Judge 的发现,追溯每个声称的失败,去重重叠问题,权衡证据和影响,区分确认问题与不确定性。
- 主导判断:作为主导审查者(务实的高级工程师),阅读 references/lead-judgment.md 获取完整框架。将每个发现分类为:Act On(影响正确性、安全性或可维护性的真实问题,会阻止真实 PR)、Consider(合理但不确定是否值得立即处理)、Noted(技术上有效但不可操作)、Dismissed(错误、吹毛求疵或缺少上下文)。为每个发现提供支持代码或证据、类别和一行理由。
输出格式
裁决结果按以下结构呈现:
- Intent:陈述的意图段落。
- Judge:GPT-6-Astra xhigh: [N findings]。
- Act On:应处理的发现,包括描述、支持证据和重要性。
- Consider:值得思考的发现,包括描述、支持证据和权衡。
- Noted:有效但低优先级,简要列表。
- Dismissed:被拒绝的发现及简要理由。
- Uncertainties:无法验证的声明及需要解决它们的证据。
适用场景
- 对代码变更进行对抗性审查。
- 挑战现有实现,寻找盲点。
- 压力测试代码质量。
- 在合并 PR 前进行严格审查。
限制
- 该技能不会自动应用更改,仅提供综合裁决。
- 依赖特定模型(codex/gpt-6-astra)和配置(xhigh),如果不可用则审查受阻。
- 需要明确的意图陈述,否则可能无法继续。
- 审查范围需从上下文确定,可能受限于可用信息。