V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lerry
V2EX  ›  分享发现

AI 立大功、闯大祸?记一次 ESP32 开发调试

  •  
  •   lerry · 11 小时 10 分钟前 · 2001 次点击

    最近在用 ESP32 做语音对话机器人,接麦克风、喇叭、小屏幕,连豆包的 API ,能说话能回应。

    从零开始,AI 帮我设计方案、选零件、写代码,连怎么用电烙铁都是 AI 教的。不到 24 小时,第一阶段跑通了——按键唤醒、接入大模型对话,效果和手机上差不多。我没想到会这么快。

    然后我花了两周排查一个破音的 bug 。换喇叭、换电源、查 WiFi 干扰、查 DMA 缓冲区,全都没用。最后发现是一行 C++ 类型问题:constexpr uint32_tint32_t 相乘,有符号数被隐式提升成无符号数,负数溢出,音频波形下半段全毁了。改一个字符,问题消失。这个 bug 也是 AI 在某次重构时引入的。

    AI 写代码很快,但在我不熟悉的领域,我看不出它生成的代码哪里有问题,只能靠症状反推。这就是为什么排查了这么久。

    AI 可以帮你做很多事情,但它无法替代你的判断力。

    详细过程: https://lerry.me/post/2026/03/ai-helped-esp32-audio-bug

    24 条回复    2026-03-16 20:43:13 +08:00
    lp7631010
        1
    lp7631010  
       11 小时 6 分钟前
    然而很多老板只看到了前面不到 24 小时能把东西弄出来 意识不到后面可能要花两周去排查 bug
    liu731
        2
    liu731  
    PRO
       11 小时 1 分钟前
    nrtEBH
        3
    nrtEBH  
       10 小时 57 分钟前
    @liu731 我也想到这个了 最近淘宝推给我 m5stack
    hnbcinfo
        4
    hnbcinfo  
       10 小时 55 分钟前
    没办法,虽然 AI 发展很快。但现在还是有一些领域或场景 AI 容易出错。而且如果完全借助 AI 进行 Vibe Coding ,那就是概率稍大点的老虎机游戏。一切顺利还好,极个别时候,特别是对于一些 AI 自己搞出来的问题修复,全看运气了。不过好在,按目前的势头看,AI 发展很快,这类问题随着时间估计以后都不是问题。现在碰到这类问题,只能多换几个模型多试试了。
    lerry
        5
    lerry  
    OP
       10 小时 54 分钟前
    @lp7631010 AI 确实擅长编码,因为开源的代码太多了,但是加上领域知识就没那么灵了
    @liu731 后来发现这个项目了,还是想自己从头折腾
    promontory123
        6
    promontory123  
       9 小时 50 分钟前
    这种隐藏的 bug 就得自己去处理,做嵌入式的相同的代码,换了平台和编译器又不一样
    zomco
        7
    zomco  
       9 小时 39 分钟前
    去年用 esp32s3 做过一个类似的 demo ,半天 AI 就生成好能跑起来的代码,但是几轮对话之后会随机出现请求失败的问题。将问题反馈给 AI 修改,一直改不好。只好人工审查代码,最后发现是 AI 调用了有 bug 的旧接口。
    整整花了三天修复那个问题。
    EyebrowsWhite
        8
    EyebrowsWhite  
       9 小时 33 分钟前
    换个角度想,如果没有 AI ,24h 加上两周是否可以做出来这个语音机器人呢?
    我觉得以“干中学”的心态来使用 AI 会有更高的效率,并且使用 AI 确实要把 debug 的时间算进去,就好像健身要把热身和练后拉伸算进去一样,它们是同等重要的。
    handsome198311
        9
    handsome198311  
       9 小时 30 分钟前
    最近也是搞了几个开发板,ESP32S3 ESP32P4, STM32H750VBT6, 直接一把 AI 梭哈,从生成界面到功能代码,全给 AI 搞定,让 AI 写好注释,一步一步走,功能都能实现。后面测试,运行时再发现 bug 再修改,完全不写一行代码,把 IDE 环境搭好就行。 总的来说,对于专业人士来说,AI 效率提升非常大。外行来干的话会走很多弯路。并且产品不可控。
    lsp7572
        10
    lsp7572  
       9 小时 28 分钟前
    用的什么模型?。是不是最好的
    goodryb
        11
    goodryb  
       9 小时 25 分钟前
    是类似于小智 AI 这种的吗,那个好像也是 esp32 上搞的
    yxc246800
        12
    yxc246800  
       9 小时 22 分钟前
    和现实世界交互,就是经验的问题,破音这个给有经验的人大概两天内就能 debug 出来原因,
    嵌入式领域很多这种类似的问题,和 it 纯软不一样,与模拟世界产生交互就得用人来充当胶合剂,
    再其次 c/c++在嵌入式领域,真的是对数据和数据类型极其敏感的,现在很多高级语言都是弱类型的了,一些强类型语言也都有自己的 var 或者 auto ,嵌入式还是太底层了,数据到二进制位都是由程序员自己控制选择的
    fe619742721
        13
    fe619742721  
       9 小时 17 分钟前
    但是模型进化速度非常快,产生常见问题的概率后面会越来越少

    综合对比了去年年初、去年下半年和今年上半年我的 vibe coding 使用体验后得出的结论
    imagecap
        14
    imagecap  
       9 小时 12 分钟前
    这类教程在网上也不少,ai 只是搜索整理处理,你去实施。很多人以为是 AI 搞出来的,没有 AI 也一样能搞定。
    lerry
        15
    lerry  
    OP
       9 小时 2 分钟前
    @lsp7572 ChatGPT 5.4 Claude 4.6
    @yxc246800 是的,现在看,有经验的人一听应该很快能确认问题在哪里,我对这些都不了解
    defaw
        16
    defaw  
       8 小时 15 分钟前
    多打日志,ai 写出来的时候都没意识到这是个问题找是让他自己找是找不出来的
    dcatfly
        17
    dcatfly  
       8 小时 10 分钟前
    1. 你需要给项目添加 review 和 test 机制,让 ai 自己能完成闭环,大概率能及时捕获重构带来的 bug 。
    2. 定位 bug 时需要开最大的思考量(/effort ),codex 是 xhigh ,opus 是 max ,sequential thinking 也比较有用。
    justdoitzZ
        18
    justdoitzZ  
       7 小时 5 分钟前
    让父母学习试用 AI ,防止被微商,无良直播,带货等骗,比我说一万句顶用
    我觉得你这个排查错误的过程。不妨把你修复错误前的版本给不同的大模型看看,review ,看看谁能发现错误。
    很多模型,宣传很牛,实际试用还是有局限。
    我觉得现在,每一个试用 AI 的人,都是 AI 到真实世界的触手,所以某种意义来说,谁有最多的用户,谁的 AI 对现实世界的理解更深,谁的 AI 可能成长到更牛
    那么看来,国内就是豆包/GLM ,国外就是 chatppt/gemini ,最终会胜出
    qiangbao
        19
    qiangbao  
       5 小时 43 分钟前
    AI 我觉得对外行很有用呀,至少以前你对于这些东西感兴趣,但因为获取信息渠道很费劲,所以你就把这个兴趣方向先滞后了;有了 AI 之后获取信息效率大大提高了,做出来了成品,你会收到很大的成就感,反而会增大你的兴趣;毕竟正反馈总比负反馈来的好太多了。
    zerovoid
        20
    zerovoid  
       4 小时 8 分钟前
    AI 肯定还是大大提升效率,大大降低门槛了。

    如果没有 AI ,一个小白根本不可能折腾出一个成品,
    这些无法解决的入门问题,

    以前是小白入门学习阶段会遇到的。
    而现在却是在制作成品的过程中发生的,

    这放以前简直不可思议。
    flytsuki
        21
    flytsuki  
       3 小时 42 分钟前
    我之前用 ai 写 esp32 通信,定义的字节数组给我改了每个字节的定义
    zmqiang
        22
    zmqiang  
       3 小时 4 分钟前
    我也遇到类似的问题,也是音频类的应用,推行到 90%左右就卡住了,还是得自己了解基本支持才行
    levelworm
        23
    levelworm  
       21 分钟前
    constexpr uint32_t 和 int32_t 相乘

    这个问题我在学习内核代码的时候,总是碰到,现在有一类似的问题,我就想是不是 overflow 了。我感觉 C/C++的确是更容易出这种问题,但是也让程序员更加警醒。
    forisra
        24
    forisra  
       19 分钟前
    ai 无论如何总是会有幻觉的,这个没办法。假设没幻觉就是 agi 了。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3323 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:02 · PVG 21:02 · LAX 06:02 · JFK 09:02
    ♥ Do have faith in what you're doing.