判断 Claude Duet 会不会在某一步停下来,关键不在步骤多少,而在每一步动作能不能撤回,以及它落在什么权限边界内。打开页面、翻页、读取字段这类只读动作,通常连续执行不停顿;点击提交、保存、删除、发起支付这类会改变数据的动作,一般会停在确认环节等人工点头。交接前把流程写成“每步输入、页面状态、期望结果”,并给每步标上动作档位,就能预判它会停在哪、你需要做什么,从而避免任务卡在半路无人接手。
让 Claude Duet 接管浏览器重复操作之前,先按可逆性给步骤分档:读取类可以较多放手,修改类按需要保留确认点,删除与支付类必须留人工确认。停顿通常说明确认策略在起作用,并不是故障。把执行记录里最后一条成功动作和当前状态对照,就能分清它是在等待确认,还是执行失败,再决定补充授权还是修改流程。具体暂停阈值以你所在环境的配置和日志为准。
把一个重复点击流程拆成可描述的步骤序列
先拿一个真实流程做分解:每天上午把后台订单列表按状态筛选,导出当天新增订单的编号和金额,粘贴进表格。直接跟智能体说“帮我导出今天的订单”,它会自己猜筛选条件和写入位置;猜错的地方就是你后面要来回解释的地方。拆成步骤序列后,每一步至少写清三件事:这一步吃什么输入、进入时页面应该是什么状态、做完后应看到什么结果。
| 步骤 | 输入 | 进入时页面状态 | 期望结果 |
|---|---|---|---|
| 1 打开后台 | 已登录会话下的首页地址 | 顶部显示当前账号名 | 停在订单列表页 |
| 2 设置筛选 | 状态=待发货、时间=今天 | 筛选控件可见且可点 | 列表只剩今日待发货订单,条数与筛选提示一致 |
| 3 读取列表 | 无 | 表格已加载完成 | 取到每行编号与金额,翻页直到无下一页 |
| 4 写入表格 | 上一步读到的字段 | 目标表格页已打开 | 按列追加,不覆盖已有行 |
这张表可以原样作为交接说明粘贴给 Claude Duet,用词尽量具体:“点击页面上文字为‘导出’的按钮”,比“导出数据”更容易被稳定执行;“在 A 列末尾追加”比“整理一下”可验证。把约束也写进去,通常能减少中途追问。
任务:导出今日新增订单并写入表格
步骤1 输入:已登录后台首页;期望结果:进入订单列表页
步骤2 输入:状态=待发货,时间=今天;期望结果:列表与筛选条件一致
步骤3 输入:无;期望结果:读取编号与金额,翻页至无下一页
步骤4 输入:读取结果;期望结果:追加到 Sheet1 A 列末尾
约束:不点击 发货 / 取消 / 删除 按钮;遇到验证码、弹窗、登录页立即停止并说明
顺手给手上任务做个分组。适合交出去的一般是:固定条件下的列表翻页读取、只读字段提取、把读到的内容按固定格式写入指定位置、在已有登录态下打开固定页面。不适合整体交出去的通常是:需要短信或图形验证码的登录、涉及金额的支付确认、删除记录、批量修改他人权限、需要主观判断的异常订单处理,以及任何结果不可回退的批量动作。后一类并非完全不能做,但建议切成“它只做到提交前一步,你手动点最后一下”。
对照哪些步骤会触发人工确认
这类浏览器智能体的确认策略通常按动作影响面分档,具体阈值由会话配置和站点权限决定,需要结合你所在环境确认。下面三档是常见的预期,可以拿来自查流程是否踩线。
- 读取类:打开页面、切换标签、翻页、读取可见文本或表格。通常连续执行不中断,除非遇到登录失效、验证码或页面长时间加载不出。
- 修改类:填写表单、修改筛选条件、点击保存或提交草稿、更新状态字段。这一步往往在“点下提交”之前停住,等你确认要提交的内容,尤其是页面存在二次弹窗时。
- 不可逆类:删除、批量删除、发起支付、确认收货、审批通过、变更权限。一般都要求显式确认,部分环境里即使用一句话授权也可能被配置拦下,需要人工点击。
| 常见暂停点 | 触发原因 | 你该做的确认动作 | 确认后如何判断已恢复 |
|---|---|---|---|
| 填写完表单、提交前 | 动作会改变数据 | 核对字段值和目标记录,回复明确同意 | 记录里出现提交动作且页面回显成功提示 |
| 删除或批量操作前 | 结果不可回退 | 确认影响条数与对象范围,必要时改为手动执行 | 列表条数变化符合预期,无报错 |
| 支付或金额确认前 | 涉及资金 | 人工核对金额与收款方,手动完成 | 不经自动流程,直接人工收尾 |
| 登录或验证码页面 | 身份校验不可代填 | 人工完成验证后告知继续 | 页面跳回目标页且会话仍有效 |
| 页面弹出协议或确认框 | 站点自身的二次确认 | 看清条款内容再决定是否继续 | 弹窗关闭且后续步骤正常推进 |
读这张表的用法是:先看你流程里有几行落在修改类和不可逆类,再决定是把确认点留在自动流程里,还是提前切成两段任务,把最后一下交回自己。
在会话记录里定位它停下的位置
任务停住时,先别急着重新描述需求。打开执行记录,找到最后一次状态为成功的动作,再看它后面那条记录写了什么。下面两段只是常见的字段形态示例,实际字段名以你所在环境的日志为准,替换后再对照阅读。
[12:01:03] step2 apply_filter status=ok url=/orders?status=pending
[12:01:09] step3 read_rows status=ok rows=20 page=1
[12:01:15] step3 read_rows status=ok rows=20 page=2
[12:01:26] step4 write_table status=awaiting_confirmation
reason=action_requires_approval
next=append_rows range=Sheet1!A2
[12:01:26] step4 open_export status=failed
reason=selector_not_found
selector=页面文字为 导出 的按钮
url=/orders?status=pending
区分两种停顿主要看三点。一看状态词:等待确认通常带 awaiting、pending、需要批准一类的标记,并且会说明下一步打算做什么;执行失败通常带 failed、timeout、not_found,且没有“下一步动作”描述。二看最后一条成功动作是否完整:读取到一半就断,多半是页面或选择器问题,不是等授权。三看当前页面是否停在预期位置:还在列表页说明它没进入提交环节,已经跳到确认页说明它在等你点最后一下。
定位之后处理方式也不同:等待确认就补一句明确授权,或在页面提示处人工完成;执行失败则要回头改步骤描述,例如把选择器从文字描述改成更稳定的定位方式,或把“可能出现的弹窗”写进前置判断。
交接前把任务边界写成一句话
权限范围和终止条件提前说清,中途往返会少很多。三条模板可以直接改词后贴进任务描述,每条只写一句话,避免歧义。
范围:只操作 XX 后台的订单列表页,可以读取和勾选,不进入 设置 / 用户管理 / 财务 页面。
终止条件:翻到没有下一页,或累计处理到 XX 条时停止,停止后输出已处理条数与最后一条记录编号。
异常回退:遇到登录失效、验证码、非预期弹窗或页面报错,立即停止并说明当前页面地址,不自行重试超过一次。
三条模板分别对应不同风险:范围句决定它敢不敢越界点按钮,终止句决定它会不会无限翻页,回退句决定它出错时是乱试还是交还控制权。写完后可以用下面三条判断依据自查是否真的可以交接。
- 动作可逆吗:流程里每一步都能撤回或人工纠正吗?存在删除、支付、审批这类不可逆动作时,是否已经切到人工完成?
- 成功可验证吗:每一步有没有一个能看见的结果,比如条数、字段值、页面地址或回显提示?只能靠“感觉做完了”判断的步骤,先补一个可核对的检查点。
- 失败有出口吗:出问题时它知道自己该停下说明情况,而不是反复尝试吗?终止条件和回退描述是否已写进任务说明?
三条都能答上来,再把它交出去;答不上来的那条,就是这次会卡住的位置。