DOM 快照(DOM Snapshot)

浏览器在某一时刻的页面结构序列化结果,让不直接看屏幕的 Agent 也能理解并操作页面。

生产方式:人写签发:晓黎学习复核:2026年9月21日被 0 个词条引用

一句话定义

DOM 快照 = 把浏览器当前页面的 DOM 树序列化成一份结构化文本或对象,使 Agent 能「读到」页面长什么样、有哪些可操作元素。

为什么需要它

模型看不到屏幕。要让 Agent 操作网页,必须把页面状态转换成它能理解的形式。三条常用路径:

形式内容优点缺点
截图像素图直观,保留视觉信息模型难精确定位元素坐标
DOM 快照结构化节点树精确、可定位、体积可控丢失视觉样式与布局观感
可访问性树语义角色与标签语义清晰,靠近无障碍标准信息少于完整 DOM

实践中常组合使用:DOM 快照负责精确定位与操作,截图负责验证视觉结果。

快照里通常包含什么

- 节点类型(元素、文本、按钮、输入框)
- 可读文本与属性
- 可交互标志(能否点击、是否可编辑)
- 稳定的元素标识(id、data-testid、可访问性标签)
- 层级关系

一个实用的裁剪原则:只保留可操作和可理解的部分。完整的 DOM 往往包含大量脚本、样式和框架内部节点,直接全量喂给模型既浪费上下文又引入噪声。

在 Agent Harness 中的位置

DOM 快照属于上下文层的一种输入源。它的产物进入 Prompt 装配,供模型决策;它的生成过程属于工具或运行时能力。

关注点归属
如何获取页面状态工具(如浏览器控制工具)
如何裁剪与序列化工具内部实现
如何注入模型上下文Prompt 装配(第 03 讲)
如何记录与复现事件日志(第 04 讲)

关键设计点

  1. 稳定性优先:快照中的元素标识必须在页面重渲染后保持稳定,否则 Agent 的操作会「打偏」。
  2. 体积控制:大页面的完整 DOM 可能数万节点,必须裁剪或分页,否则撑爆上下文。
  3. 时效性:快照是某一时刻的切片。页面变化后旧快照失效,需要重新获取。
  4. 与操作配对:每次操作后应重新获取快照,确认操作生效,而不是假设成功。

与相邻概念的区别

概念关系
DOM页面结构的运行时表示;快照是它的一次序列化
可访问性树更偏语义,适合理解;DOM 快照更偏操作
页面上下文(page context)更宽泛,可能包含路由、标题、标签页等;快照是其中一种

相关

来源

  • OpenAI. "Harness Engineering: Leveraging Codex in an Agent-First World". 2026-02-11. 文中提到将 Chrome DevTools Protocol 接入 agent 运行时,并创建处理 DOM 快照、截图和导航的 skills。
  • 本地存档:OpenAI Harness Engineering

互链

链接来自概念卡正文里的双链,编译时能解到本期词条集的才成为站内链接。

反链(0)

还没有其它词条引用这一页。

出处

路径是本地知识库(Obsidian 库)里的位置,正文与概念卡逐字对应。

  • 概念卡原文DOM 快照(DOM Snapshot)03_RESOURCES/概念/dom-快照.md
  • 所属知识地图栏目概念页索引 · Agent 架构与 Harness 治理03_RESOURCES/概念/Index.md
  • 正文引用的知识库笔记第 17 讲 可观测性02_AREAS/AI开发/Harness Engineering/Agent Harness 课程/17-可观测性:如何知道系统正在发生什么.md
  • 正文引用的知识库笔记OpenAI Harness Engineering02_AREAS/AI开发/Harness Engineering/OpenAI - Harness Engineering Leveraging Codex in an Agent-First World.md

编译入库:2026年10月6日。词条由知识库编译而来, 修正要回到概念卡改,再重新编译。