用途:对已绑定的数据集做开放式、自检式的探索分析,产出发现报告(findings.md)。核心纪律是“没有数字就不下结论”:每条发现都必须能被独立重算复现,且效应量达到事先声明的门槛;数据不支持的合理猜测会被丢弃而非弱化表述。不适用于诊断某个已知异常,也不用于对照文献核查外部论断。
主要能力:迭代 0 先对数据集做画像(列、推断类型、行数、范围、类别计数、缺失情况),此时不记录任何发现;随后每轮提出一个具体可检验的假设,写出分析脚本并运行,输出重定向到文件;再做验证——用第二种独立方式重新推导关键数字,并对照事先声明的效应量门槛(如 |Cohen's d| ≳ 0.2、风险比 ≳ 1.5、|r| ≳ 0.1,小样本时收紧)判断是否显著。支持则把结论、精确数字、效应量与可复现方法追加到报告并标记 verified;不支持或效应可忽略则记为 refuted,不写入报告。每轮追加一行台账。
使用方式:交互式解析绑定项。若工作目录已有 loop.run.yaml 则加载并一行确认后进入循环;否则推断各绑定值(Claude Code 上可用 AskUserQuestion 给出推荐项,其他宿主用纯文本逐项询问),写入 loop.run.yaml 并确认后再创建其他文件。绑定项包括数据集、可选聚焦问题、报告路径(默认 <sandbox_root>/findings.md)、分析命令(默认 python3)、沙箱根目录(默认 ./sandbox)、预算(默认 8 轮)、耐心值(默认连续 2 轮无新验证发现即停)。分析片段在用户环境中通过 <analysis_cmd> 运行,辅助代码优先用标准库(csv、statistics);需要 pandas/numpy 时用 try/except ImportError 探测并降级,或征得同意后安装,不得假定已安装。
限制:只读数据集,绝不修改;沙箱自包含,不允许 ../ 逃逸;每轮只提一个假设,已定论的假设不重复;报告效应量而非仅方向,不把相关性说成因果,无法分离混杂因素时需注明;循环不中途询问是否继续,直到干涸或达到预算。最终汇报报告路径、已验证发现数量与被否定的假设。