标签存档: AI

AI 误诊 macOS IOKIT Bug:ESP32-S3 USB HID 通信调试记录

前段时间想模仿 BLEUnlock 搞个使用指纹给 macOS 解锁的应用,让 AI Vibe Coding 了很多代码,特别是 USB HID 通信以及 CTAP 协议处理部分。

这中间在调试协议时,AI 花了相当多的时间来反复调整 USB HID 通信时的 Payload 大小,AI 最终的结论是:macOS IOKIT 在发送数据到 USB 设备时有 Bug,会缺少 1 个字节,所以通过宏定义的方式,将包大小减少 1 个字节来绕过这个 Bug 😂。

当然我是不相信这个结论的,毕竟 macOS 上通过 USB HID 通信的设备那么多,不可能有这么明显的 Bug,周末花了点时间来看看到底是咋回事。

问题表现

在整个通信协议相关代码写完,并且主机和设备通信测试成功之后,在设备端会提示 USB HID 在收到消息时,Payload 大小为

阅读全文 »

当 AI 10 分钟能交付新人 3 天的需求,现在可能是初级开发者最危险的时候

最近我又在前端项目里高强度使用 AI 进行 Vibe Coding,几乎全程用对话驱动开发,不使用编辑器。有个直观感受:在常见前端业务里,Claude Code 等工具的产出质量≈P5~P6(≈中高级工程师的能力)

AI 不一定能独立把一条复杂业务线打通,但在可拆分的功能级任务上,速度、规范度与最佳实践覆盖度,已足以让“经验尚浅的新人”非常被动。

AI 写代码能力可能相当于 P5、P6

最近 2 个月我都在高强度使用 Claude Code 写代码(使用模型 claude-4.5-sonnet),并且是尝试完全依赖 AI 解决问题,在编码过程中,完全不使用编辑器看 AI 写的代码,都是通过对话的方式描述需求、描述 Bug。

整体感受是,AI 写代码可用、好用,特别是在前端领域。就单个功能而言,AI 可以写出相当规范并且考虑周到的代码。

一个印象深刻的案例:我需要在一个有多级列表数据的页面上,添加一个浮动的 Table of Contents 组件,只需要在 AI 对话中说一句“在右侧增加 floating toc,默认隐藏,鼠标hover时展示”AI 即可在

阅读全文 »

掌握这 10 个小技巧,让 Vibe Coding 编程更高效

最近尝试全程 AI Vibe Coding 搭建一个包含前台和后台的业务系统,高强度使用了 Cursor + Claude Code 编码一个月,消耗完 Cursor 500 次快速请求,以及可能几百刀 Claude Code 的 Token。

在这过程中,99% 以上的时间都是在通过 AI prompt 进行修改(比如修改页面上的一个文案 😃),可能少于 10 次觉得描述需求太麻烦了而直接顺手改了代码。

在大概完成了一个可用的系统原型之后,踩了不少坑,也对 Vibe Coding 稍微有了一些体会。

PS. 我也是第一次高强度使用 AI 进行辅助编程,可能并没有一开始就遵循一些最佳实践,以及并没有充分利用 Cluade Code 的一些功能,例如 SubAgent、MCP 等,其中一些问题可能有更好的解决方式。

PPS. 这是一个基于 React + Nodejs,同时包含前后端的项目,所有相关经验都基于相关领域的实践得出。

1. 别让 Agent 重复启动调试服务器:控制调试流程

Agent 在调试时容易重复启动调试服务器或多个实例,这会带来端口冲突、环境状态混乱、资源浪费等问题。…

阅读全文 »

3 步从 nana banana AI 生成的复古小电脑到真实桌面小玩具

先看看有屏幕的地方就有的 Bad Apple:

PS. 音乐是后期加进去的 🙈。

源起

这一些源于之前在 MakerWorld 上看到的摸鱼小副屏,对这种可交互的小玩具特别感兴趣,我还复刻了一个,并且把内部改造了一下,换成香橙派开发板,跑了一下 Mac OS 9,虽然有点慢 😃(见:摸鱼小电脑能跑 MacOS 了,就是速度慢到怀疑人生)。

一直以来建模只会搞横平竖直简单类型的模型,对于这种带造型的模型,完全没有能力,不过最近 nana banana 很火,突然想到现在各种 AI 工具已经相当成熟了,是不是也可以借助 AI 来实现呢,说干就干。

PS. 稍微标题党了一下,这从 AI 生成到完成 3D 打印,也用到了其他平台,以及最终加装 MCU + 屏幕也花了额外的时间 🥳。

第 1 步:让 AI 生成期望的模型

这一步一开始是让 Gemini 2.5 Flash nano banana 生成的,但是感觉可能因为没有 Thinking,效果不是很好,后来换成 ChatGPT …

阅读全文 »

AI 编程在嵌入式开发中能用吗?体验 Manus 编写 ESP32 固件

前段时间买了个 0.96 寸 80x160 的 LCD 屏幕,想要做一个模拟辉光管的时钟。

这第一步就用上了 AI,用 ChatGPT 生成了辉光管效果数字的图片,然后按数字裁切成 0-9 十张图,生成对应的图片 RGB565 格式数据,测试了一下,效果还不错。

然后我就在想,那这个时钟的固件,是不是也可以用 AI 来生成呢?AI 现在已经验证了写一些前端项目相当高效,在嵌入式开发领域,是不是也可以有同样的能力,至少可以完成一个简单的项目?

刚好 Manus 开放注册了,我就拿它来尝试一下看看效果怎么样。

功能需求

为了防止项目失败,先把功能定义得简单一点,就是通过 ESP32 控制 6 个 LCD 来显示上面裁切生成的数字图片,并且需要提供 API 更新图片、AP 配置能力。

提示词

这里为了让生成的项目更可控,提示词中明确了工程框架为 PlatformIO,引脚使用宏定义等能力,

请使用 platformio + arduino 框架帮我写一个 esp32-s3 固件,实现以下功能:

  • 控制 6 个 st7735 驱动的 lcd 屏幕,分辨率为


阅读全文 »

复刻小智AI,ESP32-S3搭建Arduino+ESP-SR+ESP-TTS开发环境踩坑记录

最近 B 站上赛博小狗和小智 AI 都很火,我也想复刻一个,最好能把两者结合一下,研究了一下,发现作者们的开源方案有些地方不太符合我的习惯,准备改造一番,然后就走上了踩坑之旅。

缘由

赛博小狗这个开源项目,作者使用了现成的语音识别模块和文本转语音模块,这两个模拟贵且不说,在使用上也不太灵活,而且主控也是使用的 STM32,这个如果要想改造结合小智 AI,开发起来也比较麻烦。

然后就想到了乐鑫 ESP32 是已经自带了语音唤醒、语音识别、文本转语音能力的,那干嘛不直接用一个 MCU 来实现外部模块的功能,成本就要低上很多了,而且小智 AI 本身也是基于 ESP32 去做的,结合起来就更方便了。

再研究了一下小智 AI 的开源硬件端项目,发现是基于 ESP-IDF 开发的,这就叫人头大了,虽然原厂的 ESP-IDF 相比 Arduino 框架更强大,配置更灵活,但是从开发便捷性上来说,我还是更喜欢使用 Arduino 框架。

为了把这一堆东西都改成自己喜欢的样子,就开始了踩坑之旅。

开发环境

虽然在玩 ESP32 时一直用的 Arduino 框架,但是我并没有使用 Arduino IDE,而是使用的 Visual Studio Code + PlatformIO 插件。Ardunio IDE 的编辑器太古老了,缺少很多有用的功能,像代码提示、自动补全、符号跳转等功能都是缺失的。

而 Visual Studio Code …

阅读全文 »

笔记本 RTX 3070 + 8G 显存本地运行大语言模型 CodeGeeX2 生成代码实践

之前看到 CodeGeeX2 大语言模型发布了,介绍说比上一个版本效果要好上不少,因此也想在本地跑一个看看,能不能在项目开发的流程中能应用一下。

CodeGeeX2 是多语言代码生成模型 CodeGeeX (KDD’23) 的第二代模型。不同于一代 CodeGeeX(完全在国产华为昇腾芯片平台训练) ,CodeGeeX2 是基于 ChatGLM2 架构加入代码预训练实现,得益于 ChatGLM2 的更优性能,CodeGeeX2 在多项指标上取得性能提升(+107% > CodeGeeX;仅60亿参数即超过150亿参数的 StarCoder-15B 近10%)

不过因为手上只有一个笔记本用的 Nvdia 显卡,型号是 3070,并且显存还只有 8G,因此在运行过程中相对更高显存的显卡会碰到一些坑,这里就记录一下整个安装过程、踩的坑和解决方法。

系统环境

我的笔记本安装了 Windows 10 系统,并且还没有安装 WSL,因此就直接在 Windows 系统中来安装和部署 CodeGeeX2 了。

软件和硬件环境:

  • OS: Windows 10 22H2 (19045)
  • Python:3.10.11
  • CPU:AMD Ryzen 7 5800H
  • 内存:32GB
  • 显卡:RTX


阅读全文 »