AI Agent第四篇:Codex、Claude、Antigravity、OpenCode 四种 Agent 路线—— Coding Agent 不是一个工具,而是一种新的工程工作方式
最近很多朋友问我:OpenAI Codex、Claude Code、Google Antigravity、OpenCode,到底有什么区别?
作为工程师、产品经理、创业团队,到底应该学哪一个?
我的回答是:
不要先把它们看成四个软件。
更准确地说,它们代表了 AI Coding Agent 正在形成的四种路线:
-
OpenAI Codex:平台型工程 Agent 路线
-
Claude Code:代码库深度理解与执行路线
-
Antigravity:Agent-first IDE 路线
-
OpenCode:开源、可控、模型可选路线
这篇文章不是做“谁更强”的排行榜,而是从工程实践角度解释:
当我们真正做一个 AIoT 系统,比如 Project Velocity,应该如何理解这四种 Agent 路线?
一、为什么不能只问“哪个 Agent 最好用”?
很多人刚开始接触 AI Coding Agent 时,最容易问的问题是:
哪个写代码最快?
哪个模型最聪明?
哪个最像程序员?
这些问题当然重要,但还不够。
因为真实工程不是只写一个函数。
以 Project Velocity 为例,我们做的是一个完整的 MCU–Edge–Cloud AIoT 系统:
-
STM32F103 节点运行 Zephyr RTOS;
-
节点连接传感器、继电器、IR、LCD、按键、CAN 总线;
-
Edge 端使用 RK3588 / Linux 做网关;
-
上层通过 MQTT、OPC UA、ThingsBoard 完成遥测、控制和可视化;
-
还要考虑硬件映射、协议转换、日志、测试、远程维护和版本管理。
在这种系统里,AI Agent 不只是“帮我写代码”。
它要理解:
-
硬件资源在哪里;
-
哪个 GPIO、I2C、UART、CAN 被使用;
-
Zephyr 的 overlay、prj.conf、main.c 如何一致;
-
Edge gateway 如何和云端数据模型对应;
-
改一处代码,会不会影响协议、测试、部署和后续维护。
所以真正的问题不是:
哪个 Agent 最好?
而是:
哪一种 Agent 工作方式,最适合你的工程场景?
二、Codex 路线:从“写代码”走向“工程任务委派”
Codex 代表的是一种很明显的平台型路线。
它不是只停留在聊天窗口里,也不只是一个 IDE 插件,而是逐渐进入:
-
本地终端;
-
IDE;
-
Web;
-
GitHub;
-
云端执行环境;
-
PR review;
-
多任务并行。
这条路线的核心不是“补全下一行代码”,而是:
你把一个工程任务交给 Agent,它在自己的上下文里阅读代码、修改代码、运行命令、检查结果,并把结果交还给你 review。
比如在 Project Velocity 里,我们可以让 Codex 做这些任务:
-
阅读 Zephyr 工程目录,解释当前节点代码结构;
-
根据新的传感器需求,修改 overlay、prj.conf 和 main.c;
-
给 CANopen telemetry 增加新的对象映射;
-
为 Edge gateway 增加 MQTT topic;
-
对一个 PR 做代码审查,检查是否影响现有 telemetry path;
-
在云端并行跑多个修复任务,最后由工程师合并。
Codex 路线的优势是:
它更像一个进入工程流程的 Agent,而不是一个孤立的代码助手。
特别适合:
-
已经有 Git / GitHub 流程的团队;
-
需要代码审查、PR、测试、分支管理的项目;
-
希望把 AI Agent 嵌入日常软件工程流程;
-
需要同时处理多个工程任务的场景。
但它也带来一个重要提醒:
Agent 越接近工程流程,人类越要定义边界。
尤其在嵌入式和 AIoT 系统中,Agent 不能随意改硬件相关代码。
比如它可以建议修改 main.c,但不能在不了解硬件连接的情况下随便改 overlay;它可以生成 MQTT topic,但必须和云端 ThingsBoard 数据模型一致。
所以 Codex 很适合做“工程任务委派”,但前提是:
你要先有清楚的工程结构、仓库规则和 review 机制。
三、Claude Code 路线:深度理解代码库,再做多文件执行
Claude Code 的特点,可以用一句话概括:
它不是帮你补一句代码,而是试图理解整个代码库,然后跨文件完成任务。
这条路线特别适合已经有一定规模的项目。
因为真实工程里,很多问题不是一个文件能解决的。
比如 Project Velocity 里,如果我们要增加一个新的温湿度传感器,可能会涉及:
-
device tree overlay;
-
Zephyr Kconfig;
-
传感器驱动接口;
-
main.c 中的数据采集逻辑;
-
CANopen TPDO 映射;
-
Edge gateway 数据解析;
-
MQTT topic;
-
ThingsBoard dashboard 数据字段。
如果一个 Agent 只能看当前文件,它很容易产生“局部正确,系统错误”的代码。
Claude Code 路线的重点,就是让 Agent 尽可能理解代码库结构、模块依赖和执行路径,然后再改代码、跑命令、修复错误。
它更像一个“坐在终端里的工程搭档”。
你可以问它:
-
这个项目启动流程是什么?
-
数据从 STM32 到 ThingsBoard 是怎么走的?
-
哪些文件定义了 CANopen 对象?
-
如果我要增加一个 RPC 控制命令,需要改哪些地方?
-
请先解释,再修改;修改后跑测试;如果失败,继续修复。
这类问题的价值,不只是代码生成,而是帮助工程师快速建立“系统地图”。
Claude Code 路线特别适合:
-
需要阅读陌生代码库;
-
多文件重构;
-
复杂 bug 定位;
-
测试失败后的自动分析与修复;
-
大项目中的持续协作。
但它同样不能替代工程判断。
在 AIoT 里,Agent 看到的是代码,不一定知道真实硬件连接、信号完整性、时序约束、传感器误差、生产测试条件。
所以 Claude Code 很适合做“深度代码库理解 + 执行”,但人类工程师仍然要负责:
硬件约束、系统架构、测试策略和最终验收。
四、Antigravity 路线:IDE 不再只是编辑器,而是 Agent 调度中心
Google Antigravity 代表的是另一种很有意思的路线:
把 IDE 从“写代码的地方”,变成“管理 Agent 的地方”。
传统 IDE 的核心是编辑器。
你打开文件,写代码,运行,调试。
而 Antigravity 的思路更像是:
-
用户提出任务;
-
Agent 进行计划;
-
Agent 使用编辑器、终端、浏览器等工具;
-
Agent 生成计划、截图、执行记录、验证结果等 artifacts;
-
用户像项目负责人一样审查、反馈、批准或调整。
这是一种更接近“Agent-first IDE”的模式。
它的重点不是把 AI 塞进旧 IDE,而是重新设计开发界面:
未来开发者可能不是一直手写代码,而是在一个任务控制台里管理多个 Agent。
放到 Project Velocity 里,Antigravity 路线可以这样理解:
假设我要实现一个功能:
从 ThingsBoard 发送 RPC,控制 STM32 节点上的继电器,并把执行结果回传到云端。
这个任务可以拆成多个子任务:
-
分析当前云端 RPC 格式;
-
检查 Edge gateway 中 MQTT 到 CANopen 的转换逻辑;
-
修改 STM32 端接收逻辑;
-
加入执行结果 telemetry;
-
运行本地测试;
-
生成验证截图或日志;
-
给工程师一个 review artifact。
Antigravity 这类 Agent-first IDE 的想象空间,就在这里:
它不是只问“代码写完了吗”,而是问“任务有没有被计划、执行、验证、记录”。
这对于工程团队非常重要。
因为工程管理最怕的是:
-
Agent 到底改了什么?
-
为什么这样改?
-
有没有验证?
-
验证证据在哪里?
-
出错以后怎么回滚?
如果一个 Agent-first IDE 能把这些过程可视化,工程团队就更容易把 AI Agent 放进真实项目。
这条路线特别适合:
-
复杂任务拆解;
-
前后端联调;
-
多 Agent 并行;
-
带浏览器验证的 Web / Cloud 工程;
-
需要过程记录和可审查 artifact 的团队。
但对于嵌入式硬件工程,它还需要和真实设备、串口、J-Link、CAN analyzer、HIL 测试台等工具进一步打通。
所以 Antigravity 路线最值得学习的,不只是某个产品本身,而是它背后的思想:
IDE 正在从代码编辑器,变成 Agent 的任务管理与验证平台。
五、OpenCode 路线:开源、终端、模型可选、可控性更强
OpenCode 代表的是另一条非常重要的路线:
Agent 不一定要被锁在某一家平台里,也可以是开源、终端优先、模型可选、可私有化部署的工具链。
对于很多工程团队,尤其是嵌入式、工业、IoT、企业内部项目,这一点非常重要。
因为真实工程项目常常涉及:
-
未发布产品;
-
客户资料;
-
硬件原理图;
-
BOM 成本;
-
私有协议;
-
工厂测试流程;
-
商业合同和交付计划。
这些内容不一定适合全部上传到外部云端。
OpenCode 这类开源 Agent 的价值在于:
-
可以在终端中运行;
-
可以连接不同模型;
-
可以更容易接入本地或企业模型;
-
可以和 GitHub workflow、CI、Issue、PR 结合;
-
对团队来说,可控性和透明度更强。
在 Project Velocity 里,OpenCode 路线特别适合做这些事情:
-
在本地 Ubuntu 环境中分析 Zephyr 工程;
-
用本地模型做代码阅读和文档整理;
-
结合 Git workflow 处理 issue;
-
在不暴露全部项目资料的前提下,让 Agent 参与部分任务;
-
为团队建立自己的 AI-Assisted Engineering 流程。
当然,开源路线也意味着团队要承担更多工程配置工作:
-
模型怎么选?
-
API key 怎么管理?
-
本地模型能力够不够?
-
权限边界怎么设置?
-
CI runner 怎么隔离?
-
Agent 失败时如何回滚?
所以 OpenCode 不是“最省事”的路线,但它可能是很多工程团队最愿意长期掌握的路线。
因为它给了团队一个重要能力:
不是只使用 Agent,而是把 Agent 纳入自己的工程体系。
六、四种路线的简单对比
可以用下面这个表格来理解:
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
但这张表不是为了让我们选边站。
更重要的是理解:
未来工程团队很可能会同时使用多种 Agent。
比如:
-
用 Claude Code 快速理解一个陌生代码库;
-
用 Codex 在 GitHub 上处理 issue 和 PR review;
-
用 Antigravity 管理复杂任务和验证过程;
-
用 OpenCode 接入本地模型,处理更敏感的工程资料。
Agent 不是“一个工具打天下”。
真正成熟的团队,会形成自己的 Agent 工程组合。
七、回到 Project Velocity:AI Agent 应该如何进入真实 AIoT 工程?
在 Project Velocity 里,我最关心的不是 Agent 能不能写出一段漂亮代码。
我更关心的是:
它能不能进入一个真实工程闭环。
这个闭环包括:
-
资料输入:datasheet、schematic、pinout、Excel、PDF、Markdown;
-
架构约束:MCU、Edge、Cloud、协议、数据模型;
-
代码生成:overlay、prj.conf、main.c、gateway、dashboard;
-
编译运行:Zephyr build、Linux service、MQTT broker、ThingsBoard;
-
测试验证:串口日志、CAN 报文、MQTT message、云端 telemetry;
-
文档沉淀:Obsidian、Markdown、NotebookLM、项目知识库;
-
工程治理:Git、review、CI、版本、OTA、回滚。
这也是我一直强调的:
AI-Assisted Engineering 不等于 Vibe Coding。
Vibe Coding 更像是:
我说一个想法,AI 帮我生成一段代码。
而 AI-Assisted Engineering 应该是:
人类定义架构、约束、验证标准和交付目标,AI Agent 参与资料处理、代码生成、测试、审查、文档和维护,但整个过程仍然受工程体系约束。
这就是 Codex、Claude Code、Antigravity、OpenCode 真正值得研究的地方。
它们不是简单的“代码生成器”。
它们正在把软件开发从:
人写代码,AI 补全
推向:
人定义目标和约束,Agent 执行、验证、反馈,人类审查和决策。
八、给工程师和学生的建议
如果你刚开始学习 AI Coding Agent,我建议不要一上来就追求“哪个最强”。
可以按照下面的顺序学习:
第一步:先理解 Agent 的基本工作方式
包括:
-
读取上下文;
-
制定计划;
-
使用工具;
-
修改文件;
-
运行命令;
-
根据错误反馈继续迭代。
第二步:选择一个真实小项目练习
不要只让 Agent 写贪吃蛇或者 Todo list。
最好选择一个有真实约束的小项目,比如:
-
一个 Zephyr 传感器节点;
-
一个 MQTT gateway;
-
一个本地数据采集脚本;
-
一个 ThingsBoard dashboard demo;
-
一个 Android driver 测试程序。
真实约束越多,你越能看出 Agent 的能力边界。
第三步:不要只看生成结果,要看过程
重点观察:
-
它是否先理解项目结构;
-
是否知道该改哪些文件;
-
是否会运行测试;
-
是否会解释失败原因;
-
是否会留下可 review 的修改;
-
是否尊重你定义的硬件和协议约束。
第四步:建立自己的 Agent 使用规范
比如在 Project Velocity 里,我会要求 AI 生成 Zephyr 代码时,始终围绕“三文件策略”:
-
overlay / .dts:硬件映射; -
prj.conf:系统配置; -
main.c:应用逻辑。
这样可以避免 AI 只写 application logic,却忘记硬件映射和 Kconfig 配置。
这就是从“会用 AI”走向“用 AI 做工程”的关键一步。
九、结语:未来不是程序员被替代,而是工程组织方式被重构
Codex、Claude Code、Antigravity、OpenCode 的出现,说明 AI Coding Agent 已经进入一个新阶段。
过去我们讨论的是:
AI 能不能写代码?
现在更重要的问题是:
AI Agent 能不能进入真实工程流程?
能不能理解上下文、执行任务、验证结果、接受 review?
能不能被团队管理、约束和持续改进?
对于学生来说,这是新的学习入口。
对于工程师来说,这是新的生产力工具。
对于创业团队来说,这是新的研发组织方式。
对于 AIoT 和嵌入式系统来说,这更是一次重要机会:
因为我们的项目天然复杂,跨硬件、固件、边缘、云端、协议和运维。越复杂的工程,越需要 Agent;但也越需要工程约束。
所以我的观点是:
不要只学习某一个 Agent。
更重要的是学习:
如何把 Agent 放进真实工程体系里。
这才是 AI-Assisted Engineering 的核心。
夜雨聆风