用 AI 创建 API 文档前,先建立可核验的证据台账

用 AI 创建 API 文档前,先建立可核验的证据台账

Olivia Park
2026年8月30日· 9 分钟阅读

要用 AI 创建 API 文档,先从实际 OpenAPI 文件、路由、类型、校验规则、测试和获批示例建立带版本的证据台账。要求 AI 只起草能引用台账的事实,冲突和缺失字段必须保留。发布前由 API 负责人逐项确认认证、参数、请求体、响应、错误、示例、版本和弃用说明。

模型只是文档助手,不是 API 真源。AI 使用总指南介绍输入控制和人工审批。如果只是理解函数或模块,应使用代码讲解流程;本教程的产物是供调用方依赖的契约,一个自信但虚构的字段就可能破坏集成。

关键要点:

  • 先确定 API 版本和文档读者。
  • 为证据来源排定优先级,不要悄悄混用。
  • 每条文档事实都要能引用证据台账。
  • 冲突和缺失字段保留为待审项,不由模型补全。
  • 发布前由 API 负责人逐项确认。

文档写给谁、覆盖哪个 API 版本?

“给 API 写文档”这个范围太宽。先决定读者是首次接入的外部开发者、内部服务负责人、SDK 维护者,还是排查请求的运维人员。明确纳入范围的产品、服务器、操作和生命周期阶段。然后冻结一个精确的证据快照:仓库提交版本、生成的规范产物、服务发布版本或获批的资料包。

OpenAPI 为 HTTP API 提供机器可读的描述格式。其版本索引是查找规范版本的稳定入口,被描述的文档应声明实际使用的版本。[1]本流程中,OAS 3.2.0 是经过核对的参考,并不表示每个 API 都使用它,或它会一直是最新版本。[2]同时记录 OpenAPI 规范版本和 API 自身的产品版本。

编写一份文档任务说明:

字段示例
受众正在评估某项集成的外部开发者
API 版本来自发布产物的 2026-08
OAS 版本被检查文档所声明的值
服务器仅限已批准的公开或沙盒端点
操作明确的许可清单
排除项内部管理路由和实验性字段
审批API 负责人、安全审核人、文档负责人

不要把真实凭据、私有端点、客户记录、内部拓扑、未公开漏洞或不受限的生产日志放进模型上下文。使用脱敏的测试夹具和获批沙盒值。

不同证据应如何排定优先级?

一个 API 可能有多份互相冲突的描述。让 AI 合并前,先确定本项目的优先级。常见的候选顺序是:获批的契约产物、符合性测试、路由和校验代码、类型定义、持续维护的示例,最后是说明文字。但正确的顺序取决于你的团队如何治理这个 API。如果已知生成的 OpenAPI 落后于代码,就不要假定它具有权威性;如果获批契约另有规定,也不要假定实现行为就是有意为之。

每条声明建立一行台账:

声明 ID操作字段声称值证据位置证据版本状态
C-014createWidget必需标头Idempotency-KeyOAS 路径 + 测试名称提交/引用已确认
C-015createWidgetlimit 最大值100 或 200数据结构与验证器对比提交/引用冲突

AI 可以归组和比较这些行,但不得替“冲突”行选出答案。把决定交给契约负责人,并保留解决记录的引用。

起草正文前先盘点操作

把操作提取到一张表中,包括方法、路径、操作 ID、摘要、标签、可见性和证据位置。找出重复与缺口。无公开契约的路由可能是有意保留的内部功能;在 OpenAPI 中有定义却无实现的操作,可能是计划中、已过时或生成错误的。把它标记为待审核,而不是写成已可用。

让 AI 返回三份清单:

  1. 契约证据和实现证据相互吻合的操作;
  2. 只有单一证据来源的操作;
  3. 在方法、路径、可见性或生命周期上存在冲突的操作。

要求使用精确的路由和数据结构标识符。仅凭自然语言上的相似,不足以判定 /users/{id} 和 /accounts/{accountId} 描述的是同一资源。

认证与授权应如何记录?

认证说明调用方如何证明身份;授权决定该身份可以做什么。从获批来源中记录安全方案、凭据放置位置、权限范围或角色、环境、过期行为,以及相关的失败响应。绝不要生成真实令牌,也不要把凭据粘贴进示例。

需要区分:

  • 全局声明的安全要求与单个操作的覆盖设置;
  • 真正公开的操作与漏记了保护措施的操作;
  • 缺少凭据、凭据无效、权限范围不足和资源级拒绝;
  • 用户凭据、服务凭据、签名请求和委托访问;
  • 沙盒与生产环境的配置说明,但不暴露内部控制细节。

示例应使用一眼可辨的假占位符,例如 YOUR_SANDBOX_TOKEN。如果规范和中间件的行为不一致,在安全和 API 负责人解决之前,不要把任何一方写成定论。

记录参数和请求体

对每个路径、查询、标头和 Cookie 参数,记录名称、位置、是否必需、类型、格式、约束、默认值、示例和来源。保留各种细微区别,例如“缺失”与“空值”、“省略”与 null、字节长度与字符长度。

对请求体,记录媒体类型、数据结构变体、必需属性、嵌套约束和条件规则。生成的描述常遗漏类型定义之外实现的校验。把数据结构中的约束与验证器和契约测试对照。如果某条规则只在代码中观察到、尚未被批准为契约行为,就把它标记出来。

需要精确时,用字段表代替段落:

字段必需类型约束示例证据
name是字符串1–80 个字符Sample widget数据结构 S-8,验证器 V-3

示例必须符合文档中的数据结构。用验证器或获授权的沙盒运行它们;不要因模型生成了看似合法的 JSON 就标为“已测试”。

记录响应和 HTTP 语义

RFC 9110 定义了 HTTP 语义,包括方法、HTTP 状态码、字段和缓存概念。[3]用它来解释协议含义,同时以 API 契约为准,确定该操作实际返回哪些状态码和标头。

对每个操作,覆盖所有获批的成功响应和相关的失败响应:

  • 状态码及其在该操作中的含义;
  • 响应的媒体类型和数据结构;
  • 重要标头和分页链接;
  • 空响应体时的行为;
  • 仅在有证据时说明重试或幂等语义;
  • 仅在明确支持时说明缓存行为;
  • 适用时说明异步受理及之后的状态查询方式。

不要仅因为某个方法通常被视为幂等,就写“可以安全重试”。应用层副作用、幂等键、超时和结果不明确的失败,都需要具体的契约证据。

如何建立一致的 API 错误目录?

RFC 9457 规定了 HTTP API 的 Problem Details(问题详情),这是一种承载机器可读错误信息的结构化方式。[4]一个 API 可能使用这种格式、另一种有文档记录的封装格式,或几种遗留格式。要识别实际契约,而不是在 API 未变更时把错误改写成 Problem Details。

建立错误台账,记录状态码、稳定错误码、类型 URI(如有使用)、面向用户的消息、字段详情、是否可重试和适用的操作范围。把以下几类声明分开:

  • 传输层状态码;
  • 稳定的机器可读错误标识;
  • 可本地化或可能变化的展示消息;
  • 字段级校验详情;
  • 可安全提供给支持团队的请求或关联标识。

绝不要从全局枚举推断出每种可能的错误。要通过契约、代码路径或测试,证明某个操作确实会返回该错误。不要暴露堆栈跟踪、内部类名、数据库细节或敏感标识。

怎样的 API 示例才安全且可执行?

每个示例应以最小的完整请求讲解一项操作。使用合成名称、不可路由或获批的沙盒值,以及明显的占位符。把请求、响应和相关标头放在一起展示。注明所用环境,以及是否真的有人执行过。

建立示例登记表:

示例 ID操作测试夹具校验方式最后检查负责人
EX-01createWidget合成对象仅数据结构 / 沙盒运行日期姓名

若示例只通过了数据结构校验,就如实说明;符合数据结构的请求仍可能因授权或业务规则失败。如果在沙盒中运行过,按政策保留安全的命令、响应、发布版本和时间戳。运行任何生成的命令行指令前先审阅;AI 生成代码审阅指南介绍了权限、密钥和危险操作。

写清分页、限制、版本与弃用

只有在有证据时,才记录分页方式、游标是否不透明、排序保证、过滤条件、最大页面大小、限流信号、并发控制和幂等性。这些既是常见的集成失败点,也是常见的幻觉对象。

对于版本,要区分规范格式版本、API 产品版本、操作版本、数据结构版本和文档修订版本。避免写“最新版本是 3.2.0”这类假定永不过时的句子,应说明检查了哪个产物及时间。对于弃用,记录受影响的元素、公告来源、替代方案、日期、兼容行为和有权决定移除的人。模型不得虚构停止服务日期。

用 AI 创建 API 文档时使用受引用约束的提示词

只根据附带的证据台账起草 API 文档。

每项操作包括:
- 用途和受众;
- 认证和授权;
- 参数和请求体;
- 成功响应和已知错误;
- 一个合成示例;
- 版本、弃用和未解决事项。

每条契约陈述之后都引用声明 ID。不得解决标为“冲突”的行。
保持“未知”字段可见。不得生成真实凭据、生产端点、测试结果、
重试保证或没有依据的错误。
另外输出一份审核人检查清单。

草稿只是证据的一种视图,不是新的真源。审核人修改事实时,先更新权威契约或冲突解决记录,再重新生成或编辑正文。

文档满足什么条件才能发布?

对 OpenAPI 文档运行结构检查,对示例进行数据结构校验,检查链接,检查代码块格式,并比较操作覆盖情况。在获授权的情况下,对匹配的沙盒发布版本执行少量示例。记录每项批准依据的证据和检查;一次成功的请求不能为所有操作背书。

退出条件应包括:范围内所有操作都有交代;没有未解决的、阻碍发布的冲突;认证已审核;示例已脱敏并准确标注;错误目录已检查;链接有效;并且具名的 API、安全和文档负责人批准了这个确切修订版本。契约、实现、网关策略或发布版本变化时,重新运行这些检查。

可复制的 API 证据模板

# API 文档证据
- API / 发布版本:
- 产物声明的 OAS 版本:
- 仓库或产物引用:
- 受众与范围:
- 排除的操作:

## 操作
- 操作 ID:
- 方法与路径:
- 证据位置:
- 认证 / 授权:
- 参数:
- 请求数据结构:
- 成功响应:
- 错误响应:
- 分页 / 幂等 / 限制:
- 合成示例及校验状态:
- 版本 / 弃用:
- 冲突与未知项:
- 负责人:

## 审批
- 契约检查:
- 示例检查:
- 安全审核:
- API 负责人:
- 文档负责人:

常见问题

没有 OpenAPI,AI 也能给 API 写文档吗?

可以,它能整理来自路由、类型、测试、示例和维护中说明文字的证据。由于没有单一的机器可读契约,证据台账更加重要。

OpenAPI 与代码不一致怎么办?

用精确位置和版本记录冲突,由指定的契约负责人决定修正实现、规范还是两者。

示例应该自动生成吗?

可以根据数据结构起草,但必须使用合成数据并经过校验。要清楚区分数据结构校验和实际执行过的沙盒请求。

每个错误都需要单独的页面吗?

不一定。提供一致的错误目录并说明各操作的适用情况;恢复步骤或字段需要更多解释时,再单独展开。

AI 能推断未记录的状态码吗?

它可以找出候选的代码路径,但在获批来源或负责人确认之前,不要把某个状态码作为契约行为发布。

内部 API 应如何写文档?

采用同样的证据纪律,并配合适当的访问控制。不要暴露私有端点、网络拓扑、凭据或敏感的运维细节。

API 文档应多久重新生成一次?

当契约、实现、网关策略、示例或发布版本发生变化时,重新生成并审核。自动化的是漂移检测,而不是自动批准。

谁应该批准最终文档?

至少由负责的 API 负责人和文档负责人批准;涉及认证、隐私和受监管行为时,还应由安全或相关领域负责人批准。

来源

Sources checked 2026 年 8 月 29 日。

  1. OpenAPI Initiative, “OpenAPI Specification” — https://spec.openapis.org/oas/
  2. OpenAPI Initiative, “OpenAPI Specification v3.2.0” — https://spec.openapis.org/oas/v3.2.0.html
  3. IETF, RFC 9110, “HTTP Semantics” — https://www.rfc-editor.org/rfc/rfc9110.html
  4. IETF, RFC 9457, “Problem Details for HTTP APIs” — https://www.rfc-editor.org/rfc/rfc9457.html

延伸阅读

开启 3 天免费试用

注册即可免费体验全部高级功能。

*仅限新用户;每位用户只能获得一次试用。

用 AI 创建 API 文档前,先建立可核验的证据台账 | AethoVPN