原创虚构教学示例,未预填模型结果。
可编辑的起点
- 1 · 要检查的材料
- 目标:为 Dana Lee(dana.lee@example.com)报名参加会议。 当前页面:“报名 – 第 2 步,共 2 步” 可见元素: - 文本框“姓名”:Dana Lee - 文本框“电子邮箱”:空,标为必填 - 复选框“我接受行为准则”:已勾选 - 按钮“提交报名”:可点击 - 横幅提示:“你的会话将在 10 分钟后过期。”
- 2 · 你想问的问题
- 为了达成目标,智能体下一步应该执行哪一个步骤?
- 3 · 定义 2–6 个选项
- 补全一项必填内容
某个必填字段或复选框还空着,而目标中已经给出了对应的值。
- 点击提交按钮
所有必填内容都已填好,页面可以提交。
- 稍候并重新读取页面
页面仍在加载或变化,当前状态还不可信。
- 请人工介入
缺少信息,或这一步的后果超出了智能体获准承担的范围。
- 补全一项必填内容
这些是模型判断的概率,不是实测准确率或保证。“是/否”对应你写的标准,选项概率只在你提供的选项内比较。
Jev 能驱动浏览器智能体吗?
单靠它自己不能。Jev 不会点击、不会输入,也不会读取屏幕。它只针对你发送的状态回答有明确类型的问题。放到浏览器智能体里,它适合承担一项很窄的工作:拿到当前页面的文字描述和目标后,从一份简短的候选清单中选出下一步,而清单上的每一步,你的代码都已经知道怎么执行。
TypeSafe 的构建指南描述的也是这种分工:代码始终掌握控制权,模型只接收范围明确、结构化的判断。智能体循环、页面读取、点击和重试,都仍是普通的软件逻辑。
打开可编辑的下一步模板。其中有一个虚构的报名页面、一个问题和 4 个选项。载入只会建立草稿,主动点击检查才运行。
把页面描述成状态,而不是截图
模板发送的是纯文本:目标、页面标题,以及可见元素和它们当前的值。要包含哪些内容,由你的页面读取程序决定。这次判断用不到的信息就不要放进去;也绝不要把密码、支付信息或他人的个人数据发送到公开演示中。
| 选项 | 什么情况下应当胜出 |
|---|---|
| 补全一项必填内容 | 某个必填字段或复选框还空着,而目标中已经给出了对应的值。 |
| 点击提交按钮 | 所有必填内容都已填好。 |
| 稍候并重新读取页面 | 页面仍在加载或变化。 |
| 请人工介入 | 缺少信息,或这一步的后果超出了智能体获准承担的范围。 |
每个选项对应智能体中的一个函数。Jev 负责挑选函数;参数则由你的代码提供,并且应当是代码能够核实的内容,例如哪个字段还空着。TypeSafe 的函数调用实用示例采用同样的思路:封闭集合内的选择写成问题,自由文本、数字和日期仍交给代码处理。
每次只改一项,再比较结果
- 按原样运行模板,记录选中的步骤及其他选项的概率。
- 在页面描述中把电子邮箱填上,再运行一次。运行前先想好你预期会选中哪一步。
- 从目标中删去邮箱地址,并让该字段保持为空。这时智能体手里没有要填的值,稳妥的设计应当倾向于请人工介入。
模板没有预填正确答案,一次运行也算不上测量。如果两个选项总是难分高下,就改写它们的描述,直到一个人无需猜测也能照着执行;参见如何处理重叠标签。
让风险高低决定阈值
TypeSafe 的置信度门控路由模式把置信度当作第二个信号:答案说明该做什么,置信度说明要不要执行。在它的示例中,低风险操作达到中等置信度即可放行,而批准一笔转账则要求高得多的置信度。这里也可以照此处理:重新读取页面代价很小;提交表单、付款或删除则不然。阈值应当根据你自己标注过的样本来定,动手之前请先读概率与置信度的区别。
社区做过哪些尝试
项目案例页收录了一个社区的浏览器智能体原型,它把决策这一步交给了 Jev。其中关于速度的说法出自作者本人,而且他同时改动了好几处,因此无法单独看出 Jev 带来的影响。这类报告可以当作值得验证的思路;之后请从自己的产品中整理一小组页面状态,逐步人工核对,再让智能体操作真实账户。
来源与延伸阅读
本指南依据官方文档和所链接的社区报告编写。社区观察均注明原作者。
我们如何核查来源