抽点时间写写Wegent这个项目的开发过程(一)
其实回顾很多项目的生命周期都是蛮有意义的一件事,之前在做一些项目的时候就有记录和总结一下项目里一些重大决策或者转折的冲动,但是大部分都是公司内的项目没法写出来,难得遇到个能写的开源项目,恰好这个项目又汇集了AI Agent架构和开发范式转变这两个比较有意思的话题,干脆开个新坑系列。
大概是夏天的时候我决定要开发一个新的Agent系统,最初项目的定位是做一个claude code的套壳工具。
当时Cursor、Windsurf这类Agent开发工具开始成为主流,我当时也还在Roo Code社区里比较活跃(如果你不了解RooCode,也不用介意,它是一个开源AI编码插件,后面描述的重点不是产品本身,而是它的开发方式)。Claude Code那时候刚发布没多久,虽然脱离IDE就能开发这个特性有点意思,但是单靠CC还不足以让开发者从类似Cursor的IDE工具迁移过来:对于大多数开发者的日常工作流来说,CC能做的事情,IDE或者IDE+Agent插件也能做,CC只是个阉割掉了IDE功能的Agent。
但是当时Roo Code社区已经做了一个很有意思的探索:他们做了一个叫roomote的机器人,所有提交到RooCode项目的Issue,roomote都会尝试排查或者修复问题,然后提交PR或者直接给出回答。
社区里经常有不明真相的群众表示,为什么会有一个叫roomote的人能够一天24小时工作,并且回答所有人的问题,他是你们的外包团队吗?
最后RooCode团队表示,roomote只是个用了opus模型的RooCode插件。
作为Roo Code社区开发者之一(RooCode的代码编辑器、消息解析器、Todo和一些乱七八糟的功能都是我做的),我认为RooCode项目本身没有太多值的研究的(代码非常烂),但是我对他们这种开发模式非常感兴趣。社区的核心开发者就一两个,但是每天能够开发5-10个小功能,每周能发个大功能,并且还能在某种程度上避免项目失控(虽然Bug也不少),放在过去这种效率是不可想象的。
RooCode社区的开发方式总结下来就几点:
1 能让AI做的事情就让AI做
2 人配合AI快速迭代,密集发布新版本,追求迭代效率,降低质量要求
3 不停的通过提示词、测试和重构避免项目复杂度失控
我开始意识到:未来开发者写代码的方式会变,这不是简单的工作自动化,而是“AI驱动式开发”,这种模式应该未来会成为某种新的软件开发范式。因此本来我的目标是把RooCode本身移植成为命令行工具(我们开源的另一个项目RunVSAgent其实是这个目标的副产品),而Claude Code的诞生让我省了不少事。
(待续,下一篇准备讲讲Wegent项目原型开发时遇到的问题)
发布于 北京
