news 2026/8/28 10:43:54

Superpowers:并行代理分发 条件等待,把测试排查时间砍到 1/3

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Superpowers:并行代理分发 条件等待,把测试排查时间砍到 1/3

Superpowers:并行代理分发 & 条件等待,把测试排查时间砍到 1/3

【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers

Superpowers 是跑在 Claude Code 里的 AI 代理技能框架。它的并行代理分发让多个 AI 代理同时排查互不相关的故障,条件等待则用真实条件替代 sleep 猜测,专治测试稳定性。

🔥 周一早上,本地全绿,CI 全红

上周末你刚重构完事件总线,周一拉代码,本地测试唰唰全过——你的机器快,200 毫秒的 sleep 总能等到结果。可 CI 慢,同一套测试红了 14 个,日志里全是"等不到 DONE 事件"。更糟的是,本地一升级依赖,文件监听和工具审批两处也炸了。这些故障八竿子打不着,可你只能一个文件一个文件串行查,每换一次上下文就得把代码重读一遍,大半天就这么没了。

Superpowers 给这两类烂摊子各配了一把刀:故障互相独立时,用并行代理分发拆成几份同时查;测试在猜时间时,用条件等待把 sleep 换成等真实条件。

🧩 怎么拆:一个管派活,一个管改等法

并行代理分发:把活拆成互不沾边的几份

  • 每个独立故障域派一个 AI 代理,简报里只放它需要的那份上下文,不继承你的会话历史。就像同时把 3 张工单派给 3 个同事,各查各的,互不串门。
  • 同一条回复里发出多个派遣才会并行跑,一条回复只派一个就退化成串行。并行的开关,在你手里。
  • 代理回来你负责验收:读各自的摘要,确认没改到同一处代码,再跑一遍全量测试。

条件等待:不数秒数,等真事

  • 把 sleep 换成 waitFor 轮询函数,每 10 毫秒检查一次你真正关心的条件,成立就立刻放行。就像烤箱"叮"一声才走人,而不是看一眼钟猜时间。
  • 默认 5 秒超时,超时的报错直接说清"在等什么",不会让你对着一个无声挂死的测试发呆。
  • 仓库里还有 waitForEvent、waitForEventCount 这类封装,等某个事件、等够某个数量,直接调。

⚡ 踩坑写法 vs 推荐写法

改动前:

// 猜 50ms 够不够:本地快机过,CI 慢机就红 await new Promise(r => setTimeout(r, 50)); expect(getResult()).toBeDefined();

改动后:

// 等结果真的出现才走,机器快慢都稳 await waitFor(() => getResult() !== undefined, "结果已产生"); expect(getResult()).toBeDefined();

差别不在那一行代码,在于前者赌的是"机器够不够快",后者赌的是"事情真的发生了"。前者在 CI 上翻车,几乎只是时间问题。

实操:从两条红测试到全绿

拿个小例子:重构后,事件总线的测试等不到 DONE 事件,文件监听的测试等不到文件落盘,两处共享代码为零。

  1. 先归组:两个文件互不引用,属于两个独立故障域,可以拆。
  2. 在同一条回复里派 2 个子代理,每份简报只含一个测试文件名、报错日志,加一条约束:"只许改这个文件,别的代码别碰"。
  3. 你现在看终端,两个代理的进展先后跳出来,各自把自己测试里的 sleep 换成前面提到的 waitFor,然后各回一段摘要。
  4. 验收:对照两份摘要确认没人碰同一个文件,跑一遍全量测试,全绿。

全程花的时间,和你一个人串行查一个问题差不多。

什么时候该用,什么时候别用

✅ 该用:

  • 3 个以上故障,根因各不相同,共享状态为零
  • 每个问题不看其他问题也能看懂
  • 各代理不会同时改同一个文件

⚠️ 别用:

  • 故障相互关联,修好一个可能顺手修好另两个
  • 你还在探索阶段,压根不知道哪里坏了
  • 测的就是防抖、节流这类时序行为,该用带注释的固定时长

项目自己的调试记录里,这套组合拳修掉了 15 个不稳定测试,通过率从 60% 拉到 100%,测试套件还快了三成多。想上手的话,去翻一下 skills/ 目录里的 SKILL.md,重点看 skills/dispatching-parallel-agents/ 和 skills/systematic-debugging/ 两处,照着派第一个代理就行。

【免费下载链接】superpowersAn agentic skills framework & software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers

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

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

andrej-karpathy-skills 使用指南:用一份 CLAUDE.md 约束 AI 编码助手

andrej-karpathy-skills 使用指南:用一份 CLAUDE.md 约束 AI 编码助手 【免费下载链接】andrej-karpathy-skills A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls. 项目地址: http…

作者头像 李华
网站建设 2026/8/28 10:38:44

C++11模板编程实战:可变参数、类型推导与编译期计算

1. 项目概述:C11模板的进化与实战价值如果你写过一些C模板代码,尤其是在C98/03时代,大概率经历过这样的场景:为了写一个通用的max函数,你不得不为每种类型都写一个特化,或者写一个充斥着typename和复杂语法…

作者头像 李华
网站建设 2026/8/28 10:34:53

如何构建MCP服务器:TypeScript与Python双版本实现对比

如何构建MCP服务器:TypeScript与Python双版本实现对比 【免费下载链接】skills Public repository for Agent Skills 项目地址: https://gitcode.com/GitHub_Trending/skills3/skills 本文以接入GitHub等外部服务的MCP服务器为例,讲清TypeScript与…

作者头像 李华
网站建设 2026/8/28 10:33:12

如何更新与维护 Superpowers:保持 AI 编码技能常新的完整指南

如何更新与维护 Superpowers:保持 AI 编码技能常新的完整指南 【免费下载链接】superpowers An agentic skills framework & software development methodology that works. 项目地址: https://gitcode.com/GitHub_Trending/su/superpowers Superpowers …

作者头像 李华
网站建设 2026/8/28 10:29:16

如何用Transformers把多人会议录音转成文字

如何用Transformers把多人会议录音转成文字 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training. …

作者头像 李华
网站建设 2026/8/28 10:28:24

File Locksmith 完整指南:不重启也能定位文件占用

File Locksmith 完整指南:不重启也能定位文件占用 【免费下载链接】PowerToys Microsoft PowerToys is a collection of utilities that supercharge productivity and customization on Windows 项目地址: https://gitcode.com/GitHub_Trending/po/PowerToys …

作者头像 李华