8 美元芯片上的 AI 智能体:awesome-esp32 清单里,藏着 Agent 的物理身体

8 美元芯片上的 AI 智能体:awesome-esp32 清单里,藏着 Agent 的物理身体

先收藏,回头一定用得上。

过去两年我们写了七十多篇文章,绝大多数讲的是 Agent 的"大脑"——harness、MCP、评测、上下文工程、推理模型。但 Agent 不只是屏幕里的一段循环。当它需要听你说话、看你一眼、在你手腕上震一下、替你按一下物理按钮时,它需要一个身体

而这个身体,正在一块 8 美元的芯片上批量长出来。

s0lness/awesome-esp32 是一个 8 月 19 日才创建的清单仓库,半个月 346 stars,CC0 协议,纯 Markdown,没有一行代码。它收录"值得造、值得抄、值得看着跑"的 ESP32 项目。ESP32 是乐鑫(Espressif)出的微控制器系列,Waveshare、LilyGO、M5Stack 这些厂商把它做成各种带屏幕、麦克风、摄像头的成品板子,Ulanzi 像素钟这类量产产品里装的也是它。

但真正让这个清单值得写的,不是那些 60 帧的掌机游戏和流体粒子特效,而是其中一批 AI Agent 项目:它们把大模型装进了可以握在手里的设备。更有意思的是——这个清单本身就是用 AI Agent 维护的

本文提纲

  1. 一份"用 Agent 编目 Agent"的清单
  2. AI 同伴:Agent 的第一批物理身体
  3. 腕上审批器:人在环的实体化
  4. 芯片太小,智能在哪?——三种端云分工
  5. 十年量产固件提炼的工程军规
  6. 给 Agent 开发者的启示

一份"用 Agent 编目 Agent"的清单

先说最 meta 的一层。打开仓库你会看到一个 AGENTS.md——这不是给人看的说明,是给 AI 编码助手看的项目宪法。它把收录规则、分类逻辑、命名约定全部写死,甚至还有一个全局 skill 叫 /awesome-esp32-add,作者把一个链接贴进会话,Agent 就自动完成解析、验证链接可访问(git ls-remote)、写一句话描述、分类、追加 demo 链接、提交到 main 这一整套流程。

收录门槛有三条,全部硬性要求:公开可构建的源码、在真实硬件上跑过的证据、陌生人可复现。Star 数明确不作为标准。这条"硬件证据"规则细到什么程度:一个项目支持好几块板子,必须说清演示视频是在哪块板子上拍的——因为"支持"和"演示过"是两个不同的承诺。

清单的检索设计也很聪明:它不用标签,用设备名做索引。每个条目结尾用反引号标注它跑在哪个设备上,拼写严格对齐 devices.md,你 Ctrl-F 自己手上那块板子的名字,就能找到所有能刷的项目。仓库里专门记录了一条决策:标签(batterys3-amoled 这类)在 9 月 1 日被全部废除,因为标签要么说不出可定义的含义,要么只是重复设备名。"拼写本身就是索引"——一个偷懒的别名就会悄悄让检索失效。

一个纯 Markdown、无 CI、无脚本的清单,靠一份给 Agent 读的宪法维持质量。这和我们写过的 Apache Maka、DeepSeek Harness 的思路是同构的:把约定写成机器可执行的规则,而不是写成人脑要记住的文档。

AI 同伴:Agent 的第一批物理身体

清单里最值得 Agent 开发者关注的,是 Companions(同伴) 这一类。挑四个拆解。

xiaozhi-esp32(小智)——这是整个清单里生态最大的一个,定位是"基于 MCP 的 AI 聊天机器人固件,驱动了一整个会说话的桌面伴侣生态,支持几十块开发板"。注意关键词:MCP-based。也就是说,我们反复讲的 Model Context Protocol,不只是云端 Agent 连工具的方式,它已经下沉成了一块芯片上固件的工具接入层。小智用一个纯虚的 Board 基类支撑 70 多块板子,几乎每个能力获取函数都有空默认实现——加一块新板子只需实现 8 个方法,而不是 30 个。它还把固件和资产分区:字体、音效、语音模型放在可单独下载的 assets 分区,更新内容不用重刷固件。

chat-stick——一个"按住说话"的语音棒,直连 Gemini Live,带持久化计时器、服务端工具和 OTA 更新,跑在 M5StickS3 或 Waveshare AMOLED 1.8 上。它是个工程细节的富矿:回声消除(AEC)被明确定义为"S3 及以上带 PSRAM 才有的芯片级特性,小芯片就用半双工按键通话,这是正当架构不是妥协";NTP 同步前不信任系统时间(拒绝在 epoch 小于 2024 年时创建计时器);密钥绝不编进固件(strings 一下 bin 就能恢复 WiFi 密码),API key 全部放在中继服务端,设备最多持有一个 device token。

ESP32 Codex Agent Device——一个物理的 Codex 任务状态伴侣,跑在 Waveshare AMOLED 1.8 上,实时展示 Codex 任务的生命周期、运行时长和 token 消耗指标,配一个程序化生成的虚拟形象。这正是我们写过的 TrueForge benchmark、HarnessEval-W 关心的"成本可观测性",从网页仪表盘变成了桌面上一个一直在你余光里的小屏幕。

Vibe Watch——这个最能说明趋势。它是一个戴在手腕上的 M5Stack 控制器,用来并行管理多个 AI 编码 Agent:物理的批准/拒绝按键、触觉反馈、BLE HID。当你同时跑着几个编码 Agent,每个都在等你审批下一步操作时,你不需要盯着屏幕点按钮——手腕一震,按一下物理键就放行或否决。

腕上审批器:人在环的实体化

Vibe Watch 值得单独停一下。

我们在 TrueForge 和 Claude Tag 里讲过 human-in-the-loop:Agent 做写操作或破坏性操作前要暂停,等人批准。在软件里,这是一个弹窗、一张 Generative UI 卡片。但当 Agent 真正融入工作流,人是会离开屏幕的——你在接水、在开会、在另一台机器前调试。

Vibe Watch 把这个"批准检查点"从屏幕里解放出来,变成一个触觉+物理按键的通道。它本质上是 Agent 审批循环的一个外围神经末梢:Agent 的决策请求通过 BLE 推送到手腕,人的决策通过物理按键回流。这和软件里的 approval 是同一个协议,只是 I/O 介质从 GUI 换成了身体能感知的震动和触感。

这预示了一个方向:Agent 的人在环不会只发生在聊天窗口里。 未来的审批通道会是分布式的——手腕、桌面小屏、语音、甚至环境光。哪条通道延迟最低、打断成本最小,决策就走哪条。硬件让"离开聊天窗口后继续工作的 ambient intelligence"(我们在 Cisco MyAgent 那篇里讲的概念)第一次有了真正的物理触点。

芯片太小,智能在哪?——三种端云分工

ESP32-S3 的算力大概是几百 MIPS 级别,内存以百 KB 计,跟跑大模型差了好几个数量级。那这些"AI 设备"的智能到底放在哪?清单把三种分工模式都演示了一遍:

模式一:纯云,设备是五官和手脚。 chat-stick 直连 Gemini Live、xiaozhi 连云端大模型——芯片只负责麦克风采集、扬声器播放、屏幕渲染和网络传输,所有"思考"在云端。这是目前最成熟的形态,靠的是实时音频协议(WebRTC/WebSocket)和 Opus 压缩。清单里甚至收录了 OpenAI 官方的 openai-realtime-embedded SDK,专门给 ESP32-S3 通过 WebRTC 连 Realtime API 用。

模式二:端侧小模型,多芯片组网。 X 上有篇被清单引用的教程叫"Your $8 Gateway to Local AI",演示把小模型拆分到多个 ESP32-S3 节点上,I2S 麦克风采集,通过 BLE 协调执行。这是边缘 LLM 的极端玩法——单芯片放不下,就用"物联"换算力。

模式三:端侧视觉推理。 另一篇教程"Give your ESP32 eyes"讲摄像头板在设备本地跑视觉,把检测结果转成动作,关键工程点是防抖和置信度阈值——不能检测到一次就误触发。MicroLink 爬虫小车则是多设备协同:一个 M5Stamp 驱动电机、一个带摄像头的 AtomS3R 做实时图传和红色物体检测、一个摇杆模块遥控、一个 Core2 当显示器。

三种模式对应一个清晰的判断:边缘设备的价值不在于塞进多大的模型,而在于成为 Agent 可靠的传感器和执行器。 智能可以在云,但"在正确的时刻感知、在正确的时刻动作"这件事,必须在物理世界本地完成。这也是为什么前面所有的工程军规都围绕可靠性展开——一个会死机、会漏唤醒、会烧穿电池的身体,再聪明的大脑也驱动不了。

十年量产固件提炼的工程军规

清单里最有长期价值的,是 guides/esp32-practices.md——它从 Tasmota、WLED、ESPHome、Meshtastic 这些"身经百战"的量产固件(合起来有十年生产环境疤痕)里提炼出跨项目经验,每条都标注出处。这本手册对做云端 Agent 的人同样有启发,因为长期运行、无人值守、必须自愈的 Agent 系统,面对的是同一类问题。

挑几条最锋利的:

假设一定会崩溃,然后设计复活阶梯。 WLED 在 RTC 内存里计数连续崩溃次数,每检测到一级就升级一步:恢复配置备份 → 重置配置 → 回滚 OTA 分区 → 把文件系统 dump 到串口。Tasmota 更狠,连续 7 次快速上电就擦除设置,还留了一个把 Rx 接 Tx 的物理紧急复位。给用户一个硬件逃生通道。 这和 Agent 的 checkpoint/回滚、guardrail 兜底是同一个哲学。

记录你为什么死。 一个崩溃回调把栈地址存进 RTC 内存(Tasmota)、一个黑匣子日志环(pixelcat)——因为"串口恰好在你最需要它的时候是死的"。对 Agent 来说就是:trace 和 crash 日志必须落盘到独立于主进程的地方,主进程挂了证据还在。

每个外设失败都必须是非致命的,配一行后果日志。 pixelcat 的原话是"no touch: the cat cannot be petted"(触摸屏没了:这只猫没法被撸了),但设备永远照常启动。Agent 的工具调用失败也应如此:一个 MCP server 挂了,降级记录,整个循环不能停。

密钥绝不进二进制。 strings 一个固件 bin 就能恢复 WiFi 密码和服务端地址。API key 全部放中继服务端,设备最多持设备令牌;量产硬件用 eFuse 序列号加 HMAC 外设,让密钥永不离开芯片。这和我们在 TrueForge 里看到的"secrets 留在 harness 侧、不进沙箱"是完全相同的安全边界设计。

重连用阶梯,不用死循环。 TRMNL 把重连间隔做成持久化对象(API 重试 15/30/60 秒,WiFi 60/180/300 秒);Tasmota 每 44 分钟重扫一次,只在信号好 10 dB 时才漫游——这个迟滞(hysteresis)正是防止 mesh 网络反复横跳的关键。Agent 的网络重试、模型限流退避,照搬这套。

别在忙循环里 yield() 就以为喂了看门狗。 ESP32 上 yield() 根本不跑 IDLE 任务,真正要 delay(1);看门狗 panic 是晚期症状,更早的表现是被删除任务的内存泄漏和定时器静默停摆。这种"表面正常、底层已坏"的陷阱,写过长驻服务的人都懂。

手册结尾还附了一份" condensed do-not list"( condensed 戒律清单),16 条,从"别直接比较 millis()(49.7 天溢出翻转)"到"别在 USB 供电时 light-sleep(会掉枚举、板子看起来变砖)",全是真金白银换来的。

给 Agent 开发者的启示

回到我们一直跟踪的 Agent 技术树,这份硬件清单补上了一个被忽视的分支。

我们谈 MCP,多半想的是云端连数据库、连搜索。但 xiaozhi 已经把 MCP 做成了芯片固件的工具层;我们谈人在环审批,想的是聊天框里的卡片,但 Vibe Watch 已经把它做成了手腕上的物理按键;我们谈可观测性和 token 成本,想的是网页仪表盘,但 Codex Agent Device 已经把它做成桌面上常驻的小屏幕。

Agent 的演化正在从"纯软件循环"走向"有身体的智能体"。而这个身体的工程学——可靠性、自愈、省电、密钥隔离、外设降级——恰恰是云端 Agent 工程同样需要、却常常被"重启一下就好"掩盖掉的硬功夫。ESP32 这批项目用 8 美元的成本约束,把这些问题逼到了极致,反而给出了最干净的答案。

如果你想动手,清单的入门路径很清楚:先用 Wokwi 在浏览器里模拟(不用买硬件),或者从 chat-stick、InkSight 这种支持浏览器刷写(ESP Web Tools over WebSerial)的项目开始,一块 Waveshare S3 AMOLED 板就是你的第一个 Agent 身体。

参考链接

你会给 Agent 造一个什么样的身体?手腕上的审批器,桌面上的状态屏,还是会动的小车?评论区聊聊。觉得有用点个赞,让更多做硬件和做 Agent 的人看到这份清单。


作者: itech001
来源: 公众号:AI人工智能时代(the-ai-era)
网站: https://www.theaiera.top/
关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top

本文首发于 AI人工智能时代,转载请注明出处。

posted @ 2026-09-05 00:37  iTech  阅读(9)  评论(0)    收藏  举报