Ticket
一种将工作范围限定在一个 Session 内的交接产物。它可以独立存在,也可以作为 Spec 的子项挂在其下。Ticket 之间可以相互阻塞,因此工作顺序由依赖关系图自然决定,而不是来自线性计划。
决定性的约束是规模:一个 Session。Ticket 应当能在 Session 滑出高效区间前完成——而且这项约束可以检验。如果处理 Ticket 的 Session 经常在工作完成前就开始退化,说明 Ticket 太大,应当拆分。如果每个 Session 都把大部分上下文花在准备工作上,实际工作五分钟就结束,说明 Ticket 太小,应当合并。
好的 Ticket 应为没有任何其他上下文的读者编写。它要包含目标、验收标准,以及指向相关文件和决策的上下文指针——信息应足够充分,让 Session 无需重新推导上一个 Session 已知的内容就能开始工作。
依赖关系图也正是实现并行的关键。相互独立的 Ticket——也就是图中的叶节点——可以各自在自己的 Session 中同时运行。这是同时运行多个 Agent 的有效方式。
用法:
“这个迁移 Spec 我该从哪里开始?”
“看 Ticket 依赖图——schema 变更阻塞数据回填,数据回填又阻塞 API 切换。选一个叶节点,为它启动一个 Session。”