从“生成“到“选择“:结构化动作空间如何重塑 AI 在智能体工作流中的价值
从生成到选择结构化动作空间如何重塑 AI 在智能体工作流中的价值【免费下载链接】jev-ultrafastFastest and cheapest web agent项目地址: https://gitcode.com/gh_mirrors/je/jev-ultrafast过去两年让大模型自己写代码、自己调工具的生成式 Agent 路线迅速走红但伴随而来的却是两条无法回避的曲线token 成本随步骤数指数膨胀以及自由生成动作带来的不可控幻觉。当模型每走一步都要重新生成下一步做什么的自由文本时一次浏览器自动化任务可能消耗上万 token还可能在某个不存在的选择器或坐标上戛然而止。就在这种背景下社区里悄然出现了一类反向思路——把下一步从生成问题改造成选择题。以 TypeSafe 的 Jev 决策模型为底座、由 browser-use 生态实现的 jev-ultrafast用 7.1 秒跑完一次真实的 Google Flights 机票查询并把浏览器协议调用量压掉了 90.8%。本文结合该仓库源码与社区实测情报拆解选择式决策这一范式究竟改写了 Agent 工作流中的哪些环节以及它为什么正在从浏览器向更广的决策引擎蔓延。生成式 Agent 的成本与幻觉之痛为什么业界开始转向选择典型的生成式浏览器 Agent 走的是截图 → 多模态推理 → 输出自然语言动作 → 解析执行的链路。每一步都要把整页截图和长上下文喂给大模型动作以自由文本或结构化 JSON 形式生成再由外围代码解析成可执行指令。这套链路有三个结构性代价协议调用爆炸一次点击往往伴随多次 DOM 查询、坐标计算与状态轮询。jev-ultrafast 的实测对照里旧版完成一次机票查询需要1,092 次浏览器协议调用而新架构只要101 次——削减了 90.8%docs/performance.md。上下文臃肿多模态截图与滚动文本让每轮推理的输入 token 居高不下。相反选择式决策每轮只消费一份结构化的元素表 目标 最近动作精简上下文带来的直接收益是决策延迟中位数仅178 ms。幻觉被自由格式放大当模型有权输出选择器、坐标甚至脚本时任何一个编造的目标都会导致失败或误操作。这也是社区对 Jev 类模型只做选择题的讨论焦点——头条与知乎侧的热议文章反复强调其速度快 193 倍、成本低 444 倍社区情报Jev 全量开放而 CSDN 的实测文章也把规避多模态截图与幻觉风险列为该架构最核心的收益。成本侧的数字同样直观在 jev-ultrafast 的机票任务中两次真实的文本生成城市名 Zurich / London经 OpenRouter 计费仅0.00006272 美元docs/performance.md。社区流传的Jev 1 万次判断大约 3 块钱正是这套分工的写照——决策交给专门的选择模型文本才交给生成模型各司其职互不越界。Jev 的范式内核结构化动作空间、严格 JSON 契约与可审计性jev-ultrafast 的自我定位非常明确——A browser agent that chooses instead of generatingpyproject.toml。整个闭环由四个文件构成agent.py 承载主循环、snapshot.js 负责原子化快照、model.py 实现动态操作/目标双头决策、browser.py 负责安全执行。把页面变成编号选择题每一次页面观察snapshot.js 会在一次浏览器调用内读取可见控件、名称、取值与文本产出一张带编号的元素表[1] button Change ticket type · Round trip [2] combobox Where from? · San Francisco [3] combobox Where to? · empty [4] textbox Departure · empty ...每个真实 DOM 节点通过WeakMap获得代码所有的身份 IDwindow.__jevFastMap则保存用于执行的活动引用节点被替换会获得新身份、断开的引用被裁剪、导航会重置缓存。快照还包含page_key与逐控件的guards文档、表单值、选中态、附近上下文等语义指纹供执行前做新鲜度校验——而不是靠统计 DOM 突变次数来判定页面是否变化。关键约束在于模型只看到编号与语义描述永远看不到选择器或坐标。动作空间被收敛为CLICK、TYPE_TEXT、SELECT、SCROLL_UP、SCROLL_DOWN、WAIT、DONE、BLOCKED这 8 种预定义操作且只开放与控件能力匹配的候选——输入框才有 TYPE_TEXT下拉框的 SELECT 目标还附带代码侧维护的选项索引。正如 README.md 所写Model output never becomes selectors, coordinates, shell commands, or executable JavaScript.推测性扇出操作与目标一次网络往返选择式决策的精髓在 model.py 的choose()中体现得淋漓尽致。一次请求同时携带操作头与每个操作各自的目标头speculative fan-outoperation头回答下一步执行哪个操作每个操作对应一个独立的目标头如click_target、type_text_target、select_target各自只包含兼容的候选元素执行器只消费选中操作对应的目标头——未使用的目标头即使输出了荒谬答案也无法触发任何动作目标头无法读取操作头的答案因此其提示词会显式声明本问题假设执行的操作是 X。这套设计的直接收益是两个决策操作 目标合并为一次网络往返且天然杜绝了操作与目标不匹配的经典错误。离线测试对此有专门覆盖——test_all_heads_are_one_request_and_only_matching_head_executes断言一次请求内同时包含操作与各目标头test_click_cannot_consume_a_text_target验证 CLICK 操作永远无法消费 TYPE_TEXT 目标tests/test_agent.py。严格 JSON 契约验证比提示词更可靠选择式架构的另一半是输出必须通过严格校验才能被执行。决策侧validate_choice()model.py逐项检查choice必须存在于候选集合、概率键集合与候选完全一致、概率值有限且非负、概率和与 1 的偏差小于 0.02、置信度落在 0~1、被选中的候选概率必须接近最大值。任何一项不满足整次决策直接抛错且不执行任何动作。测试用unknown / nan / missing / negative / non_max / confidence六种变异逐一验证了拒绝路径tests/test_agent.py。文本侧同样苛刻只有操作是 TYPE_TEXT 时才把目标 页面上下文 最近动作交给一个小型 OpenAI 兼容模型默认 DeepSeek示例配置为 Mercury。其输出必须解析为恰好一个键的 JSON 对象{text: ...}多一个键、非字符串、超过 2000 字符或为空都直接拒绝nothing typed——代码不提取引号字面量也不允许执行器猜测文本tests/test_agent.py 中test_text_helper_rejects_invalid_values覆盖了Thinking: Zurich、{text:null}、多余键、非字符串四种攻击样本。执行侧的护栏在 browser.py动作执行前重新解析目标几何、校验可见性与点击遮挡elementFromPoint命中测试点击前比对语义指纹原生下拉框的中断执行被视为不可重试的失败因为 change 事件可能已经触发。可审计性每一步都留下证据选择式决策天然可审计——因为动作空间是有限的、可枚举的。每轮循环在 agent.py 中把以下字段写入history执行的 action、kind、选中项、目标概率、操作概率、置信度、模型延迟、token 用量、页面指纹是否变化。执行先记录、再观察即使随后的观察遭遇导航中断已执行的动作也不会被抹掉test_stale_observation_preserves_executed_action覆盖此场景。更重要的原则是DONE 从来不是成功证据。examples/flights.py 内置独立的verify()从结果页 URL 解码tfs参数核对日期、比对 One way / Zürich / London / Sun, Sep 20 的控件取值并检查可见的航班结果标签——任何一项不满足即判定失败并退出。这正是 AGENTS.md 反复强调的纪律Verify actual final outcomes independently. A DONE choice is not proof of success.实测一次真实任务的三组数字仓库保留了完整的匹配对照实验docs/performance.md6 次交替运行、同一任务、同一浏览器配置、同一组模型原始版与优化版各通过独立验证 3/3。结果如下指标原始版优化版变化任务耗时中位数9.450 s7.092 s−25.0%浏览器协议调用中位数1,092101−90.8%TypeSafe 请求中位数2217−22.7%最终发布的演示录像为一次7,073 ms的完整 Google Flights 查询苏黎世 → 伦敦、单程、2026-09-20、一名成人经济舱文本生成两次Zurich 581 ms、London 346 ms全部为真实速度、无剪辑加速。同策略还在 2.798 s 内打开了维基百科的哥德尔不完全性定理条目并以 1.896 s 通过了本地酒店筛选夹具。范式扩散从浏览器到决策引擎的路径值得注意的不仅是 jev-ultrafast 本身而是选择式决策正在从单一浏览器智能体演变为一整类架构共识。社区开源热榜2026-09-21 周榜中与 Jev 范式同批上榜的项目已达 7 个除浏览器智能体 jev-ultrafast 外还包括上下文压缩fast-jev-compaction、类型化决策引擎laya、语义 if 接口SemIf等。它们的共同技术词条高度一致——结构化动作空间、单次前向传播类型决策、logits 直接评分、多语言路由与置信度校准技术栈以 Python 与 TypeScript 为主卖点都是低幻觉、高时效、可审计、轻量部署。这条扩散路径的逻辑是清晰的浏览器只是结构化动作空间最容易验证的落地场景控件天然可枚举而 laya 把同样的类型化决策下沉为通用引擎SemIf 则把语义判断接口化——从生成一段话让人解析到在枚举选项里直接打分取最大值。决策模型本身TypeSafe 的 Jev也因此被社区视为独立的决策小脑具身智能、RPA、自动化测试等一切意图 → 操作映射场景都在尝试接入。竞争与演进信号同样密集Intern-Decision 以多模态决策 SOTA 挑战 Jev、Cloudflare 推出 Clef 决策模型、Decitron 代表另一条决策技术路线——这都从侧面印证选择式决策已从个例变成了赛道。当然范式红利有明确边界。选择式架构的适用前提是动作空间可枚举它擅长确定性 UI 交互却不支持复杂跨页推理与任意文本生成。仓库也坦承其局限DOM 读取器未实现完整 accessible-name 规范shadow root、frame、canvas、上传、弹出标签页、嵌套滚动与任意键盘控件均不支持6 次运行样本是受控输入对比而非通用可靠性基准一次成功的公开工作流不能代表广袤网页的平均水平docs/design.md。从生成到选择本质是把 Agent 的可靠性问题从概率性的语言生成转移到确定性的枚举决策上模型不再为世界编造下一步而只在代码已经确认可能的世界里挑一个。配合严格 JSON 契约、执行前语义校验与独立结果验证选择式 Agent 把大模型 浏览器这条最不可控的自动化链路改造成了一条可度量、可审计、成本可预测的流水线。对于所有正在构建智能体工作流的团队这或许才是比更强的模型更值得先落地的工程决策。【免费下载链接】jev-ultrafastFastest and cheapest web agent项目地址: https://gitcode.com/gh_mirrors/je/jev-ultrafast创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考