现代 Web 应用程序经常出现自动化智能体难以解决的漏洞,因为这些智能体缺乏深层上下文。当 AI 智能体仅根据表面观察(如屏幕录制、网络日志或控制台错误)被要求修复漏洞时,它往往必须猜测潜在原因。如果猜测错误,智能体可能会陷入失败修复的循环,甚至可能使问题恶化。专注于可观测性的公司 Replay 认为,可靠的自动化漏洞修复所缺失的关键要素是“完美的可观测性”:一种让智能体能够看到每一个执行语句、每一次状态变化和每一个数据依赖,且不丢失任何细节的方法。
为了提供这种上下文,Replay 利用了适用于 Chromium 和 Node.js 的时间旅行调试器。该技术能够以低开销捕获非确定性输入,从而允许运行时环境进行确定性的重放。通过记录这些交互,系统可以将执行过程拆解到数据库中,其中应用程序行为的每一个点都可以被查询。这允许 AI 智能体从故障点反推到确切的根本原因。例如,虽然标准的 QA 工具可能会识别出“死按钮”并提供重现脚本,但 Replay QA 可以识别出 React 组件上缺失的特定 `onClick` 处理程序,并提供智能体直接验证和修复代码所需的证据。
在最近的一项实验中,Replay QA 在 40 个由主要应用构建工具推广的应用程序上运行,结果识别出超过 900 个漏洞。该系统通过提供包含特定 React 提交、网络请求和渲染函数中变量值等贡献因素的报告,来处理诸如布局偏移等复杂问题。然而,虽然 Replay QA 提供了漏洞的“是什么”和“为什么”,但实际的修复仍由智能体或将检测到的问题转换为持久测试用例的“软件工厂”执行。此外,一些开发人员认为,现有的日志和重现步骤可能已经为能力强大的智能体提供了足够的上下文,这表明对完整时间旅行调试器的需求取决于所使用的智能体的先进程度。

这张图片是 Replay QA 博客文章的主要视觉内容,讨论了他们自动修复漏洞的方法论。