从问题开始,而不是从 Git 开始

Docs-as-Code 常被描述成一组工具:Markdown、Git、pull request、CI 和静态站点生成器。团队因此很容易先争论编辑器,却没有先回答:现有文档流程到底哪里出了问题? 常见问题包括内容过期、评审缓慢、术语不一致、链接失效,或者发布完全依赖某一个人。

只有当 Docs-as-Code 能明显降低这些摩擦时,它才有价值。

Docs-as-Code 实际包含哪些环节

环节 发生什么 简单方案 更成熟方案
源文件 修改内容 Git 中的 Markdown/AsciiDoc 结构化内容 + metadata schema
编辑 作者写作 GitHub 网页编辑器 github.dev、VS Code、IDE 或 authoring UI
预览 查看未来页面 本地/网页 build 每次 change 都有 preview
自动检查 机器发现例行问题 links + build style、术语、API、accessibility、locales
评审 验证含义 单一 reviewer SME + 编辑评审
发布 更新站点 手工 checks 通过后 CI/CD

目标不是把每一行都做到最复杂,而是选择足够解决实际风险的最小方案。

文本格式不等于必须使用 IDE

GitHub 可以直接在浏览器中编辑文件。github.dev 也在浏览器中运行,并提供仓库搜索、语法高亮和 source control,无需本地 clone。偶尔修改一次术语的 SME 没有必要学习 terminal 和 rebase。

参与者 通常足够 不应无理由强制
Technical writer github.dev、VS Code 或习惯的编辑器 指定某一种 IDE
偶尔参与的 SME 网页编辑 + preview terminal、rebase、本地 build
Developer IDE + Git 如果 Markdown 更方便则无需额外 CMS
Editor 浏览器/authoring UI pipeline 内部细节

存储格式和作者使用的界面是两件不同的事。

一个合理的端到端流程

产品变化 → 草稿 → preview → 自动检查 → 技术评审 → 编辑评审 → merge → 发布 → production 检查。

小团队可以由一人承担多个角色,pull request 不必成为仪式。大团队中,SME 应确认事实,technical writer 负责用户任务、结构、术语和清晰度。

哪些检查值得自动化

检查 能发现什么 好的错误信息
Build syntax、include、template 文件 + 明确原因
内部链接 删除的页面/anchor 来源 + 目标
Metadata title、owner、locale、revision 错误字段
Heading structure 层级问题 具体 heading
Terminology 过期术语 术语 + 推荐替换
Style lint 编辑规则 简短可执行说明
Code example syntax/format 具体 example + error
API contract 与 schema/OpenAPI 不一致 field/endpoint
Images asset、alt、size 文件 + 问题
Locales 缺语言或 revision 落后 article + locale
Secrets token/key 不泄露 secret 的 finding 类型

没人会处理的 warning 应该被改进或删除,否则只会训练团队忽略自动化。

自动化能节省多少时间

Docs-as-Code 没有可信的统一百分比。应把假设写清楚再计算。例如每月 40 次修改,每次人工完成链接、metadata、术语、build 和结构检查需要 20 分钟,总计 13 小时 20 分钟。自动化后若每次只需 2 分钟查看结果,则约为 1 小时 20 分钟。

图 2. 示例模型:每月主动检查时间
完全手工13 h 20 m
自动化之后1 h 20 m

假设:40 × 20 分钟,对比 40 × 2 分钟。这是规划模型,不是行业 benchmark。

工业 code review 研究说明自动化重复性工作可以带来可测量收益,但不能把软件开发中的具体百分比直接套到文档团队。

先测量自己的效果,不要编造研究

TechWriters 不应在没有真正执行前声称“研究了多个项目”。可以先连续四周记录作者主动工作时间、review 等待时间、SME/editor 时间、发布后缺陷、production lead time 和 false positives。然后只自动化一组问题,比如 links、metadata 和 build,再重复测量。

这样才能形成真正有上下文和限制条件的案例研究。

人和机器应该检查不同的事情

机器 人
链接是否存在 是否真的是用户需要的目标
heading 是否存在 结构是否围绕任务组织
term 是否允许 对目标读者是否清楚
example 是否匹配 schema 是否解释真实任务
页面是否 build 是否帮助用户完成工作

LLM 可以标记矛盾,但事实仍需通过产品、规范、测试或负责的专家确认。

什么时候变成了“工具信仰”

当流程纯洁性比参与者更重要时就开始了。如果 SME 能在浏览器里两分钟修正 parameter 名称,就没有必要要求 Node.js、本地 clone 和 rebase。应保留简单入口:网页编辑、issue、assisted authoring,或者由某个人把修改带入 Git 流程。

分阶段实施 Docs-as-Code

  1. 第 1 周:源文件进入 Git,历史清晰。
  2. 第 2 周:增加 preview 和自动 build。
  3. 第 3 周:启用 3–5 个真正有用的 checks。
  4. 第 4 周:必要时分开技术评审和编辑评审。
  5. 一个月后:测量 lead time、例行工作、缺陷和 warning 噪声,再决定是否继续加工具。

Docs-as-Code 的成功标准是修改、评审和发布更容易,而不是流程图更复杂。

相关文章