Ralph Wiggum v2 是一个自主的 TDD 开发循环技能,使用并行智能体集群来审查代码、发现问题,并以测试优先的方法逐个修复,直至满足收敛标准。
用途
该技能面向自主开发循环场景,官方描述提到的典型用途包括自主游戏开发和质量改进。它持续对代码库进行审查与修复,直到达到预设的收敛条件。
快速开始
命令示例:
/ralph-wiggum-v2:ralph-loop --project "diablo-starcraft" --completion-promise "DIABLO_STARCRAFT_COMPLETE"
工作流程
工作流分为五个阶段:
阶段 1:发现与初始化
- 定位或创建状态文件:{project}/.ralph/state.json
- 定位或创建类别文件:{project}/.ralph/categories.json
- 若类别为空,则根据代码库结构引导生成
阶段 2:并行智能体审查集群 启动 3 到 5 个并行智能体,每个智能体被分配:
- 一个随机类别(偏向分数最低的类别)
- 该类别内的随机子类别
- 随机审查风格(不与最近 3 次使用过的相同)
- 唯一的关注领域(智能体之间不重叠)
阶段 3:TDD 实现循环 针对每个发现:
- 先编写失败测试
- 实现最小修复
- 验证测试通过
- 更新状态
阶段 4:类别演进 每次迭代后:合并新发现、重新计算评分、每 5 次迭代进行一次元审查(meta-review)。
阶段 5:收敛检测 满足以下条件时完成:连续 10 次清洁迭代、所有类别评分不低于 95/100、全部测试通过、游戏运行不崩溃。
状态结构
state.json 包含字段:project、iteration、consecutiveCleanIterations、requiredCleanIterations、completionPromise、categories、discoveryLog、lastReviewStyles、agentHistory、startedAt、lastUpdated。
categories.json 中每个类别包含:score、maxScore、subcategories(每个子类别含 score、issues、lastReviewed、reviewCount)、discoveredAt、lastUpdated。
审查风格
技能提供多种审查风格,按领域分组:
代码质量:NITPICKER(格式、命名、细节不一致)、REFACTORER(重复、抽象机会)、DRY_ENFORCER(复制粘贴、重复模式)、TYPE_ZEALOT(类型安全、any 使用、类型转换)、SOLID_ADHERENT(SOLID 原则违背)、API_PURIST(接口设计、契约、签名)。
可靠性:DEBUGGER(逻辑错误、边界错误、运算符错误)、EDGE_CASE_HUNTER(边界条件、null/undefined)、ERROR_HANDLER(缺失 try/catch、未处理 promise)、STATE_MACHINE_ANALYST(非法状态转换)、CONCURRENCY_EXPERT(竞态条件、异步 bug)、MEMORY_LEAK_HUNTER(监听器未移除、数组增长)。
性能:PERFORMANCE_HAWK(O(n²)、不必要渲染、热点路径)、ALLOCATION_AUDITOR(对象频繁创建、GC 压力)、RENDER_OPTIMIZER(DOM 抖动、布局抖动)。
安全:SECURITY_AUDITOR(XSS、注入、不安全操作)、INPUT_VALIDATOR(未净化的用户输入)。
架构:ARCHITECT(耦合、内聚、关注点分离)、DEPENDENCY_AUDITOR(循环依赖、紧耦合)、LAYER_GUARDIAN(层级违规、错误抽象)。
测试:TEST_SKEPTIC(覆盖缺口、弱断言)、MUTATION_TESTER(永远通过的测试)、INTEGRATION_ANALYST(单元与集成测试缺口)。
游戏专用:DIABLO_VETERAN(ARPG 惯例、掉落、技能、战斗手感)、STARCRAFT_FAN(阵营特色、单位手感、星际宇宙)、GAME_FEEL_EXPERT(爽感、打磨、响应性)、BALANCE_DESIGNER(数值、成长、公平性)、PLAYER_PSYCHOLOGY(动机、奖励循环)、SPEEDRUNNER(漏洞利用、跳关)、COMPLETIONIST(内容遗漏边界情况)、FIRST_TIME_USER(上手体验、困惑点)。
元审查:FRESH_EYES(新开发者会困惑什么)、DOCUMENTATION_STICKLER(缺失或错误注释)、FUTURE_MAINTAINER(技术债累积)。
智能体输出格式
每个智能体输出包含:agentId、category、subcategory、reviewStyle、filesReviewed、findings(每个发现含 severity、type、location、description、suggestedFix、requiresTest、testWritten、fixed、newSubcategory)、scoreAdjustment、newCategoriesDiscovered、cleanReview。
硬性要求
- PLAYABLE_LOCAL:可在浏览器中运行、可从头玩到尾
- TDD_ENFORCED:没有失败测试就不修复
- ZERO_CRASHES:任何路径均无未处理异常
- ALL_TESTS_PASS:测试套件 100% 通过
- SCORES_95_PLUS:每个类别评分不低于 95/100
- CLEAN_CONVERGENCE:连续 10 次清洁迭代
迭代循环
循环步骤:加载状态与类别 → 迭代计数加一 → 选取 3 到 5 个最低分类别 → 启动并行审查智能体(使用 Task 工具)→ 收集全部发现 → 按严重程度排序(critical → major → minor)→ 对每个发现执行 TDD 修复(写失败测试、最小修复、验证通过、运行完整测试套件)→ 更新评分与状态 → 检查收敛条件(所有智能体是否 cleanReview、是否无 critical/major 发现、测试是否全通过、是否无新发现类别)→ 若清洁则连续清洁计数加一,否则清零 → 若连续清洁次数达到 10 且所有评分不低于 95,则判定收敛并执行最终验证,否则继续循环。
最终验证
达到收敛条件时执行:运行完整测试套件、TypeScript 严格模式检查、构建生产包、验证游戏加载与可玩、生成完成报告。输出:{COMPLETION_PROMISE} achieved。
游戏专用类别(Diablo-StarCraft)
从代码库自动发现的目录类别:engine/、mechanics/、ai/、graphics/、audio/、physics/、world/、persistence/、input/、utils/。
游戏系统类别:Combat(伤害、抗性、暴击、持续伤害)、Skills(技能、冷却、成长)、Loot(掉落、稀有度、装备)、Progression(经验、等级、属性)、Waves(生成、难度、Boss)、UI/HUD(血条、增益、小地图)、Save/Load(持久化、状态恢复)。
限制
本资料未提供价格、收费模式、支持的编程语言范围或运行平台要求等细节,相关事实暂未提供。是否依赖特定 Task 工具或其他外部运行环境,资料未作进一步说明,暂未提供。