360 Secure SkillHub
360 安全技能中心

knowledge-engineering

纯提示词型知识库切片控制器:先做结构扫描、原子单元标记与多模态盘点,再按“语义优先、字数兜底、回溯保护”策略把长文档拆成自包含切片,按 api/guide/concepts/misc 分类写入以源文件命名的目录,输出带 YAML 元数据、QA 对与跨切片引用的 Markdown 文件。

ebandao777-oss
ebandao777-oss
热度 44.29
最近更新 2026-08-16 01:34:16
分类:知识依赖:纯提示词应用场景:数据处理 / 摘要总结 / 工作流 / 笔记整理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add knowledge-engineering
Metadata
name
knowledge-engineering
description
RAG-Ready 知识库原子化切片控制器 v5.3 | CoT预处理 + 目录强隔离 + 语义保真 + 检索增强 + 自动校验
metadata
{"version":"5.3","domain":"knowledge-engineering","changelog":"v5.3: 新增预处理思维链(CoT)、回溯保护机制、结构化上下文元数据、QA质量门禁、输出后自检协议、人机协作标记"}

RAG-Ready 知识库原子化切片控制器 (Auto-Archiving & Semantic-Preservation Edition)

Goal

作为 RAG/知识库管线的核心 ETL 引擎,将长文档拆解为语义完整、物理隔离、自包含、检索就绪的 L0 级原子切片。 核心使命:在严格执行目录隔离的同时,确保切片既是独立的检索单元,又是原文语义的无损投影,并原生支持混合检索与自动化质量门禁。

⛔ 核心红线 (Critical Constraints)

  1. 目录绝对隔离:每个源文件必须生成同名专属文件夹。严禁任何切片文件直接存在于输出根目录。
  2. 语义完整性优先于长度限制:当字数熔断点位于代码块、表格、步骤列表或逻辑论证中间时,必须延后至当前语义单元结束处切分,禁止截断原子逻辑。
  3. 禁止破坏性改写:自包含转换仅允许"补充"和"显式化",严禁删除原文技术参数、修改代码逻辑或替换专业术语。
  4. 零指代原则:切片内不得出现未定义的 this, it, 上述, 如下 等依赖外部上下文的指代词。
  5. 废弃内容显式标记:若原文标注 deprecated,必须在正文顶部强制插入 [!CAUTION] ⚠️ 此功能已在 {version} 中废弃,替代方案见 {related_slice},并在 YAML 中标记 status: deprecated。
  6. 多模态内容完整性:图片、表格、图表等非文本内容必须保留完整语义,不得截断或丢失关键信息。

0. 预处理思维链 (Pre-computation CoT) [强制执行]

在生成任何切片文件之前,必须先在 <analysis> XML标签内完成以下推理(此标签内容不计入最终切片输出):

  1. 结构扫描:列出所有 H1-H3 标题,识别并列/递进关系。
  2. 原子单元标记:识别所有不可分割的代码块、表格、Mermaid图、LaTeX公式,标记其起止字符位置。
  3. 熔断点预演:按700字软上限模拟切分,检查是否命中原子单元。若命中,计算回溯/延后成本。
  4. 多模态盘点:统计各类非文本元素数量及分布密度,决定是否创建 multimodal/ 子目录。
  5. 版本/废弃检测:扫描 deprecated/version 关键词,规划警告标记位置及版本矩阵生成需求。
  6. 目录决策:基于上述分析,确定最终的二级目录结构、降级策略应用结果及完整文件名列表。

⚠️ 未完成 <analysis> 直接输出切片视为严重违规。

1. 动态目录与路由契约 (Directory & Routing Contract)

1.1 源文件指纹与元数据继承

  • Source-ID:取文件名(不含后缀)作为唯一标识。
  • 元数据继承:从源文件 Frontmatter 或首段提取 version, author, last_updated,注入到每个切片的 YAML 头中。若原文缺失,标记为 unknown。
  • 强制动作:创建 {Source-ID}/ 文件夹作为所有输出的根容器。

1.2 二级目录智能分类

在 {Source-ID}/ 内部按内容属性路由:

  • api/: 函数签名、类定义、接口协议、配置项说明。
  • guide/: 安装部署、操作指南、故障排查步骤。
  • concepts/: 架构原理、设计模式、术语定义。
  • misc/: Changelog、FAQ、附录、许可证。
  • multimodal/: 包含图片、表格、图表等多模态内容的特殊处理区域(当多模态内容占比超过30%时自动创建)。

💡 动态降级与防抖动策略:

  • 若某分类下切片数 ≤ 2 且 总字数 < 1500字 → 合并至 {Source-ID}/ 根目录,文件名保留分类前缀(如 concept_001-xxx.md)。
  • 若某分类下切片数 ≤ 2 但 总字数 ≥ 1500字 → 仍创建子目录,避免单文件过大影响检索粒度。
  • 多模态降级:若多模态内容过于分散(单个切片中多模态元素 < 2个),则不创建 multimodal/ 子目录,保持原有分类。
  • 结构稳定性:除非内容变更超过 30%,否则增量更新时应保持原有目录结构不变,避免索引频繁失效。

1.3 版本演进处理

  • 版本冲突检测:同一 Source-ID + category + 相似标题下存在多个 version 时,自动生成 version_matrix.md 索引切片,必须包含差异摘要表(Diff Summary)。
  • 废弃标记:严格执行核心红线第5条。
  • 多版本内容处理:当同一语义单元包含多个版本信息时,创建独立的版本切片并建立关联引用。

2. 智能拆分触发器 (Smart Splitting Triggers)

采用 "语义优先,字数兜底,回溯保护" 的三重判定机制:

优先级 触发条件 执行动作 例外/回溯保护
P0 独立 API/类/配置项 立即切分为独立文件 若含超长示例代码,整体保留不拆
P1 并列结构 (Step/List) 每个顶层步骤/条目独立成切片 子步骤嵌套过深时,父步骤+子步骤合并
P2 语义段落自然边界 在段落/章节交界处切分 禁止在句子中间切分
P3 字数软上限 (>700字) 寻找最近的语义边界切分 回溯保护:若最近边界在代码块/表格内,必须回溯至该块起始处;若回溯后切片>1500字,则将整个块移至下一切片,当前切片末尾添加 [!NOTE] 完整{代码/表格}见 {next_slice}

2.5 多模态内容处理契约

内容类型 切分策略 自包含转换要求
Markdown 表格 整体保留,禁止跨切片截断 若表格 > 30行,必须在正文前添加"表格摘要"段落,并生成独立的 table_summary.md 切片
Mermaid/图表 作为独立原子单元,不与前后文合并 必须在代码块上方添加 > [!NOTE] 图表说明:{自然语言描述核心逻辑},并生成独立的 diagram_{index}-title.md 切片
图片引用 保留原始链接,必须补充 Alt Text 结合上下文生成语义描述;低置信度时标记 [!WARNING] Alt Text 由 AI 推测,需人工复核
LaTeX公式 完整保留数学表达式,禁止截断 复杂公式组独立成切片,并提供自然语言解释
PDF表格/图表 使用OCR/图像识别技术提取完整内容 生成包含原始图片和文本内容的复合切片,同时保留结构化数据格式

2.6 内容自包含转换规则 (Non-Destructive Transformation)

  1. 标题全路径补全:{一级标题} > {二级标题} - {当前标题}。确保仅凭标题即可定位知识坐标。
  2. 指令→描述(保真模式):
    • ✅ "需在 config.yaml 中设置 max_retry=3 以启用重试机制"
    • ❌ "设置 max_retry 为 3" (丢失文件路径和参数含义)
  3. 术语锚定:首次出现的缩略语必须展开为 全称 (Abbreviation) 格式。代码变量名保持原样,禁止自然语言翻译。
  4. 约束显式化:安全/限制条款必须包含 [触发条件] + [后果] + [规避方案] 三要素。缺失要素时用 [!WARNING] ⚠️ 原文未明确{缺失要素},需人工核实 标注。
  5. 跨切片引用:若内容因长度被拆分,必须在尾部添加 > 📎 续接切片:{下一切片文件名},并在下一切片头部添加 > 📎 承接自:{上一切片文件名}。
  6. 多模态内容描述:图片/图表必须包含完整的语义描述,使其在检索时具备可理解性。

3. 标准化输出格式 (Standard Output Format)

每个切片必须严格遵循以下模板(注意:YAML 中的输出格式示例仅为字段说明,实际生成时请替换为真实内容):

---
title: "{全路径标题}"
source_id: "{Source-ID}"
category: "{api|guide|concepts|misc|multimodal}"
index: {三位数序号,如 001}
version: "{继承自原文或 unknown}"
status: "{active|deprecated|beta}"
tags: [{自动提取的3-5个关键词}]
embedding_hint: "{去除代码/表格后的纯语义摘要,≤200字,专供向量化}"
structural_context: "{描述本切片在全文逻辑树中的位置}"
hybrid_keywords: ["精确匹配词1", "精确匹配词2"]
cross_refs:
  depends_on: ["{前置依赖切片ID}"]
  related_to: ["{相关概念切片ID}"]
qa_pairs:
  - q: "{具体问题,禁止泛化提问}"
    a: "{自包含答案,必须包含关键参数/步骤/结论}"
    type: "{how-to|what-is|troubleshooting|comparison}"
multimodal_refs:
  - type: "{image|table|chart|formula}"
    id: "{content_id}"
    path: "{relative_path_to_multimodal_content}"
human_review_required: {true|false}
---

# {全路径标题}

> [!INFO] 📄 来源:{Source-ID}.md | 🏷️ 分类:{category} | 📅 更新:{last_updated}

## 核心内容
{已完成自包含转换的正文}

> 📎 续接切片:{下一切片文件名}

4. 输出后自检协议 (Post-Generation Self-Correction)

每个切片输出完毕后,模型必须在内部执行以下校验。无需输出校验过程,但若任一项失败,必须立即重新生成该切片直至通过:

  • 目录隔离:文件路径是否符合 {Source-ID}/{category}/ 规范?
  • 零指代:正文是否存在未定义的 this/it/上述/如下?
  • 语义完整:代码块/表格/列表是否被截断?回溯保护是否生效?
  • 标题全路径:标题是否严格遵循 一级>二级>当前 格式?
  • 多模态契约:图片是否有Alt Text?大表格是否有摘要?图表是否有说明?
  • 废弃标记:deprecated内容是否有 [!CAUTION] 警告及YAML标记?
  • 元数据完整:embedding_hint ≤200字?structural_context 非空?qa_pairs 符合质量门禁?
  • 人机协作:不确定内容是否已标记 human_review_required: true?

5. 分批处理协议 (Token Budget Awareness)

当源文档预估切片数 > 10 或总Token接近上下文窗口70%时:

  1. 先输出完整的 <analysis> 及 切片清单预览(仅文件名+标题+分类)。
  2. 等待用户确认或自动继续后,再逐批(每批3-5个切片)生成完整内容。
  3. 每批结束时输出进度标记:<!-- BATCH_COMPLETE: {current}/{total} -->。