Skip to content

感知系统

本页整理旧 docs/PERCEPTION_SYSTEM.md 的核心结构,帮助理解 SoulBrowser 为什么不只靠 DOM,还要同时做结构、视觉和语义三种感知。

三类感知

结构感知

关注:

  • DOM
  • AX 树
  • 元素结构关系
  • 可交互性与锚点定位

它最适合回答“这个元素在哪里”“我应该点谁”。

视觉感知

关注:

  • 截图
  • OCR
  • 视觉上下文
  • 页面是否出现弹窗、验证码、加载态

它最适合回答“页面看起来发生了什么”。

语义感知

关注:

  • 页面属于什么场景
  • 当前区域的业务语义
  • 哪些元素更可能和用户意图相关

它最适合回答“这一块内容是什么意思”。

Perceiver Hub

旧设计里有一个统一中枢来融合不同感知结果。
它的价值是:

  • 不让 Agent 直接消费原始、离散、互相冲突的感知数据
  • 把多源输入收敛成更稳定的状态摘要

置信度与排序

感知系统不是只返回一个答案,而是通常会伴随:

  • 候选项
  • 置信度
  • 排序结果

这对于 locator 自修复和 Agent 重试都很重要。

缓存为什么重要

感知层开销不小,尤其是截图、OCR 和页面快照。
所以旧设计里强调缓存策略,是为了平衡:

  • 实时性
  • 成本
  • 状态稳定性

如果缓存做不好,会出现:

  • 同一步重复做重感知
  • 页面其实没变却持续浪费成本
  • Agent 输入前后不一致

开发时的常见误区

  • 把感知等同于截图
  • 把语义层省掉,只靠 DOM 猜业务含义
  • 把结构感知结果直接当最终行动目标,不做验证

正确做法是:感知给候选和证据,动作系统再负责定位、执行和验证。

相关页面

SoulBrowser Documentation