嵌入式圈的“御三家”好不好用?一线开发者体验实谈

来源:恩智浦MCU加油站 MCU/MPU 24 次阅读
摘要:从亲手写每一行代码,到学会指挥AI Agent 这是上一篇《如何使用生成式AI 加速MCX MCU的软件开发》的一个后记。  上一篇文章更多讨论的是:在MCX MCU的软件开发中,如何把生成式AI用到资料阅读、SDK示例理解、驱动代码分析、工程配置、问题定位和文档整理等具体环节里。才不到半年过去,AI编程已经跨越到了下一个维度:它不再只是一个“问答助手”,而是一个能读代码库、能修改文件、能运行命令

从亲手写每一行代码,到学会指挥AI Agent

这是上一篇《如何使用生成式AI 加速MCX MCU的软件开发》的一个后记。 

上一篇文章更多讨论的是:在MCX MCU的软件开发中,如何把生成式AI用到资料阅读、SDK示例理解、驱动代码分析、工程配置、问题定位和文档整理等具体环节里。才不到半年过去,AI编程已经跨越到了下一个维度:它不再只是一个“问答助手”,而是一个能读代码库、能修改文件、能运行命令、能做验证的工程超级智能体。

我自己算是比较早开始使用GPT系列工具的用户。过去几年里,我在日常工作中持续使用OpenAI的Codex(目前主力使用GPT5.4, 5.5),也较长时间使用Anthropic的Claude Code(目前主力 Opus4.6),近一段时 间也频繁使用Google Gemini(Gemini 3 PRO)。小编认为,与其写成一篇“谁最强”的排名文章,更重要的是形 成一种直觉:什么问题适合交给谁,什么问题必须人来拆,什么结果只能作为提示词或思路参考。

 MCU开发并不是单纯写C代码。它同时涉及芯片手册、SDK、启动文件、链接脚本、外设寄存器、时钟树、Keil/IAR/GCC工程、RTOS、中断、pin mux、DMA、低功耗和真实硬件现象。AI可以极大提升信息处理和初稿生成速度,但不能替代硬件验证,也不能替代工程师对边界条件的判断。

以下只是我个人的使用体验,网上也有海量的类似大模型/Coding Agent之间的对比文章, 以下内容仅代表小编个人使用体会。

Claude Code: 更像一线实现型工程师

如果只谈“把一个明确的软件任务落到代码里”,Claude Code在我的日常体验里非常突出。 

它比较适合处理这类任务:阅读一个现有工程,理解已有代码风格和约束,然后完成一组相对完整的修改。例如整理驱动接口、重构上位机模块、补齐错误处理路径,或者根据明确的bug现象追踪根因并给出补丁。我对它最大的感受是“克制”。它不只是会写代码,更重要的是知道什么时候不要乱动。对于嵌入式项目来说,这一点很关键。很多MCU工程的软件并不追求漂亮的抽象,而是追求稳定、可追踪、可调试、能被下一位工程师迅速看懂。尤其是客户项目或量产项目,最怕的是AI为了“显得高级”而引入一堆新的helper、全局状态、复杂封装或公共API。

Claude Code的优势在于,它往往愿意先读工程,再动手;会比较尊重现有目录结构、命名习惯和调用关系; 在修改范围明确时,输出比较贴近真实工程师的写法。 

当然,它也不是没有代价。第一是成本较高,第二是响应速度不一定快,第三是任务描述不清楚时,它也可能 把“我以为你想要的东西”做得很完整,但这并不等于它做的是你真正需要的东西。所以在MCU场景里,我一般不会把模糊的大命题直接丢给它,比如“帮我优化整个低功耗框架”。更合适的方式是把任务拆成可验证的小块:

  • 阅读这个工程,说明当前时钟初始化路径

  • 检查这个UART wakeup流程里第一帧数据是否可能丢失

  • 在不改变public API的前提下,补齐错误返回路径

  • 对这段flash写入流程做review,只关注掉电和越界风险

任务越具体,它越像能力很强的一线工程师;任务越含糊,它越容易热心但跑偏。 

Gemini: 更像视野很宽的架构顾问

Gemini给我的感觉不太一样。它的优势不体现在编程,而更体现在最强的世界知识、资料整合、大上下文理 解和多模态输入上,人称美国豆包。他像一个视野很宽的顾问。它能帮你把地图摊开,但不适合冲杀到一线直接撸代码。

当我需要把一堆材料摊开看时,Gemini很有价值。例如对比手册和应用笔记、梳理技术路线、阅读 PPT/PDF/需求文档。很多时候,它适合在我已经有一个直觉但还没有想清楚时,从更高层次帮我审视问题。 

Gemini在“先打开视野”的阶段比较适合。它有时能给出一些全局性的提醒:不要只看驱动API,要看clock、pin mux、DMA request、interrupt priority;不要只看demo能不能跑,要看低功耗唤醒后的状态恢复;不要只看外设功能表,要确认封装引脚、板级连接和调试口复用。 

Gemini具体实操写代码的能力相对比较差。它有时会显得不太拘小节,尤其是在底层C代码、寄存器细节、 已有工程风格一致性方面,需要更强的人工把关。它适合做“方案发散”和“资料整理”,不适合在没有审查的情 况下直接作为量产代码来源。

Codex: 六边形战士,综合能力最强

Codex在我的使用体验中,最突出的特点是均衡、稳、综合能力强, 适合做review。心思缜密,考虑周到,滴水不漏,嵌入式代码生成及review能力强。

MCU软件里有很多问题不是语法问题,而是工程边界问题。例如: 

  • 错误码是否被吞掉

  • 中断和主循环之间是否存在竞态

  • buffer长度是否同时被协议层和驱动层正确约束

  • flash擦写失败后是否会破坏已有配置

这类问题不一定能靠编译器发现,也不一定能靠一次简单运行发现。它需要读上下文、读调用链、理解原本的意图,再判断新改动有没有破坏旧行为。Codex在这类任务上比较适合作为兜底工具:让它读diff、读相关调用方、读测试,再让它只输出风险,不急着修改。 

工程师的角色正在变化

过去软件工程师的核心能力,很大程度上体现在“我能亲手写出多少代码”。但AI Agent出现后,这个比例会变化。

未来的工程师更像一个乐队指挥者。你不一定要亲自吹奏每一种乐器,但必须知道每种乐器能做什么、什么时候进场、哪里跑调了,最后整体效果如何。 

放到AI编程里,就是: 

  • 你要能把大任务拆成小任务

  • 你要能识别AI输出里的伪合理

  • 你要能设计验证路径

  • 你要能承担最终工程责任

这其实比“会不会写某一行代码”更难,因为它要求工程师同时具备技术判断、系统理解、表达能力和取舍能力。 

结 语

小编以为: 现阶段仍然可以算是一个相对平权的阶段。普通工程师也能用超低成本接触到很强的模型能力。 

但工具越强,差距也可能越快拉开。真正重要的不是“会不会打开某个AI工具”,而是能不能持续更新自己的工作方式,从一次次使用中总结出更好的提示词、验证方法和任务拆分方式。 

如果说过去的MCU软件开发更像一个人拿着螺丝刀、示波器和IDE,在一个具体问题前反复打磨,那么现在的开发方式正在变成另一种形态:工程师站在更高的位置,指挥多个AI Agent帮自己阅读、实现、审查、整 理和验证。但指挥者不是旁观者。指挥者要懂乐谱,也要听得出哪里不对。 

Claude Code、Gemini、Codex各有特点。它们都不是万能工具。对于MCU开发来说,真正有价值的不是追逐某一个工具的短期排名,而是建立一套适合自己工程场景的AI使用方法:哪些任务可以交给AI,哪些任务必须人来判断,哪些结论必须上板验证,哪些流程可以沉淀成长期习惯。

相关推荐
评论区

登录后即可参与讨论

立即登录