Handoff Artifact
Handoff artifact
一种用作交接承载机制的文档——由一个 Session 写入环境,再由另一个 Session 读取。Spec、Ticket 和计划文档都属于交接产物。
之所以要写交接产物,是因为模型是无状态的,清空 Session 后,其中的任何内容都无法保留。决策、约束、尚未完成的计划——都会随承载它们的上下文一起消失。环境会持续存在。把重要状态写入文件,就是将其转移到下一个 Session 可以重新读取的位置。
交接产物是二手来源——它是对 Session 工作的转述,而不是工作本身。正因如此,它才能足够精简,用来向新 Session 交代情况;也正因如此,它可能误导新 Session:它记录的是写作者 Session 所相信的内容,任何遗漏或错误对读者都不可见。如果某项结论很重要,下一个 Session 应对照一手来源——代码、测试——进行验证,而不是直接继承。
好的交接产物应按“将由零上下文 Session 阅读”的前提来编写。要写具体文件路径,而不是“我们讨论过的那个文件”。要写决定了什么以及为什么,以免下一个 Session 重新争论。要写哪些已完成,哪些尚未完成。可以明确告诉写作方 Session 这份产物的用途:“为一个对这项工作一无所知的新 Session 编写交接文档”。
另一种承载机制是上下文压缩,它在内存中进行总结。交接产物有两个优势:它存在磁盘上,在任何工作依赖它之前,你可以阅读并修正;而且它能够复用——同一份 Spec 可以同时为五个并行 Session 交代任务。
用法:
“我该怎么把这项工作分给负责规划和负责实现的两个 Agent?”
“让规划者写一份交接产物——包括文件路径、决策和约束。实现者的 Session 从指向该产物的上下文指针开始,把它当作任务简报开展工作。”