突然想起来该来"还账"了,这剩下的一百多篇没想到竟然写了这么久...
自从大模型出现,很多逻辑都变了。过去需要手敲代码,精雕细琢,所以写文章的频率比较高。今年以来,新模式完全确认,工作方式和输出的地方都不一样了。最初是希望写1000篇,我觉得实实在在的有点用的东西回馈社区,现在整个变革太大了,过去旧的方式不适用。所以接下来,我仍然会继续去写完(分享有用的东西),但是不再去说太细的东西,毕竟大模型做的比人好了。
接下来这段,算是我回顾过去十个月的巨大变化的一些细节,给正在或有志于agent 编程的人参考。
总体上,我算是一直在跟着ai发展的人,从最初的机器学习开始,中间一直没中断(部分要感谢老板的鞭策),而且所学颇杂。
在今年一月份的时候,那时候是智普,好像是glm4.6 还是啥的,当时是一个很大的飞跃,让我觉得终于,或者说真的应该再也不写代码了。因为ai的发展有点跳跃,所以当时我是有点惶恐的,就好像在备考的学生,觉得明明下个月才考试,结果老师说明天。
想起来了,应该是openclaw 横空出世(我还特地去买了mac mini,主要还是惶恐),当时的冲击特别大。然后我就琢磨着怎么去改变,那时候还完全没准备好。我记得过年的时候,喝的醉醺醺的还在电脑前面看。
我当时做了几件事:1、迅速安装开始使用 openclaw 2、剖析openclaw的源码,设计逻辑 3、开始整合langchain 开始从头思考agent应该怎么做
我想自己做agent,后来叫harness 啥的,应该是一个很小众的事。我一方面是性格使然,另一方面是曾经被所谓产品坑过很多次:刚开始挺顺溜,后面最关键的地方就不行。所以我想,如果要长期搞下去,一定要有这个决心。至少从目前的态势来看,即便是codex也不行(大概率最后也是要凉凉的产品)
openclaw提供了一个非常好的原型,但它本身是不健全的,经不起长期、重型的工程考验;但是有很多非常理想化的东西,结合当时已经阶跃跳变的大模型,他证明了 agent, agent-swarm是可行的。里面有很多东西还是值得细看。
然后langchain本身这个框架,也揭示手搓agent的可行性。因为这个框架还是不够简单和透明,所以我决定从第一性原理的角度出发,自己搭。
我的agent用了一个很简单的名字:andybot ,我是把agent假定成一个人的方式来构建的,很重要的一块是记忆和自学习,这个在标准产品里是不太可能做好的(个人隐私这块很难通过)。
andybot所依赖的agent或者说大模型调用,我分为了三种类型(也是层层递进的)
- 1 llm : 最简单的大模型调用,单次
- 2 agent_loop: 多轮的大模型调用迭代
- 3 real_agent: 带上了记忆、人格、技能的完整agent
这三种形态有递进关系,但是又值得独立存在。
后来有一阵子又接触了各种形形色色的harness, 加深了我之前的判断(能用,但不靠谱)
再后来,大约是6-8月的这段时间,codex 让我觉得又变了,整个往上走了一层。我甚至在这个时候把andybot的web版做了一版,等于是在用大模型造agent的感觉。这个时期最明显的感觉是大模型真的可以很放心的去用了。
然后就是最近1个月codex 各种反复横跳,过程中不论是模型本身的智商 ,客户端的稳定性和模型容量都出了很大的问题。这个时候我被迫转向了zcode, 然后用了glm 5.3 flash,然后感觉配方对了,开始大规模出量,但是我的同事们反而用不动。这也是很有意思的事,因为我一直在强调框架和方法论。我这边高度可行。
后来zcode开源了之后我拆开了看过,然后上周重构了andybot cli。目前测下来还是不错的,我准备接下来一个月用影子策略的方式慢慢转成主用。
结语
一个很客观的是,从一月到现在,我真的没再写过代码;而且已经逐渐不核代码;前向的逻辑,采用架构,比如状态机来进行可靠性设计;反向的逻辑,依赖回归,特别是e2e 测试。