news 2026/9/20 7:00:04

SuperClaude Framework Self Review Agent 实战指南:实现后自检、证据校验与 Reflexion 错误学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SuperClaude Framework Self Review Agent 实战指南:实现后自检、证据校验与 Reflexion 错误学习

SuperClaude Framework Self Review Agent 实战指南:实现后自检、证据校验与 Reflexion 错误学习

【免费下载链接】SuperClaude_FrameworkA configuration framework that enhances Claude Code with specialized commands, cognitive personas, and development methodologies.项目地址: https://gitcode.com/gh_mirrors/su/SuperClaude_Framework

本指南以 SuperClaude Framework 的 Self Review Agent(位于 plugins/superclaude/agents/self-review.md,源码同版位于 src/superclaude/agents/self-review.md)为核心,讲解如何在每次实现波次(implementation wave)结束后,用四项强制自检问题确认交付物是否达到生产就绪标准,并通过 Reflexion 模式沉淀错误经验防止复发。读完本文,你将掌握一套可复制的"实现后验证 + 教训沉淀"闭环流程,以及它在框架源码(SelfCheckProtocolReflexionPattern)与 pytest 插件中的落地实现。

Self Review Agent 的角色定位

在 SuperClaude Framework 中,Self Review Agent 是一个post-implementation validation and reflexion partner(实现后验证与反思伙伴),类别归属为quality。它的触发时机非常明确:在一次实现波次(implementation wave)结束后立即启用,用于确认结果是否生产就绪(production-ready),并捕获本次实现产生的经验教训。

它与 PM Agent(见 plugins/superclaude/agents/pm-agent.md)形成互补:PM Agent 负责把实现过程中的模式、决策与错误沉淀为知识库,而 Self Review Agent 专注于验收环节——核实 SuperClaude Agent 声称完成的测试与工具链结果,输出简洁的清单式报告,并把残余风险与后续动作交还给 SuperClaude Agent 进行最终用户回复。

核心职责一:核实测试与工具链证据

Self Review Agent 的首要职责是Verify tests and tooling reported by the SuperClaude Agent,即逐条核对 SuperClaude Agent 上报的测试和工具执行结果,而不是照单全收。

这里的核心理念是"证据优先":一个声称"测试通过"的结论,必须附带实际的命令与输出,否则不能视为有效证据。这一要求在框架源码中被硬编码为校验规则(详见下文"源码级支撑"一节),SelfCheckProtocol._check_tests_passing()会同时要求tests_passed=Truetest_output非空,且输出中必须包含passedOK等通过标志;仅有断言而无真实输出时,直接判定为不通过。

核心职责二:运行四项强制自检问题

这是 Self Review Agent 的方法论骨架。在原文档 plugins/superclaude/agents/self-review.md 中规定了四项强制问题,它们与源码 src/superclaude/pm_agent/self_check.py 中SelfCheckProtocol注释里记载的 "The Four Questions" 一一对应,但在表述上略有差异(Agent 文档侧重验收视角,源码侧重防幻觉视角):

维度Agent 文档的四问源码SelfCheckProtocol的四问
测试Tests/validation executed?(附带命令与结果)Are all tests passing?(要求展示真实结果)
边界Edge cases covered?(列出有意遗漏项)No assumptions without verification?(假设必须核对官方文档)
需求Requirements matched?(回连验收标准)Are all requirements met?(逐条对比 ✅/❌)
收尾Follow-up or rollback steps needed?Is there evidence?(测试结果、代码变更、lint/类型检查)

从源码结构看,这四项问题被映射为validate()中的四次独立检查:

# 摘自 src/superclaude/pm_agent/self_check.py#L64-L107(结构示意) issues = [] # Question 1: Tests passing? if not self._check_tests_passing(implementation): issues.append("❌ Tests not passing - implementation incomplete") # Question 2: Requirements met? unmet = self._check_requirements_met(implementation) if unmet: issues.append(f"❌ Requirements not fully met: {', '.join(unmet)}") # Question 3: Assumptions verified? unverified = self._check_assumptions_verified(implementation) if unverified: issues.append(f"❌ Unverified assumptions: {', '.join(unverified)}") # Question 4: Evidence provided? missing_evidence = self._check_evidence_exists(implementation) if missing_evidence: issues.append(f"❌ Missing evidence: {', '.join(missing_evidence)}")

其中证据维度进一步细化为三类硬性要求(见_check_evidence_exists(),src/superclaude/pm_agent/self_check.py):

  • test_results:测试实际输出;
  • code_changes:变更文件清单;
  • validation:lint、类型检查、构建等静态校验结果。

三者缺一即记为Missing evidence问题。测试夹具 tests/conftest.py 中的sample_implementation展示了满足全部四问的完整数据结构(含tests_passedtest_outputrequirementsrequirements_metassumptionsassumptions_verifiedevidencestatus),而failing_implementation则演示了典型的失败形态(测试未过、需求仅完成 1/3、假设未全部核实、证据为空、状态却声称 complete)。

核心职责三:汇总残余风险与缓解思路

四项自检全部通过并不意味着零风险。Self Review Agent 还需Summarize residual risks and mitigation ideas——把"明知存在但不影响本次验收"的风险显式列出来,并给出缓解方向。例如原文档报告示例中的⚠️ Edge cases: concurrency behaviour not exercised就属于此类:并发行为未被覆盖,需要在后续迭代中补测。

这对应报告中的⚠️级条目,与级(已通过)和📓级(后续动作)共同构成三层状态标注。在源码侧,SelfCheckProtocol🚨标注幻觉告警、标注硬性问题,见format_report()(src/superclaude/pm_agent/self_check.py),两者语义层级互补。

核心职责四:记录 Reflexion 模式,避免同类缺陷复发

当缺陷出现时,Self Review Agent 要Record reflexion patterns,让 SuperClaude Agent 后续不再重复犯错。这正是框架中ReflexionPattern类(src/superclaude/pm_agent/reflexion.py)的职责:把错误转化为可检索、可复用的知识。

ReflexionPattern的工作流程分为两条路径:

命中已知错误(0 token 成本):构造错误签名(error_type | 去数字化的 error_message 前 100 字符 | test_name),先尝试 mindbase 语义检索(http://localhost:18003/api/search,相似度阈值 0.7,3 秒超时,失败自动降级),再回退到本地 JSONL 文件做词重叠匹配(默认阈值 0.7),见_search_mindbase()_search_local_files()

新错误(1-2K token 调研成本):调用record_error()将错误信息追加写入docs/memory/solutions_learned.jsonl(追加式日志),若带root_causesolution分析,还会生成结构化错误文档docs/mistakes/[test_name]-YYYY-MM-DD.md,见_create_mistake_doc()(src/superclaude/pm_agent/reflexion.py)。该文档固定包含七个板块:

## ❌ What Happened → 现象描述 ## 🔍 Root Cause → 根本原因 ## 🤔 Why Missed → 为何此前未被发现 ## ✅ Fix Applied → 实际修复方案 ## 🛡️ Prevention Checklist → 防复发清单 ## 💡 Lesson Learned → 经验教训

仓库中已有真实产出可对照:docs/memory/solutions_learned.jsonl(120 行 JSONL 记录,如{"error_type": "ConnectionError", "solution": "Ensure database is running and credentials are correct", "timestamp": "..."})与 docs/mistakes/test_database_connection-2026-03-22.md(按上述模板生成的错误记录)。get_statistics()还能统计total_errorserrors_with_solutionssolution_reuse_rate,用于量化知识库的学习效果。

操作流程:How to Operate

原文档给出了四步操作法,这里结合框架源码补充每一步的落地细节:

Step 1:审查任务摘要与实现 diffSuperClaude Agent 会提交任务摘要(task summary)与实现差异(implementation diff),Self Review Agent 据此还原"声称做了什么"。

Step 2:确认测试证据,缺失则要求重跑这是"先证据后放行"的硬门槛。对应源码中_check_tests_passing()的两条规则:tests_passed必须为True,且test_output必须含真实通过标志。单测 tests/unit/test_self_check.py 中的test_check_tests_passing_with_output明确验证了"有输出通过 / 无输出判失败"两种分支。

Step 3:输出简短的清单式报告原文档报告模板原文如下,字段格式可照搬:

✅ Tests: uv run pytest -m unit (pass) ⚠️ Edge cases: concurrency behaviour not exercised ✅ Requirements: acceptance criteria met 📓 Follow-up: add load tests next sprint

在源码侧,format_report()提供程序化版本:通过时输出✅ Self-Check PASSED - Implementation complete with evidence;失败时逐条列出问题项。

Step 4:剩余问题给出定向行动建议When issues remain, recommend targeted actions rather than reopening the entire task——只针对具体问题开处方,而不是推翻整个任务重来,这保证了修复成本可控。

源码级支撑:7 个幻觉红旗检测

SelfCheckProtocol除了四问校验,还内置了一套幻觉检测机制,这是它区别于普通 checklist 的关键。HALLUCINATION_RED_FLAGS常量与_detect_hallucinations()(src/superclaude/pm_agent/self_check.py)实现了 7 类红旗的自动识别:

  1. 声称"测试通过"但未附输出(tests_passed=Truetest_output为空);
  2. 声称"一切正常"但无任何证据(status=completeevidence为空);
  3. 测试失败却声称"实现完成"(status=completetests_passed=False);
  4. 跳过错误信息(skip error messages);
  5. 忽略警告(ignore warnings)——4、5、6 合并为"存在 errors/warnings 却标记 complete";
  6. 隐瞒失败(hide failures);
  7. 使用不确定措辞(描述中出现probablymaybeshould workmight work)。

对应单测覆盖齐全:tests/unit/test_self_check.py 中的test_detect_hallucinations_tests_without_outputtest_detect_hallucinations_complete_without_evidencetest_detect_hallucinations_complete_with_failing_teststest_detect_hallucinations_ignored_errorstest_detect_hallucinations_uncertainty_language分别验证上述场景。

测试与工具链集成:pytest 插件如何挂钩自审

框架通过 pytest 插件把自审与反思流程嵌入日常测试(src/superclaude/pytest_plugin.py,入口注册于 pyproject.toml 的pytest11):

  • 注册自定义 marker:self_check(要求证据的实现后验证)、reflexion(错误学习与预防)、confidence_check(执行前置信度评估)、complexity(level)
  • 提供 fixtures:self_check_protocolreflexion_patterntoken_budgetpm_context等,测试中可直接注入使用;
  • pytest_runtest_makereport钩子:带reflexionmarker 的测试失败时,自动构造error_info(测试名、文件、异常类型、消息、traceback)并调用reflexion.record_error(),实现"测试失败即自动沉淀教训"。

集成测试示例可见 tests/unit/test_self_check.py 的test_self_check_marker_integration与 tests/unit/test_reflexion.py 的test_reflexion_marker_integration;tests/unit/test_reflexion.py 的test_reflexion_with_real_exception则演示了真实异常(如ZeroDivisionError)下的完整记录路径。运行示例命令为uv run pytest -m unit(uv 环境)或pytest(pip 环境,需先安装本项目)。

与相关 Agent / 命令的协作边界

Self Review Agent 并非孤立运作。在原文档约束下,它把结果"交还给 SuperClaude Agent 做最终用户回复",即它只做验收与证据核验,不直接向用户汇报。与之配套的还有:

  • /sc:reflect命令(plugins/superclaude/commands/reflect.md):提供--type task|session|completion三种反思模式,依赖 Serena MCP 的think_about_task_adherencethink_about_collected_informationthink_about_whether_you_are_done等工具做任务贴合度、信息完整性与完成度评估,可作为 Self Review Agent 验证环节的深度分析后端;
  • PM Agent(plugins/superclaude/agents/pm-agent.md):其 PDCA 周期中的 Check 阶段(think_about_whether_you_are_done)与 Act 阶段(错误沉淀到docs/mistakes/、成功模式沉淀到docs/patterns/)与 Self Review Agent 的 reflexion 记录职责形成互补。

最佳实践总结

结合原文档与源码,可将 Self Review Agent 的用法浓缩为以下要点:

  1. 时机固定:每次实现波次结束立即启用,不拖延、不跳步;
  2. 证据硬约束:测试必须附命令与输出,lint/类型检查等 validation 证据缺一不可,杜绝"凭感觉放行";
  3. 四问全过才放行:测试、需求、假设、证据四项校验,任何一项缺失都标记为未完成;
  4. 主动暴露残余风险:用⚠️显式列出未覆盖的边界与缓解方向,而非隐藏;
  5. 错误即知识:缺陷出现时立即通过record_error()写入solutions_learned.jsonlmistakes/文档,让错误签名在未来命中时零成本复用解决方案;
  6. 定向修复:剩余问题只给针对性动作,不整单重开,控制修复成本。

这套"实现后自检 + 证据校验 + 反思沉淀"的闭环,正是 SuperClaude Framework 把 AI 编码助手从"能干活"推进到"可验收、可复盘、可进化"的工程化基础设施之一。

【免费下载链接】SuperClaude_FrameworkA configuration framework that enhances Claude Code with specialized commands, cognitive personas, and development methodologies.项目地址: https://gitcode.com/gh_mirrors/su/SuperClaude_Framework

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 6:58:28

自托管LibreChat部署指南:统一管理多模型AI对话

1. 为什么我最终选择了自托管LibreChat1.1 从“多平台来回切换”到“一个入口搞定”我日常要处理的事情很杂:写技术方案、查资料、翻译文档、整理会议纪要、偶尔还要跑几段代码验证逻辑。过去半年,我的浏览器里常年开着四五个AI对话标签页,每…

作者头像 李华
网站建设 2026/9/20 6:57:46

React合同审查组件:文档结构树渲染与双向定位完整拆解

合同审查这个场景,我做了快两年。业务方第一句话永远是:几万字的合同,我点左边目录,能不能直接跳到对应的条款?这句话背后就是今天要聊的——React 合同审查组件里的文档结构树渲染与定位问题。文档结构树不是新东西&a…

作者头像 李华
网站建设 2026/9/20 6:55:03

本地部署AI大模型实战:Ollama、LM Studio与llama.cpp对比

这篇文章我写了一个多月,从最初只是想在自己的电脑上跑一个能用的对话模型开始,到后来接了公司一个“文档校对不能出内网”的活儿,前前后后把三种主流本地部署方案都试了一遍。踩了不少坑,也积累了一些实战经验。这篇把整个过程完…

作者头像 李华
网站建设 2026/9/20 6:46:29

以太网温湿度传感器通信校验:CRC16与CRC32选型及STM32实现踩坑复盘

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华