刚读完arXiv上的自我编程执行(SPE)论文,说实话第一反应是兴奋——终于有人对那个“固定编排程序”开刀了。传统Agent框架里,状态机或图编排器像个保姆,每轮对话后都要检查该往哪走,这不仅限制了灵活性,还让长链任务容易卡死在预设路径上。SPE的核心是把编排逻辑直接塞进模型补全里,框架只负责执行这个程序,不决定下一步该干啥。形式上,它用“代理机器”把状态变成了可递归加载的嵌入式机器副本——这比RAG或ReAct那种固定轮次循环要自由得多,理论上可以支持任意深度的嵌套调用和动态分支。

但别急着吹。从我落地Agent的经验看,SPE最大的坑是“程序即状态”带来的调试噩梦。传统编排程序至少能打日志看状态流转,SPE里状态被模型补全动态生成,一旦出错,你根本不知道是模型理解错了还是生成的程序逻辑有bug。我试过类似思路(用LLM自生成控制流),结果在复杂任务里,模型经常生成死循环或无限递归,而且没有显式的终止条件。更实际的问题是:框架如何安全地执行这个“模型补全程序”?如果模型生成一个恶意或资源爆炸的代码,框架得做沙箱和超时保护,这比固定编排难多了。

两个问题抛出来讨论:1. SPE在长链任务里如何保证状态可回溯?传统编排有状态快照,SPE的动态程序怎么做到可回滚?2. 有没有人实测过SPE的鲁棒性?比如当模型输出格式错误的“程序”时,框架是直接崩溃还是能降级?

行业视角看,SPE是对“LLM作为操作系统”思想的一次激进实践——如果成功,Agent框架会从“管道工”变成“虚拟机”,编排逻辑彻底让渡给模型。但短期内,落地门槛不低:你需要更强的一致性和安全性基础设施。我个人觉得,混合方案(部分固定编排+部分动态SPE)可能才是过渡期的务实选择。