从“生成“到“选择“:结构化动作空间如何重塑 AI 在智能体工作流中的价值

发布时间:2026/10/16 11:30:12

从“生成“到“选择“:结构化动作空间如何重塑 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),仅供参考
延伸阅读

更多相关文章

2026/10/16 11:30:12

免费CTF靶场练手指南:从选型到上手的完整路径

刚接触CTF的朋友基本都会经历同一个阶段:资料收藏了一大堆,视频课程刷了好几套,可真到打开一个比赛平台准备动手的时候,却发现自己连最基本的“从哪里下手”都想不清楚。这种情况太正常了,因为CTF本身就是一门强实践的…

2026/10/16 11:30:12

从 7B 到 3B:YuE 第二代轻量版砍了什么、留了什么

从 7B 到 3B:YuE 第二代轻量版砍了什么、留了什么 【免费下载链接】YuE2-3B 项目地址: https://ai.gitcode.com/hf_mirrors/m-a-p/YuE2-3B 如果把"模型变小"当作"能力缩水",YuE2-3B 会推翻这个直觉:参数从第一代…

2026/10/16 12:50:51

Docker部署MolBot接入钉钉机器人,对接DeepSeek实现群聊AI助手

前阵子有个朋友问我,能不能把自己团队内部那个天天刷屏的测试钉钉群,改造成一个有问必答的 AI 助手。我说可以,而且用 Docker 来安装运维这套东西,会特别省事。今天这篇就来分享一个我刚搭完跑通的组合:Docker 安装 Mo…

2026/10/16 12:50:51

Unity URP全屏特效实战:深度图重建世界空间位置与避坑指南

1. 全屏特效的底层逻辑与方案选型1.1 为什么全屏特效值得单独拎出来讲在Unity的URP管线里做全屏特效,很多人第一反应是去用Render Feature挂一个Pass,或者干脆用内置的OnRenderImage。但真到项目里你会发现,URP下的全屏特效写法跟内置管线完全…

2026/10/16 12:50:51

MySQL存Emoji报错?utf8mb4字符集迁移与原理全解

1. 为什么你的MySQL存不了Emoji:从编码原理说起 先别急着在代码里过滤Emoji,或者把它们替换成“”这种占位符。问题根本不在前端,而在你数据库的字符集上。我做过的几个项目里,凡是涉及用户昵称、评论内容、签名这类自由文本字段的…

2026/10/16 12:50:51

如意报表V3部署指南:从环境准备到报表系统嵌入开发

简介:如意报表(Ming-WebReport-V3)安装程序面向Web环境下的报表开发与运维场景,适合需要快速搭建企业级数据报表、实现复杂图表展示和交互分析的技术人员。压缩包共收录408个文件,大小约26.45MB,文件类型覆…

2026/10/16 12:50:51

free-claude-code实战:免费额度与本地模型无缝切换指南

我最近在好几个开发者社群里都看到free-claude-code这个关键词刷屏,点进去一看,大家其实都在问同一件事:怎么不花钱用 Claude 写代码,或者怎么把 Claude 的免费额度用到极致。这种心态我非常理解,手头预算有限&#xf…

2026/10/16 12:45:49

核心路由器芯片制造设备全解析:从EUV光刻到良率控制

1. 项目概述 1.1 核心需求解析 先把标题拆开看。这里讲的是 核心路由器加工/制造机床 ,注意不是“组装一台路由器”,而是制造核心路由器最底层的芯片和高速互联部件。核心路由器通常用在骨干网、数据中心核心节点,承载的流量动辄几十Tbps&…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/16 0:01:11

Cephadm实战指南:Linux系统工程师的生产级Ceph集群部署与排障

简介:本资源是一份完整的Ceph分布式存储系统中文技术文档合集,面向Linux系统运维工程师、云平台架构师及存储方向开发者,帮助读者系统掌握Ceph集群的部署、配置与运维核心能力。文档覆盖对象存储(RGW)、块设备&#xf…

2026/10/16 0:01:11

ITK中SpatialObject几何体系解析:坐标系、变换与管道集成

1. 空间对象的定位:为什么 ITK 需要一套几何描述体系很多刚开始接触 ITK 的朋友,包括我自己,最初都是被它的图像滤波、配准、分割这些“正统”功能吸引进来的。等真正上手做点实际项目,比如把分割出来的器官边界做量化分析、给血管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑