任务是一份限定单次会话工作范围的交接产物。它可以独立存在,也可以作为规格说明的子项挂在其下。任务之间可能相互阻塞,因此工作顺序应由依赖图推导,而不是由线性计划决定。
任务的定义性约束是规模:一次会话。任务应当在会话离开聪明区前完成,而且这一约束可以验证。如果执行任务的会话经常在工作完成前发生退化,说明任务太大,应拆分;如果每次会话在真正工作五分钟之前,大部分上下文都耗在准备上,说明任务太小,应合并。
优秀任务的读者不应需要其他上下文。它需要包含目标、验收标准,以及指向相关文件和决策的上下文指针——足以让会话直接开始工作,而不用重新推导上一会话已经掌握的内容。
依赖图还会解锁并行执行。互相独立的任务——依赖图的叶节点——可以同时在各自会话中运行。这是并行运行多个智能体的有效方式。
用法:
“从迁移规格说明的哪里开始?”
“查看任务图——schema 变更会阻塞回填,回填又会阻塞 API 切换。选一个叶节点,在其上启动一次会话。”