惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
博客园 - 司徒正美
博客园 - Franky
Jina AI
Jina AI
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
The Hacker News
The Hacker News
C
Cybersecurity and Infrastructure Security Agency CISA
IT之家
IT之家
S
Schneier on Security
K
Kaspersky official blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Cloudbric
Cloudbric
博客园 - 聂微东
S
Secure Thoughts
人人都是产品经理
人人都是产品经理
Attack and Defense Labs
Attack and Defense Labs
月光博客
月光博客
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Heimdal Security Blog
L
Lohrmann on Cybersecurity
博客园 - 三生石上(FineUI控件)
博客园_首页
V2EX - 技术
V2EX - 技术
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
F
Full Disclosure
宝玉的分享
宝玉的分享
Microsoft Security Blog
Microsoft Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
aimingoo的专栏
aimingoo的专栏
V
Visual Studio Blog
V
V2EX
Security Archives - TechRepublic
Security Archives - TechRepublic
量子位
Simon Willison's Weblog
Simon Willison's Weblog
A
About on SuperTechFans
O
OpenAI News
爱范儿
爱范儿
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
P
Palo Alto Networks Blog
Forbes - Security
Forbes - Security
N
News and Events Feed by Topic
I
InfoQ
L
LINUX DO - 热门话题
博客园 - 【当耐特】

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解 【002】HTTPS 粗解:证书、TLS 握手与对后端配置的影响 Hermes Agent 一周暴涨五万 Star,但我劝你别急着追 明明连接的是Redis的DB0,为什么能查到DB3的数据? 【从0到1构建一个ClaudeAgent】协作-Agent团队 熟悉电子元器件之后,电子小白下一步该怎么走? MAF快速入门(23)通过C#类定义Skills .NET 高级开发 | 手写一个对象映射框架 FastAPI数据库ORM怎么选?我肝了三个Demo后,终于不再纠结了 mysqldump 参数拾遗:在遗忘与铭记之间 C# .NET 周刊|2026年3月5期 Claude code入门 - 陈彦斌 一文学习入门 ThingsBoard 开源物联网平台 GitHub 热门项目 | 2026年04月16日 如何为GIT设置全局勾子,为每次提交追加信息 Number.isFinite和isFinite与isNaN()和Number.isNaN的区别 PortSwigger SQL注入LAB2 推荐一个测试人必备的Skills,从功能到性能全搞定(附详细实操和安装下载方式) 筑基期:掌握Odoo基础核心知识点02(Odoo XML 开发方式详解) GLM模型这么火,咱们用vllm也咧一个呗! 深入理解 AbortController:从底层原理到跨语言设计哲学 字符串学习笔记 多租户系统框架的基础模块设计和分析设计 Apache SeaTunnel Zeta 为什么能做到“又快又稳”? AI开发-python-LangGraph框架(3-26-LangGraph基本概念及第一个简单样例) Vue 3 组件通信,别只会用 Props 和 Emits 了,这几个狠活儿你得看看 ElasticSearch7.X版本配置密码 用Manim实现动态交点计算--从一个动点问题说起 团结引擎+Addressable+Instant Game打包抖音小游戏 function call 实战:让 LLM 自动判断 pod 异常、调用日志工具并完成故障分析 bubseek —— 让 Agent 的足迹,变成团队的洞察 通过 C# 读取并导出 PDF 书签 如何用 GitHub Actions 实现 Steam 自动化发布 【从0到1构建一个ClaudeAgent】并发-后台任务 .NET 高级开发 | 定制 ASP.NET Core 框架 电子小白:什么是运算放大器(运放) zero2Agent:面向大厂面试的 Agent 工程教程,从概念到生产的完整学习路线 堆上的ORW HC32F460 USB CDC通信异常:非对齐访问异常排查 20260413-Hyperbridge 攻击事件:发生在默克尔山上的验证绕过 那些喊着AI 要淘汰你的人,正在靠你的焦虑赚大钱! 深度学习进阶(八)Swin Transformer 最小二乘问题详解19:带先验约束的增量式SFM优化与实现 SnapTranslate 3.0 正式发布:全局划词翻译 + 完整英语学习闭环,一站式搞定查词、记词、复习 工作的意义、工作的困难认知再思考 .NET + AI 进阶实战:基于类的技能开发 - 打造可治理的 Agent 能力模块 【从0到1构建一个ClaudeAgent】规划与协调-技能 上周热点回顾(4.6-4.12) 电子小白的工具三件套:面包板、杜邦线、万能板 单表五亿数据的查询优化 | Mysql、StarRocks 2. WorkBuddy:从“我是谁”到“帮我干活” C# 如何减少代码运行时间:7 个实战技巧 基于HelixToolkit.SharpDX 渲染3D模型 - 笺上知微 从零开始的双臂具身VLA起源及现阶段发展综述 - SkyXZ 记对 xonsh shell 的使用, 脚本编写, 迁移及调优 - pluvium27 受够了Vibe Coding的失控?换个起点,让AI事半功倍 从开始配置漏洞环境到漏洞复现流程 - 難しい 关于10年工作经验的程序员对OpenClaw的实战经验分享以及看法 - 虚无境 Any metadata 的内存布局 C# .NET 周刊|2026年3月2期 - InCerry 我帮你测过了,测试圈排名第二的 Skill 依然很牛逼 Skill Discovery | 无监督技能发现的经典工作总结 - MoonOut 上下文工程是什么?过时了么?一文讲明白! - 一枫说码 开了 TUN 模式还是直连?90% 的人都踩过这个坑 AScript扩展多种脚本语言 - rockey627 AI 学习笔记:Agent 的记忆机制 你能被装进一个文件里吗?——7 万人把同事"蒸馏"成了 AI - 我没有三颗心脏 Claude Code 通关手册(七):给 AI 装上技能包——Skills 完全指南 - 暮色之狐 在浏览器中快速编辑代码:VSCode Web 集成实践 - Newbe36524 蒸馏自己 skill?基于 Deepseek 的蒸馏器,丐版蒸馏方式,简单便捷 - To_Carpe_Diem Spring AI Aliababa和AgentScope,哪个更好? - 苏三说技术
BMAD Story Automator 上手实录:把 5 个待办 Story 交给 AI 自主推进
四眼蒙面侠 · 2026-05-14 · via 博客园_首页

如果你已经习惯通过 BAMD 写代码,接下来真正耗时间的,往往不是“写”,而是“协调”。

一个 Epic 里有 5 个、10 个、20 个 Story。每个 Story 都要经历创建规格、开发实现、自动化测试、代码审查、回顾总结。真正让人疲惫的,不是某一步本身,而是你要不断盯着流程、切换会话、处理失败、决定下一步。

Story Automator 想解决的,就是这层“人肉编排”。

昨晚我实际跑了一遍 /bmad-story-automator 的完整流程。下面就是这次使用过程的记录,以及一些当时截下来的图。


它解决的不是“写代码”,而是“盯流程”

先用一句话概括 Story Automator:

你告诉它要处理哪些 Story、用什么执行策略,它就自动完成「创建规格 → 开发实现 → 测试自动化 → 代码审查 → 回顾」这条流水线,只在真的需要人类决策时才打断你。

这和普通“单命令跑一个 Skill”不一样。它更像一个构建周期编排器

初始化
  → 读取 Epic / Sprint 状态
  → 选择 Story 范围
  → 评估复杂度
  → 选择 Agent 策略
  → 执行 create / dev / automate / review / retro
  → 在失败或冲突时升级给人类

从设计上说,它是在自动化“协调工作”,而不是直接替代某一个具体开发步骤。


升级BMAD到最新版(v6.6)

如果你想体验 Story Automator,需要先把 BMAD 升到 6.6。安装时记得把 BMad Automator (Experimental) 这个模块勾上。

BMAD 6.6 安装时新增的 BMad Automator 模块

不然装完 BMAD,后面是用不起来的。


第一次运行:先补齐 Stop Hook,防止工作流半路被打断

第一次执行 /bmad-story-automator 时,它不会急着开跑,而是先做初始化检查。

从下面这张图可以看到,它先加载配置,然后尝试读取当前编排状态;如果发现状态目录还不存在,这是正常的首次运行场景。接着它会自动安装 Stop Hook.claude/settings.json 中。

Story Automator 首次运行时自动安装 Stop Hook


第一步:先选 Story,不是盲跑所有待办项

真正进入编排前,Story Automator 会先读取 Epic 和 sprint 状态,然后让你决定处理范围。

下面这张图展示了一个很典型的场景:Epic 5、6、7 中一部分 Story 已完成,一部分仍然待办。工具会把这些状态直接展示出来,然后询问你要处理哪些 Story。

Story Automator 根据 sprint 状态列出可处理的待办 Story


第二步:复杂度不是拍脑袋,而是先打分再分配 Agent

这是我觉得 Story Automator 最有意思的部分之一。

它不是把所有 Story 一股脑丢给同一个 Agent,而是先生成一个Story 复杂度矩阵。截图里可以看到:

  • Story 5.3 “Server 命令与 API 认证” → 4 分 / Medium
  • Story 6.1 “通过 SDK AgentMCPServer 暴露 Axion” → 2 分 / Low
  • Story 6.2 “axion mcp 命令与外部 Agent 集成验证” → 2 分 / Low
  • Story 7.1 “基于 SDK Pause Protocol 的用户接管机制” → 2 分 / Low
  • Story 7.2 “--fast 模式” → 5 分 / Medium

Story Automator 自动生成 Story 复杂度矩阵

更关键的是,它不只给分,还给出原因

  • authorization / permissions
  • 实时通信
  • 验收标准数量高
  • Story 文本较大

这意味着复杂度评估不是黑盒。你看到的不只是“结论”,而是“为什么它觉得这个 Story 更难”。这会直接影响后续的 Agent 选择策略。

换句话说,Story Automator 在做的事其实是:

先把 Story 变成“可调度对象”,再决定谁来执行。


第三步:你可以塞入自定义指令,但默认不强迫你多想

接下来它会问你有没有自定义指令

Story Automator 询问是否添加自定义指令

比如:

  • 每次修改后都运行测试
  • 优先处理某个 Story
  • 注意数据库迁移

这个设计我很喜欢,因为它在“全自动”和“可控”之间找到了一个不错的平衡:

  • 如果你没有特殊要求,直接选 none
  • 如果你有本轮迭代的偏好,可以临时注入

也就是说,它把“人类经验”当成一种可选输入,而不是每次都强迫你从头配置一大堆参数。


第四步:执行设置决定它跑得多激进

再往下,就是执行策略层面的配置。截图中可以看到两个核心问题:

  1. 是否跳过 automate 步骤(测试自动化)
  2. 最大并行会话数是多少

Story Automator 的执行设置界面

默认值是:

  • 不跳过 automate
  • 最多 1 个并行会话

对大多数真实项目来说,测试自动化是交付闭环里最不该轻易跳过的一环;而并行度默认设为 1,也避免了多个会话同时改动同一代码库时互相干扰。也就是说:

默认先追求“可控完成”,而不是“并行冲刺到极限”。


第五步:不同复杂度,自动映射到不同 Agent

有了复杂度矩阵之后,Story Automator 就能推荐 Agent 配置。

推荐配置如下:

  • Low:create / dev / auto / review 都用 Claude
  • Medium:create / dev / auto / review 都用 Codex,Claude 作为备选
  • High:同样以 Codex 为主
  • Retro:回顾阶段使用 Claude

Story Automator 基于复杂度推荐 Agent 组合

从这个配置可以看出,它已经不是“调用一个模型”的层面了,而是在做模型编排

而且它还提供了策略选项:

  • Suggested:采用按复杂度分层的推荐配置
  • Uniform:所有 Story 都使用同一个 Agent

不同团队可以这样用:

  • 想稳一点,按推荐走
  • 想保持行为一致,就统一 Agent

而从后面的配置摘要截图也能看出来,这次实际演示最后保存成了 all-claude。这恰好说明:推荐是推荐,不是强制。 你既可以让系统按复杂度智能分配,也可以为了稳定性或一致性,手动统一到同一类 Agent。

这一步让整个系统更像一个“调度器”,而不是一个简单的命令包装器。


第六步:配置会被显式保存,方便恢复和复盘

当你确认后,Story Automator 会把这次运行配置保存下来。截图里展示的是一个名为 all-claude 的配置摘要:

Story Automator 保存运行配置并生成摘要

摘要里写了几件事:

  • Epic 是哪个
  • Story 范围是什么
  • 自定义指令有没有
  • create / dev / auto / review / retro 分别用什么 Agent
  • 是否跳过自动化

这类“摘要页”看起来很普通,但它是编排器可恢复、可审计、可复盘的基础。

因为自动化一旦跨越多个 Story、多次会话、多个阶段,就一定会面对这些问题:

  • 中途停了怎么办?
  • 我这次到底选了什么配置?
  • 为什么这批 Story 用的是这个 Agent 组合?

有了显式保存的配置,后续无论是恢复执行还是事后分析,都不会变成猜谜游戏。


实际体验结论

昨晚睡觉前,我直接把这 5 个 Story 交给 Story Automator 去跑。早上起来看结果,它总共跑了 5 个半小时

坦白说,速度是比我自己手工盯着跑要慢的。按我平时的节奏,这 5 个 Story 如果自己来,估计 3 个小时内能收完。至于为什么会慢这么多, 具体原因还不太清楚, 还没有仔细的去分析它的实现原理,不过目前还只是试验版,能跑通比较重要。

目前比较适合:睡觉前梭一把。

另外一个我觉得做得不错的点,是每个 Epic 跑完之后,它会顺手做一次复盘,把有用的信息补到 project-context.md 里。

Epic 完成后会把复盘结果补充到 project-context.md

所以我现在对它的看法很简单:

白天手工跑,目前还是自己手工跑会更快。
但睡前把一批 Story 交给它过夜跑,这个场景它真的挺合适。

如果你正在使用 BMAD 来开发项目,你一定要试一下 Story Automator,它可能是你将重复协调时间从小时级降到分钟级的工具。