ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

用 invisible_playwright_mcp 验证 AI Agent 采集结果:五道廉价校验与一次人工核对

用 invisible_playwright_mcp 验证 AI Agent 采集结果:五道廉价校验与一次人工核对 人工智能AI Agent浏览器控制GUI 自动化MCP 服务【免费下载链接】invisible_playwright_mcpPlaywright MCP server undetected by anti-bots and captchas: AI agent browses the web on anti-detect stealth Firefox, Python, undetected browser automation, scraping, computer use.项目地址https://gitcode.com/GitHub_Trending/jo/invisible_playwright_mcp点击查看免费下载AI Agent 读网页是一次随机过程指向确定任务它很能干却并不精确因此输出必须被检查而检查必须便宜到你真的愿意运行。本文围绕 invisible_playwright_mcp 的真实采集场景给出按成本排序的五道校验——前三道各只需几秒——并说明为什么“两次运行结果一致”证明不了正确性、什么错误是五道校验全部抓不到的以及如何在任务提示词里把两道算数类校验直接交给 Agent 自己完成。为什么“输出需要校验”是这个项目的基本前提把 Agent 当作一个随机仪器对准一个确定任务是理解本页一切建议的前提它读取的是真实网页browser_read_text拿到的是页面可见文本见 mcp/server.py但它对文本的理解、计数与归纳都具有随机性。仓库中的实测案例也印证了这一点——文章Web research, audited 里Agent 在 60 本书的目录上统计“超过 40 英镑的价格”与价格带分布虽然与无模型脚本的确定性答案完全一致但文章明确写下了边界干净的价格字符串是容易输入价格埋在叙述里、分散在变体中、或渲染成图片时读取就开始漂移。因此校验不是可选项而是让采集结果可用的必要条件。五道校验按成本排序校验必须便宜到“你确实会去运行它”。前三道加起来只要一分钟第四道是读数第五道最贵也最容易被高估。1. 用页面自己报的数去对行数大多数列表页会声明自身规模“1,240 results”“page 3 of 17”“showing 20 of 400”。把你的行数与它比较。数量偏短是截断或提前停止而这正是采集类任务最常见的失败。一种成因是读取被截断且当场自报在长页面上实测默认文本读取返回了 35,490 字符中的 6,000 字符并在返回内容的最后一行明确声明了这一点详见 text, HTML, snapshot or screenshot。另一种是静默的短计数——通常意味着遍历提前停止而不是页面内容真的少。这一校验正是仓库实战文章里反复使用的“目击者”逻辑在 Extracting a category to CSV 的完整运行中提示词要求“Tell me how many you got and check it against the count the page itself reports”类别页头声明32 results两次提取合计 20 12 32。文中特别指出“选择器静默匹配不到任何东西会产生一份看起来已经完成、实则残缺的短文件页面自己的计数是唯一的见证者”。2. 检查最后一行而不是随机一行抽查中间行是人的本能却是错误的本能。截断、超时与提前停止都只啃尾部因此最后一行才是损伤所在而第一行永远是对的。打开最后一行的 URL 手动比对。三十秒却能抓到“中间随机抽五行”永远抓不到的那类失败。3. 用机械手段检查数据形状每一行有相同数量的字段每个数字都能被解析为数字每个日期都落在合理范围内没有哪个单元格在应该放数值的地方放了一整句话。这道校验抓到的是列漂移第一页产出两列第四页的标题里出现一个逗号于是产出三列之后每一行都整体错位。任何会在导入时标记参差不齐行的电子表格工具都能免费帮你做这件事。4. 统计空值并逐一阅读它们有多少行有原始值却没有归一化值有多少行的 outcome 不是 “done”。这个数字决定了数据集是否真的回答了你的问题40 行里有 2 行尴尬是可注明的瑕疵15 行则意味着“你正在比较的东西根本不可比较”——这本身是一个发现而不是缺陷而且只有在 Agent 被允许把单元格留空时这个发现才可见。允许留空的指令应当写在任务里其完整方法见 Normalising values across sites——原文明确给出了那句必须写进每个列表任务的话写出原始字符串并把归一化单元格留空而不是推断一个值否则这些尴尬行就会被隐藏在一片好数据之中既看不见也无法计数。5. 重跑一个切片而不是全部取五行重跑一遍。两次运行不一致证明其中一次是错的——这本身值得知道。但一致证明的东西比看上去少得多。同一个模型在同一页面上跑两次共享同一套盲区如果它第一次读错了一个标签第二次通常以同样的方式读错。两次一致只能排除随机抖动对系统性误读则什么也说明不了。要发现系统性误读唯一的方法是让人把一行与页面逐项比对——也就是把第 2 道校验从“抽查”升级为“刻意执行”。五道校验全部抓不到的东西正确抽取了错误的对象。比如 Agent 在全部 40 个站点上把“订阅价”而不是“一次性价格”准确读了出来。此时上面每道校验都通过数量正确、形状正确、数值可解析、重跑一致。只有人把一页与一行放在一起看才能发现这类错误。值得在采集开始时做一次而不是结束时先单独跑第一行、与页面比对再发布整个列表——这与 one form submission per spreadsheet row 是同一个纪律。它也是仓库中“Web research, audited”一文结论的另一种表述一个小样本上通过的审计是你赢得信任更大样本的资格而不匹配的审计是让你花沙箱运行的成本而不是错误决策的成本去发现问题。把校验构建进任务本身五道校验中有两道可以是 Agent 自己的工作而且恰好是它最可靠的两道——因为它们是算术而不是判断完成后说明你写入了多少行、页面声明的总数是多少、你留空了多少行以及为什么。如果这两个数字不一致先说出这一点。这只需要一句话却把“这是你的文件”变成“这是带声明覆盖范围的文件”。剩下三道必须由人来做因为它们需要与 Agent 看不到的东西比对。与日志和去重的关系这五道校验的输入来自 Agent 运行的日志。仓库 wiki 的 what an agent run should log 给出了八字段清单UTC 时间戳、最终 URL重定向之后而非你请求的那个、原始值、归一化值、读取还是推断、出口国家、身份种子、以及 outcome——其中 outcome 至少需要done、not found、blocked、error、needs a person五类取值因为 “not found” 是答案而 “error” 是没有答案二者需要不同的响应。只有当这八字段被如实记录第 1、2、4 道校验才有东西可读。另外行数只有在去重之后才有意义所以计数校验应放在 deduplicating what an AI agent collects 之后。关于截断警告一个源码级的细节第 1 道校验背后有一个重要的实现细节截断必须可见。在 mcp/actions.py 的read_text实现中源码注释明确记录了这段历史这个截断曾经是静默的而静默截断是灾难性的——“调用者读到一句中断的散文却无法把它与真正到此为止的页面区分开于是自然的下一个动作依据返回内容作答就是依据碎片作答却以为那是全部”。现在的实现是DEFAULT_MAX_CHARS 6000见 actions.py超限时返回txt[:max_chars]并追加一行可见声明[cut after 6000 of 35490 characters. Raise max_chars, or narrow the selector to the part you need.]。这就是 what-should-the-agent-read 中引用的原文。因此当读取结果偏短时先分清是“页面本来就短”还是“读取被截断且已声明”——一个短答案来自长页面不是页面变短了。短问答速查怎么检查 AI Agent 的抽取结果用页面声明的总数对数量、打开最后一行、机械检查形状、统计空值、重跑一个切片。为什么是最后一行而不是随机一行因为截断和提前停止只啃尾部。第一行永远是对的。两次一致能证明正确吗不能。它只能排除随机抖动。系统性误读会一模一样地重复所以一致性不构成反对它的证据。这些校验漏掉什么每一行都正确读取了错误的元素。只有手工把一行与页面比对才能发现。Agent 能检查自己的工作吗算数部分可以行数对页面声明总数、留空计数。把两者都写进任务提示词即可。延伸阅读what an agent run should log本页校验所读取的日志字段清单deduplicating what an AI agent collects行数只有在去重后才有意义Normalising values across sites“原始值 vs 归一化值”两列规则以及第 4 道校验依赖的留空指令text, HTML, snapshot or screenshot第 1 道校验引用的截断实测数据Web research, audited仓库内一次“Agent 计数 vs 无模型脚本计数”的完整对照审计含可复现的提示词与 ground_truth.pyExtracting a category to CSV一次完整采集运行页头32 results与 20 12 行提取的对账是第 1 道校验的现场示范第 1 到第 3 道校验加起来只需一分钟。第 5 道是大家最先想到的也是证明力最弱的一道。赞分享人工智能AI Agent浏览器控制GUI 自动化MCP 服务【免费下载链接】invisible_playwright_mcpPlaywright MCP server undetected by anti-bots and captchas: AI agent browses the web on anti-detect stealth Firefox, Python, undetected browser automation, scraping, computer use.项目地址https://gitcode.com/GitHub_Trending/jo/invisible_playwright_mcp点击查看免费下载相关推荐downkyi文件校验结果比较对比不同时间的验证结果downkyi文件校验结果比较对比不同时间的验证结果 引言为什么需要对比文件校验结果 你是否遇到过这样的情况下载的视频文件在播放时突然出现卡顿、花屏甚downkyi文件校验结果可视化用图表展示验证结果downkyi文件校验结果可视化用图表展示验证结果 痛点与解决方案 你是否曾在批量下载视频后面对成百上千个文件的校验结果感到无从下手传统的文本日志难以直观ai-agent-book 的三层轨迹验证器怎么核对 Agent 的环境结果、执行过程与语言质量ai agent book 的三层轨迹验证器怎么核对 Agent 的环境结果、执行过程与语言质量 ai agent book 仓库的 chapter9/traj教程AI Agent人工智能大模型上一篇SwiftUIX 项目教程下一篇Swift-sh 开源项目安装与使用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表