决定要不要依赖一个项目时,我想先知道它是怎么被建起来的。代码是人写的?还是AI写的、但每一处改动都有人读过?或者干脆是从一句提示词直接进了主分支,没人看过一眼?

今天你只能从提交历史里猜。所以我做了 AI Code Rating:一套由三个字符组成的评级,项目把它发布在仓库根目录的 ACR.md 文件里。

三个位置各代表什么

举几个例子。A2b 表示维护者是专家级,26–50% 的代码由 AI 写成,且每一处 AI 改动在合并前都被读过。B0a 表示维护者经验丰富、没有 AI 写的代码——当 AI 占比为 0 时,监督一项永远是 a。D4e 表示维护者还在学习这套技术栈,几乎所有代码由 AI 写成,生成即合并。

每个评级都有自己的说明页,比如 aicoderating.com/A2b/。示例页把常见组合逐一拆开,并给出每个位置的判定理由。

它不做评判

AI 占比描述的是代码怎么来的,不是代码好不好。一个 A3a 项目——专家写了大部分代码、并检查了每一处改动——可能强过一个 C1e 项目:后者只有少量 AI 代码,但没人检查。评级只把事实交给读者,由读者决定什么对自己重要。

为什么要给维护者评级

多数 AI 披露标准只用一个等级,比如“无”“辅助”“生成”。这把好几个问题折叠进了一个答案。我认为被漏掉的那个问题是:到底是谁在检查。同一段 AI 写的代码,由一个本来就能写出它的人来审,和项目里没人读得懂它,含义完全不同。

等级是自评的,对照两个实际问题:对这段代码负责的人,能不能不用 AI 写出它?能不能解释每一行?相关工作的页面把 AI Code Rating 与 AI-DECLARATION.md 等标准做了对比。

文件长什么样

文件头部是评级、规范版本和更新日期,正文里用一段自己的话说明 AI 是怎么被使用的。AI Code Rating 网站本身就是 B4b:Claude Code 写了它几乎全部代码、起草了大部分文字,而我指导了每一处改动,并在合并前全部读过。我另一个从 2010 年起几乎全手写的项目 DomainMOD,评级是 B1b。

怎么拿到自己的评级

  1. 在评级表单里回答几个问题,它会生成 ACR.md 文件,评级链接到对应说明页,并附上 README 徽章(Markdown、HTML 或 reStructuredText 格式)。
  2. 把文件放到仓库根目录。
  3. 用校验器检查一遍。
  4. 可选:加上 GitHub Action,在 CI 中检查该文件,并在 README 徽章显示的评级不一致时发出警告。

徽章来自 shields.io,所以你的项目不依赖 AI Code Rating 网站本身。

不能造假吗

能,评级是自报的。但虚高的评级很容易被反驳:提交、拉取请求和 issue 会显示项目真实的运作方式,评级与它们对不上,代价是信任。一个诚实的 D4c 比一个可疑的 B4b 能告诉读者更多。

如何被收录

ACR.md 通过校验器后,可以申请加入首页的已评级项目列表。表单很短,只要项目名、仓库、评级和一句话描述。规范是 0.1 版,采用 CC BY 4.0 许可,站点代码是 MIT,问题和建议欢迎在 GitHub 上提。