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   # 是否已弃用
---

关键规则

  1. title 必须是「动作 + 对象」结构,不要写「关于 XXX 的思考」
  2. description 要回答三件事:做什么、谁用、解决什么问题
  3. 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. 首段:出现核心关键词 1-2 次
  2. 小标题:包含业务术语
  3. 代码注释:标注「为什么」而非「做什么」
  4. 末尾总结:用 bullet 形式复述关键概念

3.7 反模式清单

反模式 为什么要避免
「很简单,我们只要……」 模型会丢失上下文前提
大量截图代替文字 截图无法被 OCR 准确识别
时间相关描述(「最近」「最新」) 时间会过期,模型无法判断时效
链接到外部博客作权威引用 链接可能失效,引用需自带摘录

四、总结

Agent 文档的核心是确定性——同样的输入必须让模型推导出同样的行为。围绕这个目标,记牢这五条:

  1. 结构化 frontmatter:title + description + tags 必填
  2. 章节四段式:概述 / 背景 / 实践 / 总结
  3. 代码自包含:可运行、有注释、有预期输出
  4. 参数用表格:类型 / 必填 / 默认值 / 说明四列
  5. 关键词前置:核心术语出现在首段与小标题

可执行的延伸任务:

  • 选一篇旧文档,按本文规范重写 frontmatter
  • 把所有「段落式参数说明」改为表格
  • 在代码块中补全 // => 形式的预期输出注释

延伸阅读


文章 slug: agent文档怎么写 最后更新: 2026-06-22

版权声明 · CC BY-NC-ND 4.0

署名-非商业性使用-禁止演绎 4.0 国际

版权归属

本作品著作权归 窦长友 所有, 首次发布于 ,受相关知识产权法律法规保护。

授权范围
  • 可自由分享 — 在任何媒介以任何形式复制、转载本文
  • 不得用于商业目的 — 未经书面授权禁止商用
  • 禁止演绎修改 — 不得改编、转换或以本文为基础再创作
署名要求

转载或引用时须明确标注作者姓名原文出处及本许可协议链接。 不得以任何方式暗示或声称作者为您的使用背书。

评论

由 GitHub Discussions 驱动