哎李博,你最近是不是又在疯狂刷GitHub?我看你朋友圈凌晨三点还在转repo。
哈哈被你发现了。不过这次是真看到个有意思的更新,Codex CLI出了个新版本,0.128.0。
OpenAI那个命令行编码工具?我们组有人在用,说还行但总觉得不够聪明。怎么了,大更新?
加了一个叫/goal的命令。听起来平平无奇对吧?但我跟你说,这个东西的设计思路挺值得聊的。
goal,目标?具体是干嘛的?
你想啊,以前用这类AI编码工具,基本上是你说一步它走一步。就像带一个特别乖的实习生,干完一件事就停下来看着你,等你下指令。
对对对,我们组的人就是这么吐槽的,说每次都要手动推着它往前走,累。
现在有了/goal就不一样了。你给它设一个高层次的目标,比如说「把这个模块的测试覆盖率提到90%」,然后它就自己跑起来了。
干完一轮,自己评估目标有没有达成,没达成就接着干,一直循环,直到目标完成——或者你的token预算烧完了。
等会儿等会儿,你说它自己评估?自己决定下一步干什么?这不就是……自主代理了吗?
Bingo!这就是agentic的核心——从被动执行变成主动循环。而且你猜这个看起来很高级的自主循环机制,底层是怎么实现的?
怎么实现的?很复杂的状态机?
两个markdown文件。
啊??
哈哈哈你这反应跟我第一次看到源码时一模一样。就两个md文件,一个叫continuation.md,一个叫budget_limit.md。
continuation那个负责每轮结束时问模型:目标完成了吗?没完成继续干。budget那个负责踩刹车:钱快烧完了,停下来汇报。
所以本质上就是用prompt engineering实现了一个while循环?
你这总结比我精炼啊!对,就是一个while not done and 钱包还有余额的循环。用提示词驱动的程序逻辑。
这也太朴素了吧……但又确实优雅。我突然理解了一个词叫什么来着,提示词即程序?
对,prompt as program。这其实是现在智能体工程里一个很有代表性的设计哲学。不需要写复杂的控制流代码,几段精心设计的prompt模板就能驱动自主行为。
但是李博,我作为产品经理我得问一个很现实的问题——这玩意儿不设限的话,一晚上能烧多少钱?
你这个问题问到点子上了。
我们产品经理就是关心钱嘛。
得了吧,你们关心的是ROI。不过确实,如果你设个目标叫「重构整个项目」又不设预算上限,第二天醒来OpenAI账单比房贷还高,这画面……
所以token budget这个设计才是真正的安全绳对吧?
没错。你可以给每次任务设一个token消耗上限,到了就自动停,然后汇报进度。这个其实是agentic engineering里最核心的挑战之一——成本控制。
一个没有预算限制的自主循环代理,和一张没有额度上限的信用卡一样危险。贫穷,是防止AI失控的最后防线。
哈哈哈哈这个总结绝了。诶但我还想问,这个idea是OpenAI自己想出来的吗?
还真不是。社区里一个叫Geoffrey Huntley的开发者之前提过一个概念叫Ralph loop,核心思想就是让AI代理像不知疲倦的工人一样持续工作、自动评估、继续循环。Codex CLI基本上是把这个社区idea官方化了。
好的开源社区就是这样,社区提需求,官方来实现。比我们公司的需求池效率高多了。
而且人家不要工资,只要你把idea变成feature。
那你觉得从更大的视角来看,这个/goal代表了什么方向?
我觉得这是编码代理进化的一个关键节点。你看这个演化路径——最早GitHub Copilot就是代码补全,你写半行它帮你补完。然后能理解上下文、跨文件操作。
现在Codex CLI、Claude Code、Cursor、Devin这些新一代工具,已经能理解高层任务、自主规划、执行命令行、根据结果迭代修正。/goal又往前推了一步——从单步自主到多步循环直到目标达成。
就像从能跑一百米到能跑马拉松。
对,能力上是质变。不过我得说句公道话,现在还比较早期,目标设定的粒度、评估的准确性、复杂项目里的可靠性,都还需要大规模验证。
嗯,但方向是清楚的——AI编码代理正在从工具变成同事。我突然有点感慨,以后产品经理是不是可以直接跟AI提需求了?
那你们产品经理不就失业了吗?开玩笑的。不过说真的,当AI学会了不达目的不罢休,开发者的角色确实在变——从写代码的人,变成定义目标和管预算的人。
管预算……这我熟啊。好,今天这个话题挺有意思的,一个小功能背后其实是整个AI编码范式的转变。
嗯,而且最让我感慨的是,驱动这一切的就是两个markdown文件。有时候最朴素的方案,反而是最优雅的。