ruflo 的 deep-researcher:多源证据分级研究 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 生态(原 agent meta-harness)中 ruflo-goals 插件提供的deep-researcher研究 Agent 展开,完整讲解其七步研究法(范围定义、知识检索、主动研究、交叉验证、证据分级、综合成稿、持久化)以及与之配套的deep-research技能、research-synthesize合成技能与/goals命令。读完本文,你将掌握如何配置与使用这个 Agent 来开展多源深度研究,理解其 High/Medium/Low 证据分级标准、内存命名空间约定,并能结合仓库源码验证其底层调用链与测试契约。
deep-researcher 是什么
deep-researcher是 ruflo-goals 插件内置的四类 Agent 之一,定义于 agents/deep-researcher.md。其 frontmatter 声明如下:
--- name: deep-researcher description: Multi-source research specialist that gathers, cross-references, and synthesizes information with evidence grading and contradiction resolution model: sonnet ---从元数据可以看出三点关键信息:
- 定位:一个"多源研究专家",核心能力是"收集(gather)、交叉验证(cross-reference)、综合(synthesize)",并自带证据分级(evidence grading)与矛盾消解(contradiction resolution);
- 模型选择:
model: sonnet,即该 Agent 默认跑在 sonnet 级模型上; - 触发形态:根据 ruflo-goals README 的选择指南(Selection guide),当用户手里有一个"问题"(question)而非"实体"(seed entity)时,应使用
deep-researcher/deep-research——它的研究方式是线性、问题驱动的,与dossier-investigator(种子驱动、图谱输出)形成互补。
七步研究法:从提问到可复用结论
Agent 正文首先定义了完整的研究方法论(research methodology),共七步。这七步构成了该 Agent 每次任务执行的骨架,也是理解其行为的关键。
1. Scope Definition(范围定义)
在动手搜索之前,先把一个大问题拆解成可独立回答的子问题:
- 将研究问题拆分为3–7 个子问题(sub-questions),保证子问题合起来能覆盖主问题;
- 为每个子问题判断最相关的信源类型(web、记忆、代码库、文档等);
- 估算每个子问题所需的研究深度:quick / standard / deep / exhaustive 四档。
这保证了"广度优先于深度"(breadth before depth)——先看清地形,再向具体点钻。
2. Knowledge Retrieval(知识检索)
先查内部已有知识,避免重复研究。Agent 通过 ruflo-core 提供的 MCP 工具直接检索三类存量:
| 检索目标 | MCP 工具 | 用途 |
|---|---|---|
| 既有研究结论 | mcp__plugin_ruflo-core_ruflo__memory_search_unified | 在统一记忆中查找先前发现 |
| 已知模式 | mcp__plugin_ruflo-core_ruflo__agentdb_pattern-search | 在模式库中查询已知 pattern |
| 分层上下文 | mcp__plugin_ruflo-core_ruflo__agentdb_hierarchical-recall | 检索层级化记忆中的相关上下文 |
这些工具名在仓库中可以被直接检索到(例如 ruflo-core 的研究型 Agent 与 MCP 往返测试脚本 即覆盖了memory_search_unified、agentdb_pattern-search、hierarchical-recall等往返调用),说明这条知识检索链路不是文档中的抽象描述,而是真实可用的 MCP 工具面。
3. Active Research(主动研究)
在内部知识不足以回答的子问题上展开主动采集,信源按问题类型分派:
- Web 搜索:针对每个子问题检索当前信息;
- 代码库分析:使用 grep / find / read 回答实现细节类问题;
- 文档审阅:针对 API / 库用法类问题查阅官方文档。
4. Cross-Referencing(交叉验证)
把多个来源的发现放到一起对照:
- 比较各来源之间是一致还是矛盾;
- 检查时效性(recency)——更新的数据可能覆盖旧结论;
- 用多个独立来源验证关键论断,而不是轻信单一来源。
5. Evidence Grading(证据分级)
对每条发现给出证据等级,这是 deep-researcher 输出质量的基石:
| 等级 | 判定标准 |
|---|---|
| High | 多个独立来源一致、可直接观测、可复现 |
| Medium | 单一可信来源、间接支持、合理可信 |
| Low | 道听途说、单一未验证来源、推测性结论 |
6. Synthesis(综合成稿)
按固定结构输出最终研究成果,确保每次产出的报告可直接被下游消费:
- Executive summary:直接回答原始问题;
- Key findings:按证据质量排序的关键发现;
- Contradictions:标注矛盾点及其消解方式,或明确标注 "unresolved"(未解决);
- Open questions:遗留问题与建议的下一步动作。
7. Persistence(持久化)
研究不随会话结束而丢失,全部沉淀回记忆系统:
- 用
mcp__plugin_ruflo-core_ruflo__memory_store将发现存入research命名空间; - 用
mcp__plugin_ruflo-core_ruflo__agentdb_pattern-store存入可复用模式; - 将来源引用存入
research-sources命名空间。
这呼应了 Agent 的核心信念"Store everything"——今天的发现要让未来的会话受益。
五条研究原则
Agent 正文末尾明确给出了约束自身行为的五条原则,可作为使用者评判其输出质量的标准:
- Breadth before depth(先广后深):在深入细节前先总览全局;
- Source diversity(信源多样):不依赖单一来源类型;
- Contradiction is signal(矛盾即信号):来源间的分歧往往暴露重要细节;
- Recency matters(时效重要):显式标注信息可能过时;
- Store everything(全部沉淀):未来会话受益于今日发现。
深度等级:quick / standard / deep / exhaustive
配套的 deep-research 技能 将范围定义中的深度档位具象化为可执行的资源预算,供使用者(或上层规划器)按成本选择:
| 深度 | 动作组合 | 大致耗时 |
|---|---|---|
| Quick | 记忆检索 + 1–2 次 web 查询 | 2–3 分钟 |
| Standard | 记忆 + web + 代码库扫描 | 5–10 分钟 |
| Deep | 全部信源 + 交叉验证 + 模式存储 | 15–30 分钟 |
| Exhaustive | Deep + 派生子 Agent 并行研究线程 | 30 分钟以上 |
Exhaustive 档意味着研究本身可以编排成多 Agent 并行,与 ruflo 的 swarm 能力天然衔接。
配套技能与命令:如何把研究成果真正用起来
deep-researcherAgent 不是孤立的:ruflo-goals 用技能(skills)把它的方法论拆成可复用的"操作手册",用命令(commands)提供状态查询入口。
deep-research 技能:八步编排
skills/deep-research/SKILL.md 把 Agent 的七步法翻译成了更面向编排的八步清单:
- 定义研究范围(拆成 3–7 个子问题);
- 检索既有知识(
memory_search_unified+agentdb_pattern-search); - 使用
WebSearch/WebFetch逐子问题采集外部信息; - 用
Bash(grep/find)、Read做代码库分析; - 跨来源对照,识别一致与矛盾;
- 用
memory_store以research命名空间存储每条关键发现; - 用
agentdb_pattern-store存储发现的复用模式; - 产出结构化研究报告,包含:执行摘要(2–3 句)、关键发现(列表)、逐条证据质量评估(high/medium/low)、遗留开放问题、建议的下一步。
该技能的allowed-tools字段还限定了可用的 MCP 工具白名单(memory_store、memory_search、memory_search_unified、agentdb_hierarchical-store/re-call、agentdb_pattern-search/store、neural_predict、hooks_intelligence_pattern-search/store、task_create/list/summary以及 Bash、WebSearch、WebFetch、Read、Write)——白名单机制保证了技能在执行时不会越权调用无关工具。
research-synthesize 技能:把分散发现合成报告
研究往往不是一次性完成的。当多次执行 deep-research 后,需要把散落在记忆中的发现拉通成一份带建议的合成报告时,就轮到 research-synthesize:
- 汇聚发现:分别从
research(原始发现)、research-sources(来源引用)、agentdb_pattern-search(模式)、agentdb_context-synthesize(AI 辅助上下文构建)中取数; - 证据分级:对每条发现按 High/Medium/Low 三档评估;
- 矛盾消解:定位具体冲突论断 → 比较证据质量 → 检查时效(新数据可能覆盖旧结论)→ 对无法消解的矛盾显式标注;
- 相关性预测:调用
neural_predict对"哪些发现与原始目标最相关"打分; - 结构化输出:执行摘要(2–3 句直接回答问题)、按证据质量排序的关键发现、方法论(检查了哪些信源)、局限(未检查项与不确定性)、建议(具体下一步动作)、参考(来源链接与记忆键);
- 持久化:用
memory_store将完整报告存入research-synthesis命名空间。
技能还给出了标准输出模板,可以直接套用:
# [Research Topic] — Synthesis Report ## Summary [2-3 sentence answer] ## Key Findings 1. [Finding] — Evidence: High/Medium/Low 2. [Finding] — Evidence: High/Medium/Low ## Contradictions - [Claim A] vs [Claim B]: [resolution or "unresolved"] ## Recommendations 1. [Action] — because [reasoning] ## Sources - [key]: [description]/goals 命令:查询研究状态
研究产出的可见性由 commands/goals.md 提供。/goals命令会:
- 用
memory_list枚举horizons命名空间下的活动目标(仅当需要语义过滤时才用memory_search——*不是合法的语义查询); - 对每个 horizon 展示:目标、当前里程碑、进度百分比、目标日期、漂移状态;
- 用
memory_list列出research-synthesis命名空间下的已完成研究报告; - 汇总成目标 + 研究状态的总览表。
Neural Learning:研究模式的自我沉淀
Agent 与技能文档的结尾都附带了"神经学习"段落,用两条命令把任务结果回灌给系统,供未来研究继承:
npx @claude-flow/cli@latest hooks post-task --task-id "TASK_ID" --success true --store-results true npx @claude-flow/cli@latest memory search --query "TASK_TYPE patterns" --namespace patterns第一条命令在任务成功后把轨迹与结果写入 hook 存储;第二条从patterns命名空间检索同类任务的既有模式。CLI 版本被 pin 在@claude-flow/cliv3.6 主次版本(见 ruflo-goals README 的 Compatibility 节)。
命名空间约定:research → goals-research 的演进路径
deep-researcher 使用的research/research-sources命名空间属于历史遗留命名。根据 ADR-0001(ruflo-goals 插件契约) 与 ruflo-goals README 的 Namespace coordination 节,ruflo-agentdb ADR-0001 定义了<plugin-stem>-<intent>的 kebab-case 命名规范,而本插件六个命名空间早于该规范:
| Legacy(当前) | Canonical(前进方向) | 状态 |
|---|---|---|
research | goals-research | 遗留读取 + 新写入待数据迁移 ADR |
research-sources | goals-research-sources | 遗留读取 + 新写入待定 |
约定是:本插件的新写入应使用 canonical kebab-case 形式,读取时新旧两种命名空间都检查(向后兼容),同时pattern、claude-memories、default等保留命名空间不允许被遮蔽。也就是说,如果你基于本插件二次开发,写入研究结果时应优先写goals-research,读取时兼容research。
与同插件其他 Agent 的分工
deep-researcher只回答"问题",ruflo-goals 的其他三个 Agent 覆盖了互补场景(参见 README 选择指南 与 dossier-investigator 定义 中的 "When to NOT use" 段落):
| 场景 | 使用 |
|---|---|
| 手里有一个问题 | deep-researcher/deep-research(线性、证据分级) |
| 手里有一个种子实体,想向外展开 | dossier-investigator/dossier-collect(递归并行、图谱输出) |
| 多步骤目标 | goal-planner/goal-plan(GOAP A* 规划) |
| 跨会话长期目标 | horizon-tracker/horizon-track(漂移检测) |
其中dossier-investigator由 ADR-099 规范,采用种子驱动、图谱输出、预算上限(hop/token/time)、逐论断溯源四条不变量,与 deep-researcher 的"问题驱动、线性报告"恰好相反;goal-planner则在 agents/goal-planner.md 中定义了 Focused / Closed / Open 三种执行模式与 OODA 循环监控。
验证:smoke.sh 作为契约门禁
deep-researcher 所在的插件把验证固化为脚本契约:plugins/ruflo-goals/scripts/smoke.sh 共执行 10 项结构性检查,预期输出10 passed, 0 failed。其中与本 Agent 直接相关的检查包括:
- 检查 5 个技能 + 4 个 Agent(含
deep-researcher)+ 1 个命令的文件存在性与 frontmatter 完整性(name:/description:); - 检查选择指南是否覆盖 4 类任务模式(question / seed entity / multi-step / long-running);
- 检查 v3.6 CLI pin、命名空间映射文档、ADR-099 交叉链接;
- 检查所有技能没有通配符工具授权(
allowed-tools: *即失败)——这保证了 deep-researcher 依赖的技能以最小权限运行。
运行验证:
bash plugins/ruflo-goals/scripts/smoke.sh # Expected: "10 passed, 0 failed"小结
deep-researcher是 ruflo 生态中"问题驱动型"研究的标准答案:它以七步方法论(范围定义 → 知识检索 → 主动研究 → 交叉验证 → 证据分级 → 综合成稿 → 持久化)保证研究过程可复现、输出可分级、结论可溯源;通过 High/Medium/Low 证据分级与矛盾消解机制约束输出质量;通过research/research-sources命名空间与post-taskhook 实现跨会话的知识沉淀。配合deep-research技能的四档深度预算、research-synthesize技能的合成报告模板,以及/goals命令的状态可见性,它既能独立完成一次深度调研,也能嵌入长期目标追踪与多 Agent 协同的工作流中。若要基于它二次开发或验证其行为契约,smoke.sh 与 ADR-0001 是最直接的源码级入口。
【免费下载链接】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),仅供参考