Background Agent Pings 是一种面向后台智能体(background agent)的协作模式,其核心主张是:把系统提醒(system reminders)当作智能体的进度通知,而不要主动轮询(Do not poll)。
用途
当你以后台方式启动一个智能体时,不必停下来等待或反复查询它的状态。你可以继续处理其他任务,系统会在智能体取得进展时通过提醒通知你。因此它主要用于并行工作流的编排,让主流程在等待后台智能体完成的同时保持生产力。
主要能力
根据资料,系统提醒会在以下情况推送通知:
- 智能体取得进展:提醒内容形如“Agent <id> progress: X new tools used, Y new tokens”,即使用了多少新工具、消耗了多少新 token。
- 智能体写入输出文件:此时应检查你此前指定的输出路径。
该模式强调这些系统提醒是免费自动推送的。
使用方式
资料给出的推荐做法(DO)为:
- 启动后台任务并指定输出文件,例如: Task(run_in_background=true, prompt="... Output to: .claude/cache/agents/<type>/output.md")
- 立即继续下一项任务。
- 当系统提醒显示智能体活动时,检查输出文件是否存在。
- 只在智能体发出完成信号时才读取输出文件。
资料同时给出反对做法(DON'T),包括轮询式写法,例如在后台任务启动后用 Bash("sleep 5 && ls ...") 轮询、用 Bash("tail /tmp/claude/.../tasks/<id>.output") 轮询,以及使用 TaskOutput(task_id="...")。
适用场景
适合需要同时推进多项任务、又不想因等待后台智能体而空耗时间与 token 的工作流。
限制与理由
资料说明轮询的问题在于:反复检查会消耗 token;TaskOutput 会把完整的智能体记录灌入主上下文,造成上下文泛滥;而系统提醒是免费自动推送的,因此等待期间可以继续做有效工作。该模式的成立依赖系统提醒能够正常推送这一前提。
来源说明
资料注明该模式来自一次会话中的认识:当系统提醒已经提供进度更新时,轮询智能体输出是在浪费时间。除上述内容外,关于该工具的更多细节暂未提供。