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

  1. 1SanityA smoke test on production. If it fails, everything stops.
  2. 2RegressionMore than 2,100 test cases in five parallel lanes, in about 90 minutes.
  3. 3New testsSpecs for areas without coverage, generated while regression runs.
  4. 4TriageEvery failure classified as a test issue, a real bug, a flaky test or a known blocker.
  5. 5ReportA GO or NO-GO verdict, posted to Teams and to the GitHub pull request.
五个阶段,约 90 分钟,一个结论。

几个变化的例子:

任务人工使用智能体
分诊一次完整的回归测试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%

  • 16GB

    统一内存,120 GB/s

    核心
    10 CPU, 10 GPU
    存储
    可用
    有货
  • 最多人选
    24GB

    统一内存,120 GB/s

    核心
    10 CPU, 10 GPU
    存储
    可用
    有货
  • 32GB

    统一内存,120 GB/s

    核心
    10 CPU, 10 GPU
    存储
    可用
    有货
Visa Mastercard SEPA 转账价格以 EUR 计,如适用,增值税在结账时加收。 至少 1 个月,之后任意一个月均可取消。

下一步