工作项与任务
工作项(WorkItem)记录一个持久化的业务目标。任务(Task)则追踪某次具体的执行过程,例如后台测试命令或委派给其他 Agent 的调用。一个工作项可以包含多次任务执行,简短的任务也可以独立于工作项运行。
例如,“修复构建错误并验证补丁”是一个目标,而运行构建命令是一项任务。构建成功为实现该目标提供了事实证据,但并不等同于补丁已经满足了全部验收要求。
何时需要跟踪目标
当一项工作需要跨轮次执行、等待 CI 或人工决策、或者需要保留进度和验收标准供后续审查时,应使用工作项。如果操作者明确要求在多轮对话中跟踪一系列决策清单,工作项同样非常适用。
简短的解答、边界收敛的检查,或者在当前轮次内即可完成并验证的改动,通常无需建立工作项。单凭步骤的多寡并不能作为创建依据。
跟踪一项方案并不代表获得了实现授权。工作项可以在等待操作者定夺期间,妥善保留备选项与待确认问题。
工作记录保存的内容
目标(Objective)清晰描述预期的交付成果;计划(Plan)记录工作范围、验收标准与选定方案;清单(Checklist)追踪有实质意义的推进阶段;证据引用(Evidence reference)则指向 Agent 可以重新查验的执行结果。
这些记录的核心目的,是在上下文重置后回答“还剩什么没做”。它们不应退化成每次工具调用的流水账。当推进方案发生变化时更新计划;当测试执行结束时,记录结果及其对最终验收的影响。
焦点、就绪与等待
“当前焦点”(Current)标明 Agent 正在关注哪一项工作,但这本身并不意味着该工作项正在运行或随时可运行。处于开启状态的工作项可能正在等待操作者输入、被外部事件阻塞,或者在其他项执行期间主动让出了执行权。
已登记的等待记录(Wait)明确了恢复后续执行所需满足的触发条件。仅在计划中写下“等待 CI”或结束当前回复,并不会在系统中注册等待。就绪与等待属于运行时状态,需要通过工作项和等待相关接口统一管理。
切换工作焦点并不会将已存在的任务迁移给另一个工作项。任务始终归属于创建时绑定的所属者。这一点至关重要:即使 Agent 已开始构思另一个目标,耗时较长的后台测试完成后,其结果依然属于原先的工作项。
关于任务结果与外部通知如何唤醒工作,详见事件、等待与唤醒。
任务句柄能提供的信息
借助任务句柄,Agent 可以检查任务状态与输出,并在支持的环境中发送交互输入或中止执行。部分句柄对应系统命令,另一些则代表委派工作或等待其他 Agent 的回复。应根据句柄类型来理解其完成含义。
例如,协作 Agent 回复一条消息可以解除回复等待句柄,但消息内容可能说明所请求的审查仍在处理中;命令虽然成功退出,也可能并未生成预期的文件产物。在接受结论前,务必查阅实际执行结果。
完成目标
只有在核对完请求的交付成果、并且验证结论已经明确时,才应将工作项标记为完成。完成报告应当阐明交付结果、具体产物,以及影响使用的限制条件。
单纯结束单次执行是不够的。如果实现工作已获授权且尚未完工,应保持工作项处于开启状态并记录可恢复的下一步;如果工作无法继续推进,应登记具体的等待条件,而不是推称它会自动继续。
