ARTICLE DETAIL

资讯详情

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

6 个测试从红到绿:Superpowers 并行代理分发与条件等待完整指南

6 个测试从红到绿:Superpowers 并行代理分发与条件等待完整指南 6 个测试从红到绿Superpowers 并行代理分发与条件等待完整指南【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers上周一次大重构之后测试套件红了6 个失败散在 3 个文件里。逐个排查得耗掉大半天。这类场景的正解藏在 Claude Code 的 Superpowers 技能框架里是两个高级功能并行代理分发、条件等待。6 个测试失败串行排查为什么慢失败名单长这样agent-tool-abort.test.ts 挂了 3 个batch-completion-behavior.test.ts 挂了 2 个tool-approval-race-conditions.test.ts 挂了 1 个。原因还各不相同——有的是时序问题有的是工具压根没执行还有一个执行计数是 0。串行排查的代价是前一个问题没查完后面的只能干等。可这三件事彼此没关系abort 逻辑修没修好跟竞态测试过不过毫无关系。技能定义在 skills/dispatching-parallel-agents/SKILL.md核心规则一句话一个独立问题配一个代理同时出发。并行分发怎么玩给 3 个 AI 各领一个案子打个比方派出所来了 3 个案子与其让一名警探从头查到底不如分给 3 个探员各管一摊。总耗时从三个案子的时间相加变成最慢那个案子的时间。落到操作上就四步按模块分组A 文件管中止流程B 文件管批量完成C 文件管审批竞态各自独立成一个问题域。写一张聚焦任务单范围只限这一个文件目标是通过它的测试约束是不许动其他代码交付物是根因 改动摘要。同一条回复里下发全部指令同一轮下发等于并行一轮只发一个就等于排队。收工后整合逐个读摘要确认没人改同一处代码最后跑一遍全量测试。真实会话里 3 个代理的产出一个把固定超时换成了事件等待一个修掉了事件结构里 threadId 放错位置的问题一个给异步工具执行补上了等待。三处改动互不冲突全量测试一次通过。什么时候用3 个以上文件因不同原因失败、排查之间没有共享状态。什么时候别用失败之间有关联修好一个可能连带修好别的、必须看懂整个系统才能动手、或者代理们会改同一批文件。把 sleep 换成 waitFor三种典型等待场景上面那些时序问题的病根基本是同一行代码睡 50 毫秒希望够了。快机器上碰巧够CI 或高负载下就挂——这就是典型的测试竞态条件。换个比方过马路要看红绿灯绿灯亮了再走而不是闭眼数秒就冲。waitFor 干的正是看灯这件事不断检查真实条件成立才放行。// 原来闭眼数秒 await new Promise(r setTimeout(r, 50)); // 现在等到条件成立 await waitFor(() getResult() ! undefined);三类高频场景等事件事件流里出现 DONE、等状态machine.state 变成 ready、等计数列表长度到 5。不想自己写轮询的话waitForEvent、waitForEventCount、waitForEventMatch 三个封装可以直接抄完整实现在 skills/systematic-debugging/condition-based-waiting.md 同目录。固定延迟 vs 条件等待对比点固定 sleep条件 waitFor等的对象一个猜出来的时长一个真实成立的条件快机器碰巧过条件一成立立刻返回更快高负载 / CI容易不稳定条件成立就过不再看运气出错时看不出卡在哪一步报错直接说在等什么、等了多久一张表看效果数据这轮真实调试发生在 2025-10-03前后对比指标改之前改之后通过率60%100%不稳定用例3 个文件里 15 个清零执行时间基准提速 40%竞态条件频繁出现不再复现通过率拉满的同时执行时间反而更短原因不复杂sleep 是做完了也得睡满waitFor 是条件一成立立刻走机器越快赚得越多。避坑清单这 5 件事别做❌ 1ms 就轮询一次——太密纯烧 CPU。10ms 是平衡点。❌ 等条件却不设超时——条件永远不成立时测试会挂死。默认给 5000ms报错里写清楚在等什么。循环外缓存状态——必须每次在循环里取新鲜数据否则一直看的是旧快照。代理任务单不写约束——只收到一句修好了不知道动了哪里。要求它返回根因和改动清单。靠调大超时修不稳定测试——竞态条件被埋起来了没被修掉。问题独立就并行派总耗时从相加变取最慢条件不明就等条件测试不再看时序脸色做完跑全量用通过率从 60% 到 100% 的数字说话。【免费下载链接】superpowersAn agentic skills framework software development methodology that works.项目地址: https://gitcode.com/GitHub_Trending/su/superpowers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表