e2e Cache 性能指南:如何读懂 replayed、handed off、missed 三种缓存结果
e2e Cache 性能指南如何读懂 replayed、handed off、missed 三种缓存结果【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2ee2e 是一款面向 Web 和移动端的下一代端到端e2e测试框架其中的 replay cache回放缓存能把 AI 智能体验证过的操作步骤自动重放从而跳过昂贵的模型调用、大幅提升测试执行速度。本文带你完整解读运行总结里的三种缓存结果——replayed、handed off、missed 分别意味着什么以及如何快速定位并排查缓存失效问题。什么是 replay cache先录后放跳过模型调用核心思路一句话agent.act()步骤被模型成功执行并验证通过后e2e 会把点了什么、输入了什么、页面变成了什么样录制下来下次运行同一步骤时直接回放这些操作一次模型调用都不用发。只有有后续验证且验证通过的步骤才会被写入缓存agent.assert、agent.waitFor、agent.extract永远实时执行不走缓存缓存条目是 JSON 文件存放在项目的.e2e/cache/目录下一眼看懂运行总结三种结果对照表每次跑完测试运行总结里都会有一行Cache统计例如AI 4.1k tokens · 2 model calls · anthropic/claude-sonnet-4.5 Cache 4 replayed · 1 handed off · 1 missed运行总结step.cache.mode含义通俗理解replayedself-finalized录制被完整回放零模型调用 最理想省时省钱handed offagent-concluded回放走了一半AI 接手完成⚠️ 部分命中前缀回放其余交给模型missedmissed完全没回放AI 从头执行 未命中照常调用模型missed 和 handed off 还会附带step.cache.reason直接告诉你为什么没回放成——这是排查性能问题的第一入口。replayed 是如何达成的回放成功的条件并不只是按钮还能找到而是一整套四步验证起始屏幕相同同一路由记录 id、锚点差异可忽略重试永不回放控件全部找到按角色、名称、test id 与上下文匹配重复录制的动作最终状态一致最终路由、出现的控件、消失的控件、状态变化都要对得上零模型调用收尾全部校验通过才算 replayed任何一个条件不满足就降级为 handed off 或 missed。这套决策—回放—校验—接管的完整逻辑核心实现在 step-cache.ts 中。什么时候会 handed off只要回放已经开始执行动作之后才发现问题就算 handed off。对 AI 来说它拿到的是已执行了什么、为什么停下的完整记录接着干即可。常见原因end-mismatch动作都执行了但录制的最终状态没有出现上次运行留下的脏数据、飘忽的 banner或真实回归action-failed/action-uncertain应用拒绝了回放的动作或提交状态未知target-not-found/target-ambiguous界面改版导致控件消失或出现歧义什么时候会 missed还没执行任何回放动作就停下来就是 missed。高频原因速查Reason发生了什么怎么办no-entry没有匹配的录制无需处理下次验证通过会自动录制retry重试从不回放无需处理wrong-context起始屏幕和录制时不同步骤前先打开同一屏幕invalid-entry条目损坏或版本不符npx e2e cache cleartruncated步骤超过 50 个动作等录制上限拆分步骤或改用Secret传参完整原因清单见官方文档 docs/cache.mdx。缓存命中靠什么匹配避免每次都 missed一条缓存条目绑定特定测试 目标 指令 参数 智能体。以下变化会直接导致 missed重命名测试或目标、修改指令或普通参数换了一个配置的 agent或修改了 agent 上下文agentContext引擎升级了主版本或次版本✅ 注意更换模型不会导致 missed两个新手高频坑时间戳 / 随机邮箱每次运行值都不同 → 每次都 missed。用unique()包裹这类值回放时自动替换为当前值会改变流程的选项如套餐名则保留为普通参数预览环境 URL 每次部署都变配置app.identity保持缓存身份不变缓存模式与 CI 性能最佳实践模式回放录制默认场景read-write✅✅本地开发read-only✅❌CI未显式配置时off❌❌--no-cache单次运行针对 CI 性能的三条实战建议提交缓存目录把.e2e/cache/从.gitignore移除并提交CI 才能享受回放红利CI 保持read-only重新录制在本地做详见 docs/ci.mdx严格模式防静默失效--strict-cache或cache: { strict: true }让录制存在但回放不了的步骤直接以REPLAY_STALE失败而不是每次 CI 都默默烧掉模型调用排除缓存嫌疑怀疑缓存导致失败时跑一次npx e2e run --no-cache做对照3 条命令掌握缓存全貌npx e2e cache ls # 每个条目一行测试、目标、指令摘要、年龄、动作数 npx e2e cache stats # 条目数量与总大小 npx e2e cache clear # 清空所有条目遇到 invalid-entry 时先跑这个推荐排查顺序先看运行总结的Cache行 → 再看失败步骤的step.cache.reason→ 用cache ls确认条目是否存在、年龄多大 → 必要时用--no-cache或--strict-cache交叉验证。延伸阅读官方缓存文档docs/cache.mdxCI 配置与缓存共享docs/ci.mdx缓存核心实现packages/e2e/src/agent/step-cache.ts、packages/e2e/src/cache/store.ts运行总结统计逻辑format.ts一句话总结replayed 是省钱的胜利handed off 是框架的保险丝missed 是提醒你检查参数和界面。把step.cache.reason当成仪表盘你的 e2e 测试速度会稳得超出预期。【免费下载链接】e2eNext generation e2e testing framework for web and mobile apps.项目地址: https://gitcode.com/GitHub_Trending/e2e6/e2e创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

如何高效精读一篇顶会前沿论文并写出高质量复现笔记:学者型工程师的方法论

如何高效精读一篇顶会前沿论文并写出高质量复现笔记:学者型工程师的方法论

如何高效精读一篇顶会前沿论文并写出高质量复现笔记:学者型工程师的方法论进入大模型与深度学习的爆发期后,AI 领域的从业者普遍面临前所未有的文献焦虑。arXiv 上每天涌入成百上千篇大模型论文,技术社区与自媒体充斥着“某某团队颠覆 Transf…

2026/10/7 8:30:16 阅读更多 →
复杂 Markdown 列表与引用清洗:消除多级嵌套缩进引发的切片语义断裂

复杂 Markdown 列表与引用清洗:消除多级嵌套缩进引发的切片语义断裂

复杂 Markdown 列表与引用清洗:消除多级嵌套缩进引发的切片语义断裂在企业级技术知识库中,从 Notion、Confluence 或飞书文档导出的 Markdown 文件,最容易让 RAG 切片流水线“暗地翻车”的排版格式,就是层层嵌套的复杂列表&#x…

2026/10/7 8:30:16 阅读更多 →
抢占式 Spot 竞价实例跑离线任务:将大模型微调与批量处理成本打到 1 折

抢占式 Spot 竞价实例跑离线任务:将大模型微调与批量处理成本打到 1 折

抢占式 Spot 竞价实例跑离线任务:将大模型微调与批量处理成本打到 1 折双 11 前夕,AI 产品线提了一个极其消耗算力的需求:为了上线全新的智能导购 Agent,需要对全站 1800 万篇商品评测和问答数据进行全量向量化(Embedd…

2026/10/7 8:30:16 阅读更多 →

最新新闻

《论持久战》的精髓与要点毛泽东,1938年5月 · 针对抗日战争战略问题的系统性答复核心命题:不是“只要坚持就能胜利”,而是“在敌强我弱的客观起点上,靠矛盾转化与能动作战,把战略防御走成战略反攻

《论持久战》的精髓与要点毛泽东,1938年5月 · 针对抗日战争战略问题的系统性答复核心命题:不是“只要坚持就能胜利”,而是“在敌强我弱的客观起点上,靠矛盾转化与能动作战,把战略防御走成战略反攻

《论持久战》的精髓与要点毛泽东,1938年5月 针对抗日战争战略问题的系统性答复核心命题:不是“只要坚持就能胜利”,而是“在敌强我弱的客观起点上,靠矛盾转化与能动作战,把战略防御走成战略反攻”《论持久战》写于193…

2026/10/7 10:05:47 阅读更多 →
一文吃透 Linux 软件安装与 Vim 编辑器(含 Ubuntu/CentOS 实操)

一文吃透 Linux 软件安装与 Vim 编辑器(含 Ubuntu/CentOS 实操)

目录 一、在Linux中安装软件包的三种做法: 1.1 包管理器介绍 1.2 Linux的软件生态问题 二、为什么需要国内镜像源 国内主流开源镜像站汇总 三、yum与apt 3.1 Ubuntu: 3.2 安装源: 3.3 清理缓存 四、编辑器vim 4.1 vim的基本概念 4…

2026/10/7 10:05:47 阅读更多 →
五子棋设计

五子棋设计

一.创建窗口1.创建一个类和对象public class Gameui {public static void main(String[] args) {Gameui uinew Gameui();ui.showUI();}}2.创建showui方法public void showUI() {}3.创建一个窗口对象jf,对窗口的属性进行设置Myframe jfnew Myframe();//创…

2026/10/7 10:05:47 阅读更多 →
ponytail技术解析:从基础概念到工程应用

ponytail技术解析:从基础概念到工程应用

我无法根据当前输入生成符合要求的博文。原因如下:项目标题仅为“ponytail”,这是一个英文单词,直译为“马尾辫”,属于常见发型术语;项目正文为空;关键词为空;摘要描述为空;所谓“相…

2026/10/7 10:05:46 阅读更多 →
代码驱动白板视频:rough.js+Playwright+FFmpeg全链路实现

代码驱动白板视频:rough.js+Playwright+FFmpeg全链路实现

1. 这不是动画软件,是用代码一笔一划“写”出来的白板视频你见过的白板视频,大概率是用After Effects加手绘插件、或者用Explain Everything这类工具录屏生成的。但这次我要说的,是另一种路径:整条视频里每一根线条、每一个文字、…

2026/10/7 10:05:46 阅读更多 →
C# WinForm 数据库备份与恢复实战:SQL语句与文件操作两种方式详解

C# WinForm 数据库备份与恢复实战:SQL语句与文件操作两种方式详解

简介:这份资源是面向C# WinForm开发者的数据库备份与恢复实战Demo,基于VS2008实现,适合需要为桌面应用增加数据安全保障能力的初中级开发者参考。示例围绕两种主流方案展开:一是借助SQLDMO这一COM对象模型,通过SQLServ…

2026/10/7 10:04:45 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

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

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

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

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

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

2026/10/7 1:02:00 阅读更多 →

周新闻

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/6 7:15:40 阅读更多 →
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/6 5:29:09 阅读更多 →
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/7 9:29:10 阅读更多 →

月新闻

我发现了一个新思路:用 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/6 8:21:32 阅读更多 →
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/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练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/6 1:18:13 阅读更多 →