「doable but painful」就是生意:一个前 SDET 用 45 天做给 AI 电话 Agent 用的自动化测试工具

Show HN 上冒出个挺有意思的小项目,VoiceGremlin,一个专门给 AI 电话 Agent 做自动化测试的 SaaS 工具。作者是前 SDET,现在一个人全职在做这个。用法很简单:传给它一个电话号码和一个测试用例,比如「验证 Agent 会做 X」,它让两个 bot 互相打电话,再用 LLM-as-judge 给一个 pass/fail 结果,接到 CI 流水线里跑。

这个方向我第一眼是有触动的。电话 Agent 现在满地都是,客服、预约、催收、回访,谁都在上,但「怎么系统性地测试它」这件事,几乎没人好好聊。没法像测 API 那样打一个 curl 就完事,总得真人去打电话试,一次两次还能忍,迭代一多就想骂人。VoiceGremlin 想干的就是把这摊事自动化掉——两个 bot 对话,LLM 当裁判,给流水线一个确定性的通过/失败信号。

作者的动机写得挺诚恳。他在上一家公司用过一个叫 Mailosaur 的工具,专门做邮件相关的自动化测试,当时花了不少钱。他原本可以自己写代码对接公司内部的 Outlook 服务器做程序化交互,技术上能实现,但组织上非常痛苦。于是他总结出那句很扎心的话——「doable, but painful」往往就是 SaaS 机会的信号。而让自动化测试去拨一个电话号码,正好也是这种「能做但很痛」的活:电信供应商作为 vendor 接入很难缠;自己搭 STT/TTS 意味着测试机器要扛很大的带宽;LLM 对 LLM 的 prompt 要反复调,否则测试就 flaky,时好时坏。

开发过程他也交代了:前后 45 天,其中一半花在 Stripe 接入和营销这种「商务琐事」上,另一半在试不同电信供应商、调模型、调 prompt、做反欺诈。他说得很实在,没给自己立什么人设——这就是一个 solo dev 的日常。

技术栈也值得一提:Supabase 管数据库和认证,Netlify 做静态存储和 API 路由,DigitalOcean 跑真正打电话的服务器组件,Telnyx 做电话接入(他说比 Twilio 好用),Stripe 收钱,Openrouter 接模型,Cloudflare 给注册加验证码。他甚至提到用 Keybase 托管私有 git,理由是「the greatest tool nobody uses」。这种选型透露出来的偏好很清楚:要的是快速、便宜、好维护,而不是大而全的成熟方案。

他的设计原则是「一件事做到最好,然后别挡路」。不打算帮你托管 voice agent,不打算替你管理测试用例,不做那些为了 upsell 硬加的功能。目前状态是完全可用,有免费试用,注册不用绑卡,就为了让人快速上手给他反馈。

VoiceGremlin 现在 3 个分、评论区还没热起来,属于刚发出来几个小时的 state。说实话,这个工具能不能成还不好说——电话 Agent 的测试市场到底有多大,测试本身会不会比被测的东西还难维护,这些都要打问号。但至少「doable but painful」这个判断方向,我是认的。如果手头正在跑电话 Agent,试一下又不花钱,总比自己天天真人陪聊强。

相关链接