Agent Engineering 课程阅读

在 GitHub 查看原文

本页目录

L05 练习

练习 1:造一个 DOM 不完整的场景(方法练习)

本课的结论是「本地 DOM 完整页文本不输视觉」。造一个视觉路线真正占优的场景:

  1. 新增 test_pages/canvas.html:用 <canvas> 画一个「版本号图表」(DOM 里没有文字,只有像素)。
  2. 跑文本路线(page_to_obs 拿不到 canvas 内容)和视觉路线(VLM 看截图能读到)。
  3. 对比:文本路线失败(拿不到 canvas 信息),视觉路线成功。

验收:文本路线在 canvas 页上失败、视觉路线成功的对照。这证明视觉路线的不可替代性——L11 收益表的「视觉路线价值」列需要这个证据。

提示:canvas 怎么画文字
<canvas id="c" width="400" height="200"></canvas>
<script>
const ctx = document.getElementById('c').getContext('2d');
ctx.font = '20px sans-serif'; ctx.fillText('v0.8.0  2024-08-15', 20, 40);
</script>

page_to_obs 对 canvas 无能为力(DOM 里没文本),VLM 看截图能读出。


练习 2:SoM 标注密度的影响(设计实验类)

SoM 给每个可交互元素画框编号。但元素多了标注会乱(框重叠、编号挡内容)。实验:

  1. 假设:标注密度(元素数)影响 VLM 识别准确率——太多框遮挡内容、太少漏元素。
  2. 实验:对同一页,分别标注「全部元素 / 只标注按钮和链接 / 只标注前 5 个」三种密度,让真实 VLM(--real)识别「第 1 条结果的编号」。
  3. 预期:密度太高遮挡内容降准确率;太低漏目标。有个甜蜜点。

验收:三种密度的识别准确率对照。诚实标注无 API 时用 mock(mock 不真看图,只能演示标注效果,识别准确率需 --real)。


练习 3:grounding 难度实测(理解类)

本课说「直接让 VLM 输出坐标会飘,SoM 编号才准」。验证这个论断:

  1. 不用 SoM,直接让真实 VLM 输出「点击搜索按钮」的 (x, y) 坐标。
  2. 对比 VLM 输出的坐标和按钮真实 bbox 的中心点,算偏差。
  3. 再用 SoM,让 VLM 输出编号,看是否准。

验收:坐标偏差大(几十到上百像素)、编号准确(直接命中)。这量化证明了 SeeAct 论文的 grounding 命门,和 SoM 的救星作用。

提示:需 --real + glm-4v-plus。无 API 时写「未实测,论文 SeeAct 已证明」并标注。


练习 4:思考题——混合路线的触发条件(取舍类)

本课落地选混合:文本为主,卡住才截图。但「卡住」怎么判断?回答:

  1. 列出 3 种「文本路线卡住、该切视觉」的信号(提示:观察里没有目标元素但页面有内容/连续 N 步无进展/遇到 canvas)。
  2. 这些信号谁来检测——agent 自己(LLM 说「我看不懂」)还是可靠性层(规则检测)?
  3. 这和 L06 可靠性课的「循环检测」是什么关系?

验收:能说出混合路线的触发信号,并判断「规则检测(可靠性层)比 LLM 自判更可靠」——这正是 L06 的主题。本课埋下「混合需要触发机制」的伏笔,L06 实现。