AI Agent 浏览器任务失败后,最常见的处理方式是“自动重试”。

这在普通接口任务里没有问题,但浏览器任务的失败原因往往不止网络抖动。它可能来自登录态失效、页面结构变化、Profile 切换、Proxy 不一致,甚至是平台触发了安全验证。

如果不区分失败类型,直接重试,可能会把一个小问题扩大成不可复盘的问题。

1. 不要把所有失败都当成 timeout

浏览器任务失败时,建议先做分类,而不是直接重试。

failure_type含义优先排查方向
session_invalid会话不可用Cookie、LocalStorage、IndexedDB、登录状态
env_mismatch环境不匹配Profile、Proxy、时区、语言、地区
page_changed页面结构变化DOM、选择器、弹窗、页面版本
action_timeout操作超时网络、等待策略、页面加载
security_verification_required需要安全验证暂停任务,人工完成官方验证
agent_uncertainAgent 判断不确定保存证据,进入人工复核
unknown未分类异常查看截图、Trace、最近变更

只有失败类型足够明确,后续的 RetryPolicy 才有意义。

2. RetryPolicy 不应该只有重试次数

很多实现里,RetryPolicy 只包含两个字段:

```yaml
max_retries: 3
retry_interval_seconds: 10
```

这对浏览器任务来说不够。

更合理的 RetryPolicy 应该同时描述“什么情况能重试”和“什么情况必须暂停”。

```yaml
retry_policy:
  max_retries: 2
  retry_interval_seconds: 30
  retry_allowed_for:
    - action_timeout
    - transient_network_error
  pause_immediately_for:
    - security_verification_required
    - session_invalid
    - env_mismatch
    - agent_uncertain
  require_evidence_before_retry: true
```

这样可以避免把安全验证、会话失效、环境异常误当成普通失败。

3. 失败前后必须保留 StepEvidence

如果没有证据,重试会变成猜测。

关键步骤建议记录:

字段说明
step_id步骤编号
action执行动作
target操作目标
url当前页面 URL
page_title页面标题
before_screenshot操作前截图
after_screenshot操作后截图
assertion预期状态
result实际结果
reasonAgent 或脚本判断理由

这些字段能回答一个核心问题:

任务到底是在什么页面、什么状态、什么环境下失败的?

4. 人工复核队列 ReviewQueue

不是所有失败都应该自动处理。

下面这些场景建议进入人工复核:

场景处理建议
出现安全验证暂停任务,走官方验证入口
登录态失效检查 Cookie、LocalStorage、IndexedDB
环境快照不一致对比 Profile、Proxy、时区、语言
页面结构变化保存截图,确认是否改版
Agent 判断不确定保留 reason,人工确认
涉及提交或修改数据先复核,再继续

人工复核不是替代自动化,而是为高风险分支增加一道保护。

5. 一个最小运行结构

可以把一次任务抽象为:

```yaml
run_id: run-20260531-1400
job_id: job-agent-browser-publish-check
workspace_id: workspace-cn-01
profile_id: profile-cn-01
environment_snapshot:
  cookie_status: valid
  local_storage_status: ready
  indexeddb_status: ready
  proxy_policy_match: true
  timezone_match: true
  language_match: true
failure_handling:
  failure_type: action_timeout
  retry_allowed: true
  review_required: false
  evidence_saved: true
```

如果 `failure_type` 变成 `security_verification_required`,结果应该是:

```yaml
failure_handling:
  failure_type: security_verification_required
  retry_allowed: false
  review_required: true
  next_action: pause_and_manual_verify
```

6. 实践建议

上线前建议检查:

检查项通过标准
Profile 是否固定一个工作区绑定一个主 Profile
Session 状态是否可用Cookie、LocalStorage、IndexedDB 可读
Proxy 是否一致地区、时区、语言匹配
FailureReason 是否分类失败原因不是一个笼统 error
RetryPolicy 是否有限制只允许低风险失败重试
ReviewQueue 是否存在高风险失败能进入人工复核
StepEvidence 是否保存能追溯 URL、标题、截图和判断理由

7. 总结

AI Agent 浏览器任务的稳定性,不只取决于模型能不能完成操作,也取决于失败后系统如何决策。

直接重试适合低风险、临时性的失败。

但如果涉及会话失效、环境不一致、安全验证或 Agent 不确定,就应该暂停任务并进入人工复核。

能继续执行是一种能力,知道什么时候停止也是一种能力。

Web4Browser 关注 Agent 浏览器任务中的环境连续性、运行证据和人工复核机制,适合用于构建更可追溯的浏览器自动化工作流。

参考:
https://web4browser.io/cn/

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐