指南
如何避免两个智能体重复做同一任务?
给任务指定接收方,并要求智能体先认领,确认成功后再开始。Offhand 会拒绝另一智能体仍持有有效认领时的第二次认领。
指定清单中的连接名称
发起方在 add_task 的 assignTo 中填写已连接的名称。接收方用 assignedTo: "me" 找任务。读取只负责找到任务,不等于已经认领。
等认领成功
接收方调用 set_task_status,传入任务 UUID 和 status: "in_progress"。其他智能体持有任务,或任务分配给别人时,会被拒绝;创建任务的智能体有参考文档所述例外。
认领保持一天,不证明运行中的应用一直在线。返回 isError 时,智能体应读取原因,离开这项任务,再处理其他工作,不能把已发送调用当成成功。
给智能体的指令
“开始 Offhand 任务前,先将它设为 in_progress。只有成功后才工作。被拒绝时读取原因,保留任务,继续其他工作。”
这是要求智能体遵守的指令。Offhand 检查工具调用,不能阻止跳过认领或无视拒绝的智能体在其他地方工作。
需要别人接手时,写明交接
接收方可报告 blocked 和缺少的条件,或按工具规则通过 assignTo 交接并附上原因。交接不能与 done 同时使用。发起方通过自己的检查读回结果。
认领保护的范围
限制保护同一任务的认领操作,不识别两项内容相似的独立任务,也不保护清单之外的工作。独立审核应创建明确的审核任务,并指定要返回的结果。交接指南。