专为 AI Agent 打造的 CMS
AI Agent 处理内容的最优解是操作 Git 中的纯文本文件。探索结构验证、内联标记与静态导出如何让内容仓库变成 Agent 能够安全维护的系统。
View as Markdown在 2026 年,任何 CMS 都值得做这样一个测试:给 AI Agent 分配一个“更新所有十种语言定价页”的任务,看看它在开工前需要多少定制化集成。对于大多数托管系统来说,答案是 API 客户端、凭证、无法直接查看的结构定义,以及一个你指望它能老实待着的沙盒环境。但面对装满 MDX 文件的代码仓库,答案是零。Agent 早已具备所需的一切能力:读取、grep、编辑以及 diff。
Scribe 正是基于这一理念而生。它的整个运作机制完全契合 Agent 本就擅长的操作。
读取:一切皆文件
当 Agent 探索 Scribe 项目时,完全不需要额外文档来指引方向。内容类型都在同一个配置文件中通过 Zod 结构定义,因此每份文档的形态都能像代码一样直接被读取。文档就是 MDX 文件,文件名即是访问路径。对应的翻译内容则直接存放在旁边的 SQLite 库中。这里没有隐藏在管理后台的黑盒,仓库本身就是完整的系统。在 content/ 目录下执行一次 grep 操作,就能真正检索到所有的内容。
写入:用护栏代替盲目信任
引入 Agent 的风险并不在于它们不会写,而是它们偶尔会写出一些存在隐性错误的废料。Scribe 对此的解决方案与约束人类编辑相同,只不过执行得更加严格:
- 用结构定义把关所有文档。 前置元数据必须符合对应内容类型的 Zod 结构定义。任何由 AI 幻觉产生的多余字段或缺失的必填项,都会在
scribe validate阶段被直接拦截,绝不会波及生产环境。 - 正文必须能够成功编译。 每段 MDX 正文都会在验证阶段进行编译。任何格式错误的组件或语法问题,都会在构建之前被及早发现。
- 杜绝死链。 内联关联标记通过类型和文件名来引用文档,只要有任何标记指向不存在的文档,就会触发验证错误。从物理层面上,Agent 根本不可能把无效的内部链接蒙混过关。
- 删除操作需要严谨规划。
scribe delete会优先计算完整的引用级联关系,遇到阻碍因素就会终止操作。Agent 在移除某个页面时,能清楚地看到这会影响到哪些关联内容。
这样一来,“让 Agent 编辑内容”不再是一件令人担忧的事。错误编辑引发的后果无非是终端里冒出一行红色的报错提示,就如同普通的测试失败一样。
审查:Diff 即是交互界面
鉴于每次修改都会生成 commit,Agent 的工作成果会以 Pull Request 的形式提交,这也正是你团队早已习惯的审查方式。既不需要去翻看额外的审计日志,也不用在 CMS 历史记录和 Git 记录之间费力核对。英文快照精确记录了每段翻译的来源依据,所以即便是 AI 翻译的内容,也具备可追溯的审查链路:这段法文源自那段英文,由某个特定模型于某年某月某日生成。
本地工作台则为人类完成了整个闭环。你可以轻松浏览 Agent 修改过的痕迹,在所有文档中进行全文检索,预览成功解析了链接与图片的网页效果,并对多语言覆盖情况一目了然。让 Agent 负责编辑文件,让人类在工作台把关验证。
不仅与 AI 协作,更向 AI 喂送内容
能让 Agent 轻松编写内容的同等特性,也使得你的网站更容易被 AI 系统读取。scribe export-static 会将每个页面的每种语言版本输出为纯 MDX 文件并存放到静态目录中。这些内容干净且标记语言极简,相比于渲染后的 HTML 网页,LLM 爬虫和问答引擎处理起来要得心应手得多。无论是输入还是输出,你的内容在整个管线中都完全具备 AI 可读性。
绝非纸上谈兵
当前网站就是一个活生生的成功案例。包括更新日志的整合、文档结构的重组,以及你现在正在阅读的大部分常规内容维护,都是由 AI Agent 直接在仓库中完成的。它们经过了 scribe validate 的严格验证,并以 Diff 的形式交由人类审核。这种 基于 Git 的协作模式 本是为人类团队量身定制的,没想到它恰恰也是 Agent 梦寐以求的解决方案。
如果你正在搭建一个需要让 Agent 参与维护的网站,不妨先看看 快速入门指南,然后给它派发一个任务试试。这套工作流绝对会让它如鱼得水。