---
title: "文档分片指南"
description: 将大型 Markdown 文件拆分为更小的组织化文件，以更好地管理上下文
sidebar:
  order: 8
---

如果需要将大型 Markdown 文件拆分为更小、组织良好的文件以更好地管理上下文，请使用 `shard-doc` 工具。

:::caution[已弃用]
不再推荐使用此方法，随着工作流程的更新以及大多数主要 LLM 和工具支持子进程，这很快将变得不再必要。
:::

## 何时使用

仅当你发现所选工具/模型组合无法在需要时加载和读取所有文档作为输入时，才使用此方法。

## 什么是文档分片？

文档分片根据二级标题（`## Heading`）将大型 Markdown 文件拆分为更小、组织良好的文件。

### 架构

```text
分片前：
_bmad-output/planning-artifacts/
└── PRD.md（大型 50k token 文件）

分片后：
_bmad-output/planning-artifacts/
└── prd/
    ├── index.md                    # 带有描述的目录
    ├── overview.md                 # 第 1 节
    ├── user-requirements.md        # 第 2 节
    ├── technical-requirements.md   # 第 3 节
    └── ...                         # 其他章节
```

## 步骤

### 1. 运行 Shard-Doc 工具

```bash
/bmad-shard-doc
```

### 2. 遵循交互式流程

```text
智能体：您想要分片哪个文档？
用户：docs/PRD.md

智能体：默认目标位置：docs/prd/
       接受默认值？[y/n]
用户：y

智能体：正在分片 PRD.md...
       ✓ 已创建 12 个章节文件
       ✓ 已生成 index.md
       ✓ 完成！
```

## 工作流程发现机制

BMad 工作流程使用**双重发现系统**：

1. **首先尝试完整文档** - 查找 `document-name.md`
2. **检查分片版本** - 查找 `document-name/index.md`
3. **优先级规则** - 如果两者都存在，完整文档优先 - 如果希望使用分片版本，请删除完整文档

## 工作流程支持

所有 BMM 工作流程都支持这两种格式：

- 完整文档
- 分片文档
- 自动检测
- 对用户透明

---
## 术语说明

- **sharding**：分片。将大型文档或数据集拆分为更小、更易管理的部分的过程。
- **token**：令牌。在自然语言处理和大型语言模型中，文本的基本单位，通常对应单词或字符的一部分。
- **subprocesses**：子进程。由主进程创建的独立执行单元，可以并行运行以执行特定任务。
- **agent**：智能体。在人工智能与编程文档中，指具备自主决策或执行能力的单元。
