ruflo-daa 实战指南:构建会学习、会进化的 Dynamic Agentic Architecture 自适应 Agent
【免费下载链接】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
ruflo-daa(Dynamic Agentic Architecture)是 ruflo 生态中专门用于创建、管理"会学习、会进化"的自适应 Agent 的插件,它通过 8 个daa_*MCP 工具把静态配置的 Agent 升级为基于性能反馈持续适配、跨 Agent 共享知识的学习型智能体。本文以 daa-agent SKILL 为骨架,结合 daa-tools.ts 源码逐工具拆解参数与底层行为,让你从"创建自适应 Agent"到"监控学习、手动适配、知识共享"全流程可落地。
什么时候该用 DAA Agent
当你的任务需要"超越静态配置"的 Agent 时,就轮到 DAA 出场。静态 Agent 的行为由固定配置决定、从不学习、知识彼此隔离、性能恒定;而 DAA Agent 会根据性能指标调整自身行为、从交互中持续学习、把知识共享给其他 Agent。典型场景包括:
- 需要 Agent 在不同任务间动态切换推理策略(认知模式);
- 希望通过反馈闭环让 Agent 的成功率随使用次数提升;
- 希望多个 Agent 共享经验、集体进化(swarm 场景)。
反之,如果只是单次、一次性执行的 Agent,daa_agent_create的源码描述明确指出"原生 Task 就足够了"("For static one-shot agents, native Task is fine"),不必引入 DAA。
DAA Agent 与静态 Agent 的对比
SKILL 文档给出了核心对比,这也是判断是否采用 DAA 的第一依据:
| 维度 | 静态 Agent | DAA Agent |
|---|---|---|
| 行为 | 固定配置 | 随时间自适应(adapts over time) |
| 学习 | 无 | 从交互中持续学习 |
| 知识 | 隔离 | 跨 Agent 共享 |
| 性能 | 恒定 | 随使用提升 |
使用流程:五个核心步骤
daa-agentSKILL 规定的标准工作流为五步,每一步对应一个 MCP 工具调用(工具名以mcp__plugin_ruflo-core_ruflo__为前缀):
- 创建 Agent— 调用
daa_agent_create,传入初始配置与学习参数; - 监控学习— 调用
daa_learning_status查看适配进度; - 检查性能— 调用
daa_performance_metrics获取效率与准确率指标; - 适配— 调用
daa_agent_adapt,基于反馈触发手动适配; - 共享知识— 调用
daa_knowledge_share把学习成果传播给其他 Agent。
下面的章节将逐个工具深入底层实现,说明每个参数的真实作用与默认值。
8 个 daa_* MCP 工具全景
按 ADR-0001 的记录,8 个工具全部实现于 daa-tools.ts(对应行号 90 / 161 / 223 / 271 / 322 / 388 / 444 / 512),与 插件 README 声明的工具面一致:
| 工具 | 用途 |
|---|---|
daa_agent_create | 初始化一个自适应 Agent |
daa_agent_adapt | 基于反馈触发手动适配 |
daa_workflow_create | 定义认知工作流 |
daa_workflow_execute | 运行认知工作流 |
daa_knowledge_share | 跨 Agent 传播学习成果 |
daa_learning_status | 适配进度指标 |
daa_cognitive_pattern | 定义/分析推理模式 |
daa_performance_metrics | 效率与准确率统计 |
数据落地方式(源码级)
从源码结构看,所有工具共享同一套本地持久化机制:状态存储在项目下的.claude-flow/daa/store.json(目录由getProjectCwd()推导,见 daa-tools.ts)。DAAStore结构包含三块:agents、workflows、knowledge,并带version字段(当前为'3.0.0')。此外,多数工具还会尝试通过../memory/memory-bridge.js把条目写入 AgentDB(分别使用daa-agents、daa-workflows、daa-knowledge命名空间),使状态可被向量检索;AgentDB 不可用时静默回退到 JSON store,不影响主流程。
创建 Agent:daa_agent_create 参数详解
daa_agent_create的唯一必填参数是id,其余均可选。完整参数与源码默认值如下:
| 参数 | 类型 | 说明 | 默认值 |
|---|---|---|---|
id | string | Agent ID(必填,需通过标识符校验) | — |
name | string | Agent 名称 | DAA-{id} |
type | string | Agent 类型 | autonomous |
cognitivePattern | string | 认知模式枚举:convergent/divergent/lateral/systems/critical/adaptive | adaptive |
learningRate | number | 学习率(0–1) | 0.01 |
enableMemory | boolean | 是否启用持久记忆 | true |
capabilities | array | Agent 能力列表 | ['reasoning', 'learning'] |
新 Agent 的初始指标为:tasksCompleted: 0、successRate: 1.0、adaptations: 0,状态为active。创建成功后,工具会把{id, name, type, cognitivePattern}以daa-agent-{id}为 key、daa-agents为命名空间写入 AgentDB,作为可搜索的 Agent 注册表。
认知模式的语义
daa_cognitive_pattern工具(action 缺省为analyze)会返回六种模式的官方描述,这也是cognitivePattern参数取值的语义依据:
convergent— 聚焦分析型思维,适合定义良好的问题;divergent— 创造探索型思维,适合开放性问题;lateral— 间接、创造性的问题求解路径;systems— 考虑系统互联的整体思维;critical— 分析性评估与逻辑判断;adaptive— 按需动态切换模式(工具推荐一般用途 Agent 使用adaptive)。
监控学习进度:daa_learning_status
调用daa_learning_status(可选参数agentId、detailed)有两种视图:
- 指定
agentId:返回该 Agent 的status、cognitivePattern、learningRate与完整metrics; - 不传
agentId(或传detailed: true):返回 swarm 汇总——total(Agent 总数)、active(活跃数)、learning(学习中数)、avgSuccessRate(平均成功率)、totalAdaptations(累计适配次数),以及每个 Agent 的id/status/successRate/adaptations记录。
这正是 daa 命令 展示"DAA 仪表盘"的数据来源:命令先用detailed: true拿到 swarm 汇总与逐 Agent 记录,再调daa_performance_metrics取效率与准确率统计,最终展示活跃 vs 学习中的 Agent、适配进度、每个 Agent 的认知模式与平均成功率。
检查性能:daa_performance_metrics
daa_performance_metrics通过category参数(枚举all/agents/workflows/learning,缺省all)聚合三类指标:
- agents:
total、active、avgSuccessRate、totalTasks; - workflows:
total、completed、running、successRate(completed 数 ÷ 总数); - learning:
totalAdaptations、knowledgeItems(知识库条目数)、avgLearningRate。
手动适配:daa_agent_adapt
daa_agent_adapt必填agentId,可选feedback(反馈消息)、performanceScore(0–1,默认0.8)、suggestions(改进建议数组)。源码中的更新逻辑非常直观,可视为 DAA"学习"的核心公式:
adaptations计数 +1;successRate = (旧 successRate + performanceScore) / 2(移动平均);- 状态重置为
active,lastActivity刷新; - 通过 memory-bridge 记录反馈(
bridgeRecordFeedback,success判定为performanceScore >= 0.5),供后续模式学习使用;返回结果中_storedIn会标明写入的是agentdb还是json-store。
知识共享:daa_knowledge_share
daa_knowledge_share必填sourceAgentId与targetAgentIds,可选knowledgeDomain(默认general)与knowledgeContent(任意对象)。调用后生成knowledge-{timestamp}知识条目,优先写入 AgentDB 的daa-knowledge命名空间(带 domain 与 agent id 作为 tags,可向量检索),同时始终持久化到 JSON store 做向后兼容。返回值中的_note会说明目标 Agent 如何获取:经 AgentDB 存储时可通过daa_learning_status或 memory search 检索;仅 JSON 存储时则"不存在跨 Agent 的内存传输",需靠共享注册表读取。
认知工作流:daa_workflow_create / daa_workflow_execute
DAA 不只有单个 Agent,还支持把认知模式嵌入可执行工作流:
daa_workflow_create(必填id、name):steps为步骤数组,strategy枚举parallel/sequential/adaptive(默认adaptive),dependencies声明步骤依赖;daa_workflow_execute(必填workflowId):可传agentIds与parallelExecution,将工作流置为running并同步状态到daa-workflows命名空间。
需要特别说明的是源码中的明确提示:步骤状态被跟踪但不会被自动执行("Steps are tracked but not auto-executed"),每个步骤的实际执行仍需借助 Agent 工具完成——daa_workflow_execute承担的是编排与状态跟踪职责。
配套 Skill:定义可进化的认知模式
与daa-agent配套的 cognitive-pattern SKILL 用于"把推理策略、决策树或问题求解方法编码成 Agent 可复用、可改进的模式",其流程为:daa_cognitive_pattern定义模式结构与触发器 →daa_workflow_create嵌入可执行工作流 →daa_workflow_execute运行 →daa_learning_status评估模式表现 →daa_knowledge_share传播成功模式。文档内置四种模式类型:决策树(结构化 if/then 推理)、思维链(逐步问题分解)、类比映射(参照相似已解问题求解新问题)、共识模式(决策前多视角评估)。
与智能流水线、AgentDB 的协作机制
DAA 不是孤岛。按 ruflo-daa ADR-0001 与 ruflo-intelligence ADR-0001 的约定:
- 智能流水线对齐:ruflo 的 4 步智能流水线为 RETRIEVE → JUDGE → DISTILL → CONSOLIDATE。DAA 认知模式在任务经
hooks_route路由、检索到相似历史轨迹后,为JUDGE 阶段提供结构化推理依据来评估拟合度;daa_knowledge_share写出的模式传播事件则可在DISTILL 阶段被hooks_intelligence_learn消费。 - 命名空间协调:插件声明拥有 AgentDB 的
daa-patterns命名空间(kebab-case,遵循 ruflo-agentdb ADR-0001 的命名约定),且不得遮蔽保留命名空间pattern、claude-memories、default。该命名空间经memory_*工具按命名空间路由访问,CLI 示例如下:
# 持久化认知模式与适配历史 npx @claude-flow/cli@latest memory store --namespace daa-patterns --key "cognitive-PATTERN" --value "ADAPTATION_DATA" # 检索已有认知模式 npx @claude-flow/cli@latest memory search --query "cognitive pattern for TASK" --namespace daa-patterns # 任务完成后喂给自适应学习回路(训练神经模型) npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --train-neural true后两条示例出自 daa-specialist Agent,它把daa-patterns命名空间作为认知模式与适配历史的持久化后端。
安装与验证
插件安装方式(见 插件 README):
/plugin marketplace add ruvnet/ruflo /plugin install ruflo-daa@ruflo安装后可用/daa命令查看 DAA 仪表盘(学习指标与活跃 Agent)。版本兼容性上,插件固定依赖@claude-flow/cliv3.6 major+minor,契约验证以 smoke 脚本为准:
bash plugins/ruflo-daa/scripts/smoke.sh # 预期输出:10 passed, 0 failedsmoke.sh 的 10 项结构性检查覆盖:插件版本与关键词(cognitive-patterns、workflows、mcp)、8 个daa_*工具在文档中被引用、两个 skill + 一个 command + 一个 agent 的 frontmatter 完整性、v3.6 版本钉扎、daa-patterns命名空间声明、智能流水线交叉引用、ADR 状态以及"不允许通配符工具授权"。
适用边界与注意事项
最后,依据 daa-tools.ts 头部注释与各工具返回说明,给出三条重要边界:
- 本地状态管理:DAA 工具提供的是本地状态管理——Agent 协调在本地跟踪,不涉及分布式网络通信,适用于工作流编排与状态跟踪;
- 工作流不自动执行步骤:
daa_workflow_execute只跟踪状态,步骤执行需由 Agent 工具完成; - 知识共享的传输方式取决于后端:只有 AgentDB 可用时知识才可向量检索并具备跨 Agent 语义,否则仅为共享 JSON 注册表,不存在跨 Agent 内存传输。
理解了这三点,就能在 ruflo 生态中正确地把 DAA 用于需要"越用越强"的自适应 Agent 场景,并通过daa-patterns命名空间、daa_knowledge_share与 4 步智能流水线,把单个 Agent 的学习成果沉淀为整个 swarm 的集体智能。
【免费下载链接】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),仅供参考