Claude 现在能在 Cowork 和 Claude Code 里后台操作电脑了:把任务交给 Claude 后,Claude 会像人一样点击、输入、打开应用,而我可以同时去忙别的。这一期我把"后台操作电脑"翻译成一套可落地的 Agent 无人值守执行方案:任务怎么拆解与排队、超时重试与幂等怎么设计、token 与时长成本怎么控、失败怎么告警与审计,并在 4sapi(https://4sapi.com)上做了接入实测。
一、开篇:我为什么需要无人值守执行
过去用 Claude 干活,最大的限制不是模型能力,而是我必须盯着屏幕。任务一长,人就卡在工位上:要么一直等任务跑完,要么离开一会儿回来发现任务已经中断,只能从头再来。后台操作电脑把这个限制拆掉了——把任务交给 Claude 后,Claude 会像人一样点击、输入、打开应用,我同时去开会、写代码、做别的事,任务在后台自己推进。
真正让我动心的是两类任务。一类是批量型任务:整理几百个文件、逐行录入数据、定时巡检系统状态,步骤固定、不需要人在中途决策。另一类是长链路任务:把一份报告从多份资料里汇总出来,中间要反复打开应用、切换窗口、复制粘贴。这两类任务以前都得人肉值守,现在可以整段交出去。
但"交出去"不等于"撒手不管"。无人值守执行真正的难点在工程侧:任务不可见、失败不知道、成本没人喊停。这一期我先把这些坑踩一遍,再给出完整方案。
二、开篇痛点:后台执行不是"挂个后台"那么简单
把任务挂到后台跑,听起来只是把同步调用改成异步调用,实际上要解决的问题多得多。我在实测里踩过的坑有四层:
- 任务不可见:后台执行时看不到模型正在做什么,卡在哪一步、为什么反复重试,界面看不到,只能靠日志猜;
- 失败无感知:任务在深夜失败,等早上上班才发现,一整夜的时间白费;
- 成本失控:没有人在旁边喊停,token 会一直累积,一个失控的任务可能烧掉平时一周的额度;
- 审计缺失:任务跑完了,点了什么、改了哪些文件、花了多少钱,全都说不清楚。
这四层坑环环相扣:看不见,所以失败晚发现;失败晚发现,所以重试乱叠加;重试乱叠加,所以成本失控;成本失控,所以不敢再开无人值守。这一期的方案,就是按"拆解、排队、控制、审计"四个环节把这些问题逐个堵上。
三、原理速览:后台操作电脑的请求流
先看清楚后台操作电脑在技术上是怎么运转的。Claude 在 Cowork 和 Claude Code 里获得后台操作能力后,任务执行的基本循环是:接收任务、拆解步骤、操作界面、观察结果、决定下一步。每一轮循环都是一次模型调用,都会产生 token 消耗和真实的时间开销。
关键要理解的是:"像人一样操作电脑"意味着模型在做感知-决策-执行闭环,而不是一次生成答案。一个看似简单的任务,背后可能是几十次模型调用。这也决定了后台执行的成本结构——大头不是单次调用的价格,而是整个任务链路上的调用次数和上下文累积。理解这一点,后面的成本控制才有依据。
四、任务拆解与排队:把大任务切成原子步骤
无人值守执行的第一步,不是让模型自由发挥,而是把大任务拆成可验证的原子步骤。拆得越细,每一步的成败就越明确,重试和审计才有抓手。我常用的拆法是把任务按"输入—动作—验证点"三个要素切分:
| 任务类型 | 拆解出的子任务 | 每步验证点 |
|---|---|---|
| 批量整理文件 | 扫描目录 → 分类 → 移动/重命名 → 生成清单 | 目标目录文件数与原清单一致 |
| 数据录入 | 读取源表 → 逐行填写 → 保存 → 核对条数 | 记录数与源表一致 |
| 定时巡检 | 打开应用 → 读取状态 → 汇总 → 生成报告 | 报告包含全部检查项 |
拆解之后是排队。后台执行会同时面对多个任务,我按两条规则排队:一是优先级,紧急任务先出队;二是互斥,同一时间只跑一个会操作鼠标键盘的任务,避免两个 Agent 抢同一个界面。排队本身不消耗模型调用,但排队策略直接决定任务的完成时长和并发成本。
拆解时还有一个容易忽略的点:每步的验证点要写成机器可判断的条件,而不是"看起来差不多"。验证点写清楚,模型才能自己判断这一步是否真的完成,而不是糊弄过去。
五、超时、重试与幂等:无人值守的工程底线
任务进了后台,没有人盯着,超时、重试、幂等这三件事就变成工程底线。
先说超时。无人值守场景里,最怕的是任务卡死还在继续计费。我给每个步骤设置单步超时,比如 30 秒没有进展就判定超时;同时给整个任务设置总超时,比如 30 分钟,超过就直接终止。超时是成本失控的第一道闸。
再说重试。重试不是无脑重来,要区分失败类型:网络抖动、应用启动慢这类可重试失败,等待后退避重试;权限不足、任务描述有误这类不可重试失败,重试多少次都一样,直接停止并告警。我给重试设上限,默认 3 次,用指数退避,避免短时间内打爆接口。
最后是幂等。后台任务最怕重复执行副作用操作:重试时把邮件发了两遍、把数据库记录插了两行。我的做法是给每个动作带幂等键,重试前先检查这个键是否已经处理过,处理过就直接返回旧结果,不重复执行。
六、接入 4sapi:用统一网关管理模型调用
后台执行意味着大量模型调用在无人值守地发生,模型调用管理就变得比单次调用更重要。我把所有后台任务的模型调用都收敛到 4sapi(https://4sapi.com)网关,统一走一个入口:
网关帮我解决三件单点直连解决不了的事。第一是限流:后台任务并发高、节奏密集,直接连官方接口很容易触发配额限制,网关统一限流后,任务队列可以平稳地消耗配额,而不是突然打满。第二是用量:每个任务、每个步骤的 token 消耗都能在网关的用量日志里查到,成本可以按任务归集。第三是计费:后台执行是典型的按量付费负载,网关把计费口径统一之后,我可以在代码里实时读到每次调用的用量,成本统计就变成了一个普通字段,而不是月底的账单惊吓。
七、Python 工程示例:后台任务队列 + 轮询 + 成本统计
下面给出我在实测里用的 Python 工程骨架:任务被拆成步骤队列,后台逐个执行,每步记录 token 用量并累加成本,失败按上限重试。客户端用 OpenAI 兼容协议,base_url 指向 4sapi 网关。
这个骨架对应第五节的三个设计:步骤队列对应任务拆解;重试上限加指数退避对应超时重试;每次调用都把 usage 换算成成本累加,对应成本统计。
调度器本身不调用模型,调度器只做三件事:每隔固定间隔检查一次队列,把到期的任务取出执行;执行期间如果任务卡住超过总超时,直接终止并标记失败;任务结束后把审计记录写入日志表。这样无人值守就变成了有人巡逻——只是巡逻的是代码而不是我。把真实的后台任务填进 steps,再配一个这样的轮询调度器,就是一个能跑的无人值守执行器。
八、成本控制:token 与时长双维度
后台执行的成本要从 token 和时长两个维度看,只看单价会漏掉大头。我把一次后台任务的成本构成拆开:
| 成本项 | 产生位置 | 控制手段 |
|---|---|---|
| 输入 token | 系统提示、界面状态、历史步骤 | 精简上下文,长文本优先走缓存读取 |
| 输出 token | 每步的决策与动作描述 | 单步输出上限,动作描述尽量简短 |
| 调用次数 | 步骤数量 × 重试次数 | 拆解粒度合理,重试次数封顶 |
| 时长 | 每步耗时 × 轮次 | 单步超时 + 总任务超时 |
无人值守场景的成本失控,几乎都不是单价问题,而是"没有人喊停":任务循环空转、上下文越滚越大、重试无限叠加。我通常给每个任务设 token 预算上限,累计超过就自动终止任务并告警。预算上限要按任务类型分别设置——批量整理文件的预算和长链路调研的预算不应该一样。
时长维度的控制同样重要。后台任务占用的是真实时间,一个跑 40 分钟的任务,即便 token 没超,也值得怀疑是不是卡在某个死循环里。把时长纳入告警条件,比只看 token 更早发现问题。
九、失败告警与审计:无人值守不等于无人负责
无人值守执行不意味着无人负责,失败告警与审计是收尾的两道关。
告警要覆盖三种情况:任务失败、成本超预算、长时间无进展。三种情况分别对应不同的处理方式:失败要人工介入看日志,超预算要立刻停任务,无进展要检查是不是卡死。告警通道按任务的重要性分级,重要任务失败直接发通知,普通任务失败攒一批再提醒。
审计要记录的东西,我在实测里收敛成一个固定字段集:
每条记录对应一次真实的模型调用。有了这个字段集,出了问题的步骤可以单独回放:是模型判断错了,还是操作环境的问题,还是上下文没给够,都能定位。审计记录同时是成本报表的数据源,每个任务花了多少钱,从记录里直接聚合出来,不需要额外埋点。
十、成本与风险提示
把这一期的坑集中列一下:
- 后台操作电脑是模型在真实环境里做真实操作,授权范围要明确,只在受控环境、受控任务上启用无人值守;
- token 预算与时长预算都要封顶,无人值守最怕的是没人喊停;
- 敏感数据进入上下文前先脱敏,后台任务的上下文往往会累积整段业务数据;
- 关键步骤保留审批,无人值守不适用于所有操作,删除、发送、支付类动作要留在人工手里;
- 这里讨论的全部是合法接入、架构设计与计费优化,不涉及任何绕过官方限制的做法。
十一、无人值守执行上线清单
- [ ] 任务拆解成可验证的原子步骤,验证点机器可判断
- [ ] 每步设置超时,任务设置总超时
- [ ] 重试上限与退避策略明确,区分可重试与不可重试失败
- [ ] 副作用操作带幂等键,重试不重复执行
- [ ] 模型调用收敛到 4sapi 网关,统一限流与用量统计
- [ ] 任务级 token 预算封顶,超预算自动终止
- [ ] 失败、超预算、无进展三类告警配置到位
- [ ] 审计记录含 task_id / token / cost / retries / duration
总结
Claude 在 Cowork 和 Claude Code 里后台操作电脑,把"盯着 Agent 干活"变成了"把任务交给 Agent 后去做别的事",但无人值守真正落地,靠的不是这个能力本身,而是外面那层工程:任务拆解与排队让执行有章法,超时重试与幂等让失败可恢复,token 与时长预算让成本有上限,告警与审计让责任可追溯。我在 4sapi(https://4sapi.com)的用量日志里,能同时看到每个后台任务拆出的步骤、token 与成本,无人值守从"敢开"变成"可控"。欢迎在评论区发表想法,一起聊聊无人值守执行的落地经验。




