knowledge-engineering:面向 RAG 的长文档原子化切片 Skill

前言

自建 RAG 知识库时,常见做法是按固定字数或段落机械切块,再直接写入向量库。长文档里一旦出现跨段指代、被截断的代码块,或缺少检索用元数据的碎片,召回时往往「能搜到但答不对」,也很难判断是切片策略还是 embedding 的问题。

下面介绍 SkillHub 上的 knowledge-engineering(当前可安装版本 v1.0.13,作者 智慧半岛)。它把 Agent 当成知识库 ETL 控制器:在语义边界上拆文档、按目录隔离输出、用脚本做校验与检索评估,把「可落地、可量化、可优化」写进标准工作流,而不是只给一段泛泛的 chunking 提示词。

这是什么

knowledge-engineering 是遵循通用 SKILL.md 格式的 Agent Skill,定位是「RAG 知识库原子化切片控制器」:将长文档拆成语义完整、物理隔离、自包含、检索就绪的 L0 级原子切片,并内置 校验 → 审计 → 检索可达性评估 多层质量门禁。

官方线索地址为 https://api.skillhub.cn/user_741dc82b/knowledge-engineering;该 API 页面目前无法直接浏览(HTTP 405),SkillHub 站点上对应的 @user_741dc82b/knowledge-engineering 也已显示下线。商店中仍可安装同名技能 @indiv-ebandao/knowledge-engineering,版本与包内说明一致为 1.0.13,下文安装与用法均以该包为准。

核心功能

以下能力均来自 v1.0.13 包内 SKILL.md 与配套脚本说明。

标准五步闭环

步骤 动作 主要手段 输出
① 分析 结构扫描、Token 预算、熔断预演、目录决策 <analysis> 预处理思维链(§0) 切片计划
② 计划 分类路由与拆分方案 slice_generator.py --json JSON 切片计划
③ 生成 按模板写入语义内容与 YAML Agent 按 §3 生成 带 14 个必填字段的 .md 切片
④ 校验 单片完整性 + 跨片审计 validate_slice.py --fix、batch_audit.py 致命项重生成 / 警告标记
⑤ 终检 检索可达性 evaluate_retrieval.py --fix R@1、R@5、MRR 及死片修复

切片规则与输出契约

  • 目录绝对隔离:每个源文件对应 {Source-ID}/ 目录,禁止切片散落在输出根目录。
  • 语义优先、字数兜底、回溯保护:纯文本约 700 字、代码约 500 字等软上限;不得在代码块、表格、步骤列表中间硬切。
  • 零指代、禁止破坏性改写:切片需自包含,关键参数与错误码须与原文一致。
  • YAML + Markdown 模板:每片含 title、embedding_hint、qa_pairs、hybrid_keywords、cross_refs 等 14 个必填字段,服务混合检索与质检。
  • 二级目录路由:按内容归入 api/、config/、guide/、concepts/、misc/、multimodal/ 等(含动态降级规则)。

长任务与防中断

大批量或超长文档须走 Init → Step → Poll:先出计划与用户确认,再小批量生成(超大文档每批最多 2 片),每片写入后立即校验;支持 --resume 断点续传,终交付前必须跑 batch_audit.py 与 evaluate_retrieval.py。

环境依赖

运行脚本需要 Python 3.8+;检索评估建议安装 sentence-transformers、numpy、pyyaml(缺失时评估层可降级为 PurePythonEmbedder)。Skill 明确要求 不得调用外部 LLM API 生成切片正文或元数据,元数据由当前 Agent 推理填写。

安装与启用

方式一:让 Agent 按 SkillHub 文档安装

在对话中发送(内容来自 SkillHub 技能页):

请根据 https://skillhub.cn/install/skillhub.md,安装 @indiv-ebandao/knowledge-engineering。

若你仍持有旧命名空间,线索中的写法为 @user_741dc82b/knowledge-engineering;该路径在站点上已不可用,请改用上面的 indiv-ebandao 命名空间。

方式二:SkillHub CLI

先确认 CLI(参见 SkillHub 安装说明):

command -v skillhub && skillhub --version

安装到当前 Agent 的 skills 目录(必须使用 --dir,否则默认 ./skills/ 可能不会被 IDE 加载):

skillhub install knowledge-engineering --namespace indiv-ebandao --dir ~/.cursor/skills/

常见路径(摘自官方安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下 .agents/skills/

安装后重启或刷新 Agent,使 knowledge-engineering 进入可用技能列表。Windows / Linux / macOS 在包元数据中均标记为完整支持。

典型用法

最小命令示例

包内给出的最小可用入口如下,用于从单文件生成切片目录结构:

python scripts/slice_generator.py input.md slices/

在已启用本 Skill 的 Agent 工作区中,上述 scripts/ 指技能包内的脚本路径(安装后位于对应 skills 目录下的 knowledge-engineering 包中)。

推荐完整流水线

  1. 生成计划与可选 stub:
python scripts/slice_generator.py <源文件.md> <输出目录> --stubs --json
  1. Agent 按 §0 完成 <analysis> 并经用户确认后,逐片填充 §3 模板内容写入磁盘。

  2. 每片校验、批量审计、检索终检:

python scripts/validate_slice.py <切片文件> --fix --json
python scripts/batch_audit.py <输出目录> --fix
python scripts/evaluate_retrieval.py <输出目录> --fix

自然语言触发

用户侧只需说明意图,例如:「把 xxx.md 切片」。Agent 应先分析并展示计划(约十到三十秒量级),待确认后再分批生成;也支持「先看计划」「从 docx 开始」等变体,具体边界见包内 REFERENCE.md。

症状速查

症状 建议命令
YAML 缺字段或格式问题 python scripts/validate_slice.py <file> --fix --json
索引不连续、死链 python scripts/batch_audit.py <dir> --fix
需要 R@1 / R@5 / MRR python scripts/evaluate_retrieval.py <dir> --fix
任务中断 python scripts/slice_generator.py <src> <out> --resume

适用场景与注意

适合谁:需要把技术手册、API 文档、运维指南等长 Markdown/文本(还支持 txt、yaml、json、PDF 等,见 §9)导入 RAG,且希望切片质量可审计、检索效果可量化的团队或个人。

不太适合:指望技能自动爬动态网页、直接切数据库表、或对图片做 OCR 级多模态理解——这些在能力边界中明确不支持。

使用注意:

  • 未完成 §0 的 <analysis> 与用户确认就批量写文件,属于文档定义的严重违规。
  • 用脚本模板批量填 embedding_hint、qa_pairs 等会被视为反模式,检索命中率可能下降。
  • 涉及网络盘路径(如 Windows 映射盘)时,优先用 Skill 要求的 python_executor 等方式读写,避免静默失败。
  • 对工作目录外的破坏性命令,Skill 带有 HARB 约束,须预览命令并等待用户确认。

结尾

knowledge-engineering 把 RAG 切片从「凭感觉切块」收成一条可检查流水线:语义与目录契约保证片内可用,校验与 evaluate_retrieval.py 让优化有据可查。线索中的 API 地址若无法打开,可通过 SkillHub 安装 @indiv-ebandao/knowledge-engineering(v1.0.13) 获取同款能力。

  • 线索官方地址:https://api.skillhub.cn/user_741dc82b/knowledge-engineering
  • 当前可访问的技能页:https://www.skillhub.cn/skills/indiv-ebandao/knowledge-engineering
  • 安装说明:https://skillhub.cn/install/skillhub.md
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜