Skip to content

Latest commit

 

History

History
146 lines (112 loc) · 10.5 KB

File metadata and controls

146 lines (112 loc) · 10.5 KB

00 · 愿景与范围

1. 问题陈述

传统 RPA(UiPath / Automation Anywhere / Blue Prism)诞生于"给人类操作者设计"的假设:

  • 需要人类在 Studio 里录制或拖拽编排流程;
  • 依赖硬编码选择器,页面一改就静默失败;
  • 面向"确定性回放",但创作成本高、对非结构化/无 API 的长尾网站适配差。

而纯 LLM 浏览器 Agent(browser-use / Skyvern 等)走到另一个极端:

  • 每一步都要 LLM 看屏+推理,慢、贵、不稳定
  • 适合"一次性"任务,不适合高频、任务关键的重复执行。

Agent-RPA 要占据中间地带:用 Agent 的智能一次性"探索"出流程(替代人类录制),把它结晶为确定性技能,之后既能 0 Token 高频回放,又能在页面漂移时自愈。同时,无论探索还是回放,都要像传统 RPA 追求的那样"模拟真人、不被识别为自动化"。

一句话:把 RPA 的"录制者"从人换成 Agent,把"回放"升级为"可自愈的确定性执行",并内建工业级抗检测。


2. 范式对调(Paradigm Inversion)

flowchart LR
    subgraph 传统RPA["传统 RPA(面向人类)"]
        H["人类操作者"] -->|录制/拖拽/写脚本| S1["脆弱脚本<br/>硬编码选择器"]
        S1 -->|回放| R1["机器人"]
        R1 -->|页面改动| F1["静默失败 ❌"]
    end

    subgraph AGENT_RPA["Agent-RPA(面向 Agent)"]
        A["Agent(含本AI)"] -->|自然语言意图| EXP["探索器<br/>Planner-Actor-Validator"]
        EXP -->|结晶| SK["参数化技能包<br/>语义动作+多模态定位器+断言"]
        SK -->|0 Token 回放| RUN["执行引擎<br/>行为合成+隐身传输"]
        RUN -->|定位/断言失败| HEAL["分级自愈"]
        HEAL -->|回写修复| SK
    end
Loading

对调后的关键差异:

维度 传统 RPA Agent-RPA
谁来创作流程 人类(录制/编排) Agent(自然语言驱动探索)
定位方式 单一硬编码选择器 多模态定位器 + 韧性排序 + 自愈
回放稳定性 页面漂移即失败 失败分级自愈,回写技能
重复执行成本 低(但创作贵) 0 Token(创作也由 Agent 摊薄)
抗检测 传统 RPA 强调拟人 内建三层抗检测 + 一致性指纹
复用单元 流程文件 Skills(可被任意 Agent 发现/调用)

3. 目标与非目标

3.1 目标(In Scope)

  • G1 · 自然语言到自动化:Agent 接收 NL 意图,无需人类录制/编排/写脚本即可完成整段浏览器流程(打开浏览器→全流程→产出结构化结果)。
  • G2 · 0 Token 可复用:同一任务可用确定性技能重复执行,回放期不调用 LLM;参数化后可换输入复用。
  • G3 · 抗检测(高强度档):探索期与回放期都尽量规避被识别为自动化;对硬风控目标有明确的降级/升级路径与已知边界。
  • G4 · 浏览器生命周期自治:自动启停浏览器、管理 Profile/会话/身份、崩溃恢复。
  • G5 · Agent 可驱动:以 MCP + 本地 API 暴露能力,任何 Agent(含本 AI)都能发现、探索、回放、管理技能;技能与 Skills 概念对齐。
  • G6 · 自愈:页面漂移时分级修复(本地重定位 → 回调 Agent 修单步 → 回调 Agent 重探索),并把修复回写。
  • G7 · 责任使用护栏:内建速率、站点策略、CAPTCHA 升级人工、机密隔离等治理。
  • G8 · 底座无内置 Agent、认知可插拔(本轮新增):底座本身不含 LLM/Agent;"思考"经 Cognition Port 委托可插拔的外部 Agent 驱动(Cursor/Claude/Codex/openclaw/自研),尤其用于自愈;无任何驱动时底座仍能 0 Token 确定性回放/批量(见 10)。
  • G9 · 参数模板与批量执行(本轮新增):技能可自动生成可下载参数模板(CSV/XLSX),用户导入表格即批量 0 Token 执行(如一批不同类型/价位的商品,见 11)。
  • G10 · 多模态组合(本轮新增):允许 Agent 组合截图/AX-tree/DOM/OCR/坐标/网络多模态,攻克复杂页面与特殊情况(见 12)。

3.2 非目标(Out of Scope,至少 v1 不做)

  • N1 不做通用 Web 爬虫/大规模数据采集平台(可作为能力被上层调用,但不是产品定位)。
  • N2 不做面向人类的可视化流程设计器(创作者是 Agent,不是人;人只做 Review/审批)。
  • N3 不主动破解验证码/绕过登录风控到"对抗安全"的程度——遇到硬挑战(图形验证码、风控人机)升级给人而非盲目对抗(见 §6 责任使用)。
  • N4 不做移动端/原生 App 自动化(v1 仅桌面浏览器)。
  • N5 不做多租户云平台(v1 本地个人工具优先,架构预留服务化接口,见 05)。

4. 关键用户旅程(Persona = Agent)

旅程 A:首次探索(花 Token)

人类对 Agent 说:"在某电商平台搜索『无线降噪耳机』,取前 10 个结果的标题/价格/评分,按性价比排序给我。"

  1. Agent 调 Agent-RPA 的 explore_task,传入 NL 意图 + 目标站点 + 期望产出 schema。
  2. Agent-RPA 启动隐身浏览器会话(真实 Chrome + 一致性画像)。
  3. Planner-Actor-Validator 循环:规划子任务 → 逐步用视觉+AX-tree 决策并拟人执行 → 校验每步与整体目标。
  4. 全程记录语义动作 + 多模态定位器 + 断言 + 抽取字段 + 变量占位
  5. 结晶为技能包 search-and-compare@ecommerce-X,产出结构化结果,返回给 Agent。

旅程 B:0 Token 回放(换输入复用)

"同样的比较,换成『机械键盘』。"

  1. Agent 调 run_skill("search-and-compare@ecommerce-X", { query: "机械键盘" })
  2. Agent-RPA 不调用 LLM:按技能包动作图,用同身份 Profile 拟人回放(轨迹/时序重采样)。
  3. 断言逐步校验;产出与首轮同 schema 的结果。
  4. 若某步定位失败 → 触发分级自愈(见 02)。

旅程 C:自愈(页面漂移)

  1. 回放中"搜索框"定位器命中失败。
  2. 先本地重定位(AX-tree/视觉/语义多路兜底,0 Token);
  3. 仍失败→经 Cognition Port 回调 Agent 只修这一步(Token 在 Agent 侧,见 10);
  4. 再失败→回到 Planner 重探索该子流程;
  5. 修复成功后回写技能包并升版本,下次回放又变 0 Token。

5. 成功标准(可验收)

编号 成功标准 验证方式(建议)
SC1 Agent 能把一句 NL 意图完成整段浏览器流程,无人类脚本/录制 端到端跑通旅程 A,产出符合期望 schema
SC2 同任务可 0 Token 回放,换参数复用,结果同 schema 旅程 B:回放期 LLM 调用计数 = 0;换 3 组输入均成功
SC3 探索与回放在主流电商/内容站规避误判封锁 在约定目标集上,探索+连续 N 次回放不被拦(分档口径见 03)
SC4 对硬风控目标有明确降级/升级路径与已知边界 命中硬挑战时正确升级人工,并记录边界(03 的传输分档)
SC5 浏览器启停/Profile/会话/身份全自动,崩溃可恢复 注入崩溃,会话自动重建并续跑
SC6 任意 Agent(含本 AI)可经 MCP/API 驱动全流程 本 AI 通过 MCP 完成 A/B/C 三旅程
SC7 自愈闭环有效:漂移后能修复并回写、下次回放 0 Token 人为改选择器/DOM,触发自愈并验证回写生效
SC8 责任使用护栏生效 速率/站点策略/机密隔离/CAPTCHA 升级人工 均可被触发验证
SC9 底座无内置 Agent,认知可插拔且自愈可换驱动 不配任何 Agent 时 0 Token 回放/批量仍成功;分别用 Cursor/Codex/Claude/openclaw 完成一次 outbound 自愈
SC10 参数模板→批量 0 Token 执行 从技能生成模板→填 N 行导入→批量执行,正常路径 LLM 调用=0,产出统一 schema + 部分失败可重试
SC11 多模态组合攻克复杂页面 在含 canvas/shadow DOM/iframe/纯视觉控件的页面上完成探索与回放

默会知识备注(Polanyi):以上"成功"里藏着大量未言明的判断——例如"规避封锁"到什么程度算成功、"性价比排序"背后的隐含偏好、"结果正确"由谁裁定。蓝图在 02(断言与验证)与 06(人类审批点)显式暴露这些判断点,避免把默会假设焊死进代码。


6. 责任使用与合规(贯穿设计)

抗检测在本项目里的定位是:让"代表用户行事的合法 Agent"不被反自动化系统误判封锁,而不是用于对抗性入侵、欺诈或大规模滥用。据此设立护栏:

  • 一致性而非欺骗:目标是"表现得像真实 Chrome",不制造伪造矛盾(借鉴 mochi 哲学)。
  • 站点策略(Site Policy):每个目标域可配置速率上限、禁行区域、是否允许下单/支付等高风险动作。
  • 硬挑战升级人工:图形/音频验证码、风控人机校验等 → 触发 onEscalation 交人处理,不盲目自动对抗(N3)。
  • 机密隔离:凭据只存 Vault,技能包里只留 %变量% 占位,日志/回放记录默认脱敏。
  • 可审计:所有运行留痕(截图、动作、网络摘要),支持人类事后审计与审批点。
  • 法律/许可提示:若高强度档采用 AGPL 系组件(如 nodriver/Skyvern 思路的实现),需评估商用许可影响(见 08 选型表)。

本文档为技术蓝图;实际部署前应结合目标站点 ToS 与所在司法辖区法律做合规评估。


7. 术语速览(详见 09)

  • 技能包(Skill Package):探索结晶出的、可 0 Token 回放的参数化自动化单元。
  • 探索器(Explorer):用 LLM 做 Planner-Actor-Validator 的"技能作者"。
  • 执行引擎(Runner):确定性回放技能包 + 行为合成 + 隐身传输。
  • 传输驱动(Transport Driver):驱动浏览器的可插拔后端(patchright / 裸 CDP pipe / …)。
  • 一致性画像(Coherence Profile):由 (profile, seed) 派生、跨面自洽的指纹+行为参数。
  • 定位器仓库(Locator Repository):多模态、可自愈的元素定位库(对应 RPA 的 Object Repository)。
  • 自愈(Self-Healing):定位/断言失败时的分级修复与回写。