面对家中杂物室间歇性发出的神秘蜂鸣声,开发者并未选择逐一翻查纸箱,而是借助 Claude Code 构建了名为 Beep Locator 的软件系统。该系统利用分散在房间内的多台设备进行声学三角测量,成功将声源位置锁定在约 40 厘米范围内。最终排查发现,噪音源自一个急需更换电池的老旧一氧化碳探测器。

多设备协同的声学三角测量

Beep Locator 的核心逻辑是通过 Python Web 服务器协调多个监听端(如 iPad、手机、笔记本电脑等)。设备间通过互相播放声音估算相对位置,若自动估算效果不佳,用户可启用“粗略模式”,在界面地图上拖动图标提供大致方位,系统随后结合声学数据对位置进行微调。

为验证系统有效性,开发者增加了“拍手模式”。用户在房间不同位置拍手,地图以菱形标记声波到达点,从而校验定位算法的准确性。当系统检测到蜂鸣声时,会在地图标记“X”并记录日志。用户可回放各设备录制的音频片段,确认目标声音后点击标记,系统即开始监听该特定频率,通过测量蜂鸣间隔并利用三角测量法,在地图上锁定最可能的声源位置。

基于经典论文的纯软件方案

在构建初期,Claude 检索并参考了 2007 年发表的《BeepBeep:基于声学的高精度测距与定位系统》论文。该研究提出了一种无需预设基础设施、仅依赖扬声器、麦克风及设备间通信的高精度声学测距方案。Beep Locator 沿用了这一思路,采用纯软件实现:

  • 前端监听:设备通过浏览器访问 Web 界面,请求麦克风权限,录制最近 60 秒音频缓冲区。
  • 信号处理:运行基于快速傅里叶变换(FFT)和高通滤波器的检测算法,识别潜在蜂鸣事件并上报服务器。
  • 时间同步:服务器触发某一设备播放短暂提示音,要求所有监听端上传提示音前后各约 0.6 至 0.8 秒的音频片段。通过提示音对齐各片段,实现高精度的时间同步与定位。

AI 代理的“听觉”与远程调试

该项目展示了赋予编码 AI 代理“感官能力”的可能性。开发者最初通过 iPhone 上的 Claude Code Cloud 启动项目,生成问题描述文档并构建基础架构。随后,利用 Fable 5.2 模型的能力,实现了在运行时动态向监听端注入新代码的功能。

通过 WebSocket 连接,服务器可向任意客户端下发 JavaScript 模块,无需手动刷新页面或重新授权麦克风即可更新功能。开发者通过自然语言指令迭代产品特性,包括添加地图元素拖拽、拍手声区分显示、带时间戳的音频回放日志以及“确认目标声音”按钮等。这种交互模式允许 AI 代理在后台持续调试音频日志并重构其“听觉”网络,而开发者只需专注于高层逻辑指导。

此举印证了 AI 代理不仅能处理代码文本,还能通过外接传感器(如麦克风、摄像头)感知物理世界,为解决现实环境中的硬件故障提供了新的技术路径。