Skip to content

工作流程 ​

Dotbrain 给 Agent 一个存放所学内容的地方。本页跟着一项工作,从最初的想法走到结束设计,并说明每一步 由哪个技能负责。

这些步骤都不是必须的。一行代码的修复,只需要会话开始时加载的 Brain 上下文就够了。当工作跨多个会话、 涉及不熟悉的代码,或者还有悬而未决的问题时,完整的闭环才划算。

闭环一览 ​

  1. 摸清情况find-unknowns
  2. 敲定决策grill-decisions
  3. 写设计to-design
  4. 拆成任务to-issues
  5. 处理任务manage-work-graphrun-executioniterate-design
  6. 审阅review-gate
  7. 结束设计close-design

两个回路让闭环合上:工作中的新发现流回设计;结束设计时,其中的决策写回 Brain。

每一步都通过文件或任务记录交接,而不是靠聊天记录。新会话可以从任意一步接着做,因为它需要的状态都在 Brain 或 Beads 里。

1. 摸清情况 ​

动不熟悉的代码之前,先让 Agent 运行 find-unknowns。它会对照 Brain 阅读这块代码,报告那些会改变你做法的东西: 缺失的术语、代码并不支持的假设、没人写下来的约束。

text
Run find-unknowns on the payment retry path before we change it.

2. 敲定决策 ​

grill-decisions 会对照项目已有的术语和决策,就一个计划逐个分支地追问你。每定下一件事,就当场记下来:

  • 新的或更精确的术语写进 CONTEXT.md
  • 难以撤回、有真实取舍的选择成为 adr/ 里的一条 ADR

3. 写设计 ​

to-design 把敲定的方案写成 .brain/designs/ 里的一份设计文档,并在 Beads 里开一个跟踪用的 epic。 设计处于 active 状态时,它就是这项工作的权威依据:方案、成功标准、已知的未知项,以及实现过程中 发现的偏差。

设计会经过一组固定的状态:

只有 draft 和 active 状态的设计会变化。进入终态的设计是某个时间点的记录。

4. 拆成任务 ​

to-issues 把设计拆成 epic 下的一组垂直切片任务,每个任务都带验收标准和 blocks 依赖。 这样“接下来能做什么”就成了一次查询,而不用翻文档:

bash
bd ready

5. 处理任务 ​

manage-work-graph 维护工作图:创建、关联和认领任务,在满足标准时关闭它们。run-execution 负责完成一个任务 或一批固定的任务:分派 worker,让每个改动都经过审阅,合并结果,运行检查,在达到重试上限或需要人来决定时停下。 如果实现过程中发现了设计没预料到的情况,这个发现会写回设计和相关任务,下一个会话就能看到。

每次运行都有两个相互独立的选择:谁来主导,以及同时有几个 Agent 在写代码。

任务分配、归属和内置 subagent 的协作方式,见和 Agent 团队一起工作。

顺序并行
人在回路中:每一步由你指挥同一时间只有一个 Agent 在写,通常就是你自己的会话。多个 worker 同时处理互不相关的任务,各自在自己的 worktree 里。
交接:Agent 在你批准的约定范围内继续iterate-design 一次处理一个任务。iterate-design 并行处理互不相关的任务。

只有当几个任务同时就绪、改的是不同文件、并且不共用构建产物、数据库或端口时,Agent 才会并行处理它们。 如果由你指挥,它会在开始前告诉你打算怎么拆分,你可以调整。

无论哪种方式,工作都在一个专用分支上进行,通过你审阅的 PR 进入 main。Agent 在推送或开 PR 之前会先问你, 只有你明确要求时,才会直接把工作合进 main。

也可以交给它自己跑。 针对一个 active 的设计做无人值守运行时,iterate-design 会以 Agent 的循环模式运行, 配一个机械化的验证器和一个硬性的停止条件。你先批准一份约定:范围、分支、检查项、最多同时运行几个 worker, 以及 PR 怎么交付。然后:

  • 第一次推送时,它会开一个 draft PR,之后每组改动完成审阅、组合检查和验收后再推送。
  • 如果一个任务连续三次没通过检查,或者需要你来决定,只有这个任务和依赖它的任务会停下,互不相关的任务继续。
  • 运行因阻塞而停下时,它会在 PR 上提到你,让你收到通知。
  • 全部完成并审阅后,它会把 PR 标记为 ready,并请你审阅。合并始终由你来做。

6. 审阅 ​

审阅发生在两个层面:

  • 每个任务。 代码、测试、构建或 CI 配置、Agent 指令的每一处改动,在任务关闭前都要经过一次独立审阅, 审阅者是一个没参与编写的 reviewer Agent。一次审阅可以覆盖一组已暂时集成的相关改动。 Reviewer 把完整发现交给 lead,lead 先记录,再把修复交回原 worker。审阅包括改动在未修改的调用方和交互中引起的回归。 组合检查和必需审阅覆盖准确的集成版本后,才能关闭任务并释放依赖。 审阅者批准或要求修改,由原来的 Agent 修复自己的工作; 连续三次要求修改,任务就会停下等你决定。只改文字说明的改动不需要审阅。如果由你指挥,Agent 可能会问你 某个小改动是否需要审阅,并给出它的建议。
  • 整个分支。 一个包含多个任务的分支在提交合并之前,由独立 reviewer 检查整个 diff: 这些任务是否衔接得上,是否符合设计。最后一次集成审阅只有明确覆盖准确的最终版本和整个分支,才能兼作最终审阅; 只批准最后一组改动不够,否则另做全分支审阅。后续变化影响覆盖时要更新证据。 交接模式下还会做一轮简化审阅。它的建议不会阻塞 PR,由你和 PR 一起决定。

review-gate 以专注的模式(正确性、简化或就绪性)运行这些审阅,并把每次结果记录在任务跟踪里。 Agent 从不凭自己的判断关闭审阅:只有看到你合并了被审阅的 PR,它才会关闭对应的代码审阅记录, 其他审阅都等你来关。

7. 结束设计 ​

close-design 把设计推进到终态。它记录成功标准已经达成的证据,把应该比这项工作活得更久的内容提升到 adr/ 和 CONTEXT.md,然后关闭 epic。下一项工作开始时,这些决策已经在 Brain 里了。

谁负责什么

Agent 可以自由写入 Brain,每次改动都是 dotbrain 主目录里的一次提交,可以审阅,也可以撤回。 成功标准是例外:Agent 可以提议修改,但只有你能批准。

  • 技能列出了所有技能及一句话说明。
  • 架构解释了为什么 Brain 和任务跟踪要分开。

基于 MIT 许可证发布。