深入分析Karpathy 推荐的知识管理的LLM-Wiki方式在Claude Code +Graphify中如何实现

深入分析Karpathy 推荐的知识管理的LLM-Wiki方式在Claude Code +Graphify中如何实现svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 
  
    
     
      
     

从代码到知识图谱:一个端到端的代码理解系统架构剖析

从代码到知识图谱:一个端到端的代码理解系统——工作原理、算法实现与数学形式化

本文以 Karpathy「用 LLM 编译个人知识库」(LLM Wiki) 为思想源头,以开源项目 Graphify 的工程实现为剖析对象。Graphify 将 Claude Code 的 Skill 机制与图算法结合,实现了知识的自动提取、拓扑聚类与可审计查询。全文按「总—分—总」展开:先讲工作原理(§一),再逐阶段深入技术实现(§二–§七),最后总结回到原理(§八)。

本文以 Karpathy「用 LLM 编译个人知识库」(LLM Wiki) 为思想源头,以开源项目 Graphify 的工程实现为剖析对象。Graphify 将 Claude Code 的 Skill 机制与图算法结合,实现了知识的自动提取、拓扑聚类与可审计查询。全文按「总—分—总」展开:先讲工作原理(§一),再逐阶段深入技术实现(§二–§七),最后总结回到原理(§八)。

0.1 参考文献链接

文献 作者 / 说明 链接 Graphify:把 Karpathy 的 LLM Wiki 从理念变成了产品(本文理论基础主依据) Richie Yang 微信公众平台原文 Karpathy 的 LLM Wiki——当 AI 成为你的知识管家(系列前置) 同一系列解读 微信跳转

微信网页端可能要求验证;以本地剪藏或已登录会话为准。

0.2 Karpathy 推荐的知识管理LLM-Wiki的核心设计

  1. 问题定位
    Karpathy(约 2026 年 4 月)提出「用 LLM 编译知识」:让模型像图书管理员一样维护可增长的个人知识库。开源项目 Graphifygithub.com/safishamsi/graphify)被该文表述为将这一理念工程化落地的流水线产品形态(文中称发布初期即获较高 Star 关注)。




  2. 相对 LLM Wiki 的三点「进化」(该文用语)
    • 从 Wiki 到 Graph:中间表示为 NetworkX 图 + Leiden 社区检测,而非仅平面 Markdown 互链。
    • 双轨提取代码tree-sitter AST(确定性、无 LLM token);文档 / 图像LLM 语义提取(含并行子代理分批)。
    • 信任审计:边带 EXTRACTED / INFERRED / AMBIGUOUS,区分「找到的」与「猜的」。
  3. 架构叙事
    七阶段流水线(检测 → 提取 → 构建 → 聚类 → 分析 → 报告 → 导出)模块间用 dict + NetworkX 传递,无共享全局状态;聚类刻意不用向量数据库,以图拓扑边密度为主信号,语义相似边直接进入图参与 Leiden。




  4. 信任与「为什么」
    除三级置信度外,该文强调 rationale 类节点(如 # WHY: / # HACK: / # NOTE: 与设计权衡叙述)被抽成原理节点,指向被解释的概念,体现「不只记录做了什么,还记录为什么」。




  5. 的叙事
    该文将数字解释为:首次运行支付提取与建图 token;后续查询读紧凑的 graph.json 而非全量原始文件,从而在混合语料基准下得到约 71.5× 的查询侧 token 压缩叙事;并提到 SHA256 缓存与增量更新降低重复编译成本。




  6. 产品与生态
    该文还概括:超边、全模态视觉理解、PreToolUse 钩子(先读图谱报告再 Grep/Glob)、MCP 暴露 query_graph / get_neighbors / shortest_path 等;以及 隐私边界(代码本地 AST;文档/图走所用平台 API;无遥测等)与 security.py 一层防护。




0.3 Karpathy 理念 vs Graphify 实现(对照表,据 Richie Yang 一文)

维度 Karpathy LLM Wiki(理念侧) Graphify(实现侧,据该文) 存储形态 Markdown Wiki NetworkX 图 + graph.json 等 知识组织 LLM 维护反向链接等 Leiden 自动社区发现 代码 多依赖 LLM AST 零 token + 文档/图走 LLM 可信度 该文称无系统标注 三级置信度 + 分数 增量 概念性 SHA256 缓存、–update、git hooks 多模态 提及图片等 视觉理解(截图/图表/白板等) 工具链 该文举 Obsidian HTML、Obsidian、Neo4j、MCP、SVG 等

该文总结性判断:从「LLM 维护平面 Wiki」到「LLM + AST 共建知识图谱」属于范式提升(文档管理 → 图计算),而不仅是简单工程堆砌。


数学符号约定:公式采用 LaTeX 语法,定界符已统一为 GitHub / 多数编辑器通用写法:行内用 \(…\),独立公式用单独成行的 $\( … \)$(便于在 GitHub、Obsidian、Typora、Markdown Preview Enhanced 等环境中由 KaTeX/MathJax 渲染)。


一句话:Graphify 把一个文件夹变成一张可查询的知识图谱——你只付一次「编译」成本,之后每次提问都只读图,不读原始文件。

1.1 它解决什么问题

传统做法是把整个代码库塞进 LLM 的上下文窗口。假设语料有 个词,每个词约产生 个 token,那么每次查询消耗约

个 token。10 万词的仓库每次就要读 13 万 token,而大部分内容与当前问题无关。

Graphify 的策略是先编译,后查询。一次性把语料 提取为图 ,后续查询只在 上做局部展开,取出与问题相关的子图 :

在 52 文件混合语料基准下,实测压缩约 71.5×。查询越多,编译成本越早摊平。

1.2 与传统 RAG 的本质区别

要理解 Graphify 的设计选择,需要先看清传统 RAG 的瓶颈。

传统 RAG 的代价:2023–2024 年主流的 RAG 采用「分块 → 向量化 → 相似度检索 → 拼接生成」的线性逻辑。每一步都伴随高额 token 消耗:文档预处理阶段需要通过 LLM 做向量化 embedding(数万 token),查询阶段需要召回多个文本块拼接成上下文(重复消耗)。更关键的是,基于向量的语义相似度检索无法理解实体之间的逻辑关系——它能回答「公司 2024 年新产品的核心功能是什么?」,但无法回答「为什么 AuthHandler 要依赖 TokenValidator 而不是直接调用 UserModel?」这类需要多跳推理的问题。

Graphify 的范式转换:从「向量近似匹配」到「图结构精确推理」。区别在于对「知识表示」的根本理解不同:

维度 传统 RAG Graphify 知识表示 文本块 → 高维向量 实体 + 关系 → 图 相关性定义 向量空间中的余弦距离 节点间的连接路径和拓扑结构 检索方式 全局 ANN 近似搜索 从种子节点做局部 BFS/DFS 预处理代价 每次更新需重新 embedding AST 零 token + SHA256 缓存(一次计算,多次复用) 推理能力 单跳语义匹配 多跳关系推理(最短路径、社区归属) 可解释性 黑盒(「为什么召回这个块?」) 白盒(检索路径清晰可见)

71.5× 从何而来? 三个支柱的组合发力:

  1. AST 零 token:对代码文件的结构提取完全在本地完成(tree-sitter),不调用 LLM。传统 RAG 对同样的代码文件需要先 embedding 再存入向量库。
  2. 并行子代理精准打击:仅对文档/论文/图片做语义提取,每个子代理处理单个文件而非整个语料,大幅减少单次上下文长度。
  3. SHA256 缓存:文件内容不变则哈希不变,直接复用上次的提取结果。软件开发中 70–80% 的代码在版本间不变,缓存命中率极高。

用一个具体场景量化:假设 100 文件代码库,每文件平均 1000 token。传统 RAG 每次查询需要 embedding + 检索 + 拼接 ≈ 10 万 token。Graphify 首次编译后,后续查询只从图中取出相关子图(通常是原始语料的 1% 以下),每次查询约 1400 token。。

局限性也需要诚实面对:Graphify 的优势场景是代码库、技术文档、学术论文等结构化/半结构化内容。对于纯自然语言非结构化文本(小说、随笔、自由格式博客),AST 无法解析,优势大打折扣。对于需要跨大量离散知识点做创造性联想的问题,基于图结构的检索可能不如向量语义检索灵活——图擅长的是已建立连接的实体关系推理,而非未知关联的发现。未来的最优方案很可能是混合架构:图结构的关系推理 + 向量检索的语义灵活性。

1.3 端到端流程(三步理解)

整个系统可以分三步理解:

第一步:看到什么?
detect() 扫描文件夹,把每个文件分为 CODE / DOCUMENT / PAPER / IMAGE 四类,跳过 .env、密钥等敏感文件。



第二步:理解什么?
这是核心,分两条并行轨道:



  • 左轨(AST):对代码文件用 tree-sitter 做确定性语法分析——类、函数、import、调用图。零 token 消耗,毫秒级完成,产出的边标记为 EXTRACTED(置信度 1.0)。
  • 右轨(LLM):对文档、论文、图片启动并行 Claude 子代理,提取概念、关系、设计意图。产出的边标记为 INFERRED(0.4–0.9)或 AMBIGUOUS(0.1–0.3)。

两轨结果合并进同一张 NetworkX 图,然后用 Leiden 算法按边密度自动发现「社区」(概念聚类)——不需要 embedding,不需要向量数据库,图的拓扑结构本身就是相似性信号

第三步:输出什么?

  • graph.json:持久化图谱,跨会话查询的基础。
  • graph.html:vis.js 交互式可视化,可搜索、按社区过滤。
  • GRAPH_REPORT.md:God Nodes(核心抽象)、惊人连接(跨领域关联)、AMBIGUOUS 边清单、建议问题——人类可读的审计报告
  • 可选:Obsidian Vault、SVG、Neo4j Cypher、GraphML、Wikipedia 风格 Wiki。

1.4 信任模型

Graphify 的设计哲学是「诚实」:不给你黑盒答案,而是让你看到知识的来源和可靠程度。

标签 含义 来源 置信度 EXTRACTED 直接在源码中找到 AST import/call/class 1.0 INFERRED 合理推断 LLM 语义分析 0.4–0.9 AMBIGUOUS 不确定,供人工审查 LLM 低信心输出 0.1–0.3

此外还有 rationale 节点:代码中的 # WHY:# HACK:# NOTE: 会被提取为「原理节点」,指向它们解释的概念——不只记录做了什么,还记录为什么

1.5 本文结构

后文按「分」→「总」展开:

章节 内容 阅读目标 §二 系统架构:管道设计、数据流、模块职责、Skill 平台 建立全局地图 §三 管道逐阶段:detect → extract → build → cluster → analyze → report → serve 理解每个阶段的原理、实现与数学 §四 数据模型:节点、边、社区、超边的 JSON 模式 读懂 graph.json §五 用例与时序图 看具体场景的数据流转 §六 安全架构 理解威胁模型与防护 §七 工程实践:设计模式、测试、性能 了解代码质量保障 §八 总结:71.5× 量化路径、适用边界、范式定位 回顾核心洞察与未来展望

在这里插入图片描述

2.1 管道式架构(Pipeline Architecture)

Graphify 采用经典的 顺序管道架构,由七个纯函数阶段组成,每个阶段对应一个独立模块:

detect() → extract() → build_graph() → cluster() → analyze() → report() → export() 

所有阶段通过 纯 Python 字典NetworkX 图对象 通信——无共享状态、无副作用(所有输出限制在 graphify-out/ 目录)。

 ┌─────────────────────────────────────────────────────────────┐

 │ Graphify Pipeline │ │ │ 

┌──────────┐ │ ┌────────┐ ┌─────────┐ ┌───────┐ ┌─────────┐ │ │ 文件系统 │─────▶│ │ detect │──▶│ extract │──▶│ build │──▶│ cluster │ │ │ / URL │ │ └────────┘ └─────────┘ └───────┘ └────┬────┘ │ └──────────┘ │ │ │ │ │

                │       │            │         ┌───────────┐    │             │
                │       │        ┌───┘         │  analyze  │◀───┘             │
                │       │        │             └─────┬─────┘                  │
                │       │        │                   │                        │
                │       ▼        ▼                   ▼                        │
                │  ┌─────────────────────────────────────────┐                │
                │  │              report()                   │                │
                │  └───────────────────┬─────────────────────┘                │
                │                      │                                      │
                │                      ▼                                      │
                │  ┌─────────────────────────────────────────┐                │
                │  │              export()                   │                │
                │  │  JSON │ HTML │ SVG │ Obsidian │ Neo4j   │                │
                │  └─────────────────────────────────────────┘                │
                └─────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
                                graphify-out/
                                ├── graph.json
                                ├── graph.html
                                ├── GRAPH_REPORT.md
                                └── cache/

2.2 数据流全景

下图展开管道内部的数据流向,特别是提取阶段的「双轨并行」——左轨 AST 与右轨 LLM 各自产出不同置信度的边,在 build 阶段汇合:

 输入层

┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ .py │ │ .md │ │ .pdf │ │ .png │ │ .ts │ │ .txt │ │ paper │ │ .jpg │ │ .go │ │ .rst │ │ │ │ .svg │ │ .rs │ │ .docx │ │ │ │ │ │ ...20 │ │ .xlsx │ │ │ │ │ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ │ │ │ │ ▼ ▼ ▼ ▼ ┌─────────────────────────────────────────┐ │ detect() — 文件发现与分类 │ │ .graphifyignore 敏感文件过滤 类型分类 │ └─────────────────────┬───────────────────┘ │ ┌───────────┴───────────┐ ▼ ▼ ┌──────────────────┐ ┌──────────────────┐ │ AST 提取 (本地) │ │ 语义提取 (LLM) │ │ tree-sitter │ │ Claude 子代理 │ │ 确定性、零 token │ │ 文档/论文/图片 │ │ → EXTRACTED 边 │ │ → INFERRED 边 │ └────────┬─────────┘ └────────┬─────────┘ │ │ └──────────┬───────────┘ ▼ ┌──────────────────┐ │ build_from_json()│ │ 验证 + 去重 + 合并│ │ → nx.Graph │ └────────┬─────────┘ │ ┌────────┴────────┐ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ cluster() │ │ analyze() │ │ Leiden 社区 │──▶│ God Nodes │ │ 发现 + 分裂 │ │ 惊人连接 │ └──────────────┘ │ 智能提问 │ └──────┬───────┘ │ ┌─────────┴─────────┐ ▼ ▼ ┌──────────────┐ ┌──────────────┐ │ report() │ │ export() │ │ 审计报告 │ │ JSON / HTML │ └──────────────┘ │ SVG / Neo4j │ └──────┬───────┘ ▼ ┌──────────────┐ │ serve() │ │ MCP 查询服务 │ └──────────────┘ 

2.3 模块职责矩阵

模块 大小 核心函数 输入 → 输出 关键依赖 detect.py 18KB detect(root) 目录 → {files, total_words, needs_graph} os, pathlib extract.py 115KB extract(paths) [Path]{nodes, edges} tree-sitter, 种语言 build.py 4KB build_from_json(extraction) 提取字典 → nx.Graph networkx cluster.py 5KB cluster(G) 图 → {community_id: [node_ids]} graspologic / networkx analyze.py 20KB god_nodes(), surprising_connections() 图 → 分析结果字典 networkx report.py 7KB generate(…) 图 + 分析 → Markdown 字符串 — export.py 38KB to_html(), to_json(), to_obsidian() 图 → 多格式输出 vis.js, matplotlib security.py 7KB validate_url(), sanitize_label() 外部输入 → 验证/清洁 ipaddress, socket serve.py 14KB serve(graph_path) 图文件 → MCP stdio 服务器 mcp cache.py 5KB check_semantic_cache() 文件列表 → (缓存, 未缓存) hashlib watch.py 6KB watch(path) 目录 → 文件变更监控 watchdog ingest.py 10KB ingest(url, target_dir) URL → 保存到语料目录 urllib wiki.py 7KB to_wiki(G, communities) 图 → Wikipedia 风格 wiki — hooks.py 7KB install() / uninstall() — → Git hook 管理 — benchmark.py 5KB run_benchmark() 图文件 → token 减少比 —

2.4 关键设计决策

决策 理由 延迟导入init.pygetattrgraphify install 需要在 tree-sitter 等重依赖安装前就能工作 无向聚类,有向保留 Leiden/Louvain 要求无向输入;边属性 _src/_tgt 保留原始方向 语义不进入 watch 自动重建 非代码变更只写 needs_update 标志,避免无 LLM 环境下的”半更新” 三值置信 + 可选分数 离散标签服务人类审计; confidence_score 服务排序 固定随机种子 Louvain seed=42、spring_layout seed=42,保证可复现性 资源上限 HTML 可视化 ;URL 抓取上限 50MB / 10MB 模块间零共享 跨阶段仅通过 dict、 nx.Graph 与磁盘产物通信
各阶段接口契约(摘要)
  • extract(paths) → dict:必须含 nodesedges;可选 hyperedges、token 计数
  • build_from_json(extraction) → nx.Graph:节点至少含 id/label/file_type/source_file
  • cluster(G) → dict[int, list[str]]:社区编号 → 节点 id 列表
  • MCP 工具入参 JSON;query_graph 输出纯文本子图摘要,受 token_budget 截断

组件间禁止共享可变全局状态;跨阶段仅通过 dict、nx.Graph 与磁盘产物通信。

2.5 与 Karpathy LLM-Wiki 方法论的对齐

Graphify 与 LLM-Wiki 的核心共识是「先编译,后查询」——知识应被编译为可导航结构,而非每次从头读原始素材。差异在于中间表示:Wiki 用 Markdown 互链,Graphify 用知识图谱。

LLM-Wiki 环节 Graphify 对应 素材沉淀(raw) detect + ingest(url) 消化(digest) extract(AST)+ LLM 子代理(语义) 可导航结构 to_wikito_obsidiangraph.html 查询 MCP query_graph / shortest_path 持续积累 memory/ + save_query_result 健康检查 AMBIGUOUS 清单、 suggest_questions

2.6 多平台 Skill 资产(graphify/skill*.md

Skill 文件不是可执行代码,而是一份给 AI 编码助手阅读的编排规范(Markdown 格式)。它告诉宿主 AI:当用户输入 /graphify 时应该做什么——检测 Python 解释器、安装 graphifyy 包、运行 detect() 扫描文件、并行派发子代理处理语义提取、最终合并结果并导出。

默认宿主是 Claude Code,但 Graphify 设计为跨平台——核心算法在 Python 库中,skill 只是「告诉不同 AI 怎么调用这个库」的适配层。仓库 graphify/ 目录下包含 9 个 Markdown 变体,随 PyPI 包 package-data 分发,覆盖 11 种平台(含 Gemini、Cursor 的独立安装路径)。

2.6.0 安装与触发方式

运行 graphify install 即可安装 skill,默认平台为 Claude Code:

graphify install # 默认 → Claude Code(/.claude/skills/graphify/SKILL.md) graphify install –platform codex # → OpenAI Codex graphify install –platform copilot # → GitHub Copilot CLI graphify install –platform cursor # → Cursor(特殊:仅写规则文件,不安装 skill) graphify install –platform gemini # → Gemini CLI graphify install –platform trae # → Trae IDE(trae-cn 为国内镜像) graphify install –platform aider # → Aider graphify install –platform opencode # → OpenCode graphify install –platform claw # → OpenClaw graphify install –platform droid # → Factory Droid graphify install –platform windows # → Windows 上的 Claude Code(PowerShell 版本) 

安装后,用户在对应 AI 助手中输入 /graphify(或平台约定的触发词),AI 读取 skill 文件并按其中的步骤编排执行整个管道。Skill 内部的完整流程为:

Step 1: 检测 Python 解释器 → pip install graphifyy → 记录路径到 .graphify_python Step 2: detect() — 文件发现与分类 Step 3 Part A: AST 提取(调用库内 extract) Step 3 Part B: 语义提取(并行派发子代理读文档/论文/图片)← 各平台差异焦点 Step 4: 合并 AST + 语义结果 Step 5: cluster() + analyze() Step 6: 社区命名 Step 7: build() + report() + export() Step 8: 清理临时文件 

Cursor 的特殊情况:Cursor 不安装 skill 文件,而是在项目下写入 .cursor/rules/graphify.mdcalwaysApply: true),提醒模型先读 GRAPH_REPORT.md。即需要先在命令行或其他环境运行 graphify . 生成图谱,然后 Cursor 的 AI 会自动参考图谱报告来理解代码。

2.6.1 源文件与 CLI 安装路由
源文件 graphify install –platform 默认安装位置( 下) 说明 skill.md claude(默认) .claude/skills/graphify/SKILL.md 触发 /graphify;向 /.claude/CLAUDE.md 注册 skill;与 Gemini CLI 共用同一源文件(见下表「非 _PLATFORM_CONFIG」)。 skill-windows.md windows .claude/skills/graphify/SKILL.md Windows 上 Claude Code: PowerShell 块替代 bash;frontmatter name: graphify-windowsskill-codex.md codex .agents/skills/graphify/SKILL.md 宿主侧常用 $graphify 触发(以 Codex 约定为准)。 skill-opencode.md opencode .config/opencode/skills/graphify/SKILL.md OpenCode 技能目录布局。 skill-aider.md aider .aider/graphify/SKILL.md 另配合 graphify aider install 写项目 AGENTS.md(见 README / CHANGELOG)。 skill-copilot.md copilot .copilot/skills/graphify/SKILL.md 亦可通过子命令 graphify copilot install / uninstall 管理。 skill-claw.md claw .claw/skills/graphify/SKILL.md OpenClaw。 skill-droid.md droid .factory/skills/graphify/SKILL.md Factory Droid(Codex Factory)。 skill-trae.md trae .trae/skills/graphify/SKILL.md Trae IDE;国内镜像配置用 trae-cn.trae-cn/skills/graphify/SKILL.md(同一源文件)。

未列入上表、但相关的安装行为

行为 所用素材 说明 graphify install –platform gemini 复制 skill.md/.gemini/skills/graphify/SKILL.md 写入 GEMINI.md 段落,并在 ~/.gemini/settings.json 注册 BeforeTool 类钩子(`read_file graphify install –platform cursor 不复制 SKILL 仅在 项目下写入 .cursor/rules/graphify.mdcalwaysApply: true),提醒模型先读 GRAPH_REPORT.md / wiki; 自带 /graphify 触发器,需用户先在本机或其它环境跑通管道生成 graphify-out/。 OpenCode 可选插件 main.py 内嵌 JS _install_opencode_plugin 写入 .opencode/plugins/graphify.js 并在 opencode.json 注册,在 bash 工具执行前 追加一行提醒;与 skill-opencode.md 互补。

安装完成后,目标目录旁常带 .graphify_version,与当前包版本比对;过旧时 CLI 打印警告,提示重新执行 graphify install

2.6.2 各变体共同骨架
  1. YAML frontmatternamedescriptiontrigger(多为 /graphify)。
  2. Usage:列出路径、 –mode deep–update–cluster-onlyquery / path / explainadd –mcp–watch 等;不同文件之间可能有细微差别(例如是否单独列出 –wiki–obsidian–directed),以对应平台实际打包的 skill-.md 为准。
  3. Step 1:用 which graphify 的 shebang 解析 真实 Python,必要时 pip install graphifyy,并把解释器路径写入 .graphify_python(多数变体与 skill.md 一致时 落在 graphify-out/.graphifypython)。
  4. Step 2–8(主流程)detectAST 与语义抽取并行或顺序 → 合并 → analyze → 社区命名 → build / report / export → 清理临时 .graphify(保留 graph.json、报告与缓存策略依文内说明)。
  5. 查询与记忆:语义阶段之后的 query / path / explain 鼓励通过 graphify save-result(CLI)落盘,避免在 skill 内嵌大块 Python。
  6. 大库护栏total_wordstotal_files 超阈时暂停让用户选子目录等逻辑,各变体与 skill.md 对齐。
2.6.3 平台差异焦点:语义抽取(Step 3 Part B)

AST 路径各变体均调用库内 extract(代码);差异主要在「谁来读 PDF/MD/图」以及如何并行

平台(源文件) 语义抽取编排 要点 Claude Codeskill.mdAgent 工具,单条用户消息内派发多个子代理,且与 Part A AST 并行 强制使用子代理批量读文件;含 语义缓存check_semantic_cache.graphify_uncached.txt 等)以减少重复 token。 Codexskill-codex.mdspawn_agent + wait + close_agent 明文禁止主会话逐文件自读;并行策略与 Claude 类似但 API 名不同。 OpenCodeskill-opencode.md) 单条消息内 @mention 多代理 与 Claude「多代理同消息」同哲学,适配 OpenCode 的 mention 调度。 GitHub Copilot CLIskill-copilot.md) 与 skill.md 同型的 Agent 并行 + graphify-out/ 中间文件布局 目录约定向 Copilot 技能路径对齐,流水线语义与 Claude 变体最接近。 Factory Droidskill-droid.mdTask 工具并行派发子任务 适配 Droid 环境的 Task 抽象。 Traeskill-trae.mdAgent(Task)工具并行 文内强调 Trae 不支持 PreToolUse 钩子,always-on 依赖项目 AGENTS.md 规则;需用户必要时手动 –updateAiderskill-aider.md顺序:主模型自行逐文件阅读抽取 多代理能力仍弱时的可靠降级,latency 更高。 OpenClawskill-claw.md顺序自读 与 Aider 同属「慢但稳」分支。
2.6.3A Skill 在系统中的角色——一图看懂
┌─────────────────────────────────────────────────────────────────┐ │ 用户输入: /graphify . │ └───────────────────────────────┬─────────────────────────────────┘

 │ ▼ 

┌─────────────────────────────────────────────────────────────────┐ │ AI 编码助手(宿主智能体) │ │ │ │ Claude Code │ Codex │ Copilot │ Trae │ Aider │ Cursor │ … │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ skill.md / skill-codex.md / skill-trae.md / … │ │ │ │ (编排规范:告诉 AI 按什么步骤调用下面的 Python 库) │ │ │ └──────────────────────┬───────────────────────────────────┘ │ │ │ 读取 skill → 编排执行 │ │ │ │ │ ┌────────────────────┼────────────────────────┐ │ │ │ Step 3A (AST) │ Step 3B (语义) │ │ │ │ 调用: bash │ 派发: 子代理/Agent/Task │ │ │ │ graphify extract │ 并行读文档/论文/图片 │ │ │ └─────────┬──────────┴──────────┬─────────────┘ │ │ │ │ │ └──────────────┼─────────────────────┼───────────────────────────────┘

 │ │ ▼ ▼ 

┌─────────────────────────────────────────────────────────────────┐ │ graphifyy Python 库(pip install) │ │ │ │ detect.py → extract.py → build.py → cluster.py → analyze.py │ │ → report.py → export.py → serve.py → cache.py → watch.py │ │ │ │ 核心算法全部在这里,与宿主平台无关 │ └─────────────────────────────────────────────────────────────────┘

           │
           ▼
    graphify-out/
    ├── graph.json       ← 持久化图谱
    ├── graph.html       ← 交互式可视化
    ├── GRAPH_REPORT.md  ← 人类可读审计报告
    └── cache/           ← SHA256 缓存

关键理解:Skill 是「适配层」,不是「执行层」。所有算法(AST 解析、Leiden 聚类、惊奇连接评分等)都在 Python 库中,Skill 只负责告诉不同的 AI 助手「按什么顺序调用这些 Python 函数,以及如何编排语义提取的并行子代理」。Claude Code 是最完整的宿主(支持并行 Agent、PreToolUse 钩子),但即使在没有 Skill 的环境中,也可以直接 graphify . 通过命令行运行完整管道。

2.6.4 壳层与中间文件路径
  • skill.md / skill-copilot.md:中间 JSON、.graphify_python 等默认集中在 graphify-out/ 前缀下,与最终产物同目录,便于 .gitignore 与清理策略一致。
  • skill-codex.mdskill-opencode.mdskill-aider.mdskill-claw.mdskill-droid.mdskill-trae.md:大量步骤使用 当前目录下的 .graphify_detect.json.graphify_ast.json 等命名;Step 1 写入的解释器路径在部分副本中位于 graphify-out/.graphify_python,而说明文字偶见 \((cat .graphify_python) 的简写——以实际写入路径为准;若运行失败,应对齐为 \)(cat graphify-out/.graphify_python)(与 skill.md 一致)。
  • skill-windows.md:全程 PowerShell;解释器指纹写入 工作目录下的 .graphify_python,与 Unix 变体的 graphify-out/ 布局不同;文末含 PowerShell 5.1 与 ANSI 滚动等排障说明(与 graspologic 输出相关)。
2.6.5 与后文章节的索引
Skill 侧关切 技术章节 detect / 大库交互 §3.1 AST + 语义合并 §3.2§3.7(缓存) 置信度与报告 §四§3.5 MCP、 –watch、hooks §3.8§七 安全与路径 §六

本章按管道执行顺序,对每个阶段先讲原理(它为什么这样做),再讲实现(它怎么做的),最后给出关键量的数学定义。阅读时可以只看原理段获得直觉,需要细节时再往下读。

全局符号约定: 为无向图,,,,

小讯
上一篇 2026-04-21 13:58
下一篇 2026-04-21 13:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/261816.html