后台任务
耗时的工作不必阻塞 agent。开启 background: true(默认即开启)后,agent 可以把慢命令和子代理批次拆到后台任务里,前台继续干活,结果出来时再取。增量输出轮询、取消、每个任务完成时的 background_completed 事件——全部经由常规事件流暴露。
用法
无需配置——后台任务默认开启。由模型按次调用决定是否使用:
bash带run_in_background: true以分离模式运行——立即返回一个bg_…id,不阻塞 run 结束。用BashOutput工具轮询增量输出;run 结束时进程会被自动停止。Agent带run_in_background: true(需显式开启;默认阻塞)把一批子代理作为一个可汇合(joinable)任务派发——run 会存活到它完成,聚合结果以<background-task-completed>通知的形式送达。KillBackground按 id 取消任意运行中的后台任务。
分离 vs. 可汇合:分离(detached)任务(后台 bash)是即发即弃的——run 可以在它运行期间结束,届时它会被停止。可汇合(joinable)任务(后台 Agent)会让 run 存活到它完成,因此结果必定送达。
background_completed 事件
每个任务完成时,会向 run 的事件流发射一个 background_completed 事件(并像其他事件一样持久化进会话日志):
这让后台完成通知对 UI 和审计 sink 可见——见可观测性。
选项
backgroundLimits 字段:
内置工具
两者仅在 background 开启时注册,也可以像其他工具一样用 allowedTools / disallowedTools 过滤。