外部任务
有些工作无法在 agent 进程内运行:它属于独立的 worker、CI runner,或位于另一个系统中的
人工处理者。当某个 lane 被路由到外部处理器时,该 lane 上的工具会被排队而不是被执行——
它们会作为外部任务等待。你的宿主代码会取出待处理队列、以任意方式完成工作,并通过
completeExternalTask 把结果报告回去。仅当外部 worker 确实是你架构的一部分时,才使用此模式。
外部任务由 lane 队列 产生:你必须先注册至少一个
external(或 hybrid)lane 处理器,否则每个任务都会在进程内运行,也就没有什么可取出的。
说明:
- 每个待处理任务都携带
task_id、session_id、lane、command_type、payload和timeout_ms。完成时请把task_id传回completeExternalTask/complete_external_task, 以便将本次完成匹配到正确的任务。 - 结果的结构为
{ success, result?, error? }。其中result可以是任意可 JSON 序列化的负载;error是失败时的可选消息。 - 成功时,返回紧凑的结构化证据(一段摘要加上关键事实),而不是只有原始日志——agent 会基于 该结果进行推理,所以请保持其精简且机器可读。
- 当任务被找到并完成时,
completeExternalTask/complete_external_task返回true,否则 返回false。在 Python 中这些队列方法是同步的;在 Node 中pendingExternalTasks和completeExternalTask返回 promise。