夜雨聆风学习资料网

ARTICLE · 1220427

一个 iOS 应用被做成了网页,superpowers 因此重写了 brainstorming

一个 iOS 应用被做成了网页,superpowers 因此重写了 brainstorming

superpowers 7.0.0 的更新日志里,有一句话写得很不客气:

We made this change after a session designed an iOS app, never asked about platform, and built a web app.

翻译过来:有一次会话里,用户想做一个 iOS 应用, agent 从头到尾没问过平台,最后交付了一个网页。

这句话解释了 7.0.0 最大的改动: brainstorming 技能被整个重写。这次重建没有停留在加参数、调提示词。

这次改的是"先问清楚"这件事

新版 brainstorming 的第一条消息不再抛一堆问题,而是先请你描述想要什么、为什么要。你说完之后,它会用几百字把自己的理解复述一遍,并且标明哪些是猜测。理解对了才往下走。

问不出东西的时候,它才给菜单。

这件事听起来像产品体验优化,但解决的是一个成本很高的问题: agent 理解偏了,越往下做越贵。一个 iOS 项目做成网页,损失一次对话只是表面,真正废掉的是整个设计过程。

它开始给工作分级

旧版只有一个模式:出规格文档。新版会根据理解到的工作量分三档:

•小任务,直接做
•小改动,在对话里跟你确认
•项目级,写设计文档

你可以推翻它的判断。工作量变大时它会自动升档。

同时加了一个「 builder check 」:让一个新的子 agent 以"我要来实现这个东西"的视角读设计稿,列出还需要问什么。 brainstorming 能答的自己答,拿不准的标成自己的判断,只把会影响最终成品的问题带回来,一轮问完。

这个设计有点意思。它绕开了原作者自查,换成另一个人来读,专门找"我照着这个做会卡在哪"。

它开始问:哪些技术选择你想自己拍板

平台、语言、库、媒介形式,这四类属于"做出来就改不动"的决策。

新版会明确问你对这些有没有强偏好。你有想法就展开讨论;你把决定权交出去,它选默认值,并且告诉你选了哪些。

这一段是直接冲上面那个 iOS 事故来的。 release notes 里还补了一句:即使你选择跳过所有提问,它也会做这一步。

上一版在忙什么

前一个版本 v6.4.2 是 2026-09-25 发的,只隔了两周。那一版改的是 writing-plans :计划不再抄代码,只记实现者需要的决策:函数签名、测试断言、规格里的数值。

当时的动机也很具体:有些前沿模型(包括 Opus 5.5 )在写计划时过于积极,会顺手把整个项目实现掉。

改完之后的数据是:计划耗时降到四分之一, token 降到三分之一;在 Sonnet 5 上用植入缺陷的探针跑 9 个计划,全部通过。

把这两版连起来看,路线很清楚:6.4.2 管住"计划写太满", 7.0.0 管住"动手前没问清"。都是在收缩 agent 的自主发挥空间。

顺手修掉的三个问题

release notes 里值得单独看的,是三个和功能无关的修复。

第一, Windows 上的命令劫持。 旧版 run-hook.cmd 会在 PATH 和当前目录里找 bash 和 where。这意味着一个仓库只要放一个 bash.cmd 或 where.bat,就能在会话启动时被执行。

新版改成忽略当前目录里的这两个程序。

顺带修了两件事: Windows 上找不到 Git for Windows 时改查 %LOCALAPPDATA%\Programs\Git,并跳过 WSL 的启动器; hook 的退出码现在会回传给 harness 。之前即使 hook 失败也报成功。

第二,调试示例把自己的密钥打进了日志。 systematic-debugging 里有一段多层诊断示例,用 ${IDENTITY:+SET}${IDENTITY:-UNSET} 和 env | grep IDENTITY 检查变量,结果把签名身份的值直接写进了日志。新版只报告"是否已设置"。

第三,代码审查示例被参数替换打崩了。 示例里原本写 awk '{print $1}',但 Claude Code 会把 skill 正文里的 $1 替换成第二个参数词,于是 $1 变成了用户输入的任意单词。改成 cut -d' ' -f1,不含 $,就不会被替换。

这类 bug 不会让功能挂掉,但会让一篇"安全实践"文档本身变成反面教材。

跨平台这块,开始认真了

Antigravity 市场现在有原生插件清单,agy plugin install 直接装,不用再退化成 Gemini CLI 扩展。之前那个退路每开一次会话都会报 invalid hook "hooks": command hook must specify 'command'。

Antigravity 没有 session-start hook ,新版靠 skill 描述来引导加载。发布方在 agy 1.3.1 上跑了 12 次验证:"做个 react todo list"和"加个设置页"都在写代码前触发了 brainstorming ,一个失败的测试在改代码前触发了 systematic-debugging 。

Hermes 那边修的是一个更基础的问题:插件注册 skill 时只传了名字和路径,描述是空的,模型在选择器里看到的是一片空白,没有依据可选。现在会把 frontmatter 里的描述一起传过去。

这版更新在说什么

一个已经有三十万星标的框架,把最大的一次改动花在"让它先问清楚再动手"上,而不是加更多技能。

这个选择本身比功能清单更值得看。它承认了一件事: agent 的能力越强,理解偏差的代价越大。问一句的成本,远低于返工一遍的成本。

至于那三个 bug ,修完之后不影响任何人使用。但把它们写进 release notes 、标注 issue 编号和提交者,比悄悄合并更值得信任。

你在用 agent 做东西时,有没有遇到过"它从头到尾没问,直接做错了方向"?

GitHub : https://github.com/obra/superpowers

相关学习资料