2026年10月20日 1 分钟阅读

让 AI Agent 不再“自称完成”:用 Reticle 验证真实运行中的应用

tinyash 0 条评论

AI 编码 Agent 很擅长修改代码,却不一定会确认修改在真实应用里生效。页面看起来正常,按钮背后可能收到 500;界面显示“已保存”,应用状态却没变。Reticle 试图把这一步验证带回 Agent 工作流:让 Agent 操作正在运行的应用,并依据网络、状态和控制台证据给出明确结论。

从“看起来对”变成可核验结论

Reticle 在应用开发环境中加入 SDK,再通过 MCP 向编码 Agent 暴露检查能力。它不只返回截图,而是观察动作前后的页面、网络请求、应用状态和控制台信息,并给出 yes、no 或 unknown 一类 verdict。无法判断时返回 unknown,而不是悄悄报通过;失败结果还可附带相关证据和源码位置。

例如检查结账按钮时,不应只断言按钮可见。可以让 Agent 验证点击后订单请求成功、确认对话框出现、应用发出保存信号,并且没有新增控制台错误。若请求返回 500,即使页面没有明显变化,检查也能揭示差异。实际可用的断言结构与工具参数应以项目当前版本文档为准;下面用自然语言表达检查意图,不伪造一段未经核实的 API 调用:

点击“提交订单”后,确认订单请求成功、成功提示出现,并且控制台没有新增错误;返回每项证据和失败位置。

这类验证尤其适合 Agent 完成代码修改后、提交 PR 前的最后一道检查。它补的是“真实行为是否符合预期”,不是替代代码审查、漏洞扫描或完整的可访问性审计。

记录流程,减少重复验证成本

一次探索性验证通过后,可以把常用用户旅程保存成 flow,在后续改动中重放。项目 README 描述这类 flow 可确定性执行,不需要每次都让模型重新规划步骤;reticle gate 还能针对受改动影响的已保存流程设门禁。这样做适合登录、结账、表单提交等容易回归的路径。

不过,重放不意味着测试覆盖自动完整。团队仍需选择有价值的流程、维护预期结果,并在应用结构变化时复核测试。对于只在视觉像素上出现的问题、跨浏览器差异,仍应配合截图比较和浏览器矩阵;Reticle 的强项是应用内部可观测信号,而不是取代所有测试工具。

安装与接入前先看清边界

项目 README 要求 Node.js 20.11 或更新版本。macOS/Linux 提供安装脚本,也可用 npm 全局安装后运行 MCP 设置命令:

npm install -g @reticlehq/server
reticle setup mcp

随后重启 Agent,使它重新加载 MCP 工具;进入应用项目目录运行 reticle init,再按向导接入开发构建。先预览变更可用 reticle init --dry-run。README 明确指出,开发服务器如果在初始化前已经启动,需要重启后才能加载新配置。具体框架支持程度应查看项目维护的 frameworks 页面,不要把“能接入”误当成每个框架都已达到相同验证级别。

安全边界也值得认真阅读:SDK 面向开发环境,桥接服务绑定本机回环地址;README 表示应用数据默认留在本机,但连接项目后可配置同步运行记录、记忆或流程,另有匿名使用统计设置。接入前应确认团队对提示捕获、记录同步和遥测的策略,并查看项目的记录说明,而非只依据“本地优先”宣传作判断。

许可证不是单一结论。README 将 SDK、适配器、核心与引擎标为 Apache-2.0;服务端、CLI 和部分工具则使用 FSL-1.1-ALv2(源码可用,满足条件后转为 Apache-2.0)。若把组件嵌入产品或用于商业服务,应按实际依赖包的许可证分别审阅。

适合谁,什么时候不适合

如果团队常遇到“Agent 说修好了,但没人确认运行结果”,而且有可重复的关键用户流程,Reticle 提供了一个把验证动作纳入 Agent 循环的思路。它特别适用于能在本地开发环境运行、且内部状态或网络结果比截图更能说明问题的 Web/桌面应用。

如果目标是验证第三方网站、多浏览器兼容性或纯视觉差异,Playwright 等外部浏览器测试仍有价值。更现实的组合是:用外部自动化覆盖浏览器与像素行为,用 Reticle 检查自有应用里“点击之后究竟发生了什么”,再由 CI 将关键流程变成回归门禁。

参考链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。