hypoarena
hypoarena 是一个完全离线的科学假设发现工作台。
它将 generate–debate–evolve “AI co-scientist” 流水线的机制层分解为可单独测试的组件:带引用的假设/证据图谱、合成文献工厂、span 级接地验证、可插拔的 agent 适配器、Bradley–Terry / Elo 锦标赛、复述去重(TF-IDF、MinHash LSH)、假设进化算子,以及贝叶斯证据累积。
在运行时,该包仅依赖 NumPy。PyTorch(仅 CPU)是可选的额外依赖,仅用于演示一个小型可训练的排序器。所有默认测试和示例均在无网络、不调用真实模型、不下载权重的情况下运行。
安装
python -m venv .venv
.venv/bin/pip install -e ".[dev]" # development env (hatchling, pytest, ruff, mypy)
.venv/bin/pip install -e ".[dev,torch]" \
--extra-index-url https://download.pytorch.org/whl/cpu # when the optional ranker is needed
快速开始
.venv/bin/hypoarena demo --chains 2 --chain-length 2 --out /tmp/hya
这会在合成语料库上离线运行完整流水线,打印每条植入的因果链是否被恢复,并写出 report.md / report.html。它是一个机制演示,并不声称具备真实科学发现能力。典型运行会报告每条植入的链接(例如在演示语料库上 planted links: 6 recovered: 6 rate: 1.0),并以明确的说明结尾,表明这只是合成演示。
常用命令
| 命令 | 用途 |
|---|---|
make build | 使用本地 venv 构建 wheel(--no-isolation) |
make test | 快速测试套件(排除 slow 标记) |
make test-all | 完整套件(包含 slow / model 测试) |
make format / make format-check | ruff 格式化及其检查模式 |
make lint | ruff check + format –check |
make typecheck | mypy 静态分析 |
make demo | 端到端离线演示 |
CLI
hypoarena 命令行工具按流水线顺序为每个阶段暴露一个子命令:corpus、generate、verify、dedup、debate、rank、evolve、accumulate、report 和 demo。所有子命令均在合成语料库上离线运行。一键演示:
$ hypoarena demo --chains 2 --chain-length 2 --out /tmp/hya
子命令选项、共享参数和退出码记录在 docs/cli.md 中。
各阶段的功能
- corpus —— 生成确定性的合成文献,包含植入的因果链、竞争假设、复述簇和可控噪声(干扰项、矛盾发现);每个语料库都带有来源哈希。
- generate / debate / evolve —— 在可插拔 agent 协议(propose / critique / revise)上运行 generate–debate–evolve 循环,支持 scripted、replay 或 loopback-mock agent;进化算子(范围收窄、变量替换、机制交叉、声明分解)在构造上保持图的有效性。
- verify —— span 级接地检查:引用存在性、实体重叠、极性一致性和数值一致性,对无接地或弱接地的声明给出分级标记。对抗性测试装置(伪造引用、漂移数字、否定翻转)必须被捕获。
- dedup —— 归一化文本哈希、字符/词 n-gram Jaccard、TF-IDF 余弦,以及具有已记录假阳性/假阴性行为的 MinHash LSH;植入的复述簇在测得的召回率/精确率下被检测出来。
- rank —— 基于评分细则(新颖性、可测试性、接地性、一致性)进行循环两两评审,采用 Bradley–Terry/Elo 更新、平局处理和 K 系数衰减。属性测试断言在种子运行中,评分能在容差内恢复植入的技能顺序。
- accumulate —— 从分级证据出发进行贝叶斯信念更新,包含先验敏感性分析、矛盾策略和黄金数值测试。
- report —— Markdown 和自包含的 HTML 报告(排名、接地标记、去重簇、信念更新),具备恶意文本转义、嵌入的运行元数据和诚实的局限性章节;无需网络访问。
产物稳定性
所有 JSONL/JSON 产物都通过单一规范序列化器写入(键排序、固定分隔符、浮点数在生产点量化),因此运行输出——以及基于它们固定的黄金摘要——在各平台和解释器版本间字节一致。带检查点的运行会从账本重放已完成的阶段,并产生与直接运行字节一致的产物。
示例与文档
examples/ 包含三个完全离线、可运行的示例——带接地验证的植入语料库生成、展示 Elo 恢复植入技能顺序的完整 generate→debate→rank 锦标赛,以及带测得新颖性统计的进化+去重循环。每个示例都附带自己的 README 和真实捕获的输出;概览见 docs/examples.md。
架构、schemas、各模块说明和诚实性约定位于 docs/ 下;模块索引从 docs/api.md 开始。
许可证
MIT —— 见 LICENSE。发布历史见 CHANGELOG.md。