SuperAPI AI 工具集

code-simplify

编程与开发

查看项目

更新于 10-16 06:21

技能介绍

该技能面向研究型代码库,目标是降低复现论文所需的最小复杂度,而非追求最少行数。

用途:当用户想简化、清理或审计过度工程化的代码时使用,尤其适合因改动一个超参数就要修改多个文件的代码库。

主要能力与流程:

  1. 先诊断不修改:阅读代码并产出复杂度审计,按影响从高到低排序,格式为「模式→代价→建议动作」。此阶段不提出重写,先与用户确认诊断。
  2. 对每个抽象分类:承重(移除会破坏正确性、可复现性或被3处以上使用,不可动)、装饰性(只增加间接层,可安全删除)、模糊(看起来装饰但可能编码设计决策,须先问用户)。
  3. 提出扁平化计划:具体、有序、每步可独立回滚,不提出整体重写;按影响而非难易排序,列出前后结构、涉及文件和风险。

常见研究代码反模式:argparse 上再包配置类、仅两三个子类且不共享行为的抽象基类、静态模型的注册表/工厂、单次使用的字典却用 Pydantic/dataclass、一次性脚本的完整日志设施、把 src/ 做成可安装包、实验 YAML 加配置加载器等。

不应触碰:data/raw/、任何影响数值输出的改动、因数学复杂而复杂的代码、用户明确表示有意为之的部分。

输出模式:整个仓库运行完整审计;单文件或粘贴内容则跳过审计,直接分类并给出内联简化建议;「只告诉我哪里有问题」只输出诊断;「修好它」则给出计划并重写相关文件。

停止标准:每个脚本可从头到尾读懂而无需跳转其他文件(除真正被多处使用的工具);改一个超参数最多触及1个文件;通过 experiments/*.sh 加 train.py 即可复现整个实验。

限制:具体收费、平台支持等信息暂未提供。