在人工智能辅助开发工具日益成熟的今天,一个极具创造力的实验将动物交互推向了新的维度 —— 通过为犬类设计触觉与声音反馈界面,让一只名为 Momo 的 cavapoo 能够「vibe coding」出可玩的游戏作品。这一系统不仅展示了多感官交互设计的工程可行性,更揭示了反馈回路质量对人工智能生成内容的关键影响。本文将从硬件架构、过滤层设计、奖励机制与工具链四个维度,剖析这一独特人机交互系统的工程实践。
整个系统的硬件层采用分层设计思路,核心目的是将犬类的物理行为可靠地转换为可供人工智能模型处理的输入信号。最外层是 Logitech Pebble Keys 2 蓝牙键盘,选择它的原因并非偶然 —— 柔软的低剖面按键对犬类 paw tap 敏感度适配性强,蓝牙连接避免了有线缆被啃咬的风险,而 VHB 胶带可以稳固固定在平面上。键盘信号首先传输至 Raspberry Pi 5,该设备运行一个 UDP 广播服务,将每个按键事件同步到局域网内的所有订阅设备。这一设计的关键价值在于实现了输入信号的解耦 —— 犬类所在的物理空间与运行 Claude Code 的主机可以完全分离,Pi 仅负责信号的前端处理与转发。
在过滤层设计中,DogKeyboard 这款 Rust 应用承担了关键的安全与路由职能。系统必须过滤掉特殊功能键,包括 Escape、Tab 以及系统级快捷键,否则犬类在键盘上的随意敲击会迅速导致当前应用程序失去焦点或退出。具体的过滤规则采用白名单模式,仅允许字母、数字及少数符号通过,所有功能修饰键一概拦截。过滤后的有效字符被累积到缓冲区,当缓冲区长度达到 16 个字符的阈值时,系统才会向 Claude Code 提交输入。这一阈值并非随意设定,而是经过多次迭代后找到的平衡点 —— 过低会导致奖励发放过于频繁,造成犬类过度兴奋;过高则可能使犬类失去耐心,放弃交互。另一个关键的设计细节是状态感知能力,DogKeyboard 通过 Anthropic 的 Hooks 机制监控 Claude Code 的运行状态,当模型处于思考或执行状态时,任何额外的键盘输入会被自动删除,防止犬类在错误的时间干扰人工智能的工作流程。
奖励机制的设计是整个系统能否持续运行的核心变量。犬类行为强化的基本原则在此得到了工程化的实现:Aqara C1 智能喂食器通过 Zigbee 协议与 Raspberry Pi 通信,当犬类完成有效的键盘输入后,Pi 执行一段脚本发送喂食指令。值得注意的参数是喂食量的精细控制 —— 该设备的最小出餐量对于 9 磅重的小型犬仍然偏大,因此采用了预加载策略,每个储料仓仅放入少量冻干零食作为奖励。奖励发放的时机同样经过精心设计:系统仅在 Claude Code 进入 idle 状态后才发放奖励,这确保了奖励与有效工作形成强关联。训练周期方面,从零开始建立条件反射需要约两周时间,每天进行两次各十分钟的训练会话,初期使用高价值冻干三文鱼作为强化刺激,随后逐渐过渡到普通狗粮以维持健康。
在人工智能工具链层面,系统为 Claude Code 构建了一套完整的自动化验证体系,这是整个系统从「概念验证」走向「可靠生产」的关键转折点。首先是截图工具,Claude 可以启动 Godot 游戏、捕获运行窗口的画面,从而判断游戏是否正确渲染而非黑屏故障。其次是输入序列注入工具,允许人工智能向运行中的游戏程序发送特定的按键序列,模拟玩家操作并观察游戏响应。这两项工具的组合使人工智能能够自主完成 QA 测试循环 —— 启动游戏、遍历关卡、截图检查、发现缺陷、返回代码修复、重新构建并再次验证。辅助工具还包括 Godot 场景文件 lint 器(检测节点 ID 冲突和资源引用错误)、着色器编译验证器(将模糊的编译错误转换为具体行号)、以及输入动作映射辅助工具(规范 Godot 项目文件中输入绑定的格式)。
从工程参数的角度回顾整个系统设计,几个关键阈值值得记录:字符输入阈值设为 16 字符每次奖励,训练周期 14 天,游戏平均生成时间 1 至 2 小时,场景文件检查在每次构建前强制执行,Claude 模型选择 Opus 4.6 以获得更好的自定义着色器生成能力。这些数字并非一成不变的最优解,而是针对特定犬种(9 磅 cavapoo)、特定场景(游戏生成)校准的结果。系统的核心洞见在于:人工智能生成内容的质量瓶颈往往不在于输入信号的精致程度,而在于反馈回路的完整性 —— 当人工智能能够自主观察、测试、验证并修正其输出时,即使是随机输入也能产生有意义的结果。
资料来源: Caleb Leak 技术博客《I Taught My Dog to Vibe Code Games》(2026 年 2 月 23 日)