Story
一个 AI QA 智能体如何在一台 Mac mini 上运行
1,792 个失效的测试、一台 Mac mini 和一个拥有 24 个工具的智能体。PerfectApps 的 QA 智能体如何修复测试、分诊失败并签核发布,以及它为什么运行在 Apple silicon 上而不是 Linux VPS 上。
2026-09-15 更新
PerfectApps 是一个无代码应用平台。其 QA 团队维护着 2,100 多个基于 Cypress 和 Selenium 的自动化测试用例。如今,这些工作大多由一个运行在独享 Mac mini 上的 AI 智能体启动、分析和报告。
本文介绍它的由来、它做什么,以及为什么硬件选择是经过考虑的。
起因是 1,792 个失效的测试
一项必须进行的安全修复把 Bootstrap 从整个 PerfectApps 代码库中移除。页面结构在所有地方同时改变,同一天有 1,792 个测试用例失效,涉及产品的 50 多个模块。
没有人详细估算过手动修复的工作量,因为它从未真正靠人工完成。粗略的判断是:整个团队四个人什么都不做,最长需要两个月。
就在那时,智能体不再只是一个想法。
先修复,再覆盖,后判断
修复。智能体没有逐个修复 1,792 个测试,而是对每个根本原因只查找一次,再把修复应用到所有受影响的 spec。登录被移入一个共享命令,因此一处改动就能覆盖所有测试。
覆盖。修复奏效后,同样的方法被用于从未测试过的模块。测试套件从 1,400 个 spec 文件增加到 1,955 个,其中包括一个在画布上绘制的可视化图表设计器,它没有任何可供测试点击的元素。解决办法是不再测试画布,改为检查保存下来的数据:新增 51 个 spec,首次完整运行全部通过。
判断。每次回归测试之后,都得有人逐一查看失败项,判断哪些是测试本身坏了,哪些是真实缺陷,哪些是噪声。每次发布这要花三个人共 12 个小时。现在这是智能体的工作。在一次发布中,它检查了 1,748 条测试结果,在约 300 个失败中找出了唯一一个真实的产品缺陷,其余都是迁移遗留问题。
智能体做什么
智能体有 24 个工具,并自行决定调用哪些、按什么顺序调用。团队在 Microsoft Teams 或网页上用日常英语与它交流。
一次发布运行会经过一条固定的流水线:
One release run
- 1SanityA smoke test on production. If it fails, everything stops.
- 2RegressionMore than 2,100 test cases in five parallel lanes, in about 90 minutes.
- 3New testsSpecs for areas without coverage, generated while regression runs.
- 4TriageEvery failure classified as a test issue, a real bug, a flaky test or a known blocker.
- 5ReportA GO or NO-GO verdict, posted to Teams and to the GitHub pull request.
几个变化的例子:
| 任务 | 人工 | 使用智能体 |
|---|---|---|
| 分诊一次完整的回归测试 | 12 小时,3 人 | 几分钟 |
| 根据 Jira 工单编写新测试 | 每个 2 到 4 小时 | 几分钟 |
| 回归测试后提交附带证据的缺陷报告 | 每个 30 到 60 分钟 | 自动 |
| 签核一次热修复发布 | 半天 | 几分钟 |
价值不在于某一项节省了多少时间,而在于数周的人工工作已经完全不再出现在发布周期中。
为什么是 Mac mini,而不是 Linux 服务器
智能体原生运行在一台独享的 Mac mini 上。没有 Docker,没有 Kubernetes,没有集群。它通过 Cloudflare Tunnel 与外部连接。
这是在与 Linux VPS 比较之后做出的决定:
- 浏览器运行更快。在 Apple silicon 上,Chrome 和 Cypress 的运行速度是在 VPS 上的 3 到 5 倍。
- 智能体直接在真实的代码仓库上工作。它直接读写测试文件,因此生成新的 spec 不需要额外的 API 层。
- 无需模拟。Mac 有真实的显示栈,因此不必为了打开浏览器而维持一个虚拟显示服务器。
- 可以运行本地模型。Mac 神经网络引擎上的小型模型可以处理路由和简单分类,更大的云端模型则留给需要推理的任务。
VPS 每月会便宜 43 美元,这笔差额还不及迁移所需的一天工程工作的成本。
如果您正在构建智能体,这意味着什么
- 给智能体一台自己的机器。它需要浏览器、文件系统,以及连续运行数小时而不被人退出登录或重启的自由。
- 从没人愿意做的工作开始。瓶颈在于分诊和测试修复,而不是编写新功能。
- 结论由人来下。智能体负责分类和建议,是否发布由团队决定。
- 根据工作负载选择硬件。如果您的智能体要操作浏览器或为 Apple 平台构建,Apple silicon 很快就能收回成本。
PerfectApps QA 智能体为内部使用而构建,运行在 MacDuty 的一台独享 Mac mini 上。
今日有货
这些 Mac 现已在机架中。选一台,看看它包含什么,下单时再创建账户即可。
正在查看机架
专属于您的 Mac mini
选择配置。如果暂时缺货,请留下邮箱,上架当天我们会写信通知您。
按年:比按月付款至少便宜 19%
下一步