AI代码审查清单

70 阅读3分钟

背景: 在阅读这篇文章:mp.weixin.qq.com/s/6sP3rHIfF…

里边提到关键实践:建立"AI代码审查清单",每次使用AI生成代码后都要过一遍这个清单。

然后我想了下,确实不错,按照《清单革命》里的思路,确实需要搞一个清单。

以下是一份AI代码审查清单(AI Code Review Checklist) ,分为通用部分 + 针对 AI 应用的特定部分,适用于前后端、算法、模型、Prompt 工程等类型项目。


🧩 一、通用工程质量

✅ 1. 可读性

  • 命名语义清晰(变量、函数、类、文件)
  • 函数/类职责单一,不超过必要复杂度
  • 有必要的注释、docstring、类型标注
  • 模块结构合理(分层、分包、依赖清晰)

✅ 2. 代码风格

  • 符合语言规范(PEP8 / ESLint / Prettier / Rustfmt等)
  • 缩进、空格、行宽、引号统一
  • Magic number、硬编码是否清理
  • 日志等级合适(debug/info/warn/error)

✅ 3. 健壮性与异常处理

  • 错误捕获完整,避免程序崩溃
  • 使用自定义异常类型而非通配符异常
  • 网络/文件/数据库操作有重试或超时机制
  • 边界输入、空值、异常路径均有测试

✅ 4. 安全性

  • 用户输入是否经过校验/过滤
  • 敏感信息(key/token/password)未硬编码
  • 外部API调用有速率限制与安全存储
  • 日志中未输出隐私或模型参数

✅ 5. 性能

  • 主要循环/IO/模型推理路径有profiling数据
  • 数据结构选择合理(避免 O(n²))
  • 缓存、批处理、异步机制使用恰当
  • 模型调用/推理延迟可控

🤖 二、AI特定部分

✅ 6. 模型调用与推理

  • 模型输入输出格式定义明确
  • 有错误重试与超时机制(尤其是API调用)
  • 版本号与模型ID固定,避免隐式漂移
  • 模型权重或调用参数未泄露

✅ 7. Prompt 与指令设计(LLM类项目)

  • Prompt 有版本与注释说明
  • 指令边界清晰,防止越权或注入
  • 输出结果有验证或后处理
  • 用户上下文安全(不暴露隐私、不带入系统提示)

✅ 8. 数据处理与训练逻辑

  • 训练/推理数据来源合法且文档化
  • 数据预处理逻辑可复现
  • 标签/样本分布平衡合理
  • 随机性受控(随机种子固定)

✅ 9. 评测与验证

  • 评测指标明确(准确率、BLEU、MSE、F1等)
  • 有对照实验或基线
  • 自动化测试覆盖核心路径(例如inference、API封装)
  • 有错误示例与回归检查机制

✅ 10. 合规与伦理

  • 模型输出内容合规(避免歧视、虚假信息)
  • 明确声明AI参与生成或决策
  • 数据与模型遵循许可证要求
  • 用户可追溯来源与决策解释(Explainability)

🧠 三、AI工程项目附加建议

🧾 文档与版本

  • README包含运行方式、依赖、环境、模型说明
  • requirements/conda文件锁定版本
  • 模型配置与Prompt配置分离
  • CI/CD中有lint + test + deploy检查

🧮 测试专项

  • Unit test:核心算法逻辑
  • Integration test:数据流 & 模型调用
  • Regression test:输出变化检测
  • 负面测试:Prompt注入、防越权输入

是否希望我帮你生成一个 可复用模板(Markdown / Excel 格式)
比如:

  • ✅ Markdown:用于代码审查文档或GitHub PR模板
  • ✅ Excel:每行一项,可打勾评分(适合团队用)