ENZH
和 AI 讨论这篇文章
ChatGPTClaude

agent 开始自己改自己的代码了

代码的衔尾蛇——Agent 阅读并修改自己的源代码代码的衔尾蛇——Agent 阅读并修改自己的源代码


Peter Steinberger 做出 OpenClaw 的第一版,大概只花了一个小时。结构很简单,就是把 WhatsApp 的消息转给 claude code 的 CLI,再把回复传回 WhatsApp,一个桥接而已。两个月之后,它成了 GitHub 史上涨得最快的开源项目,25 万多颗星。这个项目没拿风投,背后也没有团队。

但我觉得这个项目最值得看的还不是增长曲线,是他后来做的一件事,让 agent 认识自己。不光是能读文件,而是知道自己的架构长什么样、跑的是哪个模型、手里有哪些工具、文档放在哪。我只能说,agent 一旦对自己心里有数,做出来的东西就完全不一样,OpenClaw 是我见过最清楚的一个例子。

Peter 就是拿这个框架来开发这个框架自己。调试的时候他不自己去翻代码,直接问 agent:你现在看到哪些工具,这个工具你自己能调吗?去读一下你自己的源代码,搞清楚问题出在哪。agent 对自己 harness 的架构、跑的什么模型、文档放在哪都知道得相当清楚,所以这些问题它是真答得上来。

再往后就更有意思了。连没写过代码的用户都开始给项目提需求,Peter 管这种叫 prompt request(提示词请求),就是用自然语言把想改什么描述一遍。agent 读完请求,再去读自己的源代码,把架构弄明白了就写实现,然后自己提 PR。Peter 的原话是:「人们谈论自我修改的软件,我就做出来了。」

自我修改的闭环:自然语言需求进来,agent 读自己的源代码、写实现、自己提 PR,框架自己迭代自己自我修改的闭环:自然语言需求进来,agent 读自己的源代码、写实现、自己提 PR,框架自己迭代自己

第六篇讲的是从写代码转到管理 agent,第八篇讲的是缰绳把模型的潜力放了出来。agent 认识了自己,就又往前走了一步,它能自己管自己了。这个项目现在就是在自己迭代自己。


类似的苗头其实我自己早就碰到过。我之前在 GCP 上搭过一个框架,接的是飞书,让不写代码的同事直接跟 agent 一起干活,第五篇写过这件事。当时有一点我没怎么展开,就是 agent 干的活很快就不止回答问题了。有同事要一个还没有的小工具,它直接就做了一个;某个工作流太慢,它自己找出了捷径。很多时候还没等人下指令,它已经拿手头能用的东西把问题解决了。

Peter 在马拉喀什碰到的事更夸张。他随手给 agent 发了条语音消息,但框架当时只支持文字和图片。agent 收到一个没有扩展名的文件,就去看文件头,认出是 Opus 音频,用 ffmpeg 转了码,又在环境变量里翻出 OpenAI 的 API key,调了转录 API,最后把他的问题答了。Peter 盯着手机就一句:这是怎么做到的?

马拉喀什那条语音消息:框架本没做语音支持,agent 靠自我认知一步步接力——认出格式、转码、翻出 key、调 API——把没人教过的事自己办成了马拉喀什那条语音消息:框架本没做语音支持,agent 靠自我认知一步步接力——认出格式、转码、翻出 key、调 API——把没人教过的事自己办成了

模型本身一直都够聪明。缰绳让它可以动手,等它对自己也心里有数了,它就开始主动了。它知道手里有什么工具,代码长什么样,自己能做到什么,所以很多事不用等人安排,它自己就办了。到这一步,我觉得不太能再管它叫工具了。工具你不叫它就不动,这个会自己找事干,更像一个清楚自己能干什么的协作者。


Peter 觉得 80% 的 app 会死,我觉得他说得对。每个独立 app 背后都是一堆写死的假设,赌的是用户需要什么。MyFitnessPal 赌你愿意一顿一顿手动记饮食;Eight Sleep 那个 app 默认你会自己去调床温;日历更直接,事件全得你手动建。一个知道你日程、位置和习惯的 agent,根本用不着这些假设。「提醒我明天的晚餐,邀请两个朋友,给他们发消息」,一句话说完事就办完了,一个 app 都不用打开。

顺着第四篇讲的日抛型软件往下推,就能推到这一步。我当时说的是,AI 让软件便宜到可以要用的时候再生成。现在看,最后还会再多走一步,连生成软件这一步都能省了,agent 本身就是软件。每个 app 都退化成一个慢速 API,agent 绕着它们走,有权限就走 API,没权限就自己开浏览器。Peter 就亲眼看着自己的 agent 把「我不是机器人」的按钮点掉了。你 UX 做成什么样,agent 可不管。

每个 app 都是一组写死的假设;懂你的 agent 不再打开它们,而是把每个 app 当成慢速 API 绕着走——有权限走接口,没权限就自己开浏览器每个 app 都是一组写死的假设;懂你的 agent 不再打开它们,而是把每个 app 当成慢速 API 绕着走——有权限走接口,没权限就自己开浏览器

agent 还能给你量身做软件,做一个刚好合你需求的一次性工具,用完就扔。这么一比,那些按月收你订阅费、却只满足你 80% 需求的服务,就越来越没理由存在了。第九篇讲过,数据锁定、工作流锁定、集成复杂度这些护城河正在一层层塌掉。不光企业 SaaS 是这样,你手机里的每个 app 也一样。


「软件开发」这个词会不会就此变个意思,我说不好。在 OpenClaw 的 repo 里,现在天天都是需求用自然语言提进来,agent 自己读自己的源代码,读懂了就动手改架构,PR 也自己提。以后会走成什么样,接着看吧。


和 AI 讨论这篇文章
ChatGPTClaude
AI 随想第 10 篇 · 共 28 篇

订阅更新

新文章发布时发到你的邮箱,不发别的。


© Xingfan Xia 2024 - 2026 · CC BY-NC 4.0