ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

Superpowers:并行代理分发  条件等待,把测试排查时间砍到 1/3 Superpowers并行代理分发 条件等待把测试排查时间砍到 1/3【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowersSuperpowers 是跑在 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 事件文件监听的测试等不到文件落盘两处共享代码为零。先归组两个文件互不引用属于两个独立故障域可以拆。在同一条回复里派 2 个子代理每份简报只含一个测试文件名、报错日志加一条约束只许改这个文件别的代码别碰。你现在看终端两个代理的进展先后跳出来各自把自己测试里的 sleep 换成前面提到的 waitFor然后各回一段摘要。验收对照两份摘要确认没人碰同一个文件跑一遍全量测试全绿。全程花的时间和你一个人串行查一个问题差不多。什么时候该用什么时候别用✅ 该用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),仅供参考
返回列表