Agent Legibility(Agent 可读性)

定义

Agent Legibility 是一种设计原则:代码库、文档和工具链应以 agent 为首要消费者进行组织。从 agent 的视角看,运行时无法在上下文中访问的知识等于不存在——Google Docs、Slack 讨论、人脑中的共识对 agent 来说都是不可见的。

关键数据点

  • OpenAI 实验(2026):5 个月、0 行手写代码、百万行代码、1500 PR,3 名工程师人均 3.5 PR/天
  • AGENTS.md 重定义:从"规则手册"(60 行)变为"目录"(约 100 行),指向 docs/ 中的结构化知识库
  • 知识库结构:设计文档(含验证状态)、架构文档(域和包分层)、质量文档(各领域分级)、执行计划(进度和决策日志)、技术债务
  • 机械验证:专用 linter + CI 验证知识库时效性、交叉链接和结构正确性
  • Doc-gardening agent:自动扫描过时文档,开修复 PR
  • 单次 agent 运行:常见持续 6 小时以上(常在人类睡觉时运行)
  • 架构约束:每个业务域固定分层(Types→Config→Repo→Service→Runtime→UI),自定义 linter 机械执行

为什么重要

当 agent 成为主力代码生产者时,代码库的"读者"发生了根本变化。传统代码库为人类工程师设计可读性(命名、注释、目录结构);agent-first 代码库需要为 agent 设计可读性。

OpenAI 团队的核心洞察:human legibility 和 agent legibility 不是同一件事。人类可以问同事、翻 Slack、看会议记录;agent 只能看到仓库中的版本化文件。因此,所有对决策有影响的知识都必须被推入仓库。

核心原则

1. 仓库是唯一的知识源

对人类可读对 agent 可读
Google Docsdocs/ 目录中的 markdown
Slack 讨论执行计划和决策日志
人脑中的约定AGENTS.md 和架构文档
会议共识设计文档中的 core beliefs
口头传承linter 规则和错误信息

2. AGENTS.md 是目录而非百科

OpenAI 的做法:AGENTS.md 约 100 行,作为 map 指向 docs/ 中的深层知识。原因:

  • 上下文是稀缺资源,巨型指令文件会挤占任务、代码和相关文档
  • 过多指导变成"非指导"——当一切都"重要"时, nothing is
  • 单体手册会立即腐烂,agent 无法判断哪些规则仍然有效
  • 单一文件难以做机械检查(覆盖度、新鲜度、所有权、交叉链接)

3. 渐进式披露

Agent 从一个小的、稳定的入口点开始,被教导下一步看哪里,而不是一开始就被淹没。这与 Progressive-Disclosure 原则一致。

4. "无聊"技术更利于 agent

Agent 更容易理解和使用组合性好、API 稳定、训练数据中广泛存在的技术。有时让 agent 重新实现子功能比处理不透明的第三方库行为更便宜。

工程实践

实践作用
结构化 docs/ 目录知识库作为 system of record
自定义 linter验证知识库时效性、交叉链接、结构正确性
doc-gardening agent扫描过时文档,自动开修复 PR
执行计划版本化活跃计划、完成计划、技术债务共置
质量分级文档追踪各领域和架构层的质量差距
linter 错误信息注入修复指令将 remediation 直接放入 agent 上下文

前提与局限性

  • 投入前提: 需要大量前期投入(结构化 docs、linter、CI、doc-gardening agent),小团队可能负担不起
  • 泛化边界: OpenAI 明确说此行为"depends heavily on the specific structure and tooling",不应假定无需类似投入即可复现
  • 腐烂缓解但未消除: doc-gardening agent 能发现过时文档,但定义"什么是过时"仍需人类判断
  • 人类知识外化成本: 将 Slack 共识、会议决策推入仓库需要持续纪律,可能增加流程负担
  • Agent legibility ≠ Human legibility: 为 agent 优化的代码结构可能不符合人类风格偏好,文章认为"that's okay"

前提与局限性

  • 投入前提: 需要大量前期投入(结构化 docs、linter、CI、doc-gardening agent),小团队可能负担不起
  • 泛化边界: OpenAI 明确说此行为"depends heavily on the specific structure and tooling",不应假定无需类似投入即可复现
  • 腐烂缓解但未消除: doc-gardening agent 能发现过时文档,但定义"什么是过时"仍需人类判断
  • 人类知识外化成本: 将 Slack 共识、会议决策推入仓库需要持续纪律,可能增加流程负担
  • Agent legibility ≠ Human legibility: 为 agent 优化的代码结构可能不符合人类风格偏好,文章认为"that's okay"

关联概念