十四道题,按基础、进阶、思考三档排布,覆盖前半本的语法与后半本的工程。全部练习在自有靶场(第 0.2 节的本地测试页)上完成;只给提示不给答案——答案在对应章节正文里。建议顺序做,也可按章号跳读。
| 练习 | 主要章节 | 练习的能力 |
|---|---|---|
| 1 三原语 | 第 1、2、3 章 | 双框架对照、模型调用计数 |
| 2 结构化快照 | 第 4、5 章 | 通道选型与成本实感 |
| 3 敏感数据 | 第 2 章 | 占位符机制的验证 |
| 4 断言三层 | 第 6 章 | 断言分层与失败形态 |
| 5 信息保真 | 第 6 章 | 三件套落盘 |
| 6 回退链 | 第 6 章 | 失败分类与层级路由 |
| 7 会话复用 | 第 7 章 | storageState 与过期检测 |
| 8 沙箱 | 第 7 章 | 容器与双层白名单 |
| 9 固化管道 | 第 9 章 | 探索到测试的三步 |
| 10 混合测试 | 第 9、11 章 | 三层集与抖动统计 |
| 11 并发 | 第 10 章 | 池、隔离与毒丸 |
| 12 成本台账 | 第 10 章 | 通道差与缓存收益 |
| 13 合规判定 | 第 8 章 | 四问清单实操 |
| 14 形态决策 | 第 7、9、11 章 | 一页决策记录 |
练习 1(三原语)。在靶场上分别用 browser-use 与 Stagehand 完成「添加一条待办并读回列表」,记录两边各发出几次模型调用。
提示:数一数感知、决策、抽取各自的调用;想想哪一次调用是可省的(第 1.3、3.1 节)。
练习 2(结构化快照)。给编码 Agent 接入 Playwright MCP,让它完成「清点待办页的交互元素清单」,再把同一任务改用截图问一遍,对比两份答案的准确度与 token 用量。
提示:准确度差异出现在哪类元素上;用量差异就是第 4.1 节三表示对照的实感(第 4.2、5.1 节)。
练习 3(敏感数据)。把第 2.2 节的登录示例跑通后,故意在任务文本里写明文密码跑一次,对比两次运行的历史记录,找出明文出现在哪些地方。
提示:只在自己搭的 demo_login.html 上做;对照「三宗罪」逐条验证(第 2.2 节)。
练习 4(断言三层)。给「添加待办」流程各写一条结构断言、一条自然语言断言(aiAssert),然后故意破坏页面(改掉按钮文本),观察两条断言的失败形态差异。
提示:谁脆、谁稳、谁给了可读的失败信息(第 6.1 节)。
练习 5(信息保真)。扩展练习 4:断言失败时自动落盘三件套(截图、快照、日志),并保证重跑不覆盖旧证据。
提示:run_id 加步骤号命名;思考快照为什么不能省(第 6.1 节)。
练习 6(回退链)。实现第 6.2 节的回退链骨架,然后人为制造三类失败(临时改 hosts 模拟网络失败、改选择器模拟漂移、写含糊指令模拟歧义),验证三类各自走了正确的层。
提示:在每层入口打日志;歧义类应该一次都不重试(第 6.2 节)。
练习 7(会话复用)。实现「登录一次、连跑三个任务」的会话复用,并人为让 Cookie 过期(清掉服务端状态),验证信号表能检测到并触发一次重登。
提示:被动刷新为主;观察重登后旧 storageState 文件是否被更新(第 7.1 节)。
练习 8(沙箱)。按第 7.2 节的编排示意把浏览器关进容器,配置网络白名单后,尝试在页面里插入一个外域图片,验证请求被拦。
提示:两层白名单(应用层、网络层)各拦一次做对照(第 7.2 节)。
练习 9(固化管道)。选一个你自己的高频流程走完第 9.1 节三步:Agent 探索留轨迹、人工整理语义定位、落成 Playwright 测试并进冒烟集。
提示:整理环节只用角色加可访问名,不许抄坐标与序号(第 1.2、9.1 节)。
练习 10(混合测试)。搭一个三层测试集:纯 Playwright 冒烟、Midscene 语义用例、发布前的并用层,连跑一周,统计各层耗时与抖动。
提示:抖动数据标「实测值」;对照第 9.2 节示意表的结构而不是数字(第 9.2、11.1 节)。
练习 11(并发)。把第 10.1 节的池骨架扩到十个任务三个实例,注入一个会卡死的毒丸任务,验证隔离与队列不被拖垮。
提示:卡死用无限等待模拟;观察别的任务是否照常完成(第 10.1 节)。
练习 12(成本台账)。给练习 11 的每个任务接成本记账器,统计文本通道与截图通道的 token 差,再给高频步骤加 observe 缓存,对比前后两周的每任务成本曲线。
提示:先看分布再看均值;救援深度是成本长尾的头号嫌疑(第 10.2 节)。
练习 13(合规判定)。给三个场景各做一次第 8.2 节四问判定:给自己的博客做发布后回归;帮亲戚抢演唱会门票;每分钟轮询某招聘网站新职位。写出每问的判定依据与结论。
提示:第三个场景想想频次与条款,以及有没有官方替代渠道(第 8.2 节)。
练习 14(形态决策)。假设你的团队要上线「每天处理两千个授权后台工单」的系统:浏览器自建池还是托管?哪些流程固化、哪些留给 Agent?出一份一页决策记录,包含第 11.3 节五大块的结论。
提示:先答「数据能否出域」再谈成本;固化候选用第 9.1 节决策表打分留档(第 7.3、9.1、11.3 节)。
合规声明:本附录练习仅用于你有权访问的站点与授权自动化场景;请遵守目标站点的服务条款,自动化访问的速率与方式应可被站点方接受。