• 简体中文
  • v6.5.1
  • 外部任务

    有些工作无法在 agent 进程内运行:它属于独立的 worker、CI runner,或位于另一个系统中的 人工处理者。当某个 lane 被路由到外部处理器时,该 lane 上的工具会被排队而不是被执行—— 它们会作为外部任务等待。你的宿主代码会取出待处理队列、以任意方式完成工作,并通过 completeExternalTask 把结果报告回去。仅当外部 worker 确实是你架构的一部分时,才使用此模式。

    外部任务由 lane 队列 产生:你必须先注册至少一个 external(或 hybrid)lane 处理器,否则每个任务都会在进程内运行,也就没有什么可取出的。

    Node.js
    Python

    说明:

    • 每个待处理任务都携带 task_idsession_idlanecommand_typepayloadtimeout_ms。完成时请把 task_id 传回 completeExternalTask / complete_external_task, 以便将本次完成匹配到正确的任务。
    • 结果的结构为 { success, result?, error? }。其中 result 可以是任意可 JSON 序列化的负载; error 是失败时的可选消息。
    • 成功时,返回紧凑的结构化证据(一段摘要加上关键事实),而不是只有原始日志——agent 会基于 该结果进行推理,所以请保持其精简且机器可读。
    • 当任务被找到并完成时,completeExternalTask / complete_external_task 返回 true,否则 返回 false。在 Python 中这些队列方法是同步的;在 Node 中 pendingExternalTaskscompleteExternalTask 返回 promise。