Agent 文档怎么写:面向 AI 消费的可执行文档编写指南
不同于给人看的文档,Agent 文档需要结构化、可解析、可验证。本文给出从元数据到代码示例的完整规范。
6 分钟阅读1.1k 字
一、概述
随着 LLM 驱动的 Agent 工具链逐步成熟,文档的消费者从「人类读者」扩展到了「模型读者」。Agent 文档不是给人读的散文,而是给模型解析的结构化指令——每一段话都可能被作为 prompt 上下文、函数描述或工具规约被消费。
本文面向开发者和技术写作者,给出 Agent 文档的编写规范与最佳实践,覆盖:
- 元数据约定(frontmatter)
- 章节结构与命名
- 代码示例的可执行性
- 错误处理与边界条件
- 检索友好的关键词布局
读完本文后,你应该能独立产出一份「既能给人类阅读、也能被 Agent 正确解析」的技术文档。
二、背景
2.1 Agent 读文档的三种方式
| 消费方式 | 典型场景 | 对文档的要求 |
|---|---|---|
| RAG 检索 | 长文档切片、向量化召回 | 章节边界清晰、关键信息独立成段 |
| Function Calling | 把 API 文档喂给模型作为工具定义 | 参数 / 返回值 / 错误码必须结构化 |
| Context Injection | 整篇塞进 system prompt | 篇幅紧凑,无冗余营销话术 |
2.2 与人类文档的核心差异
- 人类文档:可读性优先,允许比喻、故事、渐进式展开
- Agent 文档:确定性优先——同样的输入必须让模型推导出同样的行为
- 人类文档:「详见下一节」是常见过渡
- Agent 文档:跳转必须用显式锚点,且锚点文本要包含目标关键词
三、实践
3.1 Frontmatter 元数据规范
最小可用集:
YAML
---
title: 命令的唯一名称(≤ 60 字符)
description: 一句话说清做什么、面向谁(≤ 160 字符)
date: 'YYYY-MM-DD'
category: 单一分类
tags: [关键词1, 关键词2]
version: 1.0.0 # 文档版本,重要
deprecated: false # 是否已弃用
---
关键规则:
title必须是「动作 + 对象」结构,不要写「关于 XXX 的思考」description要回答三件事:做什么、谁用、解决什么问题tags是检索入口,至少包含 1 个业务关键词 + 1 个技术关键词
3.2 章节结构模板
推荐四段式:
TEXT
## 一、概述 # 是什么、为什么、谁该读
## 二、背景 # 前置概念、上下文、术语表
## 三、实践 # 核心:示例、配置、API、代码
## 四、总结 # 复盘要点、行动项、延伸阅读
用「一、二、三」而非「1. 2. 3.」,因为中文章节标题在 TOC 中更易识别,模型切分粒度更稳定。
3.3 代码示例:可执行 > 可读
TS
// ✅ 推荐:自包含、可运行、有预期输出
import { defineConfig } from 'vite'
export default defineConfig({
base: '/my-blog/',
build: {
outDir: 'dist',
sourcemap: true
}
})
// ❌ 避免:省略关键依赖、留 TODO、引用未定义变量
// see example above // ← Agent 无法解析
代码块的硬性要求:
| 要求 | 原因 |
|---|---|
| 标注语言 | ts / bash / json 等,影响高亮与解析 |
| 完整可运行 | 避免省略号 ... 阻断模型推断 |
| 包含输出 | 期望值用注释写出,便于模型做事实校验 |
3.4 参数与返回值:表格 > 段落
✅ 推荐:
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
path |
string |
✅ | — | Markdown 文件相对路径 |
draft |
boolean |
❌ | false |
是否为草稿,草稿不展示 |
tags |
string[] |
❌ | [] |
标签列表,用于聚合 |
❌ 避免:
path参数是必填的字符串,表示 Markdown 文件的相对路径。draft是可选的布尔值,默认是 false,表示是否草稿。tags是字符串数组。
3.5 错误与边界条件
每个公开 API 都必须覆盖:
- 正常路径:成功时的返回结构
- 异常路径:抛错条件、错误码、错误信息
- 边界条件:空输入、超长输入、并发场景
TS
/**
* @throws {ValidationError} 当 slug 含非法字符时
* @throws {NotFoundError} 当文章不存在时
* @example
* // 成功
* getPost('hello-world')
* // => { title: 'Hello', ... }
*/
3.6 关键词布局:让 Agent 找得到
Agent 检索依赖关键词密度与位置。在文档中显式布局:
- 首段:出现核心关键词 1-2 次
- 小标题:包含业务术语
- 代码注释:标注「为什么」而非「做什么」
- 末尾总结:用 bullet 形式复述关键概念
3.7 反模式清单
| 反模式 | 为什么要避免 |
|---|---|
| 「很简单,我们只要……」 | 模型会丢失上下文前提 |
| 大量截图代替文字 | 截图无法被 OCR 准确识别 |
| 时间相关描述(「最近」「最新」) | 时间会过期,模型无法判断时效 |
| 链接到外部博客作权威引用 | 链接可能失效,引用需自带摘录 |
四、总结
Agent 文档的核心是确定性——同样的输入必须让模型推导出同样的行为。围绕这个目标,记牢这五条:
- 结构化 frontmatter:title + description + tags 必填
- 章节四段式:概述 / 背景 / 实践 / 总结
- 代码自包含:可运行、有注释、有预期输出
- 参数用表格:类型 / 必填 / 默认值 / 说明四列
- 关键词前置:核心术语出现在首段与小标题
可执行的延伸任务:
- 选一篇旧文档,按本文规范重写 frontmatter
- 把所有「段落式参数说明」改为表格
- 在代码块中补全
// =>形式的预期输出注释
延伸阅读:
文章 slug: agent文档怎么写
最后更新: 2026-06-22
版权声明 · CC BY-NC-ND 4.0
署名-非商业性使用-禁止演绎 4.0 国际
评论
由 GitHub Discussions 驱动