Appearance
感知系统
本页整理旧 docs/PERCEPTION_SYSTEM.md 的核心结构,帮助理解 SoulBrowser 为什么不只靠 DOM,还要同时做结构、视觉和语义三种感知。
三类感知
结构感知
关注:
- DOM
- AX 树
- 元素结构关系
- 可交互性与锚点定位
它最适合回答“这个元素在哪里”“我应该点谁”。
视觉感知
关注:
- 截图
- OCR
- 视觉上下文
- 页面是否出现弹窗、验证码、加载态
它最适合回答“页面看起来发生了什么”。
语义感知
关注:
- 页面属于什么场景
- 当前区域的业务语义
- 哪些元素更可能和用户意图相关
它最适合回答“这一块内容是什么意思”。
Perceiver Hub
旧设计里有一个统一中枢来融合不同感知结果。
它的价值是:
- 不让 Agent 直接消费原始、离散、互相冲突的感知数据
- 把多源输入收敛成更稳定的状态摘要
置信度与排序
感知系统不是只返回一个答案,而是通常会伴随:
- 候选项
- 置信度
- 排序结果
这对于 locator 自修复和 Agent 重试都很重要。
缓存为什么重要
感知层开销不小,尤其是截图、OCR 和页面快照。
所以旧设计里强调缓存策略,是为了平衡:
- 实时性
- 成本
- 状态稳定性
如果缓存做不好,会出现:
- 同一步重复做重感知
- 页面其实没变却持续浪费成本
- Agent 输入前后不一致
开发时的常见误区
- 把感知等同于截图
- 把语义层省掉,只靠 DOM 猜业务含义
- 把结构感知结果直接当最终行动目标,不做验证
正确做法是:感知给候选和证据,动作系统再负责定位、执行和验证。