不训练、不改参数、不花一分钱:让GLM-5.3 反超了 GPT-6
原创
安全透视镜
安全透视镜
网络安全透视镜
2026年10月19日 08:35
新加坡
去阅读
QUOTE
主流大模型能力越来越趋同,智能体变强靠的不是更多参数,参数只是下限,一次没打穿,别记「这里不行」,要记「在什么条件下不行」。
做安全的人都有同一个体验:接手一个从没碰过的系统,头两个小时基本在交学费。哪个接口看着像能打其实是蜜罐,哪个后台的默认口令早就改过,哪条路径看着能越权但对象校验在网关那一层就做完了。这些东西写不进任何一本手册,只能自己一条条试出来,然后 记在脑子里,或者记在某个越来越长的笔记文件里 。
现在换个场景。把「系统」换成「一台装着 FreeCAD 和 WPS 的陌生电脑」,把「你」换成一个没有微调过的模型,这件事的性质完全一样。arXiv 上这篇 RSIAgent 干的正是这件事: 不训练任何参数 ,让 agent 自己在陌生环境里反复试,把试出来的因果关系写成记忆,再把这份记忆冻结起来交给下游任务用。
结果有点刺眼:底座只是开源的 GLM-5.3 和 Kimi-K3,却在 OSWorld 2.0 和 Agents’ Last Exam 上超过了 GPT-6 Astra。但我更在意的是 它是怎么失败的 ——自己审计出的三种失败模式,几乎每一条都能在我们这行的日常里找到对应物。
以下为理论,不想看长篇大论的可直接看文末,获取项目地址
本文看点
01
三个 agent 的权力怎么切
02
先广后深为何不能颠倒
03
验证一放水就被固化
01
THE PROBLEM
换个环境就失灵,这不是模型不够大
数字智能体这条路已经很成熟:看界面信息、点按钮或者写代码,在真实软件里把用户的任务做完。现实问题却很朴素—— 真实环境一直在变 。智能体被丢进一个新环境时,它的接口约定、工具行为、使用惯例、失败模式,很可能压根没被预训练知识覆盖到。
已有的做法分两支。一支是 补数据再训练 :收集这个环境里的交互数据继续训。有效,但成本高,而且在私有环境或持续变化的环境里根本没法用——你拿不到数据,也不可能为每个环境都训一次。另一支是 免训练的上下文管理 :靠组织上下文里的记忆信息提升表现,这条线近两年进展明确。
光这两条还不够,理由很关键: 光记住成功的轨迹是不够的 。真正的适应能力应该包含发现因果关系——什么动作、在什么条件下、会导致什么结果,再把这些关系组织成可复用的结构。
「记住一条成功路径,只能复现一次运气;记住它成立的条件,才能复现能力。」
拿人学新软件来类比:先搞清楚该学什么,再动手试、收集经验,最后从结果里提炼知识。关键在于这不只是经验累积,而是 主动试不同动作并观察后果 ,逐渐推断出哪些因素决定了成功、失败和状态转移。
— 图 1:左为课程、执行、验证三角色的递归闭环,右为两个基准上的成绩对比
于是问题变成:智能体能不能自主地从新环境里发现因果关系、写成可复用记忆、再拿它改进自己?这句话如果换成安全人的说法,就是—— 能不能让机器自己做完一遍踩坑,把坑记成规则 ,下次进同类环境直接跳过。
02
THE HARNESS
三个 agent,三份互不相通的上下文
RSIAgent 的骨架是一个多智能体 harness,三个角色构成递归循环。设计上最值得琢磨的一点是: 记忆的写入权不在执行 agent 手里 。这一点决定了后面所有的成败。
执行 agent:唯一持有可进化记忆的角色
它是系统的主策略模型,负责理解环境、生成可执行动作,配备一份持久记忆,里面存三类东西:环境专属知识、可复用的流程与脚本、历次执行学到的教训。它的动作单元是 完整的程序 ——一段 Python 或 Bash,由 runtime 执行并返回合并输出、退出状态和执行元数据。记忆是可进化的:验证完之后,它把有依据的经验固化下来,补充新知识,必要时修订或删除过时信息。
验证 agent:只看环境反馈,不看执行过程
它是独立评估器,判断执行 agent 是否真正满足了任务要求。为了可靠,它 只查可观测证据 ——执行结果、界面状态这些。关键在于:执行 agent 的私有记忆、推理过程和执行日志,对它 全部隐藏 。它输出一个成功或失败的判定加支撑证据,但没有任何持久记忆的写入权。
课程 agent:只决定探索方向,不碰记忆
它是高层协调者,根据当前目标、累积记忆和过往结果,为另外两个角色生成练习任务,方向包括前置技能、有信息量的变体、失败驱动的练习和压力测试用例。明确的停止条件: 当生成的任务不太可能再贡献实质性新知识时,探索结束 。它拿到的是当前记忆的一次性副本,既不能改规范记忆,也不参与打分。
权限边界
执行 agent 能看到任务指令、可见环境、执行反馈和持久记忆;输出可执行动作与候选产物,验证通过后才能写记忆。
验证 agent 只看任务要求与候选环境;输出有证据支撑的判定,不产生任何记忆更新。
课程 agent 看目标查询、已完成的探索结果、执行方的学习诊断,以及记忆的临时副本;只出练习题与继续或停止的决定,不碰评分,不改规范记忆。
这套切分对做安全的人来说太眼熟了——职责分离、最小权限、 互盲评审 。验证方如果能看到执行方的思考过程,就容易被叙述带偏,评估会向「看起来对」倾斜。隔离之后,判定只能落在可观测证据上。
把「写」和「判」拆给两个上下文不互通的角色,是这套框架里最不像工程细节、最像安全设计的一处。
03
BROAD THEN DEEP
先广后深,顺序不能颠倒
在多智能体骨架之上,RSIAgent 把自主探索组织成两个互补的阶段。
广度递归自探索:先把环境摸清楚
目标是快速建立对新环境的广谱理解。每一轮课程 agent 都提出多个跨不同探索方向的任务, 并行执行和验证 ,收集到轨迹和反馈后,再用累积经验识别剩余的知识缺口,为下一轮生成更有信息量的任务。实现上名义预算是 8 个探索项目、最多 4 个并发,而且预算 在波次之间检查 ,不打断正在进行的波次。
深度递归自探索:再攻坚难题和边界
这一步是串行循环、难度递增。课程 agent 先提一个容易暴露隐藏约束或记忆弱点的挑战任务,执行 agent 用累积记忆去试,验证 agent 给出有依据的反馈,课程 agent 再基于成功、失败和新暴露的不确定性,出 更难 的后续任务。有个细节值得注意:每条被验证过的经验,在下一个任务被提出之前就已经固化进记忆了。
— 图 2:以一个 FreeCAD 任务为例,广度并行铺开、深度串行攻坚,最后冻结复用
图里这个 FreeCAD 支架复刻任务,把三轮回合走得很清楚。第 1 轮执行 agent 想先把销轴锚住,结果 锚点不匹配 ,验证 agent 判失败并把这条记下来;第 2 轮改成先对齐孔位,通过,规则再补一条「加支撑几何」;第 3 轮加支撑筋,几何验证通过。到测试时,记忆里已经躺着「解读图纸、锚定尺寸、偏移材料」这几条被验证过的规则,导出 STEP 一次成功。
探索结束后记忆被冻结,交给执行 agent 用于测试。这个阶段课程 agent 和所有记忆更新全部停用,执行 agent 直接复用记忆里存着的流程、发现的约束和失败教训来指导动作。在四个 OSWorld 任务上做了阶段消融,结果很说明问题:
| 变体 | 平均 partial score |
|---|---|
| 完整两阶段 | 74.54% |
| 去掉深度探索,只做广度 | 65.52% |
| 去掉广度探索,只做深度 | 56.50% |
两个观察值得记住。第一, 广度探索在每个任务上都优于基线 ,稳。第二,单独做深度探索在 T085 和 T089 上反而 低于基线 ——什么都不做都比它强。原因不难推:这个条件下的深度探索是从空记忆起步的,没有广度铺好的环境认知,一头就撞进未知的坑里。
「先铺开认知面,再在认知面上攻坚。」
这就是我们熟悉的「先测绘后深挖」,只不过把它做成了可量化的一对阶段。测绘从来不是为了凑资产条数,它的真实作用是 给深挖提供先验 :这条产品线用什么框架、哪些口是统一登录闸、哪些子域其实是同一份壳。没有这层先验,深挖就是盲猜,撞十次墙也总结不出规则。
但也别只看好的一面。广度阶段有个明确的停止条件—— 新任务不再贡献实质知识就停 。我们这行常见的病恰好相反:测绘永不停止,深挖永不开始,资产表越来越长,报告一份没有。
04
THE NUMBERS
不训练,也能反超闭源前沿
评测放在两个需要 agent 在交互式软件环境里完成任务的基准上:OSWorld 2.0(0808 离线版,汇总 82 个离线任务)和 Agents’ Last Exam 的 Near-term 部分(67 个任务)。报两个指标, partial score 是平均任务得分, binary accuracy 是拿到满分的任务占比。底座配置是 GLM-5.3 当默认执行 agent,Kimi-K3 同时在独立上下文里当验证 agent 和课程 agent。
78.98
OSWorld 2.0 partial score
84.82
Agents’ Last Exam partial score
先看递归自我改进带来的自身增益,两个基准上都成立:
| 基准 | partial score | binary accuracy |
|---|---|---|
| OSWorld 2.0 | 71.97 → 78.98 | 37.80 → 42.68 |
| Agents’ Last Exam | 83.75 → 84.82 | 49.25 → 50.75 |
然后是整篇最抓眼球的地方:OSWorld 2.0 上的 78.98,比 GPT-6 Astra 的 72.60 高 6.38 个百分点 ;ALE 上的 84.82,比 82.26 高 2.56 个百分点。两个基准也都高于以 the model 5 代称的 70.19 和 79.54。
底座是开源的 GLM-5.3 加 Kimi-K3,全程没有更新任何模型参数。
更细的观察在递归轮次曲线上。三个 OSWorld 任务的 partial score 走势很不平滑:T044(视频编辑)在第 2 步就从 40% 冲到 100%;T049(演示修复)一直卡在 40%,第 4 步跳到 80%;T065(铁路订票)前 6 步都是 0,第 7 步直接到 100%。到第 8 步,三个任务分别是 100%、80%、100%。
解释是:广度逐步累积多样流程和环境知识,深度精炼任务相关的细节,当这些知识 覆盖了目标任务的关键要求 ,解决掉最后一个瓶颈就会产生离散的分数跃升。换句话说, 记忆是渐进累积的,突破是离散的 ——这和我们攒经验的感觉完全一致。
把战场挪到了自主游戏开发:从 GameCraft-Bench 随机采 40 个任务,要求 agent 反复试玩、诊断、修改可执行游戏。四个基线生成器上,RSIAgent 全部大幅提升——Codex + GPT-5.5 从 52.77 到 61.28,Kimi-K2.6 从 31.28 到 46.37,GLM-5.3-Flash 从 30.55 到 48.72,Qwen3.8-27B 从 41.30 到 57.46。
但最能说明问题的不是它赢了多少,而是对比基线 Play2Code 在 最强生成器那一行是负收益 :52.77 掉到 51.05。在已有高质量产出上做「再编辑」是有风险的;而先探索、建立因果认知、再执行的顺序,让它在强基线上依然能继续往上走。
05
FAILURE MODES
三种失败,其实是一条链
失败分析识别出三个限制递归自我改进的机制,而且它们会互相作用,让最初不确定甚至错误的操作在练习中 持续存活 ,再一路影响后续行为。
CASE 01探索定位不足
额外练习如果没有挑战到真正导致问题的那些决策,弱点就不会被解决。被审查的轨迹里,课程 agent 生成了涉及文档处理、冲突信息、提交持久化的练习,而「获取不可用的用户信息」这件事 从未被测试 ,于是那条有问题的「缺失信息」处理规则就一直留在记忆里。结论是:选择能挑战不确定知识的经验,比单纯扩大练习多样性更重要。
CASE 02验证不完整
局部验证可以在没有确认所有任务要求都被满足的情况下,批准一次执行。案例里验证 agent 面对不支持的字段值或产物差异,仍然返回了 PASS。 检查某个预期产出是否生成了,并不能确认底层的理解或要求清单是完整的 。这个缺口会同时影响最终执行和后续学习——一个被接受的错误,可能成为未来记忆更新和探索决策的基础。
CASE 03记忆固化不可靠
一个验证不足的决策,会变成一条可复用的规则,对后续执行产生负面影响。表单填写那次运行里,执行 agent 保留了两条有问题的规则:把「缺失数据标记」当作有效答案,把「不可用信息」解释为否定答案。后续尝试直接复用了这些规则, 却没有去获取那些缺失的事实 。由此指出:有用的记忆必须保留一条经验的条件和不确定性,而不是只保留结论。
这里我有个不同看法。把三者并列陈述,但看描述它们更像 一条因果链 :验证不完整,导致错误经验被固化进记忆;记忆里的坏规则让执行反复踩坑;因为执行在形式上「成功」了,探索 agent 看不到这些失败;课程 agent 也就无从针对它出题。
如果这条链成立,真正需要修的是验证环节,探索策略的调整只是补救。没有做这个拆解实验,但它对三者的归因排序是并列的,这一点值得读者自己判断。
这条链在我们这行天天发生。某次测试里一个 payload 没打通,你在笔记里写下「这个参数有 WAF,注不进去」,没记当时用了什么编码、打在哪个位置、后端是什么库。三个月后同事照着这条笔记直接跳过这个参数——而那次其实只是单引号被拦,换个换行符就出数了。
NOTE
坏记忆比没有记忆更贵。没有记忆,你会重新试一遍;坏记忆,会让整条链路绕开一个真实存在的洞。
06
TAKEAWAYS
它自己的护栏,和我们可以搬走的三件事
对安全人来说,还有一层意思:它本身就是一个 会自己写代码、会在真实环境里动手的 agent 。在局限性一节里没有回避这点,直接写明:能自主探索软件环境、执行程序、保留可复用记忆,会带来非预期动作、未授权访问、隐私泄露这类风险;他们的实验都在受控环境、许可工具与数据访问下进行。
更有价值的是它实际做的那几条护栏,我按安全语言翻译一遍:
1
验证 agent 的探针跑在受 checkpoint 保护的候选环境副本上,检查完即恢复——这就是快照回滚。
2
探索结束后环境重置,记忆不回写地复用于目标评测——这就是生产只读。
3
官方评测器在 actor-verifier 循环之后才调用,不给学习中的 agent 提供分数或隐藏检查——这就是评测与学习隔离。
4
数值约束:目标执行 500 次迭代加 36000 秒看门狗,练习 2000 次迭代加 86400 秒,单次脚本执行 600 秒——这就是沙箱超时与资源上限。
如果你的团队已经在让 agent 跑命令、连内网、读数据,先问一句:它的动作有没有可回滚的快照?它的记忆会不会被写回生产?
最后是三个我认为可以直接搬进日常的做法。
1
把验证当成独立角色,别让执行的人自己判真假。基线加差分,比「看起来对了」可靠得多。
2
经验要连条件和不确定性一起记。写下「在什么环境、什么编码、什么位置下成立」,而不是只写一句结论。
3
预算在波次之间查,别打断正在跑的波次。广度要有停止条件,深挖才有力气。
∞
THE END
天花板不在探索策略,在验证的可靠性
RSIAgent 把「适应新环境」从数据问题改写成了探索与记忆管理问题:不更新任何参数,靠课程、执行、验证三个 agent 组成的递归闭环自主摸路,先广后深把陌生环境一点点变成可复用的记忆。代价是额外的测试时探索成本,以及 验证一旦出错,错误就会被忠实固化并一路传播 。
三个角色把「写」「判」「选题」的权力拆开,记忆才能既积累又不腐化;而它的天花板也正好落在这个设计的代价上。对做安全的人来说,这句话几乎是常识:一次误报进库,后面所有照着它走的人都在为一个不存在的洞付出成本。区别只在于, 人会怀疑自己的笔记,agent 不会 。
先广后深是策略,能被验证
论文: arxiv.org/abs/2609.15364
项目代码: 关注微信公众号 网络安全透视镜,私信:RSIAgent , 获取
END
我是 网络安全透视镜,一个常年在授权范围内找洞的安全研究员
如果你觉得今天这篇有收获,欢迎 点赞、在看、转发 三连,我们下篇见。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论