ruflo pattern-learn 实战指南:从成功操作轨迹中持续学习模式,提升多智能体协作能力
【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo
通过npx claude-flow training pattern-learn命令,ruflo 可以从过往的成功操作轨迹中提炼可复用的行为模式,为编辑习惯、检索策略、任务分解与多智能体协作积累可量化的经验库。本文以仓库中 pattern-learn 命令参考 为骨架,结合neural模块与插件注册表等源码实现,讲解该命令的用法、参数语义、成功判定与模式蒸馏的底层原理,帮助你在自己项目中落地"经验反哺智能"的闭环。
一、命令概述:pattern-learn 解决什么问题
pattern-learn 是 ruflo(Claude Flow)training子命令族的一员,核心目标是从成功的操作(operations)中学习模式。与一次性完成任务不同,它关注的是把"这次做得对的经验"沉淀成后续可检索、可复用、可进化的模式库。
它的定位可以从训练命令族的结构看出。在 .claude/commands/training/README.md 中,training 命令族包含三个命令:
- neural-train:对神经网络做显式训练;
- pattern-learn:从成功操作中学习模式(本文主角);
- model-update:更新模型。
其中 pattern-learn 属于"经验蒸馏"一类:不直接改权重,而是把历史成功经验整理成结构化、带置信度与向量嵌入的 pattern,写入持久化存储供后续任务检索。
命令在仓库中存在两份相同内容的副本:一份位于 .claude/commands/training/pattern-learn.md(顶层配置),另一份打包在 v3 CLI 的 v3/@claude-flow/cli/.claude/commands/training/pattern-learn.md 中,说明该命令作为 CLI 发行包的内置能力随版本同步分发。
二、基本用法:从全部操作中学习
在项目根目录执行如下命令即可触发一次模式学习,扫描历史操作并提炼模式:
npx claude-flow training pattern-learn [options]最简形式直接运行:
# Learn from all ops(从全部操作中学习) npx claude-flow training pattern-learn不带任何参数时,命令会对全部历史操作轨迹做模式提取,默认的检索、提炼与保存策略由底层智能模块的默认配置决定。
前置条件:需要先通过
npx claude-flow完成项目的 hooks 初始化,使每次会话/编辑/命令执行都会留下可供学习的轨迹数据。轨迹数据由 hooks 事件(编辑前上下文、编辑后结果、命令执行结果等)逐步累积,具体接入方式可参考 docs/USERGUIDE.md 中关于训练命令的说明。
三、选项详解与使用场景
原命令参考定义了三个核心选项,下表逐项说明其语义、取值范围与典型场景:
| 选项 | 参数 | 含义 | 说明 |
|---|---|---|---|
--source <type> | 模式来源类型 | 指定从哪一类操作中学习模式 | 如编辑、检索、任务分解、协作等来源类别;缺省时覆盖全部操作来源 |
--threshold <score> | 成功阈值(分数) | 只学习成功率/质量分不低于该阈值的模式 | 取值范围通常为0~1的浮点数,越接近1过滤越严格 |
--save <name> | 模式集名称 | 将本次学习到的模式集以指定名称持久化保存 | 保存后可被后续会话按名称引用复用 |
实战示例一:只学习高质量经验
# High success only(仅保留高成功率的模式) npx claude-flow training pattern-learn --threshold 0.9--threshold 0.9表示仅对质量分不低于 0.9 的操作进行模式学习,过滤掉普通成功与失败案例。这样产出的模式集信噪比更高,适合用于对质量敏感的代码库或高频协作场景。
实战示例二:把模式保存成命名集合
# Save patterns(保存模式集) npx claude-flow training pattern-learn --save optimal-patterns--save optimal-patterns会将本次提炼出的模式作为一套独立命名的模式集写入存储,后续可通过名称检索复用(例如迁移到新会话或用于指导路由决策)。
三个选项也可组合使用,例如"仅学习编辑类操作中质量 0.9 以上的模式,并保存为optimal-edits":
npx claude-flow training pattern-learn --source edit --threshold 0.9 --save optimal-edits四、底层原理(一):--threshold的成功判定从何而来
--threshold并非凭空打分,它对应底层 ReasoningBank 管线的JUDGE(判官)步骤。在 reasoningbank-adapter.ts 的judge实现中,一条轨迹是否"成功"由两个指标共同决定:
trajectory.qualityScore:轨迹整体质量分;- 各步骤平均奖励
avgReward(对trajectory.steps中每一步的reward求平均)。
判定规则如下(见 reasoningbank-adapter.ts 的judge方法):
| 条件 | 判定标签 |
|---|---|
qualityScore >= 0.8且avgReward >= 0.7 | Success(成功) |
qualityScore < 0.4或avgReward < 0.3 | Failure(失败) |
| 其余情况 | Partial(部分成功) |
因此,当使用--threshold 0.9时,等价于在原成功判定之上再加一道质量筛子,只保留质量分不低于 0.9 的顶级成功轨迹;qualityScore/reward均来自 hooks 事件对每次操作结果(编辑成功、命令退出码、检索命中率等)的记录。
判官还会产出可解释证据,例如Quality score: 0.95、Average reward: 0.87、Step count: 12、Final action: ...,连同判定理由一起作为ReasoningBankVerdict的一部分返回,便于事后审计"这条模式凭什么算成功"。
五、底层原理(二):轨迹如何被蒸馏成模式
被判定为成功的轨迹会进入DISTILL(蒸馏)阶段(reasoningbank-adapter.ts 的distill方法)。蒸馏过程受多条默认配置约束,它们是评估pattern-learn学习效果时的重要参照:
| 配置项 | 默认值 | 含义 |
|---|---|---|
maxItemsSuccess | 5 | 成功轨迹最多提炼的条目数 |
maxItemsFailure | 3 | 失败轨迹最多提炼的条目数 |
confidencePriorSuccess | 0.8 | 成功模式初始置信度 |
confidencePriorFailure | 0.5 | 失败模式初始置信度 |
duplicateThreshold | 0.95 | 去重用的向量相似度阈值 |
contradictionThreshold | 0.85 | 矛盾检测相似度阈值 |
consolidateTriggerThreshold | 100 | 每新增 100 个模式触发一次自动整合 |
pruneAgeDays | 30 | 超过该天数且低置信度的模式会被清理 |
minConfidenceKeep | 0.3 | 保留模式的最低置信度 |
具体蒸馏内容包括:
- 整体策略模式:把轨迹的动作序列(前 5 个 action)压缩为一条策略内容,打上
success/failure、领域名与strategy标签; - 高奖励步骤模式:对成功轨迹中
reward > 0.7的关键步骤,单独提炼为high-reward动作模式,最多 3 条; - 向量嵌入:每条模式按"步骤越靠后权重越大"的加权平均策略由轨迹状态向量计算嵌入(见
computePatternEmbedding),以便后续向量检索。
存储方面,默认数据库路径为.agentdb/reasoningbank.db(可通过ReasoningBankConfig.dbPath覆盖)。在 hooks 场景中,模式会以 HNSW 索引的向量形式存入 ReasoningBank,检索时可走 HNSW 近似最近邻,检索不到时回退暴力搜索——这一点在 hooks-tools.ts 的智能工具描述中明确提及。
六、模式的持久化、整合与进化
学习得到的模式并不是静止存储的,持久化后还会经历整合(CONSOLIDATE)与进化(EVOLUTION)两个环节保证库的健康:
- 去重:两条模式嵌入余弦相似度超过
0.95时,按usageCount × confidence打分,保留更高分者(reasoningbank-adapter.ts 的consolidate); - 矛盾检测:相似度超过
0.85但 outcome 不同的两条模式会被标记为矛盾,输出告警而不自动删除,交由上层分析; - 过期清理:创建超过
30天、置信度低于0.3且使用次数少于 3 次的模式会被剪枝; - 模式匹配与演化:底层 pattern-learner.ts 维护最多 1000 条(ReasoningBank 场景可上调至 5000)模式,匹配阈值
0.7、质量阈值0.5,启用聚类(默认 50 簇)加速最近邻候选集查找,并以0.1的学习率持续演化模式。这些默认值可在PatternLearnerConfig中覆盖。
因此pattern-learn产出的"模式集"自带质量护栏:低置信度、冗余、过期条目会在整合阶段被自动剔除,库内留存的是持续进化的高价值经验。
七、与其他 training 命令的分工
pattern-learn 不是唯一的训练入口,在实际使用中应与其他命令配合:
- neural-train:显式训练模式,例如
npx claude-flow neural train --type coordination --epochs 50,控制训练轮次与类型; - pattern-learn:从结果侧出发,对既有轨迹做经验提炼(本文);
- model-update:更新模型本体。
对应地,智能层把学习内容划分为Cognitive Patterns(认知模式),包括收敛式、发散式、横向、系统式、批判式与抽象式六类思维模式(详见同目录的 neural-patterns.md)。pattern-learn 提取的经验主要以convergent(聚焦问题求解)等模式形式沉淀,并可通过npx claude-flow neural status查看各模式置信度与整体改善幅度。
八、源码佐证与扩展阅读
若想深入 pattern-learn 背后的数据通路,可按以下路径继续阅读源码:
| 关注点 | 文件 |
|---|---|
| 命令参考(顶层) | .claude/commands/training/pattern-learn.md |
| 命令参考(v3 CLI 内置副本) | v3/@claude-flow/cli/.claude/commands/training/pattern-learn.md |
| 训练命令族总览 | .claude/commands/training/README.md |
| 认知模式与 MCP 手动训练说明 | .claude/commands/training/neural-patterns.md |
| JUDGE/DISTILL/CONSOLIDATE 四步管线实现 | v3/@claude-flow/neural/src/reasoningbank-adapter.ts |
| PatternLearner 匹配/演化/聚类实现 | v3/@claude-flow/neural/src/pattern-learner.ts |
| 智能层对外入口(extractPattern / findMatches) | v3/@claude-flow/neural/src/index.ts |
| pattern-learning 插件注册(3.0.0) | v3/@claude-flow/plugins/src/collections/official/index.ts |
九、小结:让"经验"变成可复用资产
npx claude-flow training pattern-learn通过--source限定学习来源、--threshold把守质量闸门、--save持久化命名模式集,把散落在 hooks 轨迹中的成功经验提炼为带置信度、带向量、可持续整合与进化的模式资产。理解其背后的 JUDGE→DISTILL→CONSOLIDATE 管线与默认参数,能帮助你在实际项目中选对阈值、管好模式库规模,真正让每一次成功操作都成为下一次任务更聪明的起点。
【免费下载链接】ruflo🌊 The original agent meta-harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, RAG integration, and native Claude Code / Codex / Hermes and many more Integrated项目地址: https://gitcode.com/GitHub_Trending/cl/ruflo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考