ruflo 知识图谱导航 Agent:基于 AgentDB 的实体抽取、关系映射与 Pathfinder 图遍历实战
ruflo 知识图谱导航 Agent基于 AgentDB 的实体抽取、关系映射与 Pathfinder 图遍历实战【免费下载链接】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 仓库中ruflo-knowledge-graph插件的核心 Agent——graph-navigatoragents/graph-navigator.md展开系统讲解它如何在代码与文档中抽取实体、映射关系、构建存储在 AgentDB 中的知识图谱并通过 Pathfinder 算法按相关度打分与剪枝完成图遍历。读完本文你将掌握该 Agent 的实体/关系类型体系、Pathfinder 五步算法、kg命令的 5 个子命令用法、kg-extract与kg-traverse两个技能的关键细节尤其是 TypeScript 类型导入的甄别以及神经学习与记忆学习两种图构建后的沉淀方式。一、graph-navigator 的定位与职责graph-navigator是 ruflo 生态中负责把代码库变成可查询的知识图谱的 Agent模型为sonnet。其 frontmatter 描述为Extracts entities and relations from code and docs, builds knowledge graphs, and traverses them with pathfinder scoring从代码和文档中抽取实体与关系、构建知识图谱、并以 pathfinder 打分进行遍历。它的五项核心职责来自 agents/graph-navigator.md抽取实体——从代码和文档中识别类、函数、模块、概念、类型等映射关系——在实体间建立 imports、extends、implements、depends-on、calls、references 等边构建知识图谱——实体以层级节点hierarchical nodes存储关系以因果边causal edges存储图遍历——使用 Pathfinder 算法种子节点 → 沿因果边扩展 → 按相关度打分 → 剪枝低相似度路径回答图查询——例如什么依赖于 X从 A 到 B 的路径是什么连接最多的节点有哪些。在插件体系里它隶属于ruflo-knowledge-graph插件该插件在 README.md 中被定义为 Knowledge graph construction —— entity extraction, relation mapping, and pathfinder graph traversal安装方式为claude --plugin-dir plugins/ruflo-knowledge-graph插件的 Agent 面surface为1 个 Agentgraph-navigator 2 个技能kg-extract、kg-traverse 1 个命令kg含 5 个子命令。二、实体类型体系六类节点graph-navigator将代码库中的一切可命名对象抽象为六类实体节点。实体存储采用层级结构hierarchical nodes即每个实体有明确的路径归属便于按路径或查询召回类型示例抽取来源classUserService、AuthController源码类声明functioncalculateDiscount、handleRequest源码函数/方法声明moduleauth、payments、api目录结构与 package.jsonconceptauthentication、caching、rate-limiting文档、注释、ADRtypeUser、OrderStatus、ApiResponseTypeScript 接口、类型别名configdatabase、redis、jwt配置文件、环境变量值得注意的是concept类实体来自文档、注释和 ADR——这意味着知识图谱不仅反映代码结构也承载设计意图与架构决策config类实体则将运行时依赖数据库、缓存、鉴权纳入图中使依赖分析能够延伸到基础设施层面。三、关系类型体系带权重的因果边实体之间通过causal edges因果边相连每条边带方向与权重。权重是 Pathfinder 打分的基础——它表达这条关系对判断相关性的重要程度关系方向权重示例importsA - B1.0auth.serviceimportsuser.repositoryextendsA - B0.9AdminUserextendsBaseUserimplementsA - B0.9UserServiceimplementsIUserServicedepends-onA - B0.8PaymentControllerdepends-onStripeClientcallsA - B0.7handleOrdercallsvalidatePaymentreferencesA - B0.5README referencesAuthModuletestsA - B0.6auth.test.tstestsAuthService注意基础文档中的权重表用于 Agent 的通用抽取而kg-extract技能skills/kg-extract/SKILL.md针对 TypeScript 工程给出了更细的权重修订版见下一节两者配合使用以技能中的精细化规则为准。四、kg-extract 技能实体抽取的实战细节/kg-extract path负责从指定路径的源码中抽取实体与关系。执行流程为Glob/Read枚举读取文件 → 识别类、函数、模块、类型、config 引用 → 为每个实体记录类型、名称、文件位置与描述 → 映射关系 → 通过agentdb_hierarchical-store存入knowledge-graph命名空间 → 通过agentdb_causal-edge为每条关系创建因果边 → 汇总报告实体总数、关系总数、类型分布。4.1 关键坑位TypeScript 类型导入必须单独分类该技能中有一条醒目的强制规则并引用了 ruvnet/ruflo#2049 问题Critical: TypeScriptimport type和行内type说明符import { type Foo, bar }在编译期会被擦除绝不能计为值导入value imports——它们是一种更弱的独立关系。误分类会产生幻影运行时循环phantom runtime cycles。为此技能定义了比基础文档更细的关系权重关系判定规则权重用途限制imports值导入import { x } from ...、require(...)0.9常规依赖分析type-depends-on类型专用导入import type { Foo }与import { type Foo, value }0.1永不用于环检测或运行时影响分析extends类继承0.9—implements接口实现0.7—depends-on构造函数依赖、注入服务0.8—calls函数/方法调用0.7—references文档提及、注释0.3—技能还给出了甄别 TypeScript 导入的三条正则提示避免朴素地grep from造成两类导入混淆^\s*import\stype\s → type-depends-on整个导入均为类型专用 ^\s*import\s*\{[^}]*\btype\s\w → 拆分类型说明符 → type-depends-on值说明符 → imports ^\s*import\s[^{]*\bfrom\s → imports值导入这一细节对依赖分析类工具的准确性至关重要类型导入不产生运行时依赖若被当作值导入计入环检测与影响面分析会得出错误结论。4.2 CLI 替代路径如果不走 MCP 工具也可以用 CLI 完成存储与检索npx claude-flow/clilatest memory store --namespace knowledge-graph --key entity-NAME --value METADATA_JSON npx claude-flow/clilatest memory search --query entities in auth module --namespace knowledge-graph五、Pathfinder 算法种子、扩展、打分、剪枝、排序Pathfinder 是该 Agent 进行图遍历的核心算法用于发现与目标实体相关的子图。算法共五步Seed播种——从目标实体节点出发Expand扩展——沿因果边向外扩展深度可配置默认 3 层Score打分——计算relevance edge_weight × semantic_similarity(query, node)Prune剪枝——移除累计得分低于阈值默认 0.3的路径Rank排序——按累计相关度得分返回 Top-K 路径。kg-traverse技能skills/kg-traverse/SKILL.md将上述算法落地为 7 步操作agentdb_hierarchical-recall查找种子实体 →agentdb_causal-edge找到与种子相连的全部边并递归扩展到指定深度 → 用agentdb_pattern-search计算cumulative_score product(edge_weight × keyword_similarity(query, node))→ 剪掉累计得分低于 0.3 的路径 → 按累计得分降序排序 → 调用agentdb_context-synthesize将 Top 路径合并为连贯摘要 → 展示 Top 10 路径实体链、关系类型、累计得分、合成上下文。技能同时说明semanticRouter控制器在当前 AgentDB 构建中为enabled: falsepattern-search是可用替代对实体名 关系类型的关键词匹配足够若需要更高保真的语义相似度可回退到embeddings_generate 手动余弦计算。六、kg 命令5 个子命令全览/kg命令commands/kg.md提供 5 个子命令kg extract path # 从源文件抽取实体与关系 kg traverse entity # 从种子实体出发做 Pathfinder 遍历 kg relations entity # 列出某实体的全部直接关系 kg visualize # 知识图谱的 ASCII 可视化 kg search query # 在图上的语义搜索各子命令要点kg extract递归扫描path下源码中的类、函数、模块、类型与 config 引用每个实体记录类型/名称/文件位置/描述映射 imports、extends、implements、depends-on、calls、references 关系实体经agentdb_hierarchical-store存到knowledge-graph命名空间关系经agentdb_causal-edge建因果边最终汇报实体总数、关系总数与类型分布。kg traverseagentdb_hierarchical-recall查种子实体 → 沿因果边扩展默认深度 3→ 按relevance edge_weight × semantic_similarity(query, node)打分 → 剪掉累计得分低于 0.3 的路径 → 返回 Top 10 路径含实体、关系、得分。kg relations查询源或目标匹配entity的因果边按关系类型分组以表格展示关系、方向incoming/outgoing、目标实体、权重。kg visualize从knowledge-graph命名空间召回全部实体与边识别度数最高的 Top 10 节点渲染关键节点及其连接的简化图并附实体类型与关系类型图例。kg search经agentdb_pattern-search搜索实体同样因semanticRouter控制器enabled: false而采用 pattern-search 替代必要时回退embeddings_generate 手动余弦用因果边扩展结果以展示相关上下文按 pattern 匹配得分排序展示实体名、类型、文件位置与相关度得分。七、Agent 依赖的 MCP 工具集graph-navigator的工具清单全部指向ruflo-core插件暴露的 AgentDB MCP 工具。这些工具在 agentdb-tools.ts 中均有对应实现MCP 工具用途源码依据agentdb_causal-edge创建/查询实体间因果边agentdb-tools.ts#L432agentdb_hierarchical-store以层级结构存储实体元数据agentdb-tools.ts#L608agentdb_hierarchical-recall按路径或查询召回实体同一文件agentdb_pattern-store存储发现的图模式同一文件agentdb_pattern-search搜索相似图结构agentdb-tools.ts#L210agentdb_context-synthesize从多个图节点合成上下文同一文件embeddings_generate为实体描述生成嵌入向量embeddings-tools.ts其中agentdb_pattern-search的实现采用 BM25语义混合检索ReasoningBank 控制器支持topK默认 5与minConfidence默认 0.3参数并在 ReasoningBank 不可用时提供对称回退agentdb-tools.ts#L236-L239。7.1 一个真实的工具名修复embeddings_generate 而非 embeddings_embedADR-0001docs/adrs/0001-knowledge-graph-contract.md记录了一次真实的 MCP 工具名漂移修复两个文件曾引用不存在的mcp__plugin_ruflo-core_ruflo__embeddings_embed而真实工具是embeddings_generate定义于v3/claude-flow/cli/src/mcp-tools/embeddings-tools.ts:260。调用不存在的工具会导致 tool not found 运行失败。ADR 将技能与 Agent 中的错误引用统一修正为embeddings_generate并在smoke.sh中固化了一条回归检查全插件范围内禁止再出现embeddings_embed作为工具调用点ADR 与 README 中的说明性提及除外。八、图构建后的两种沉淀方式8.1 神经学习Neural Learning完成图构建或遍历任务后可将图遍历轨迹作为模式训练 SONA 神经模型npx claude-flow/clilatest hooks post-task --task-id TASK_ID --success true --train-neural true npx claude-flow/clilatest neural train --pattern-type knowledge-graph --epochs 10第一条命令在任务成功结束后触发神经训练钩子第二条命令以knowledge-graph模式类型训练 10 个 epoch。8.2 记忆学习Memory Learning将成功的图模式与实体抽取结果存入knowledge-graph命名空间形成可复用记忆npx claude-flow/clilatest memory store --namespace knowledge-graph --key entity-ENTITY_NAME --value ENTITY_METADATA_JSON npx claude-flow/clilatest memory store --namespace knowledge-graph --key pattern-PATTERN_NAME --value GRAPH_PATTERN_JSON npx claude-flow/clilatest memory search --query entities related to authentication --namespace knowledge-graph九、命名空间协调与底层存储ruflo-knowledge-graph插件声明独占knowledge-graph这一 AgentDB 命名空间kebab-case遵循 ruflo-agentdb ADR-0001 的命名空间约定且不得遮蔽保留命名空间pattern、claude-memories、default。存储分工明确实体节点经agentdb_hierarchical-store存储、关系边经agentdb_causal-edge存储、语义索引经embeddings_generate生成ADR-0001 特意纠正了此前的错误引用明确不使用embeddings_embed。十、G7 控制器图遍历可借力的底层能力插件 README 指出ADR-095v3/docs/adr/ADR-095-architectural-gaps-from-april-audit.md在 ruflo 3.6.23/3.6.24 中闭合了 5 个 AgentDB 控制器图遍历可充分利用gnnService——基于 AgentDB 因果图的 GNN 嵌入 关系打分可为 Pathfinder 的semantic_similarity(query, node)项补充结构感知评分已确认相关节点的图邻居会获得加分rvfOptimizer——持久化前对向量块做量化与去重。知识图谱索引常含大量近似重复的实体向量同一类被多个模块重复导出rvfOptimizer 可透明折叠它们mutationGuardattestationLogGuardedVectorBackend——对底层向量存储做证明门控写入。当图跨越信任边界如联邦知识导入时.swarm/attestation.db中的证明链会记录每次变更以供事后审计。此外尚未落地的graphAdapter控制器将为本插件提供一等公民的图数据库后端而非在 AgentDB 扁平 causal-edge 表之上构建图视图进展跟踪于 ADR-095。运行时状态可通过agentdb_controllers或agentdb_healthMCP 工具检查。十一、验证契约smoke.sh插件的契约即测试由 scripts/smoke.sh 承担运行方式bash plugins/ruflo-knowledge-graph/scripts/smoke.sh # Expected: 10 passed, 0 failed10 项结构检查覆盖plugin.json 版本 0.2.1 与新关键字mcp、pathfinder-traversal、entity-extraction两个技能存在且 frontmatter 合法Agent 与命令存在embeddings_embed不再出现在工具调用点回归检查embeddings_generate在技能与 Agent 中被引用kg命令覆盖 5 个子命令README 钉住claude-flow/cliv3.6README 引用 ruflo-agentdb 命名空间约定ADR-0001 状态为 Accepted技能无通配符工具授权allowed-tools: *被禁止。十二、相关插件协同graph-navigator并非孤岛它与 ruflo 生态中的多个插件协同ruflo-agentdb——实体、关系、因果边的底层存储HNSW 索引的 AgentDBG7 控制器亦由其运行时提供也是命名空间约定的所有者ruflo-core——Researcher Agent 使用 Pathfinder 遍历进行代码库探索ruflo-ruvector——HNSW 索引提供跨图节点的高速语义搜索ruflo-intelligence——SONA 神经模式从图遍历轨迹中学习ruflo-adr——ADR 依赖图共享同一套因果边模型。安装建议README 明确提示G7 控制器经由 ruflo-agentdb 插件运行时提供两者同时安装才能获得完整的图构建 遍历覆盖。结语graph-navigator展示了代码库理解的一种结构化路径将散落在源码、文档与配置中的实体抽象为带权图用 Pathfinder 的种子-扩展-打分-剪枝-排序机制把什么依赖什么A 到 B 的路径这类问题转化为可计算的图查询。配合kg命令的 5 个子命令、kg-extract/kg-traverse两个技能、神经与记忆两种沉淀方式以及 ADR-095 提供的 GNN、向量优化与证明门控等底层能力它足以支撑影响分析、依赖链发现与代码库探索等场景。若需要更深度的图算法能力agentdb-tools.ts#L1266 中还有 ADR-130 Phase 5 的agentdb_graph-pathfinder支持 personalized-pagerank、dynamic-mincut、spectral-sparsify 等多算法可作为提示层图遍历的升级替代。【免费下载链接】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),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →