← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / skills / audit-dataset / README_zh.md

Audit Dataset Skill

在下游任何环节开始信任数据之前,先对行式表格数据做一次结构审计,全部用标准库写成。plan-ml-experiment 决定的是独立单元应该是什么,这个 Skill 则盯着你手上真实的行,问那条边界经不经得起它们的检验。Skill 加载后,kernel.py sidecar 会把可复用的辅助函数装进常驻的 Python 内核。它不会自己去读数据集,也不会替你决定某个领域特有的异常该怎么处理。

安装

一个 Skill 就是一个文件目录,所谓安装,就是把这个目录复制到 Agent 会去读的地方。有 Node 18+、且 PATH 上有 git(npm 靠它解析 github: 形式的包名)即可,无需先克隆仓库:

npx github:PKU-YuanGroup/OpenAI4S install audit-dataset --target claude

--target claude 写入 ~/.claude/skills,claude-project 写入 ./.claude/skills,openai4s 写入 <data_dir>/user-skills,--dir <path> 则写到你指定的任意位置。往目标写任何东西之前,都会先打印解析出的绝对路径;--dry-run 到此为止,不再写入。重装时,若目标副本被你改过、或者不是它自己装的,就拒绝覆盖;uninstall 也只删除它自己写过的文件。对于 npm 发布版中包含的配方,可用 npx @pku-yuangroup/openai4s-skills install audit-dataset --target claude 安装发布版本。npm 目录可能与当前仓库不同。

没有 Node 时,直接取这个目录——需要 .zip 上传时再打包。tarball 是整个仓库(超过 100 MB),下面这条管道是 POSIX shell(macOS、Linux、WSL)写法,只解出这一个目录:

curl -L https://codeload.github.com/PKU-YuanGroup/OpenAI4S/tar.gz/refs/heads/main \
  | tar -xz --strip-components=2 OpenAI4S-main/skills/audit-dataset
python3 -m zipfile -c audit-dataset.zip audit-dataset

同一份内容的图形界面版本是点击下载整个仓库 zip 包,Windows 上也走这条路:解压后把 skills/audit-dataset/ 拷出来即可(unzip main.zip 'OpenAI4S-main/skills/audit-dataset/*' 只解这一个目录)。如果你本来就在跑 OpenAI4S,那这里没有任何东西需要安装——wheel 自带全部内置 Skill,且内置 Skill 优先于 <data_dir>/user-skills 里的同名副本。目标目录、来源记录,以及安装器拒绝去做的那些事:tools/skills-installer/。

文件

文件 职责
SKILL.md 分析前的流程,核心是泄漏这一问:同一个病人、同一个分子骨架、同一条时间序列,或者一对近似重复的记录,只要横跨了 split 的两侧,之后测出来的每个数字都会被抬高——哪怕行 ID 各不相同也一样。围绕它还有:schema 漂移和混合类型往往是解析或哨兵值的 bug,缺失要当成采集过程的事实来读而不是急着填补,重复 ID 未必是重复观测(也可能是合理的重复测量),target 是否均衡,以及审计必须留下的那份机器可读输出——没有说清查过哪些泄漏键、缺失值按什么策略处理,就不能把一份数据称作干净。
kernel.py 以 audit_rows 为核心的可选 sidecar:校验传入的行与列参数,把值规整成确定性表示以便比较,逐列汇总缺失、观察到的类型和唯一值个数,统计重复行和不唯一的 ID,统计 target 的分布,并找出同时出现在 split 两侧的实体。不用 pandas,也不用 numpy。

结构上干净,不等于数据有代表性、标注可靠,也不等于不存在近似重复带来的泄漏。这些仍然要靠领域审阅。