You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
AI-Ready Repo 标准 — 为什么 CLAUDE.md + System Specs 不够用
这些问题是不是很眼熟?
以下是正在落地 AI coding 的工程团队真实遇到的问题。如果任何一条戳中你——这篇文章就是写给你的。
"AI Ready Repo 怎么建?"
你已经比大多数团队做得多了:有文档,写了 CLAUDE.md,甚至加了 steering files。但 agent 还是不懂。它遵循了你规则的字面意思,但抓不住架构的精神。
"PRD 多来源怎么沉淀?"
问题不是 PRD 不存在——是它存在于 5 个地方,没有一个在 agent 的 context window 里。你不能把 30 页 PRD 贴进 CLAUDE.md。你需要的是蒸馏过的判断底座,不是文档堆积。
"知识库有了但输出不准"
这是最令人沮丧的阶段:你做了工作,写了文档,配了工具——结果输出还是不符合预期。问题几乎从来不是"agent 蠢"。通常是:正确的 context 没在正确的时间加载,或者过去失败的教训没有被捕获。
"To B 场景的合规约束"
企业团队面临独特约束:agent 不仅需要知道"怎么写代码",还需要知道"什么不允许做"。合规规则、部署门禁、审批流程——这些是硬约束,一个平的规则文件无法用足够的细粒度表达。
"AI 不懂业务"
通用编码能力是基本功。一个不知道"电池 SOC 不能低于 20%"或"逆变器指令需要安全联锁"的 agent 写出的代码能过 lint 但在生产环境出事。领域知识需要一个归属地。
"生成代码质量不高"
没有"在这个 codebase 里什么叫好代码"的共享基线,质量完全取决于谁写 prompt。repo 自身应该编码质量标准——不是依赖个人的 prompt 技巧。
"Spec 编写困难"
确实。AI 可消费的 spec 不是传统 PRD。它更短、更结构化、以判断为导向(非目标比功能列表更重要),并且用 agent 能解析为行动的格式。
"成本控制——没有 ROI 度量"
如果你不能度量"这个 sprint AI 帮我们省了多少",你就无法守住预算。而如果 repo 没有 AI ready,工具表现不佳 → ROI 看起来比实际差 → 工具被砍 → 所有人输。
共同的根因
以上每一个问题都追溯到同一个 gap:
你的 repo 有 context 文件,但没有 context 架构。
一个 markdown 告诉 agent "用 snake_case" 或 "我们用 PostgreSQL" 是 configuration,不是 knowledge。这是给新员工发 style guide 和给他六个月 institutional knowledge 的区别。
这篇文章提出一个 convention standard:让任何仓库对 AI ready——不绑定任何特定工具。
Gap:静态配置 vs 活的知识
现在每个工具提供什么:
CLAUDE.md.kiro/steering/+.kiro/specs/.cursorrules+@docs.windsurfrules它们都缺什么:
CLAUDE.md 是一个平的单文件。就像用一个 Google Doc 代替组织架构图 + 知识库 + 事后复盘库来经营公司。
标准:
.ai-context/一个 convention——任何 AI coding tool 都能消费的目录结构:
4 个文档 — 关注点分离
为什么 4 个文件,不是 1 个?
因为它们的以下属性完全不同:
为什么这比单文件好
场景 1:"Agent 不理解我们的架构"
用 CLAUDE.md(平的):
Agent 读 200 行,注意力稀释。关键的 "macOS 上永远不要用 lsof" 淹没在 "我们用 Tailwind" 和 "通过 launchd 部署" 之间。
用
.ai-context/(结构化):正确的时间,正确的上下文。
场景 2:"我们反复犯同样的错"
用 CLAUDE.md:
每次出 bug 之后手动加 "不要做 X"。没人记得更新。文档腐烂。
用 IMPROVEMENT.md:
每个重要任务后 agent 自动追加:
repo 随每个任务变得更聪明。
场景 3:"PRD 散落各处"
用 CLAUDE.md:
把整个 PRD 贴进去。3000 token 产品 context 和 500 token 编码规则混一起。两者都不 effective。
用 PRODUCT.md:
蒸馏过的产品 context — vision、优先级、非目标、audience map。不是完整 PRD,是判断底座:足以让 agent 回答"这个该不该建?"和"这跟我们方向对不对齐?" 完整 PRD 作为链接引用。
结构感知:按 Repo 规模分级
4 个文档给 agent 判断力(建什么、怎么建、避什么)。但代码改动时,还需要结构感知——谁依赖谁。方案按代码库规模分级:
小 repo(<5 万行):
CODEBASE.md— 手写地图小项目里 agent 可以 grep 和读到大部分文件。计算图 overkill。但一个手写的模块地图仍然有用——告诉 agent "各个部分怎么连接",不用它读 100 个文件才发现架构:
示例
CODEBASE.md:为什么这对小 repo 有效: Agent 在 session 开始时读一次 CODEBASE.md → 知道架构 → 对 blast radius 做出明智决策。成本:5 分钟写,~200 token 注入。新增模块时更新(大概一个月一次)。
什么时候升级: 如果你发现 agent 经常 break 跨模块接口,或者 CODEBASE.md 超过 200 行 → 该上 code-intel.db 了。
中等 repo(5-20 万行):两者都用
用 CODEBASE.md 做高层架构概览(人类写摘要还是比 parser 好)+ code-intel.db 做精确的 caller/callee 查询。Agent 读地图做定位,查图做具体决策。
大 repo(>20 万行):
code-intel.db— 预计算图这个规模没人能手动维护准确的依赖地图。需要自动化的结构分析:
Schema:
PreToolUse hook 在每次
Read时查询:没有这个,agent 改
validate_token()签名 → 4 个包 break。有了这个,agent 改之前就知道。(完整实现:Discussion #50)
总结:按规模选方案
CODEBASE.md(手写)CODEBASE.md+code-intel.dbcode-intel.db+ 跨包引用怎么对接你的工具
Claude Code
Claude Code 的 hooks 是 enforcement 机制。Convention 提供知识。组合 = 无需手动维护的活 context。
Kiro
Kiro 的 spec-driven 工作流从 PRODUCT.md(塑造需求)和 TECH.md(约束设计)获益最大。IMPROVEMENT.md 变成防止重复过去错误的 steering file。
活的循环(为什么这跟"多写点文档"不同)
静态文档会腐烂。关键创新不是目录结构——是积累循环:
每个任务让 repo 更聪明。 不是因为有人记得更新文档——是因为 agent 结构性地做这件事。
没有循环,你有的是 documentation。有了循环,你有的是 institutional memory。
5 分钟快速开始
上手时间:5 分钟。 填写括号里的内容。你的 agent 立即有了结构化 context,而不是什么都没有(或者一个 500 行的平文件)。
设计决策
为什么是文件系统,不是服务?
Git-tracked 文件意味着:
为什么是 markdown,不是 YAML/JSON?
Agent 能消费,人也能读。工程师真的会编辑 markdown。没人自愿编辑 JSON 配置来做知识管理。
为什么 4 个文件,不是 7 或 12 个?
最小可行的关注点分离。4 个足以消除交叉污染(战略 vs 战术 vs 教训 vs 状态),又不至于创建没人维护的归档系统。
为什么是
.ai-context/不是.claude/或.kiro/?工具无关。你的 context 架构不应该锁在一个 vendor 上。Claude Code 读它。Kiro 读它。Cursor 读它。换工具,保留知识。
和现有方案对比
.aider.conf.yml.ai-context/(本标准)这能做到什么(今天没有其他方案能做到的)
跨 session 学习 — IMPROVEMENT.md 持久化失败教训跨 agent session。今天没有 agent 记得昨天哪里出了问题,除非你告诉它。
正确时间正确 context — 不同文件给不同阶段(编码 vs 审查 vs 规划)。没有注意力稀释。
Blast radius 感知 — code-intel.db 提供结构化代码理解。没有其他 convention 包含这个。
团队知识,不是个人配置 — Git-tracked 意味着整个团队受益。新成员的 agent 立即拥有所有积累的知识。Onboarding 成本 → 零。
换工具零成本 — 从 Cursor 换到 Claude Code 换到 Kiro?
.ai-context/跟着你走。只有工具专用的 hooks 要改。行动号召
如果这篇有共鸣,试试:
.ai-context/反馈:agent 输出质量提升了吗?还缺什么?
相关文章:
发布自 SwarmAI — 这套标准已在生产环境运行 3 个月,覆盖 7 个项目、17 万行代码,每周自动积累 14 条教训。
Beta Was this translation helpful? Give feedback.
All reactions