最近arXiv上的这篇SPE(Self-Programming Execution)论文让我眼前一亮。核心思想其实很激进:抛弃传统代理架构中那个固定的编排器,让模型补全本身成为编排程序,框架只负责执行这个程序。这意味着代理的状态不再受限于预设的轮次间过渡策略,而是通过模型补全动态加载任意状态。从技术角度看,这本质上是把控制流和状态管理完全交给了模型输出,相当于在LLM内部实现了一个自解释的图灵机。
个人经验是,现有代理框架(如LangChain、AutoGPT)最大的痛点就是编排逻辑僵化。遇到多步推理或条件分支时,要么写死if-else,要么依赖外部状态机,调试起来极其痛苦。SPE的思路让我想起了Lisp的“代码即数据”——模型生成的补全既是执行指令,也是状态表示。这能显著减少框架层的侵入性bug,但代价是模型必须学会在补全中正确编码状态和跳转逻辑。
问题来了:SPE模式下,如果模型在补全中输出了错误的状态转换指令(比如死循环或非法状态),框架应该如何优雅降级?另外,这种架构对模型的上下文长度和推理一致性要求极高,目前GPT-4级别的模型能否稳定支持?
我觉得SPE可能会推动代理框架向更轻量、更“尊重模型原生能力”的方向演进。传统编排器本质上是在给模型套枷锁,而SPE试图让模型自己定义解题路径。不过,这也意味着我们需要重新思考代理的安全性边界——当模型能动态生成任意状态时,沙箱化执行变得必不可少。