ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

RedEvoAgent:经验驱动的LLM自动红队测试与技能进化

2026/8/31 22:26:58 拓冰建站 浏览量
RedEvoAgent:经验驱动的LLM自动红队测试与技能进化 你可能已经发现了过去一年多大模型应用从“能跑通”变成了“敢上线”中间最大的拦路虎之一就是安全测试不够扎实。而安全测试里最传统、也最耗人的一块叫 Red-Teaming也就是红队测试。以前做红队测试靠的是安全专家手动设计攻击样例、反复尝试、再人工分析结果。这套流程在小模型时代可以接受但在一个 LLM 应用每天要面对几百种输入变体、提示注入、越狱策略和上下文劫持时手工打表显然是跟不上的。所以当 RedEvoAgent 这样的项目概念出现时我并没有把它当成又一个“自动生成攻击提示词”的玩具而是更关注它背后的一个关键词Experience-Driven Skill Evolution经验驱动的技能进化。这个方向要想清楚一件重要的事自动红队测试的重点不只是“更高效地生成测试用例”而是让代理在一次次测试过程中把自己变强。能自动发起攻击只是第一步能记住哪些打法有效、哪些套路失效、如何根据目标模型的反馈调整下一轮策略才是真正值得深入研究的环节。这篇文章会先拆解传统红队测试的瓶颈再讲 RedEvoAgent 这一类方案的核心设计思路然后重点分析经验驱动的技能进化机制到底改写了什么最后落到工程落地时你不能忽视的环境、边界和排查问题。如果你正在做 LLM 应用安全测试、Agent 项目评测或者只是被“红队测试怎么自动化”这个问题卡住了这篇文章应该能给你一个比较完整的思考框架。1. 先看 Red-Teaming 的真实问题为什么传统方式不可持续1.1 我们给 LLM 应用做安全测试时经常卡在哪先说一个很常见的场景。产品上线前团队需要评估大模型是否会被恶意用户诱导输出不该输出的内容。于是安全测试人员准备了一批测试样例包括提示词注入、角色扮演越狱、间接注入攻击等挨个往模型里灌看模型的输出是否越界。这个流程听起来没问题但真正执行过的人会立刻发现三个痛点。第一个痛点测试用例的增长方式很原始。第一轮设计 100 条用例第二轮查漏补缺加 50 条第三轮把新发现的攻击思路再加进去。所有经验都沉淀在测试人员的大脑中一旦有人离职、换项目或者测试间隔时间变长用例库就退化回一次性的“一次性清单”没有持续进化的能力。第二个痛点测试用例和模型行为之间不是稳定映射。同一个提示词换一个模型版本、换一个 system prompt、甚至换一个 temperature 设置结果都可能完全不同。这意味着靠固定用例集做回归测试每次都不可完全复现维护成本非常高。第三个痛点人的判断很难规模化。自动生成攻击提示词后还需要判断模型到底有没有“破防”但“破防”本身是个模糊概念。可能是直接输出违规内容也可能只是侧面询问时给出敏感意见还可能是输出内容看似安全、实际上里带着错误认定。让测试人员一条条看基本又回到了手工测试。这三个痛点是为什么红队测试从“手动测试”进化为“自动红队测试”的核心原因。RedEvoAgent 这个方向本质上是对上面三个痛点的系统回应用 Agent 承载测试流程用经验驱动技能进化来替代人工经验积累用可量化的反馈信号来逼近“破防”的判断。1.2 手动红队测试的三大瓶颈把上面的三个痛点再往下推一步可以看出手动红队测试真正难以突破的三个瓶颈。第一人对上下文的理解是长期有效的但无法自动化复制。安全测试人员会记住上一轮攻击为什么失败会在下一轮换一种角度。这个“记住-反思-调整”的过程恰恰是最有价值的经验但传统测试流程里几乎没有任何机制把它捕获下来。第二攻击手段的多样性增长来自人的灵感和行业情报而不是来自模型自身的行为反馈。如果红队测试不记录模型在什么条件下会被攻破、什么条件下会抵抗成功那么测试结果的可持续性就很差。第三人工测试报告往往以“发现的问题清单”结束而不是以“流程的进化”结束。做完一轮发现 20 个问题修完以后下一轮还要从零开始设计测试矩阵。没有复盘机制、没有经验编码方式红队测试就始终是项目制而不是体系化能力。RedEvoAgent 这个名字里面Automatic 对应第一层自动化Red-Teaming Agent 对应把测试过程代理化Experience-Driven Skill Evolution 则直接指向第三个瓶颈把一轮轮测试经验转化为可复用、可迭代、可进化的攻击能力。所以你在理解这个项目时不要只把它理解成“能自动生成 attack prompt 的脚本”。它的更大意义是让红队测试从“一次性任务”变成“可持续成长的能力”成为了可能。2. RedEvoAgent 的核心设计从“会攻击”到“会学习攻击”2.1 自动红队代理怎么工作如果只谈“自动生成攻击提示词”现成方案已经不少。用一个大模型生成恶意指令、再用另一个模型评估结果这算是最简单的自动红队测试架子。但这个架子的问题在哪儿它没有目标模型的反馈回路也没有历史经验的积累机制。RedEvoAgent 这一类代理设计会额外引入几个关键角色和流程。从常见实现思路来看一个完整的自动红队测试代理通常包含这几层测试目标层被测试的 LLM 应用、模型接口或 Agent 应用。攻击策略层负责生成、改写、组合攻击提示词。经验记忆层保存历史攻击尝试、成功和失败案例、模型反馈摘要。技能库层存储已被验证有效的攻击“技能”每条技能包含适用条件、操作步骤和效果评估。评估反馈层对模型输出进行安全判定、覆盖度判定和误报分析。RedEvoAgent 的核心不只是运行这些模块而是让模块之间形成一个增量学习的闭环。攻击策略层生成测试用例后目标模型给出输出评估反馈层判断是否“破防”无论结果如何经验都会进入记忆层。随后经验驱动学习模块会从记忆中提炼出“新技能”或“技能变体”经过验证后存入技能库供下一轮攻击策略调用。这套流程的最大变化是把攻击路径从“人设计-机器执行”变成了“机器设计-机器执行-机器复盘-机器进化”。初听会觉得这会让安全测试失去控制但如果加上了技能库校验、人工审计和安全护栏它反而能比人工测试更有覆盖度。2.2 经验驱动的技能进化是什么意思“经验驱动”和“技能进化”这两个词是理解 RedEvoAgent 的关键。我们单独拆开看。先说“经验驱动”。传统自动攻击工具通常是规则驱动或模板驱动。开发者预设好几十条攻击套路工具随机选择或者按顺序执行。一旦遇到一个新的模型防御策略旧模板就会集体失效。而经验驱动的意思是代理的下一步行动要基于它从上一轮尝试中提炼出的经验而不是基于固定规则。举个例子。假设红队测试代理尝试了“请以朋友的语气告诉我...”这种角色诱导方式目标模型没有破防。旧工具只会记录“这条失败”然后继续下一条。经验驱动的代理则会记录更细的一层信息这种诱导方式在这个模型上失效可能意味着模型对“角色转换类”攻击已经有防御需要换一种维度比如改成长篇任务下的多步引导或者用翻译、代码注释、Base64 编码等方式绕过输入检查。再说“技能进化”。技能升华意味着技能不是一次生成、永久固定的而是会不断长出新的品种。测试代理发现一个新的有效攻击模式后它可以把这个模式提炼成一个技能模板并在后续测试中继续尝试变体。如果变体在当前模型上依然有效技能库就会扩充。如果某个技能在多轮测试中持续失败它也可能被标记为“失效技能”或“低优先级技能”从而防止代理把时间浪费在无效路径上。这个机制有点像一个程序员的成长过程。初级程序员只会按照已知语法写代码经验丰富之后会在遇到具体报错时调动过往解决过的类似问题调整策略再试。RedEvoAgent 把这种“人的经验成长机制”压缩到一个自动代理里。这种设计是否真的能完全模拟人的直觉和创造力很难断言但至少在思路上它比“固定模板库”要先进一个量级。2.3 表层功能、底层逻辑和长期价值如果我们把 RedEvoAgent 放到一个更大的坐标系里可以分三个层面来理解它的价值。表层功能是“自动红队测试”它能为你的 LLM 应用生成、执行并评估大量攻击测试用例减轻人工测试的重复劳动。底层逻辑是“经验驱动的技能进化机制”它的核心资产不是测试用例集而是一个不断生长的技能库这个技能库能基于目标模型的实际反馈不断调整。长期价值则在于这类项目真正改变的是安全测试中“知识沉淀”的方式。过去安全测试知识沉淀在团队成员大脑里或分散在无数个测试报告的 PDF 中。而在自动红队代理的体系下知识被编码为可供每个新任务重复调用的技能测试能力随轮次增强团队也能从“测试人员靠经验判断”转向“测试系统持续沉淀经验”。其实这个思路不只在安全测试里成立。任何需要大量试探、屡次失败后才能找到规律的场景——比如自动化运维故障排查、Agent 工具调用调优、问答系统边界探测——都可以借鉴“经验驱动技能进化”的框架。3. 技能进化机制拆解记忆、迁移与迭代3.1 从经验到技能的关键链路前面提到了“经验驱动技能进化”这个概念但它和普通的“历史记录”到底有什么区别这就要看从原始日志到可复用技能之间到底经历了什么样的加工链路。通常一个经验驱动的技能进化系统会有这样几个关键步骤原始经验采集。代理每进行一次攻击尝试都会记录下输入、模型输出、评估结果、上下文状态等原始数据。经验提炼。系统从原始数据中自动或半自动地提取出“有效动作”和“成功原因”。例如某次攻击成功可能不是因为提示词里的角色设定而是因为足够长的对话上下文让模型丢失了初始安全指令。此时系统会把“长上下文稀释注意力”作为一个候选技能点。技能验证。提炼出的技能不能直接进入技能库还要经过验证。通常会在同一目标模型或相似目标上再做一小批测试确认技能的有效性达到一定阈值。技能编码。验证通过的技能会被整理成结构化描述包含适用场景、攻击步骤、预期效果、风险等级、历史成功率等字段。技能触发与应用。下一轮测试中代理根据当前目标模型的特征、任务类型、上下文状态从技能库中选择合适的技能进行应用。这个链路里最容易被低估的是“技能验证”。很多自动攻击系统只做到“发现成功案例”就立刻认为找到了通用技能。实际上一次成功案例中可能有大量偶然因素。比如攻击成功可能是因为刚好这一版模型提示词没有过滤某个特定词而不是因为攻击策略本身有效。所以失败经验也有价值。一条攻击策略在某些条件下成功、在某些条件下失败这中间的边界条件恰恰是最需要沉淀的知识。3.2 记忆的类型不只是存日志如果一个 Agent 只是把测试日志永久保存那不叫记忆叫存储。在 RedEvoAgent 这类方案里记忆的角色分层很关键。通常可以把记忆分成三层近期记忆当前一轮测试中的上下文记录这一步为什么选择这个攻击策略、上一步输出是什么。工作记忆当前任务范围内的动态状态比如已经尝试过哪些策略、哪些还没试、当前模型的防御特征是什么。长期记忆跨任务沉淀的技能库、模型行为画像、常见失败模式和有效策略。这里最容易出问题的是把所有记忆混在一起。如果长期记忆和近期记忆混在一个库里当上下文变长时代理很容易被旧经验误导表现得像是“一直尝试过去有效但现在无效的策略”。好的实现会为不同记忆设置不同的读写频率、保留周期和优先级。从工程实践看一个简单的做法是给经验记录加上标签比如“任务ID”“模型版本”“成功/失败”“策略分类”“上下文长度”。后续检索时先按模型版本过滤再按策略分类匹配最后结合近期记忆决定下一步动作。这套做法并不复杂但能明显减少经验冲突。3.3 技能库的迭代闭环一个可复用框架如果你准备在自己的项目里复现 RedEvoAgent 的“技能进化”思路我建议按下面的框架去设计我也称它为“红队测试技能进化的五步闭环”探索先让代理在一个较宽松的搜索空间中尝试多种攻击策略目标是发现有效模式。提炼把成功案例和失败案例分别聚类找出共性因素形成候选技能。验证用小批样本验证候选技能的有效性和适用范围排除偶然因素。入库验证通过的技能结构化成技能记录并写入技能库。回归下一轮测试时定期检查技能库中历史技能是否仍然有效过时技能降权或移除。这个框架可以灵活调整。小团队可以只做前两步把提炼出的“技能点”用人工方式写入文档先完成知识沉淀有条件再逐步推进自动化和闭环。关键是不要一上来就追求全自动而是先把“经验到技能”的加工链路跑通。3.4 技能进化和模型升级之间的角逐还有一个需要提前预期的问题目标模型是动态变化的。今天有效的攻击技能下周可能失效今天失效的技能模型更新后反而又暴露出来。技能库不是一劳永逸的金矿而是需要持续维护的活资产。从常见实践看每次被测试的模型升级后都应该触发一次“技能回归测试”。先跑历史技能库中的高优先级技能观察有效性的变化。如果一批技能集体失效很可能说明模型的防御策略发生了系统性变化这时候就要把探索步的随机性加大去寻找新的攻击维度。这种“攻防对抗”的节奏其实很适合用经验驱动系统来跟踪。因为系统天然会积累每个技能在不同模型版本上的表现数据从而画出“技能有效性随模型版本变化的曲线”。这份数据比任何测试报告都有说服力。4. 落地时要注意什么环境、边界与工程化4.1 先跑通最小闭环如果有人准备实现或使用 RedEvoAgent 这类方案我的建议是从最小闭环开始不要一上来就构建完整技能库。一个“最小可用流程”至少包含以下组件一个目标模型接口或本地部署的模型服务。一个攻击策略生成模块可以是另一个 LLM也可以是模板增强生成。一个评估模块用来判断目标模型的输出是否“破防”。一个经验记录器把每次尝试的输入、输出、评估结果写入结构化存储。先把这四个组件串起来让代理能够完成“生成攻击-调用目标-评估结果-记录经验”这一整轮流程。单次跑通只能说明流程没有断还不能说明机制有效。下一步你需要拿一小批已知攻击案例做校准看看评估模块的判断和人工判断的一致率有多少。如果评估模块经常漏报或误报后面的技能进化就会建立在错误数据上越进化越歪。这也是我为什么一直强调“先跑通、再调优、最后工程化”的原因。红队测试系统的输出质量完全取决于反馈信号的质量。如果评估信号不可靠经验提炼、技能验证就全部失去意义。落到实践里可以先准备 50 条人工标注过的测试用例用它们来评估自动评估模块的准确率达到 90% 以上再进入下一步。4.2 技能库的维护比技能生成更关键RedEvoAgent 这类系统很容易让团队误解为“能生成新攻击技能的系统最厉害”。但从长期维护的角度看技能生成只是入口技能库的维护才是决定这个系统能不能长期稳定运转的核心。技能库至少需要几类元数据技能描述它具体做什么、适用于什么场景。依赖条件是否需要特定上下文长度、是否需要特定角色设定、是否需要结合外部工具。历史成功率在不同目标模型上的表现。风险等级这条技能本身可能带来多高的对抗强度。最后验证时间避免过度依赖很久未验证的技能。失效状态当某条技能在多轮回归中持续失败时要能自动或半自动降权。我见过不少项目在技能库里堆了几百条攻击技能看起来内容丰富实际上缺少维护。结果就是代理在做策略选择时频繁选中已经失效的旧技能测试效率低甚至还不如一个精心设计的固定模板集。这里的原则很简单技能库要重质量、重验证而不是重数量。如果团队规模有限可以先把技能库的评审机制做成人工审核。代理自动提炼出候选技能后安全测试人员每周集中审核一次筛掉低质量技能给高价值技能打标签。等数据积累到一定程度再引入自动验证模块。4.3 排查链路从现象到根因如果你在实现 RedEvoAgent 的过程中遇到了问题先不要急着改模型或调参数。先按下面的排查链路走一遍大多数问题都能定位到根源。先看现象。是代理没有发起测试请求还是目标模型没有响应还是输出了但评估模块没有判断出来还是技能库没有被命中不同现象的排查方向完全不同。再看输入。攻击提示词的格式是否正确是否被目标模型的 system prompt 过滤模块拦截是否因为编码问题变成乱码。这里最容易被忽略的是长文本截断。如果你的攻击提示词超过目标模型的上下文窗口模型可能在真正处理之前就把它截断导致攻击无效。再看环境。目标模型的部署版本是否与期望一致请求是否经过 API 网关网关是否有内容安全过滤。很多自动红队测试“攻不破”其实不是模型本身防御强而是网关层就已经拦截了。再看参数。温度、top_p、max_tokens 等生成参数会影响攻击成功率。低温下模型更倾向于保守输出高温下更容易发散但也会产生更多无意义内容。温度设置不合理会导致攻击效果波动很大。再看日志。这一层最容易被偷懒跳过。很多项目只记录“提示词输出”不记录上下文、模型响应延迟、token 消耗和拦截标记。没有完整日志就无法复盘失败原因。最后看系统限制。RedEvoAgent 的“技能进化”能力再好也不能突破目标模型的输出安全边界。有些攻击之所以失败是因为当前模型已经专门针对该攻击维度做了对抗训练此时需要换一种思路而不是在旧维度上反复调参。如果你发现代理反复尝试同一个技能变体但一直失败要优先检查“技能库检索”的代码逻辑。很多时候问题不在模型而在代理每次选择技能时排序算法过分偏好历史成功率高的技能导致探索不足。4.4 安全护栏与使用边界这里必须做一点提醒。RedEvoAgent 这类技术本质是用于识别大模型应用的安全漏洞。在你自己的合规测试环境、内部评估流程中合理使用没有问题。但在任何情况下都不应该用它去攻击他人部署的、不归你负责的生产系统也不能绕过服务提供方设置的访问限制。做红队测试一定要先拿到明确的授权并且严格限定测试范围、测试时长和测试强度。在工程实现上安全护栏也是必须的给代理设置“最大尝试次数”和“最大失败率”防止失控试探。敏感目标系统使用沙箱环境不在生产环境直接测试。每次测试保留完整审计日志确保能追溯。对生成出的攻击提示词做分类不合规的内容直接丢弃不进入技能库。这些护栏不会让测试变慢反而能让测试结果更可信。因为红队测试的价值不在于“发起了多少次攻击”而在于“发现了哪些真实问题”以及“这些发现是否可复现、可修复”。4.5 数据与资源管理红队测试的每一轮尝试都会产生大量文本数据。如果不做管理很快会碰到两个问题存储膨胀和检索混乱。建议按这种方式组织数据一按“任务”组织每个测试任务包含目标模型版本、测试时间范围、测试策略配置、最终报告。二按“经验”组织任务中产生的每次尝试归一化到经验记录表字段尽量统一。三按“技能”组织从经验中提炼出的技能独立建库经验记录和技能之间保留关联 ID。这样做的好处是当你需要统计“某个技能在不同模型上的成功率”时可以直接从经验记录表中聚合而不用重新跑测试。另外需要提醒红队测试的评估结果往往包含大量敏感输出。在存储和日志管理上需要遵循正常的合规要求设置访问权限避免敏感数据泄漏成为新的安全问题。5. 适合谁、不适合谁从研究原型到工程使用5.1 适合的场景RedEvoAgent 这类方案最适合的场景是那些“模型迭代频繁、需要长期做安全评估”的团队。简单说如果你的团队每两周要更新一次 prompt 模板每一两个月要升级一次模型版本而且已经积累了一套测试流程那么引入经验驱动技能进化的价值会很明显。具体来说以下四类团队最容易受益大模型应用安全测试团队。他们需要持续评估模型是否容易被越狱、注入、诱导。Agent 应用开发团队。Agent 应用比单纯问答模型更容易受到多步工具调用攻击手动测试很难覆盖所有工具链路。安全研究团队。需要探索大模型防御盲区用自动代理辅助发现新的攻击模式。评测平台和红队服务商。他们面对多个不同客户的不同模型同时追求测试效率、覆盖率和可复用经验。对这几类团队来说RedEvoAgent 的“经验技能进化”正好解决了他们最头疼的知识复用问题。5.2 暂时不适合的场景如果项目还处于早期或者团队只是临时需要做一次安全评估我不建议直接引入完整的自动红队代理。原因很简单初次搭建的维护成本可能高于它帮你节省的人力。具体不适合的情况包括模型已经固定未来半年不会变化只需要一次安全快照评估。团队缺少安全测试专家来做评估校准和技能审核。目标模型没有任何可编程接口无法自动化调用。外部合规要求严格不允许用自动化工具做大规模红队测试。团队希望获得“纯人类专家视角”的测试结论。在这些情况下配合人工红队测试用一些现成的开源提示词攻击集做一次性的手动测试很可能是更务实的选择。RedEvoAgent 适合的是“持续运营”的测试体系而不是“一次性交付”的测试任务。5.3 一个判断清单要不要引入自动红队代理如果你仍然拿不准可以用下面这个判断清单做个快速评估你的模型或应用更新频率是每周/每月迭代还是半年不变你的测试用例是长期复用的资产还是一次性任务你的团队有安全专家做校准吗有工程能力做自动化吗你的环境模型接口可编程调用吗测试系统有沙箱隔离吗你的目标是需要一份报告还是需要持续的安全演进能力如果这些问题中你的答案大部分偏向前者更新频繁、用例需复用、有工程能力那么自动红队代理值得投入。如果大部分偏后者可以先从轻量方案开始。6. 从 RedEvoAgent 看 Agent 类工具的共同演化规律很多人第一次看到“Red-Teaming Agent”这个说法时会把它当成一个安全专用工具。但实际上放在 2025 年这个大模型应用快速迭代的坐标中RedEvoAgent 身上叠了三条值得关注的行业趋势Agent 化、经验驱动、技能进化。Agent 化的意思是安全测试从“脚本执行”升级为“代理自主决策”。代理不再只是按固定步骤执行任务而是根据目标模型的实时反馈动态调整下一步行动。经验驱动的意思是系统不再只依赖预置知识而是把每一次交互当作学习素材。这个思路在智能运维、推荐系统、机器人控制领域都很常见但在大模型安全测试中的应用才刚刚起步。技能进化的意思是系统积累的知识不是静态的“数据库记录”而是能自我更新、自我验证、自我淘汰的“活技能库”。这和个人知识管理很像收集信息不是核心整理、验证、迭代才是。所以我在看 RedEvoAgent 时其实更关心它代表的一类演进方向未来的 Agent 不只是“能使用工具完成任务”而是“能在完成任务的过程中越来越擅长做这件事”。这种能力一旦成熟影响面会远超安全测试领域。它会是很多复杂自动化任务的通用范式。当然也要冷静看待“技能进化”的边界。自动代理再怎么进化面对真正的未知问题时仍可能不如人类专家的灵活推理能力。至少在现阶段客观看待这套机制的价值和局限会更稳妥一些。它更适合做“已知经验的自动化复用和放大”而不是“从零产生全新攻击思维的引擎”。7. 给普通开发者的几点参考建议如果你已经被 RedEvoAgent 这个名字勾起了兴趣但又暂时不打算直接搭一个完整系统下面几个方向可以帮你从轻到重做准备。第一先把你的测试用例结构化。哪怕只是从一个 Markdown 文档改成 CSV 或 JSON先给每条用例加上适用模型、攻击分类、预期行为、历史结果等字段。这是后续一切自动化的前提。第二每次测试结束后做一次简单复盘。记录哪些用例在同一模型上反复失败、哪些用例在新模型上意外成功。这份人工复盘笔记就是最原始的“经验驱动”。第三尝试用一个通用 Agent 框架串起最简单的循环。不需要一开始就做技能进化只需要做到“生成测试用例-调用模型-保存结果”。等你发现这种循环产生了比预期更多的有效信息再考虑加入经验提炼和技能库。第四关注提示词工程和模型评估之间的交叉点。一个红队测试系统里最难做的往往不是攻击策略生成而是“评估什么算破防”。如果你能把这个评估标准定义清楚就算不写任何 Agent你的安全测试水平也已经超过大多数团队。8. 结尾回到那条最核心的经验RedEvoAgent 背后的思路其实可以用一句话概括安全测试的真正瓶颈不是缺少攻击手段而是缺少一种让攻击手段随经验进化的机制。手动测试时代经验在人的脑子里固定工具时代经验在代码逻辑里经验驱动 Agent 时代经验开始在技能库里自我进化、自我验证、自我迭代。我始终认为一个系统最值得关注的不是它当前会做什么而是它能不能在使用的过程中变得更强。RedEvoAgent 这个方向的价值恰好就在这里。它不是给你一百条攻击提示词而是给了一套“下一次攻击比上一次更聪明”的实现框架。如果你也想往这个方向试水别急着把技能进化做得太复杂。先设计好反馈信号先让你手头的测试用例变成可积累数据再尝试让代理从数据中提炼经验。等你发现技能库里的某条技能确实能跨任务被反复命中时你就会理解为什么“经验驱动”这四个字值得被写进系统命名里。