@e2e-dev/decision 决策模型深度解析:有界语义动作与断言完全指南
e2e-dev/decision 决策模型深度解析有界语义动作与断言完全指南【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2ee2e是新一代 AI 驱动的端到端测试框架其配套包e2e-dev/decision用决策模型返回概率分布答案的模型如 TypeSafe Jev来执行agent.act与agent.assert取代让大语言模型自由生成动作的传统做法。它的核心理念是有界语义动作与有界断言模型只能在固定的语义操作集合和元素索引里做选择每个选择附带概率断言则被约束为成立 / 不成立 / 不确定的三值判定天然可验证。为什么需要决策模型传统 LLM Agent 测试流程中模型以自由文本形式生成下一步动作这带来两个天然风险动作空间无限模型可以输出任意选择器、URL出错难以察觉结果不可验证模型觉得完成了就宣告完成缺少独立证据。决策模型把下一步做什么变成一道选择题运行时从最新的语义树构建有界动作空间模型只需从选项中挑出最佳答案并给出每个选项的概率分布。这让测试从创造性生成变成可校验的决策。维度LLM 自由生成决策模型有界动作输出形式自由文本选择器、URL、按键有界选项 概率出错检测难以察觉越界选择立即可判定成本每动作消耗大量 token每个动作一次 decide 调用视觉依赖常需截图不需要语义树即可 决策模型对自由文本零感知当选择是type时由一个小型文本模型来写字段值。这种双模型分工是它稳定的关键。有界语义动作模型能选什么执行器在每一轮从最新语义树构建有界的动作空间elements.ts模型只能从以下语义操作中选择tap激活按钮、链接、标签页或菜单项type向字段输入文本typeSecret把已声明的密钥填入字段submit用回车提交字段select从原生下拉框选择选项check切换复选框、单选框或开关scroll_up / scroll_down / back滚动视口或回退历史done / failed / blocked终局——声明完成、报告应用故障、或放弃上面的演示应用正是一个典型的决策模型操作对象NAME 输入框对应type操作GREET 按钮对应tap。在模型眼里页面不再是 HTML 堆而是一张元素表索引、角色、标签、当前值、可用操作一行一个。有界性体现在几个关键细节只命名元素索引模型只报元素编号真正的ctx.actions.tap等调用由运行时绑定执行elements.ts模型输出永远不会直接成为选择器、URL 或按键。255 个选项上限屏幕太大时视口内的元素优先入表超出的计入omitted模型仍可滚动去操作它们大页面不会卡死步骤。单目标直接派发某操作只有一个目标时不再问选哪个元素这个动作的代价就是一次 decide 调用questions.ts。无视觉截图从不到达模型纯 canvas、图片化的控件不在 v1 支持范围。文本怎么写入双模型协作决策模型回答往哪里写、做什么文本模型回答写什么。当决策模型选中type执行器把目标、字段标签、页面文本和最近动作交给文本模型取回要输入的精确字符串text.ts。三条原则保证安全绝不编造个人数据目标中没有给出该字段的值时返回null什么都不输入模型随后自行选择其他动作密码永不外传密码字段从不到达文本模型只有typeSecret会填充密钥保持为声明的句柄真实值只在运行时注入文本模型兼任判断层它被暴露为执行器的model因此waitFor与extract也复用它。每个动作发给决策模型的请求体在 questions.ts 中组装共享状态目标、非密钥参数、元素表、最近 10 个动作 操作问题 每个多目标操作的目标问题 存在多个密钥时的密钥问题。真正的模型调用、概率解析与步骤预算记账集中在 decide.ts整个步骤主循环见 executor.ts。有界断言三值判定 独立核查agent.assert中的决策模型不是自由评判者而是三值判定判定含义结果holds当前屏幕有可见证据证明目标成立断言通过fails当前屏幕有可见反证断言失败ASSERTION_FAILEDinconclusive证据不足以判断按失败处理绝不通融两道保险避免假通过只看当前屏幕断言规则明确要求模型仅凭可见证据作答证据不足永远不会变成通过questions.ts。done/failed 声明要过独立核查当决策模型声称完成了运行时会取一张全新屏幕独立追问这个任务完成了吗核查能看到已执行的动作和当前屏幕但看不到模型自己的推理声明被拒两次即结束步骤。此外还有minProbability与minConfidence两道置信门禁默认关闭types.ts开启后弱动作、弱完成判定、弱断言都会被拦下按不确定处理方便用成本换稳定性。快速上手三步配置决策模型第一步安装需要ai≥ 7.0.128pnpm add -d e2e-dev/decision ai-sdk/typesafe-ai openrouter/ai-sdk-provider第二步在 e2e 配置中指向决策模型import type { E2EConfig } from e2e; import { decisionExecutor } from e2e-dev/decision; import { typeSafeAi } from ai-sdk/typesafe-ai; import { openrouter } from openrouter/ai-sdk-provider; export default { agents: { default: { executor: decisionExecutor({ model: typeSafeAi.decisionModel(jev-latest), textModel: openrouter(inception/mercury-2.5), }), }, }, } satisfies E2EConfig;第三步测试代码保持自然语言无需额外参数await agent.act(Add a todo named Buy coffee, and verify it is listed.); await agent.assert(The todo list contains Buy coffee.);这些边界要心里有数使用决策模型前先明确它不做什么没有导航动作空间里没有navigate应用内跳转是对链接的tapURL 跳转请写在测试代码里app.openv1 不支持多选 listbox、拖拽、上传、悬停无视觉图片化的 UI纯 canvas、文字在图里不可识别255 选项上限超大屏幕靠滚动浏览从不阻塞。这些边界恰是它的安全感来源动作空间小而可枚举因此每个派发动作都被运行时授权每次模型调用都计入步骤预算每个失败都有明确错误码如MODEL_OUTPUT_INVALID、MODEL_PROVIDER_FAILED、AUTOMATION_UNSUPPORTED排障路径清晰。相关资料包 READMEpackages/decision/README.md官方决策模型指南docs/decision-models.mdx执行器主循环packages/decision/src/executor.ts动作空间构建packages/decision/src/elements.ts单元测试packages/decision/tests/【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Linux信号机制详解:从kill到sigaction,掌握信号处理与进程通信

Linux信号机制详解:从kill到sigaction,掌握信号处理与进程通信

1. 先搞懂信号到底是什么:从生活场景到内核机制1.1 信号不是“软件中断”这么简单如果你刚接触Linux,大概率会看到一句话:“信号是软件中断”。这句话没错,但不够。我更喜欢把信号理解成内核给进程发的一条“微信消息”——消息内…

2026/10/9 12:29:47 阅读更多 →
Arthas v3.7.2:Java线上诊断与字节码热修改实战指南

Arthas v3.7.2:Java线上诊断与字节码热修改实战指南

简介:Arthas v3.7.2 是一款面向Java开发者、运维工程师及计算机专业学生的开源诊断工具,专为线上Java应用的无侵入式问题定位、性能分析与热调试设计,广泛适用于毕业设计、系统软件开发、模板建站及计算机案例研究等实践场景。资源包共2000个…

2026/10/9 12:28:46 阅读更多 →
Cognex Deep Learning GPU Allocation:GPU分配机制详解

Cognex Deep Learning GPU Allocation:GPU分配机制详解

Cognex Deep Learning GPU Allocation:GPU分配机制详解大家好 这里是「代码简单说」 记录 Cognex Deep Learning 4.2 中 GPU Allocation(GPU 分配)机制,方便后续配置多 GPU 环境、训练工具以及分析 GPU 利用率时快速查阅。SEO关键…

2026/10/9 12:28:46 阅读更多 →

最新新闻

Transformer生成式文本摘要实战:从环境配置到Beam Search调优

Transformer生成式文本摘要实战:从环境配置到Beam Search调优

简介:本资源是一份面向NLP初学者与进阶开发者的Transformer生成式文本摘要实战代码包,聚焦自然语言处理中的核心任务——自动摘要,适用于新闻提炼、论文速读、报告精简等实际场景。压缩包共10个文件,含5个Python源码(涵…

2026/10/9 12:57:34 阅读更多 →
基于EPW与Migdal-Eliashberg方程的第一性原理超导能隙计算全流程指南

基于EPW与Migdal-Eliashberg方程的第一性原理超导能隙计算全流程指南

1. 从声子谱到超导能隙:这条计算链路到底在算什么第一次接触Migdal-Eliashberg方程的人,多半会被它和BCS理论的关系绕晕。简单说,BCS给出的是一把估算超导转变温度的“快刀”——麦克米兰公式一算,心里大概有个数。但如果你想知道…

2026/10/9 12:57:34 阅读更多 →
DMAD蒸馏+H3-LoRA:模型轻量化与角色微调四步实操法

DMAD蒸馏+H3-LoRA:模型轻量化与角色微调四步实操法

1. 这不是“调参玄学”,而是模型轻量化落地的实操切口 你有没有遇到过这样的场景:刚训好的大模型,本地跑 inference 卡成 PPT,显存爆到报警,推理延迟动辄 3 秒起步;想用 LoRA 微调,结果训完发现…

2026/10/9 12:57:34 阅读更多 →
数诚1对1直播源码架构解析与私域运营落地指南

数诚1对1直播源码架构解析与私域运营落地指南

简介:这是一套面向Android与iOS双端开发者的1对1社交直播应用完整源码,适用于希望快速构建高颜值、高互动性直播平台的中高级开发者及创业团队。资源包含18519个文件,主体为Java/Kotlin(1061个)与Objective-C/Swift&am…

2026/10/9 12:57:34 阅读更多 →
Claude Code 黑客松落幕:500 名开发者一周造出的多智能体 Agent 项目,TaoToken 统一 Key 通道怎么接?

Claude Code 黑客松落幕:500 名开发者一周造出的多智能体 Agent 项目,TaoToken 统一 Key 通道怎么接?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 12:57:34 阅读更多 →
程序员平均寿命仅34岁?2026年用TaoToken搭建AI工作流自救指南

程序员平均寿命仅34岁?2026年用TaoToken搭建AI工作流自救指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 12:56:32 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 10:11:06 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 6:17:20 阅读更多 →