Agent Skills
返回列表
🤖

异步后台运行器

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_213bfd3b/background-task-runner。

技能介绍

解决什么:长任务别挡路

当Agent需要处理耗时超过30秒的任务(如生成监管周报、批量数据采集),如果同步执行,用户只能盯着进度条干等——既没法继续问问题,也没法让Agent同时干别的。更麻烦的是,有些任务会直接霸占浏览器或系统资源,导致用户当前操作卡顿。

它是怎么工作的

核心是后台子代理(background subagent),关键步骤分四步:

  1. 派活并拿ID:用户给长任务时,Agent用spawn_subagent生成后台子代理,参数需包含任务目标、具体步骤(命令/路径)、成功/失败后的处理逻辑、结束时的操作(如发文件、总结结果)。子代理启动后立即返回task_id(约0.1秒)。
  2. 记ID到备忘录:Agent会把task_id和任务概要写入MEMORY.md,确保后续对话能记住这个未完成的任务。
  3. 马上回消息:Agent第一时间告知用户“任务已派到后台”,并邀请用户继续提问,避免让用户觉得“卡住了”。
  4. 新消息先查任务:之后用户每次发新消息,Agent都会先检查MEMORY.md里的task_id状态——若任务完成,就整理结果告诉用户并清空task_id;若还在跑,就正常处理新请求。

别踩这些坑

不是所有任务都适合后台跑:

  • 别用在10秒内的快任务(比如查余额、删文件),后台跑反而多此一举;
  • 别用在需要立即出结果的任务(比如“现在就要报表”),后台模式会让结果延迟;
  • 别用在需要中途干预的任务(比如分步填表),子代理默认用全新会话(除非用fork=True继承当前状态,但慎用)。

尤其要注意浏览器隔离:子任务如果用--cdp连接当前浏览器,会直接跟用户抢同一个窗口——比如子任务在扫CSRC各局页面时,用户会看到浏览器乱跳。解决办法是让子代理启动独立的Playwright浏览器(playwright.sync_api.launch()),不碰现有CDP;不同频道的任务(比如微信和飞书)也得各用各的浏览器实例,避免互相干扰。

另外,每个task_id是一次性的,完成后没法续跑;如果Agent重启或会话结束,未完成的task_id会丢失;MEMORY.md里同一时间只能存一个活跃任务,别存多了。

使用场景

  • 运营需生成本周监管周报,包含批量案例检索与报告生成,耗时超30秒,希望任务跑的时候还能让Agent查个股公告
  • 数据分析师要做季度数据采集,涉及多个公开网页爬取,想让Agent后台跑的同时,继续回答其他数据问题
  • 产品运营需要批量截图竞品官网多个页面,想让Agent后台处理时,还能同步解答用户关于竞品功能的问题
  • 客服团队要做客户投诉分类统计,涉及大量历史对话文本分析,希望后台跑的时候能继续处理其他客户咨询

适合人员

  • 需要定期生成合规报告的运营,希望长任务跑的时候不影响处理其他日常工作
  • 负责批量数据采集的分析师,想让耗时的采集任务后台跑,同时能回答其他数据疑问
  • 做竞品分析的产品经理,需要批量截图竞品页面,希望任务后台处理时还能解答竞品相关问题
  • 处理客户投诉分类的客服主管,想让大量历史对话分析后台跑,同时不影响响应其他客户