SuperAPI AI 工具集

code-slop

编程与开发

查看项目

更新于 10-15 13:10

技能介绍

用途

code-slop 是一个代码审查技能,用于检测 AI 生成代码中常见的模式(称为“slop”)。它关注的是定性层面的失败模式:代码虽然能通过所有量化指标(复杂度、重复率、CVE 等),但读起来像教程博客,而不是人类编写的代码。该技能适用于 PHP/Laravel 和 TypeScript/React(Node)项目。

主要能力

该技能包含 24 条规则,分为 6 个类别,按优先级排列:

  1. 注释(CRITICAL):检测仅复述代码的注释、空文档块、占位符注释、闭合大括号标签。
  2. 命名(CRITICAL):检测通用占位符名称(data、result、info、temp、helper)、过度描述性名称、后缀滥用(*Helper / *Manager / *Util / *Wrapper)、类型入名模式(userObject、resultArray)。
  3. 过度工程(HIGH):检测只有一个实现的接口、单方法类、仅调用一次的无用包装函数、重复添加依赖。
  4. 防御性代码过量(HIGH):检测通用 catch 块、对不可能为 null 的值做 null 检查、以及真正需要防御的地方(超时、限流)反而缺失。
  5. 测试 slop(HIGH):检测模拟所有依赖但无真实行为断言的测试、仅验证“不抛出异常”的测试、镜像实现逻辑的测试、滥用快照测试。
  6. 风格指纹(MEDIUM):检测格式过度一致、滥用 as any / @ts-ignore、缺少 HACK/XXX 标记、遗留调试产物、冗余样板代码。

使用方式

当用户要求“审查 AI slop”、“审计代码质量品味”或“查找 AI 模式”时,按以下步骤执行:

  1. 确定范围:如果提供了 PR diff,只审计变更文件;如果指定了文件,审计这些文件;如果没有范围,审计整个仓库,优先处理最近修改的文件。
  2. 检测技术栈:通过 composer.json + artisan 识别 PHP/Laravel;通过 package.json(含 TypeScript/React 依赖)识别 Node/TypeScript/React;两者都存在则为 Laravel + Inertia + React。
  3. 运行 slop 检查清单:对每个检查项输出 CLEAN(未出现)、SUSPICIOUS(少量出现)、INFLATED(大量出现,建议修复)、CRITICAL(大量 AI 指纹,合并前需全面审查)。
  4. 生成 Slop Ledger:以表格形式列出每个文件的判定、主要发现和建议操作,并汇总各类别文件数量。

判定标准:CLEAN 为标记行数低于 5%;SUSPICIOUS 为 5–15%;INFLATED 为 15–30%;CRITICAL 为超过 30%。

适用场景

  • 在合并 AI 辅助的 PR 之前进行审查
  • 审计已接受大量 AI 辅助贡献的仓库
  • 评估代码库是否像人类维护的
  • 强化团队的代码审查清单以对抗 AI slop
  • 在“氛围编程”冲刺后、宣布功能完成之前
  • 为 AI 输出质量设置 CI 门禁

限制

该技能主要针对 PHP/Laravel 和 TypeScript/React 技术栈,其他语言或框架的适用性暂未提供。规则基于启发式判断,需要人工审查确认。具体安装命令、收费模式、价格等信息暂未提供。