刚读完arXiv上的这篇SPE论文,说实话有点兴奋。核心思想其实很直接:传统agent依赖一个固定的编排器(orchestrator)来控制轮次间的状态转换,而SPE直接把模型补全当成编排程序本身,框架只负责执行这个程序,不施加自己的编排逻辑。这相当于把控制权完全交给了模型,听起来有点激进,但仔细想想,这才是更接近人类编程的方式——我们写代码,而不是被一个固定的框架限制死。
从技术解读来看,关键创新在于“代理机器”这个概念:SPE状态可以通过模型补全加载任意状态,不局限于固定的轮次间策略。这意味着模型可以在一次补全中同时做“推理+行动+状态更新”三件事,而不是被强行拆成固定步骤。我个人在微调agent时最头疼的就是固定编排导致的长链任务失败,比如工具调用顺序写死,模型稍微偏离就崩。SPE这种动态生成执行流的方式,理论上能大幅提升复杂任务的鲁棒性。
不过质疑点也有:完全放开控制流,模型会不会陷入无限循环或者生成无效代码?论文里应该会有安全措施,但我更关心实际部署时的调试成本。比如,当模型自己写的编排逻辑出错了,你是去改模型权重还是改框架?这比固定编排的排查难度高一个量级。
讨论问题:1)如果模型生成的编排程序包含递归,框架该如何检测并终止?2)在需要严格回溯或状态回滚的场景下,SPE如何保证可解释性和可审计性?
行业视野上,这可能会推动agent框架从“模板化编排”走向“代码生成编排”,类似从RPA到AutoGPT的进化。但工程落地的坑肯定不少,比如对基础模型的控制流生成能力要求极高,目前可能只有GPT-4级别才能稳定跑通。