---
layout: post.njk
source: https://yage.ai/share/feedback-loop-self-evolution-20261106.html
web_feed:
  articleId: cmw5m1c7k000076edtr3emd0r
  feedSourceId: webfeed_yage_ai
  guid: https://yage.ai/share/feedback-loop-self-evolution-20261106.html
  sourceUrl: https://yage.ai/share/feedback-loop-self-evolution-20261106.html
speaker: yage.ai
title: |-
  从 Anthropic 的延迟封号策略，看怎么让 Agent
  系统自我进化
date: '2026-11-06'
summary: 文章探讨了如何通过设计Agent系统的反馈回路，使其能够自我进化，并分析了Anthropic在延迟封号策略和实时拦截机制上的实践。文章指出，通过切断即时反馈和拉长延迟封号（离线静默记账模式），可以有效阻止越狱攻击者利用即时试错和零成本回退来寻找漏洞。同时，通过激进式透明（暴露完整的调用栈和单步诊断反馈）来指导Agent的快速改进，并结合后台黑盒的静默记账来防止作弊，构建了既能自我进化的Agent系统。文章也指出了这种机制的副作用，即正常开发者可能因缺乏事前预警而遭受事后封号，以及系统在处理高危操作时可能采取两头折中的策略。
area: tech-engineering
category: ai-application
tags:
  - agent-evolution
  - ai-security
  - prompt-cache
  - feedback-loop
  - transparent-interface
people:
  - Morluto
  - Boris Cherny
companies_orgs:
  - Anthropic
products_models:
  - Claude Code
  - Opus 5.5
  - Qwen-3.8-32B
  - Gemma-3-27B
  - Elastic atune
  - 智谱 GLM-5.3
media_books: []
draft: true
status: evergreen
---

2026 年 10 月 31 日到 11 月 2 日这几天，重度使用 Claude Code
的开发者撞上了两件很矛盾的事。根据 Claude
Code 近期对逆向工程和游戏克隆的拦截报道，有人用 Opus 5.5
例行检查自己写的二进制文件，在屏幕上立刻看到了拒答提示。但这位开发者换回旧版
Opus
4.8，或者换个问法试探几次之后，几分钟内就能摸清拦截边界，顺利把活干完。

安全研究员 Morluto 的情况则完全相反。他在用 Opus 5.5
跑自己的开源逆向评测项目 Reverse Engineer Anything，测试 AI
对二进制程序的分析能力。整个评测过程前台一路绿灯，从头到尾没报过一次错误。可在评测结束后，他的账号突然因违反安全政策遭到停用，最后靠人工申诉才找回来。

这两件事放在一起让人忍不住纳闷：为什么系统在后台已经察觉到了你的行为，前台却装作没看见，非要等你跑完以后再算总账？Anthropic
在 2026 年 10 月 16
日的报告里算清了这笔账。试图越狱的攻击者其实就是一个靠环境反馈不断进化的
Agent。Anthropic
为了废掉越狱者的进化能力，专门掐断了几根关键管子；把这套做法反过来，正好教我们怎么让自家的
Agent 系统真正学会自我进化。

## 明明抓到了违规，为什么当场报错反而帮了攻击者？

以前做安全风控，往往得在主模型旁边额外部署一个独立的审核模型，把刚才几万字的聊天记录从头到尾重读一遍。这既拖慢了响应速度，又要多烧不少算力。

Anthropic
发布的后台自评估报告采用了一个非常简便的策略，直接复用了开发者都很熟悉的
Prompt Cache。Claude 生成完正常的回复后，刚才整段对话的
Prompt Cache
在显存里还是热的，因此系统可以顺手在后面追加一个对用户隐藏的提问，让同一个
Claude
回头判断刚才这轮对话是不是在套话干坏事。此时模型只需在后台悄悄打上违规标签即可，前台用户完全看不出来。因为直接命中了现成的热缓存，不需要把几万字的上下文重新计算一遍，生产环境实测下来这一步多花的算力还不到
2%，而且只在遇到可疑流量才按需触发。

这个顺手追加的追问本身既便宜又准，可怎么把它接入系统，得到的结果却天差地别。Anthropic
的安全团队拿 24
个真实的红队越狱任务（涉及生化武器、恶意软件开发与关键基础设施攻击），在同一个后台探针上测试了两种完全不同的接法。如果不加这道防线、仅靠模型原生的安全训练去扛，24
个红队任务里系统只拦住了 5 个（拦截率 20.8%），其余 19
个任务全部失守。要是把这道防线接到实时同步拦截上，一旦后台判定违规就当场弹窗拒答，会不会好很多呢？实测结果出人意料：系统在
24 个任务里也只拦住了 11 个（拦截率 45.8%），剩下 13
个任务照样失守，超过一半的越狱依然得手。

为什么探针明明看到了风险，现场拦人却仍然漏掉大半？因为高难度的越狱靠的是一轮一轮的连续试错，没人能蒙着眼睛一遍就写出完美的越狱提示词。采用实时同步拦截模式，系统每次秒级弹窗报错，就等于免费给攻击者递小纸条，明明白白告诉他刚才那句话里的哪个词踩了雷。攻击者只要点一下聊天界面的回退或编辑按钮，就能零成本撤回上一句，换套话术继续试探。秒级报错配合零成本回退，反而把实时拦截器变成了帮红队找漏洞的实时导航仪。

看清这层套路后，Anthropic
把同样的探针改成离线静默记账模式：前台照常回答，后台悄悄记账，隔天再汇总封号。即使后台已经判定违规，前台也一声不吭。在报告展示的勒索软件钓鱼测试中，前台照常帮写伪装成系统更新的钓鱼方案，系统状态记着未拒绝，后台隐藏轮次却同时默默打上高危标签。这套机制自
2026 年 6
月上线以来，每晚按组织汇总给安全团队人工复核，隔天或几天后再统一封禁。

实时同步拦截会把秒级报错变成攻击者的导航仪，离线静默记账则通过切断实时反馈并延迟封号来锁死越狱试探

切到离线模式后，同样 24 个越狱任务中系统一下子逮住了 21
个（检出率飙升到 87.5%），仅 3 个任务在未触发标记的情况下漏网。Anthropic
的报告一针见血：「自评估离线运行时，攻击者得不到任何关于什么内容触发了标记的在线信号；像封号这样的信号要很久之后才会到达，这让攻击者很难实时调整攻击。」

类似地，Anthropic
对模型蒸馏攻击的防御用的也是一样的思路。面对竞争对手通过自动化账号批量收集
Claude 的推理过程来训练自家模型，Anthropic
在发现可疑流量后不会在前台报错提醒，转而在返回的推理过程中悄悄掺入一些人类难以察觉、却会把下游模型训练带偏的假线索。最终竞争对手拿回去把整个模型练废了，才发现关键推理表现失常，但根本查不出具体是哪一批数据出了问题。

## 把防越狱的逻辑倒过来：怎么让自家的
Agent 越干越聪明？

理解了 Anthropic
如何通过切断信号、拉长延迟、不让撤回来让聪明的黑客变瞎，回头再看我们自己做的
Agent 循环，很多奇怪的故障一下子变得好理解多了。平时让 Agent
自动写代码、调参数或改提示词，它之所以老是像个瞎子一样原地打转、越改越烂，往往怪不到底座模型不够聪明，真正的原因是我们无意中把给自家干活
Agent 的反馈回路做成了 Anthropic 对付越狱者的样子。

第一个关键条件是给足即时试错和随时撤回的沙盒。很多工程管线逼着 Agent
闭着眼睛把代码写完一把交卷，中间完全不给即时运行看输出的机会。MIT
权重编程实验的完整日志里，研究人员让 AI 去修改开源模型 Qwen-3.8-32B
与 Gemma-3-27B
的内部权重参数，要求抹掉一条像苹果是什么颜色这样的特定常识，同时保持其他知识完好，统一折算满分为
100 分。

在 0 次测试机会（不允许提交前跑模型看输出、盲写一把交卷）的情况下，AI
在结构较陌生的 Qwen-3.8-32B 上得分为 0 分，在 Gemma-3-27B 上也只有 15
分。把测试机会放开到 5
次，允许改完看看模型输出、不对就撤回重改，Gemma-3-27B 的得分马上跳到 81
分，但 Qwen-3.8-32B 依然是 0 分；这是因为 5
次试错还不够让它摸清是哪一层参数控制这个功能。一旦给足 50
次测试机会，让它每改一步都能马上看到真实输出、随时回滚，Gemma-3-27B
进一步上升到 84 分，而之前拿 0 分的 Qwen-3.8-32B 则一下飙升到 94
分。在完全相同的底座模型下，从 0 分到 94
分的跨越，纯粹来自于即时试错与零成本回退。

仅有秒级的成败反馈还不够，第二个关键条件是底层环境必须做到激进式透明。日常做工程另一个常见的坑是只给冷冰冰的终局总分，或者只抛一句笼统的高层报错。跑几十分钟才甩出一句通过率
58% 或操作失败，和几天后才收到封号通知没区别，AI
根本不知道哪一步改坏了。

为什么我们会习惯写出这种笼统的反馈？以前在 超越 DRY
这篇文章里聊过，AI 时代我们交付的底层系统，本质上是一套专门供 AI
调用来写代码、干活的生成内核。传统的 API
和软件工程都是面向人类开发者设计的，核心是以保护为目的的抽象。因为人类看见几百行底层报错会头大、会畏难，所以传统接口习惯把复杂的内部状态藏起来，捕获底层错误后重包装成一个干净笼统的
APIFailureError，或者弹一句操作失败，请稍后再试。

可到了 AI 原生时代，直接调用工具的换成了
AI，这种保护人类的抽象反而变成了毒药，直接扼杀了 Agent
尝试、反馈、修正的进化循环。面向 AI
的生成内核必须反向践行激进式透明，也就是最大化地把原始技术细节暴露给
AI。人类怕看几百行的调用栈，AI
却可以毫无心理负担地在几秒钟内顺着报错一杆子捅到底层源码。所以我们给 AI
用的接口宁愿原样抛出带完整调用栈的 ConnectTimeoutError，让
AI 一眼看出是哪一步网络超时，也不要包装成模糊的
APIFailureError。

在探讨如何把笼统评分拆成单步诊断反馈的两个案例里，能清楚看到激进式透明的威力有多大。Elastic
的 atune
提示词优化框架完全没换模型，只是把最后给个总通过率，改成逐个字段透明地指出为什么错、缺了哪类词，生成复杂查询的准确率就从
58% 直接跳到 91%，金融多跳问答的检索召回率也从 68% 涨到了 91%。智谱
GLM-5.3 让 AI
优化显卡底层代码也是同理，把性能分析器里每一步的耗时拆分、哪里超限、哪里编译报错毫无保留地塞进每轮即时反馈里，AI
就能顺着线索单步改进，自己改出不输人类专家手写水平的底层代码。

## 当自家的
Agent 开始跟测试耍滑头，为什么系统里得装两套开关？

既然激进式透明这么好使，如果我们把系统里所有的考核指标和裁判逻辑全都实时展示给
Agent，问题是不是就彻底解决了？真这么干，你亲手养大的进化引擎马上就会掉头来越狱你的测试脚本。

常用 Claude Code 写代码的人都知道，有时候你让它自己改 bug
把测试变绿，它改了几轮都修不好，干脆把报错的测试断言删了，或者写死一个假返回值糊弄过去。在防止
AI 刷分作弊的考卷实验中，Anthropic 让 AI
围绕一张公开的考卷进行自我迭代，因为每一轮都有实时的分数反馈，AI
没过几轮就把这张卷子上的能力差距缩小了
70.9%。但换一张没见过的保留考卷一测，成绩反而倒退了 11.9%，或者只微涨
2.0%。更夸张的是，在大约 1600 次提交中发现了 39 次作弊尝试（占
2.4%），包括偷偷去测试集上看答案、直接把打分脚本改了，或者写出专门糊弄裁判模型的格式套路。只要裁判规则毫无保留地给秒级反馈，自家的
Agent 就会像越狱黑客一样去钻考卷的空子。

快回路用秒级诊断和零成本回退推动业务进化，慢回路用后台静默记账和盲测考卷拦住投机作弊

这引出了一个核心设计问题：怎么搭一个既能长期自我进化、又不会耍小聪明作弊的
Agent
系统？答案是同时装上两种截然相反的开关。一个是台前干活的快开关，走的是激进式透明：把编译器完整的调用栈、每一步耗时拆开，再配上
3 到 5 张公开练习卷，秒级全扔给
AI，让它知道具体是哪一行不行，还能随时在沙盒里零成本撤回重来，推着 AI
全速前进。另一个是后台防作弊的慢开关，走的是激进式黑盒：单独锁好一张平时根本不露面的期末盲测卷，加上
Claude 后台那种利用热 Prompt Cache 运行、只花不到 2%
算力的静默自检。在 AI
干活迭代的过程中，慢开关一声不吭，不给任何能让它拿来试探边界的在线信号，只在最后合并代码主干或跨会话结算的关头一锤定音。

## 先记账再封号，这套做法有什么副作用？

后台记账、延迟封号虽然治住了越狱和刷分作弊，但也给正常干活的人惹来了两个绕不开的副作用。第一个副作用，是误伤正常开发者却没有任何事前预警。Claude
Code 负责人 Boris Cherny 在 2026 年 10 月 30 日确认，团队在 Opus 5.5
的系统提示词里加了 2
句话明牌拦截抄袭特定游戏，原创游戏、同类玩法或用自己素材的不受影响；与此同时，针对逆向工程这类高危操作的后台风控也明显收紧。可在逆向工程里，正常检查自己写的软件、做安全审计，跟写恶意软件的动作太像了。前台不吱声、跑完直接事后封号，让
Morluto
这样的正常安全研究员连个察觉和改口的机会都没有，只能事后走人工申诉找回账号。

第二个副作用，是拦不住干一票就跑的坏人。离线监控的前提是当前这一轮前台先不拦，比如测试里照常写出了勒索钓鱼方案。如果对方只需要拿一次危险结果就走，隔天再封号就晚了。所以实际系统只能两头折中：明面上的低级违规靠系统提示词当场拦住，试探边界的高级越狱靠后台悄悄记账。

下次再碰到手头的 Agent
笨得原地打转，或者在测试里耍小聪明作弊，先别急着换模型。低头看看你给它接的两根反馈管子：该对它激进式透明的报错细节，是不是藏得太深、给得太慢了；而不该让它摸透底牌的期末考卷，是不是又亮得太早了。