Skip to content

AI 知识库整理工具 (Knowledge Gardener) ​

一、 工具定位 ​

Knowledge Gardener 是一个 "AI-First" 的知识库维护工具体系,旨在将碎片化的原始笔记(Raw Notes)转化为结构化、标准化的知识文档(Structured Knowledge)。

它不仅仅是一个格式化工具,更是一个 "AI 协作作者" (Co-Author),具备以下能力:

  • 价值判断:识别内容价值,决定是保留、归档还是丢弃。
  • 深度重构:根据内容类型(概念、教程、参考)自动调整文档结构。
  • 元数据注入:自动生成 YAML Front Matter(Title, Tags, Category)。
  • 多语言统一:强制输出流畅的简体中文。

二、 技术架构 ​

工具体系采用 "C# 核心引擎 + Python 辅助脚本" 的双层架构:

2.1 C# 核心引擎 (Core Engine) ​

  • 位置: full-stack/src/dotnet/KnowledgeGardener
  • 职责: 处理复杂的 ETL (Extract-Transform-Load) 流程,调用大模型进行深度内容重构。
  • 核心组件:
    • ContentRefiner.cs: 提示词工程核心,负责构建 Context 并与 LLM 交互。
    • BailianClient: 集成阿里云百炼 API,支持模型矩阵 (qwen-plus, qwen-max, qwen-turbo)。
    • Archiver: 处理源文件的自动归档。

2.2 Python 辅助脚本 (Helper Scripts) ​

  • 位置: full-stack/scripts/
  • 职责: 处理文件系统操作、批量重命名、索引生成等轻量级任务。
  • 常用脚本:
    • knowledge_gardener.py: 快速扫描目录,基于启发式规则生成 Tags 和 Front Matter。
    • normalize_frontmatter.py: 批量标准化现有文档的 Front Matter 格式。
    • generate_indexes.py: 为 VitePress 自动生成目录索引文件。

三、 核心功能设计 ​

3.1 模型矩阵 (Model Matrix) ​

为了平衡成本与效果,系统采用分级模型策略:

  • Qwen-Plus (主力): 均衡型,用于绝大多数文档的重写与润色。
  • Qwen-Turbo (极速): 用于简单的格式化或元数据提取。
  • Qwen-Max (专家): 用于复杂架构文档或深度代码分析。
  • Qwen-Long (长文): 专门处理超长上下文的文档合并。

3.2 提示词工程 (Prompt Engineering) ​

在 ContentRefiner.cs 中实现了 "Role-Based" 的提示词设计:

  • Role: Senior Technical Writer & Knowledge Gardener.
  • Tone: Professional, Clear, Concise.
  • Constraint: Must be Simplified Chinese.
  • Layout: 强制段落间距(呼吸感),代码块规范化。

3.3 自动化流水线 (Pipeline) ​

  1. Extract (提取): 扫描 ink/pending/ 下的原始 Markdown/Text 文件。
  2. Transform (转换):
    • LLM 读取内容,识别领域与主题。
    • 重写内容,补充缺失的上下文。
    • 生成标准 Front Matter。
  3. Load (加载): 将处理后的文件写入 knowledge/ 对应目录。
  4. Archive (归档): 将源文件移动至 knowledge/archive/,避免重复处理。

四、 待处理目录清单 (Roadmap) ​

以下目录已纳入自动化整理的规划中:

  • api: API 设计与规范
  • big-picture: 宏观架构与视野
  • ci-cd: 持续集成与部署
  • container: 容器化技术 (Docker/K8s)
  • database: 数据库技术

五、 使用指南 ​

运行 C# 引擎 ​

bash
cd full-stack/src/dotnet/KnowledgeGardener
dotnet run -- --path "..."

运行 Python 脚本 ​

bash
# 生成索引
python full-stack/scripts/generate_indexes.py

# 规范化 Front Matter
python full-stack/scripts/normalize_frontmatter.py "full-stack/knowledge"

方舟 · Ark