继上次关于Agent 自进化的讨论的话题之后,最近我顺着这个方向深入思考了 Agent 的推理结构,有一些不成熟的想法想和大家交流。
如果说GPT-3.5是AI时代的奇点,那么“Let’s think step by step”就是AI走向半自动化编程的奇点。随后没多久,天才少年涂津豪作为作者之一登上Nature,而他的贡献之一在于设计出了一套在当时看来非常精密复杂的prompt,推动了AI从对话走向可工程化使用的时代。
当然这篇帖子的主要目的并不是不是为了回顾功绩,我所想要讨论的内容是这套演进背后的方法论。从简单的Let’s think step by step,到复杂的结构化prompt,再到强化学习RL中拟合的思维链、目前主流skill、以及所谓自进化工程,它们本质上都是在做一件事——为AI的行动给出基于实际环境的指导。因为,在现实中完成一件事是有结构的。
就像我们读书时做复杂的数理化大题:
如果用图论的概念去对比:解题的过程,本质上就是形成了一条从已知节点到最终节点的合法逻辑拓扑路径。
现在回看思维链之流的迭代史,不难发现,这些东西虽然是文本的,但在逻辑上给出了一个具备拓扑特征的图结构,用来指引AI一步步从最初态转移节点,直到终态。
现有的Agent主要是串行的处理过程,即便有Sub-Agent,也是为了上下文性能而做的工程化妥协。这一模式依赖上下文的一致性来对抗错误,一旦长文本中间的某个节点的逻辑发生漂移,对于一个图结构来说就可能带来逻辑的错配甚至断裂,从而导致后续的线性推导产生雪崩式偏差,而现有的记忆模块,无论是多层结构还是wiki方式的文档索引,也是在做一个图逻辑的信息修补,从而尽可能避免上下文压缩带来的逻辑丢失的问题。
依然是对于Claude Code的Ultracode模式的思考,这种对推理结构的构思就显现出拓扑意味了。如果说串行的方式是把图的拓扑结构映射为线性结构,从而粗暴地依赖上下文的绝对一致保证效果,那么Ultracode就是在图拓扑模式上进行的一次并行处理挑战。把图上的不同节点,按照预备态派发Sub-Agent进行任务处理,而后聚合迭代。那么是否从一定意义上来说,图结构在编码领域上,有一些得天独厚的优势,尽管这一模式需要依赖之前积累的各类plan skill的大量优秀实践,使得图结构在并行分发之前就具备了高可行性来确保最终结果的优质。
而实际我认为也有很多的需求是需要这样的结构来实现的,比如说对于一些大型项目的修改和维护、蜂群智能体,这些天然需要一个类似图结构的构型来进行设计,比如 codegraph之类的插件应用的就是这些概念。
最后抛出几个问题和大家聊聊:
1. 编程Agent能否使用原生的图拓扑结构进行设计
2. 图拓扑带来的逻辑拆解效果,会形成若干的重复领域问题,对于sub-agent的态度又是如何(即用即毁/专职化)
3. 图拓扑下的自进化累积是否可以摆脱主agent集中持有,在专职化的sub-agent中进行分类累积