Making Failure Safe: A Constrained, Verifiable Agent Framework for Open-Web Data Collection
本文提出了一种受限且可验证的智能体框架,该框架通过使用类型化的 JSON 收集器配置和静态执行流水线,取代了不可靠的自由形式 LLM 代码生成,从而实现确定、低成本且可复用的开放网络数据采集。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你需要雇佣一个机器人去每天从成千上万个不同的网站中收集特定的信息。你可以直接告诉机器人:“去获取新闻,”然后寄希望于它能自己搞明白怎么做。但正如这篇论文所解释的,这种“自由放任”的方法就像是让一个孩子在没有任何指令的情况下进入图书馆;他们可能会抓错书,可能会被椅子绊倒,或者带回一堆乱七八糟的页面。
这篇论文提出了一种构建这些数据采集机器人(称为“智能体/agents”)的新方法,使之变得安全、可预测且易于修复。以下是其工作原理,通过简单的概念进行拆解:
1. 问题所在:网络爬虫的“西部荒野”
目前,如果你要求 AI 编写一段代码来爬取某个网站,它通常会尝试每次都从头开始编写全新的脚本。
- 问题: 网站是杂乱无章且经常变化的。如果 AI 对页面上价格标签的位置判断错误,整个脚本就会崩溃。
- 结果: 你会得到错误、损坏的数据,或者一旦网站更新布局,脚本就会停止工作。这就像每次铺砖时都要重新猜测砖块应该放在哪里一样。
2. 解决方案:“乐高套装”法
与其让 AI 编写自由形式的代码(就像写小说),不如强制 AI 填写一份结构化表格(就像填写乐高说明书)。
分类法(6 种类型): 系统首先会询问:“这是一个什么样的任务?”它将任务分为六个特定类型,就像一份菜单:
- 搜索 (Search): 根据关键词寻找链接。
- 列表 (List): 遍历项目页面(如新闻存档)。
- 详情 (Detail): 阅读单个页面的完整内容。
- API: 直接向计算机请求数据(如按菜单点餐)。
- 交互 (Interactive): 在动态页面上点击按钮或输入内容。
- 文件 (File): 下载 PDF 或 Excel 表格。
- 类比: 与其告诉厨师“做顿饭”,不如告诉他“你在做汤”,这样他就只会使用制作汤的工具和食谱。这能防止他在你想喝汤时却去烤蛋糕。
约束条件(安全护栏): AI 不被允许发明新的代码。它必须从一个预先批准的“工具函数库”(预建工具)中进行选择,并在模板中填空。
- 类比: 这就像玩“填词游戏 (Mad Libs)”,AI 只能在提供的特定空格中填入内容,而不是编写整个故事。这确保了输出格式始终是计算机可以理解的。
3. 流程:“试驾”循环
该框架不会立即将机器人派出去。它使用一个严格的“生成 检查 修复”循环:
- 生成 (Generate): AI 根据用户的请求创建一个配置文件(JSON 计划)。
- 试驾 (验证/Validation): 在执行完整任务之前,系统会在仅有的几个页面上运行一个微小的、低成本的测试。
- 质量检查(裁判员): 一个基于规则的系统(而非 AI)会对结果进行检查。它会询问:“我们拿到了正确的字段吗?数据是空的吗?程序崩溃了吗?”
- 关键点: 如果测试失败,系统不仅仅是说“再试一次”,它还会创建一个特定的“黑名单”,规定哪些是不能做的(例如:“不要在页脚寻找价格”)。
- 修复 (Fix): AI 再次尝试,但这一次它被迫避开刚才犯过的错误。
- 规模化 (Scale Up): 只有当试驾通过后,系统才会运行完整的采集任务。
4. 结果:速度与完美的权衡
作者在 138 个不同的数据采集任务上测试了该方法。以下是他们的发现:
- 单次执行质量 (One-Shot Quality): 如果你只想现在抓取一次数据,那些允许 AI 编写自由代码的方法在即时效果上可能略好(约 70% 的成功率,而本方法为 50%)。
- 权衡之处: 然而,作者的方法在重复运行时速度更快且成本更低。
- 神奇之处: 一旦计划制定完成,实际的采集过程将完全不使用任何 AI。它只是执行预先做好的计划。
- 类比: 其他方法就像是为阅读的每一句话都雇佣一名人工翻译。而这种方法则是先雇佣一名翻译来编写一本字典,然后永久使用这本字典。
- 可靠性: 当系统失败时,它不会静默失败。它会产生一份清晰的错误报告,允许“修复”循环来纠正错误。在测试中,这个反馈循环将一个失败的系统(0% 通过率)变成了一个完美的系统(100% 通过率)。
总结
这篇论文认为,我们不应该试图让 AI “完美地”去猜测如何爬取网页。相反,我们应该约束 AI 去遵循严格的规则,使用预建工具,并在进行正式工作前进行“试驾”。
通过用一点点初始的完美度,换取一个可验证、可复用且运行廉价的系统,该框架使得自动化数据采集变得足够可靠,可以用于现实世界的定期任务(如每天早上收集新闻或政府数据),而无需在网站发生变化时由人工去修复代码。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。