SuperAPI AI 工具集

event-storming

智能体与模型

查看项目

更新于 10-16 01:59

技能介绍

用途

Event Storming 是一个基于研讨工作坊方法的协作式领域发现技能,由 AI 模拟事件风暴研讨过程。它适用于以下场景:为业务流程发现领域事件、识别系统中的命令与参与者、寻找限界上下文边界、模拟多方利益相关者的事件风暴工作坊、为真实事件风暴主持做准备,以及从现有代码结构中分析领域事件。相关关键词包括:event storming、domain events、commands、actors、bounded contexts、aggregates、domain discovery、workshop simulation、multi-persona、DDD。

什么是事件风暴

事件风暴是一种基于工作坊的协作式领域发现方法。参与者使用便利贴来梳理:事件(橙色,领域中发生的事)、命令(蓝色,触发事件的动作)、参与者(黄色,谁发出命令)、聚簇(黄色,处理命令的业务实体)、读模型(绿色,决策所需的信息)、策略(紫色,业务规则与反应)、外部系统(粉色,外部集成)、热点(红/粉色,困惑或冲突的区域)。

工作坊模式

该技能支持三种运行模式:

模式 说明 Token 开销 适用场景
full-simulation 5 个人格并行辩论,6 个阶段 约 15K tokens 全面发现
quick 单次分析,无人格 约 3K tokens 快速领域概览
guided 与用户交互,按需调用人格 可变 用户希望掌控流程

模式选择建议:

  • 使用 full-simulation:启动新项目或重大功能、需要全面的领域发现、多视角有价值、彻底性优先于时间。
  • 使用 quick:需要快速领域概览、Token 预算受限、领域相对简单、后续再细化。
  • 使用 guided:希望主导流程、有具体问题、想调用特定人格、偏好交互式探索。

多人格模拟(完整仿真)

完整仿真模式使用 5 个专门代理模拟不同利益相关者视角:

人格代理 角色 视角 贡献
domain-expert 主题专家 深度业务知识 领域事件、业务规则、边界情况
developer-persona 技术实现 系统约束 技术事件、集成点
business-analyst 流程与需求 流程流转 命令、参与者、验收标准
product-owner 产品愿景 用户价值 优先级、MVP 范围、用户故事
devils-advocate 质疑者 发现缺口 热点、缺失场景、矛盾

6 个工作坊阶段(完整仿真)

阶段 1:混沌探索。所有人员独立头脑风暴事件,无约束、无排序。编排方式为并行启动 5 个 Task 代理,分别针对领域专家、开发者、业务分析师、产品负责人、质疑者,就指定领域识别相应内容。

阶段 2:时间线排序。综合并按时间顺序排列事件,形成时间线。

阶段 3:命令发现。识别每个事件的触发来源,将命令映射到事件。

阶段 4:参与者识别。映射每个命令的发出者,定义角色与系统。

阶段 5:限界上下文发现。对相关事件/命令进行分组,识别自然边界。

阶段 6:热点解决。由质疑者提出挑战,解决冲突与缺口。

各阶段的详细指导见 references/workshop-facilitation.md。

便利贴颜色约定

颜色 代表 示例
🟧 橙色 领域事件 "Order Placed"、"Payment Received"
🟦 蓝色 命令 "Place Order"、"Process Payment"
🟨 黄色(小) 参与者 "Customer"、"Admin"、"System"
🟨 黄色(大) 聚簇 "Order"、"Customer"、"Product"
🟩 绿色 读模型 "Order Summary"、"Product Catalog"
🟪 紫色 策略 "When order placed, reserve inventory"
🟫 粉色 外部系统 "Payment Gateway"、"Email Service"
❗ 红/粉色 热点 困惑或冲突的区域

详细约定见 references/sticky-note-types.md。

编排模式

由于 Claude Code 子代理无法再生成子代理,由主对话进行编排:主对话调用 event-storming 技能,技能引导并行的 Task 工具调用(分别调用 5 个人格),技能再综合结果并进行来源追踪,最终输出带有 [persona] 署名的事件目录。

快速开始示例

完整仿真模式提示词:

I want to run a full event storming simulation for an e-commerce order management system.

Please:
1. Launch all 5 persona agents in parallel
2. Have them analyze the domain
3. Synthesize their findings
4. Identify bounded contexts
5. Resolve any hot spots

快速模式提示词:

Give me a quick event storm overview for a subscription billing system.
Focus on the core happy path events.

引导模式提示词:

Let's do a guided event storming session for a hospital appointment system.
Start with the patient booking journey and I'll guide from there.

输出格式

事件风暴会话生成结构化的事件目录,包含:事件目录(按限界上下文分组,列出事件、命令、参与者、聚簇、策略)、识别出的限界上下文(标注核心域/支撑域/通用域)、以及热点。

完整模板见 references/templates/event-storm-output.md。

与其他技能的集成

事件风暴可与以下技能连接:domain-storytelling(故事为事件发现提供输入)、modular-architecture(限界上下文成为模块)、fitness-functions(模块隔离测试)、adr-management(记录限界上下文决策)。工作流为:领域故事讲述(理解"是什么")→ 事件风暴(设计"怎么做")→ 模块化架构(实现"在哪里")。

最佳实践

从事件开始(事件是事实,命令可讨论);使用过去时("Order Placed" 而非 "Place Order");探索边界(事件有助于发现模块边界);拥抱混乱(初始头脑风暴应是无序的);跟踪来源(了解每条洞见来自哪个视角);解决热点(不要留下未处理的冲突)。

参考资料

  • references/workshop-facilitation.md - 阶段编排与时间安排
  • references/persona-prompts.md - 每个人格的提示词模板
  • references/sticky-note-types.md - 颜色约定与用法
  • references/bounded-context-discovery.md - 上下文识别模式
  • references/templates/event-storm-output.md - 带来源的输出格式

面向用户的接口

当被用户直接调用时,该技能运行一次 AI 模拟的事件风暴工作坊。执行工作流如下:

  1. 解析参数 - 提取领域描述与模式。若未提供描述,询问用户要对哪个领域做事件风暴。默认模式为 guided。
  2. 按模式执行:Full - 并行启动 5 个人格代理,综合输出并进行来源追踪,合并事件目录,识别热点,并分组为限界上下文候选。Quick - 单次分析,识别领域事件、命令、参与者及潜在限界上下文边界。Guided - 交互式 6 阶段工作坊(混沌探索、时间线排序、命令发现、参与者识别、限界上下文发现、热点解决)。
  3. 生成输出 - 产出包含领域事件、命令、限界上下文候选和热点的事件目录。
  4. 保存结果 - 保存至 docs/event-storming/[domain-name]-[date].md(或自定义 --dir)。
  5. 建议后续步骤 - 对不清晰流程推荐领域故事讲述,对集成策略推荐上下文映射,对关键决策推荐 ADR。

版本历史

v1.0.0(2025-12-22):首次发布。包含 5 个代理的多人格模拟、三种工作坊模式(full、quick、guided)、6 阶段工作坊结构、洞见来源追踪,以及与 domain-storytelling 和 modular-architecture 的集成。

最后更新:日期 2025-12-22;模型 claude-opus-4-5-20251101。