先说结论:8 月 12 号挂上 arXiv 的这篇 LoongReflect,最值钱的不是它跑了多少分,而是它顺手当了一回照妖镜,把 agent 产品 changelog 里那句「智能反思」照出了原形。
现在哪家工具的更新日志里不写「会反思、能纠错」?都写。真会吗?
论文做的事说白了很朴素:把反思过程形式化成一种记忆控制策略。盯住「记忆控制」这四个字。在人家这里,反思不是一个语气词,是一个动作——引入显式的反思与回溯动作,配一棵可逆轨迹树,去管理智能体的工作记忆。走错了分支,树还在,退回去,换条路。
「反思」在这套框架里是长着骨头的。
再看看产品里那个「反思」长什么样。前两天我干了件不太严谨的事:拿一个三跳问题喂给现在的主力工具,第二跳的设计是必须放弃第一跳选的检索路径才走得通。开了它那个「深度思考」模式,连跑五次。
深度思考模式 × 5
真正回溯换路:0
换个措辞重问同一条死路:4
整题重述推倒重来:1
四次「反思」,是把同一条死路换了个说法再问一遍!剩下那次干脆整题重述——那不叫反思,那叫重摇骰子。
不算 benchmark,土法烟测而已。但对照论文那套可逆轨迹树加显式回溯,落差一眼看得见:产品里的反思没有记忆模型,它连自己刚走过哪几步都没存下来,谈何回溯?翻来覆去就一句“让我重新想想”,想出来的东西和上一轮一模一样。这也配叫反思?
问题出在哪,我猜是这个字太便宜了。写在 prompt 里只要一行,写进训练目标要一整套记忆管理。前者是文案,后者才是这篇论文。
上次被「自主纠错」的演示骗过一回,把一个烂尾分支丢给工具跑了一整晚,早上回来一看,它反思了十几次,每次都在同一个函数里打转。从那以后我对这个词自带滤镜——这次有人把滤镜拆了。
接下来说说没这么买账的部分。
双通道那块,全局视角蒸馏配基于结果的强化学习信号,思路我认:局部该不该回溯,和任务最后成没成,两个信号不对齐,智能体就会学出一身「为反思而反思」的毛病。这个设计是冲着真问题去的。但训练框架这种东西我没算力复现,论文里那句优于仅基于结果的强化学习和自蒸馏基线,我只能记成「作者说」,记不成「我知道」。这条先别信我,也别全信论文,等代码、等复现。
基准这块要多说一句。多跳检索增强生成,对口,没意见。数学推理是来干嘛的?一个搜索智能体的反思框架,顺手去数学卷子上刷一圈。懂的都懂,那几张卷子干净、可刷、审稿人爱看,但跟我桌上这个改了三年、文档互相打架的老项目是两个世界。基准里的每一跳都干干净净等你去跳,真实项目的第一跳就是泥坑。沙地上练出来的回溯,进泥地未必认路。
不过这毛病是全行业的,不是这一篇的。单拎它骂,不公平。
还有个我想追问的:可逆轨迹树全存下来,context 窗口和内存的账单谁付?长时程任务跑下去,树越长越大,管理记忆的策略自己会不会先变成新的负担?这问题我还没想透,先挂在这。
锐评评分卡:这篇论文方向打对了,「反思 = 记忆控制」这个形式化,比一百句「智能反思」加起来都实在;但分数目前全部来自干净基准和作者自己的对照,含金量先打个问号。这波冤不冤?不冤——人家没满嘴「颠覆」,老老实实写了个框架名、署了八个作者,比某些 changelog 体面多了。值不值得现在跟?框架思想可以直接偷:你自己的 agent 工作流里,先把「走过的路」记下来,再谈回溯,今晚就能动手。训练那套,等复现再说。
至于产品那边,建议把 changelog 里的「智能反思」删了,改成「会重新问一遍」。
至少后者不撒谎。
