SemIf 仓库贡献与复现规范全解:从 AGENTS.md 看“证据链可验证“的研发纪律

发布时间:2026/9/23 12:43:26

SemIf 仓库贡献与复现规范全解:从 AGENTS.md 看“证据链可验证“的研发纪律 【免费下载链接】SemIfSemantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe.项目地址https://gitcode.com/gh_mirrors/op/SemIf点击查看免费下载导读AGENTS.md 是 SemIf前身 OpenJev开源仓库的顶层操作指令它定义了开发者在本仓库中安装环境、验证改动、运行 Benchmark、维护结果声明与发布静态 Demo 的全部硬性规则。本文以 AGENTS.md 为骨架逐条拆解其背后的源码实现与测试佐证帮助贡献者、复现者与审查者理解每条声明都必须有行级证据这一核心契约并掌握可落地的验证命令链。一、AGENTS.md 定位一份证据链契约而非普通开发说明SemIf 是一个在消费级 GPU如单张 RTX 3090上复现运行时定义语义决策接口模式的开源研究项目其核心思路是不让模型生成答案文本而是直接从模型输出层读取声明选项的概率见 README.md。由于仓库沉淀了大量可复现的性能与质量数据AGENTS.md 的定位因此非常特殊它不是为了描述如何开发新功能而是为了保证任何改动都不会悄悄破坏已发布结果的可验证性。全文只有 6 条规则但每一条都指向一个具体的技术约束命令必须在仓库根目录、隔离环境中执行并安装.[test]可选依赖提交前必须通过pytest -q、SHA-256 校验、verify_published.py三重验证Benchmark 输出是 create-only只创建、不覆盖且每个评分进程只能暴露一张 CUDA GPU修改头号声明或results/phase1-summary.json必须连带提交行级证据、重生成原始报告、更新校验和与文档模型与数据源修订版本必须固定禁止提交模型权重、缓存与第三方原始记录webgpu-demo/是纯静态目录无构建步骤必须保留_headers、运行时版本锁定与概率限制说明。下文将逐条展开并结合仓库源码说明这些规则为什么存在、在哪里落地、如何验证。二、开发环境与安装约束为什么必须pip install -e .[test]AGENTS.md 第一条要求在仓库根目录的隔离环境中运行命令并安装pip install -e .[test]。这背后对应 pyproject.toml 中完整的工程配置requires-python 3.10Python 版本下限核心依赖全部锁版本torch2.10.0、transformers5.17.0、accelerate1.12.0、safetensors0.8.0、huggingface-hub1.31.0、tokenizers0.23.2、numpy2.2.6、sentencepiece0.2.1、protobuf7.36.1控制台入口semif-score semif_phase1.cli:main对应 src/semif_phase1/cli.py 的main()可选依赖组testpytest8.4.2、mlx仅 macOS arm64 生效的 MLX 后端、llamacppllama-cpp-python0.3.35。-eeditable安装的意义在于贡献者修改src/semif_phase1/下的代码后semif-score命令立即反映最新改动无需重装。.[test]则保证pytest可用。测试发现路径在 pyproject.toml 中被固定为[tests, webgpu-demo]也就是说WebGPU Demo 的测试也属于仓库级验证的一部分见 webgpu-demo/test_demo.py。仓库还提供了两种可选硬件路径均不影响上述根目录执行规则Apple Silicon 用户可加装pip install -e .[test,mlx]并使用--backend mlx详见 docs/MLX.md 与 docs/APPLE_SILICON.md纯 CPU 用户可加装.[test,llamacpp]并用--backend llamacpp --gguf ...加载本地 GGUF详见 README.md 的 Quick start 段落。三、提交前验证三连pytest、SHA-256、verify_publishedAGENTS.md 第二条给出了三条验证命令它们构成层层递进的防线1.pytest -q行为级回归pytest覆盖了核心模块、CLI 路由、MLX/llama.cpp 后端、重排序器、校准等多个维度例如tests/test_core.py 验证直接模式 prompt 不会泄漏额外字段label、provenance等不得进入模型输入、softmax 输出有限且归一化、重复选项被拒绝、结构化 JSON 状态可被渲染、非有限数值状态被拒绝tests/test_cli.py 用 Mock 后端验证 CLI 参数组合合法性如--mlx-bits必须搭配--backend mlx、MLX 不支持 reranker 模式、reranker 强制 CUDA 且拒绝 MPS 等并验证已存在的输出文件绝不被覆盖。2.(cd results/raw sha256sum -c SHA256SUMS)原始证据不可篡改results/raw/SHA256SUMS 锁定了所有已发布原始报告与行级预测文件的 SHA-256 值包括quality-comparison.json、perturbation-comparison.json、shape777-direct.json、shape777-reranker.json、decision-vs-compact-array.json、校准文件等。任何对已发布证据的事后编辑都会让该校验立刻失败。3.python benchmarks/verify_published.py摘要 ↔ 证据的一致性校验这是最具 SemIf 特色的验证把机器可读摘要 results/phase1-summary.json 与原始证据文件逐字段比对。查看 benchmarks/verify_published.py 的源码可以确认其逻辑加载quality-comparison.json、perturbation-comparison.json、shape777-direct.json、shape777-reranker.json、decision-vs-compact-array.json将摘要中的semantic_quality、perturbations_36、shape777、decision_vs_compact_generation21各组数值与原始文件逐项比对容差 5e-10对于 reranker 的argmax_flips_vs_batch1它会从行级预测文件shape777-reranker.predictions.jsonl重新计算翻转数全部通过后输出{verified_summary_claims: N, status: ok}其中 N 是实际核验的声明数量。也就是说README 里的每一个性能与质量数字都能被脚本追溯到原始 JSON 与行级预测文件。这正是 AGENTS.md 第四条修改声明必须连带证据的可执行版本。四、Benchmark 输出纪律create-only 与单卡约束AGENTS.md 第三条包含两个硬性要求Benchmark 输出必须是 create-only且每个评分进程只能暴露一张 CUDA GPU。create-only 在源码中的落地src/semif_phase1/cli.py 从两层保证了只创建、不覆盖解析阶段第 36-37 行if args.output.exists() or args.max_tokens 1: parser.error(Output must be new and max-tokens must be positive)——输出路径已存在则直接拒绝启动写入阶段第 88-89 行args.output.parent.mkdir(parentsTrue, exist_okTrue)后使用args.output.open(x)独占创建模式打开文件即使并发运行也不会互相覆盖。tests/test_cli.py 的test_existing_output_is_not_overwritten专门验证了这一行为预先写入bexisting benchmark evidence\n后再次运行 CLI必须报错退出code 2且原文件字节内容保持不变、模型加载完全不被触发。单卡约束的意图每个 scorer 进程只暴露一张 CUDA GPU意味着复现者应使用CUDA_VISIBLE_DEVICES0之类的方式限定可见卡。从源码结构看其意图有二一是保证 Benchmark 计时不受多卡调度噪声干扰使wall_seconds等指标可比二是与 benchmarks/README.md 中所有复现命令的写法一致——该文档中的每条评分命令都带CUDA_VISIBLE_DEVICES0前缀。五、声明变更协议改数字必须连坐证据AGENTS.md 第四条是整份文档中最严格的规则不得随意更改头号声明或results/phase1-summary.json除非同时提交支撑该声明的行级证据如results/raw/predictions/下的预测文件重生成相关的原始报告如quality-comparison.json、shape777-direct.json更新 results/raw/SHA256SUMS同步更新方法/结果文档docs/METHOD.md、docs/RESULTS.md。这套连坐机制的设计目的是把声明和证据绑定为不可分割的整体摘要只是索引原始报告与行级预测才是本体。verify_published.py会在任何一步缺失时校验失败从工程上杜绝只改结论、不改数据的不可复现行为。六、模型与源修订固定fetch_sources 只做可再分发输入AGENTS.md 第五条要求保持模型与数据源的精确修订版本fetch_sources.py仅用于其列出的可再分发输入不提交模型权重、缓存或第三方原始记录。查看 benchmarks/fetch_sources.py 的源码可以看到它在实现层面的三重保护白名单固定仅下载三个明确列出的源——WANLI 测试集、Every 实验 JSON、Every 源压缩包每个条目都带固定 URL 与期望 SHA-256例如 WANLI 测试集期望哈希为4276e0af...拒写保护目标文件已存在时直接raise ValueError(fRefusing to replace ...)与 create-only 原则一致大小与完整性校验下载读取上限 64 MiB超限即报错下载后计算实际 SHA-256与期望值不符即判定源已变更并拒绝落盘。README 中也明确声明模型权重与第三方原始记录不包含在仓库内上游模型保留各自许可证项目代码以 LICENSE 的 MIT 协议发布。对 WANLI 这类 CC-BY-4.0 数据只保留构建脚本benchmarks/build_wanli.py与选择清单benchmarks/manifests/source-selection.jsonl复现者按 benchmarks/README.md 的步骤自行拉取并校验即可。七、WebGPU Demo 的静态站点约束AGENTS.md 第六条针对 webgpu-demo/纯静态、无构建步骤。具体约束包括必须保留 _headers其中固定了Referrer-Policy: no-referrer、Cross-Origin-Opener-Policy: same-origin、Cross-Origin-Embedder-Policy: require-corp——这是浏览器端 WebGPU 推理需要隔离上下文与跨源隔离得以工作的关键响应头运行时版本必须锁定页面内的模型工件版本固定如 Qwen3-0.6B Q8_0、MiniCPM5-2B Q4_K_M、Qwen3.5-4B Q4_K_M 等浏览器构建见 README.md 的 Browser model ladder 表推理严格限定在浏览器端且必须保留显式的概率限制说明量化 GGUF 与原生 BF16 得分存在差异结果仅供演示。同时pytest的 testpaths 包含webgpu-demo说明静态 Demo 也有对应的自动化冒烟测试webgpu-demo/test_demo.py任何破坏_headers或运行时约定的改动都会在提交前被捕获。八、对贡献者与复现者的实践清单综合 AGENTS.md 全文一次符合规范的贡献或复现流程可以归纳为# 1. 隔离环境安装仓库根目录 python -m venv .venv . .venv/bin/activate pip install -e .[test] # 2. 修改前后跑全量回归 pytest -q # 3. 若生成新的 Benchmark 输出使用全新输出路径 单卡 CUDA_VISIBLE_DEVICES0 semif-score \ --mode direct \ --model Qwen/Qwen3.5-4B \ --revision 851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a \ --input examples/decisions.jsonl \ --output results.jsonl # 4. 若触碰任何已发布声明更新行级证据、重生成报告、 # 更新 results/raw/SHA256SUMS并同步 docs/METHOD.md 与 docs/RESULTS.md # 5. 提交前三重验证 (cd results/raw sha256sum -c SHA256SUMS) python benchmarks/verify_published.py九、总结AGENTS.md 虽然只有六条规则却是 SemIf 整个可复现研究体系的操作入口。它把工程实践固化为三条铁律环境可复现锁版本、editable 安装、证据可追溯SHA-256 verify_published.py逐字段核验、输出不可变create-only、修订固定、静态 Demo 无构建。任何贡献者都可以借助 benchmarks/README.md 的完整复现命令与 docs/REPRODUCE.md 的精确环境说明验证仓库中每一个数字的真实来源——这正是研究型开源项目最值得借鉴的工程范式。赞分享【免费下载链接】SemIfSemantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe.项目地址https://gitcode.com/gh_mirrors/op/SemIf点击查看免费下载相关推荐sccache 仓库的 AI Agent 协作规范从 AGENTS.md 看开源项目的可验证开发流程sccache 仓库的 AI Agent 协作规范从 AGENTS.md 看开源项目的可验证开发流程 sccache 是一个 ccache 风格的编译缓存工具开发工具构建工具GetQzonehistory3步把QQ空间历史说说一键备份到本地GetQzonehistory3步把QQ空间历史说说一键备份到本地 你上一次翻到 2016 年的说说是什么时候QQ空间的历史消息列表藏在后台一次改版、一网页爬虫数据分析Screenpipe 仓库 AI Agent 协作开发规范全解读懂 AGENTS.md 的工程纪律与约束Screenpipe 仓库 AI Agent 协作开发规范全解读懂 AGENTS.md 的工程纪律与约束 导读 screenpipe 是一个本地优先的开源计AI 应用大模型本地部署AI AgentMCP 服务屏幕录制语音创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/23 12:38:26

Python二手房数据分析:从数据清洗到房价预测全流程实战

简介:基于Python的二手房数据分析完整项目,整合了源码、文档说明与PPT演示资料,专门面向高校毕业设计、期末大作业及课程设计场景。项目覆盖房源数据获取、清洗、特征分析与可视化展示全流程,代码中写入清晰注释,适合初…

2026/9/23 12:38:26

SVD与SGNS构建汉语子词向量:从共现矩阵到负采样

简介:面向自然语言处理初学者与课程作业参考者,这是一份以汉语子词向量构建与评测为核心的Python源码包,完整覆盖基于SVD分解与基于SGNS两种主流方法。资源针对子词向量训练、语料预处理和相似度评测任务,提供可直接运行的脚本与中…

2026/9/23 12:38:26

ACM51个经典算法大全:分层训练与C++模板实战指南

简介:这份《ACM51个经典算法大全》面向ACM竞赛选手与算法学习者,是一份系统梳理经典算法题目的中文文档,适合希望夯实算法基础、提升编程思维的中高级学习者。资源包内含1个doc文档,共126页,压缩包约1.77MB&#xff0c…

2026/9/23 13:48:56

基于SparkStreaming的实时音乐推荐系统源码解析与实战

简介:这是一套基于Spark Streaming的实时音乐推荐系统完整源码,面向具备一定Spark与大数据基础、希望深入理解实时推荐链路的中高级开发者。项目围绕微批处理模型展开,涵盖Kafka等数据源接入、用户行为数据清洗与预处理、协同过滤与基于内容的…

2026/9/23 13:48:56

Java人脸识别签到系统实战:从摄像头到考勤记录完整链路

简介:这是一份面向Java开发者与人工智能入门者的「人脸识别签到系统」完整项目源码,围绕无接触身份验证与签到流程展开,适合希望将人脸识别API落地到实际业务中的中初级开发者学习参考。压缩包共225个文件,约15.29MB,以…

2026/9/23 13:48:56

3天搞定死歌手写实现一文搞懂避坑指南

3天搞定死歌手写实现一文搞懂避坑指南 刚接手那个遗留项目,我对着屏幕发呆了整整五分钟。手里拿着从网上复制下来的“死歌”特效代码,双击运行,报错信息像雪花一样飘满终端。那种“复制来的代码跑不通不知道怎么调”的无力感,相信做过前端开发的都懂。很…

2026/9/23 13:48:56

游泳溺水检测实战:从YOLO数据清洗到NVR端部署

简介:本资源是面向计算机视觉初学者与算法工程师的溺水行为检测专用数据集,聚焦YOLO系列目标检测模型训练与验证,适用于游泳场馆智能监控、水域安全预警等实际场景。数据集共2000个文件,包含874张带标注的JPEG图像、874份YOLO格式…

2026/9/23 13:43:55

3个坑让你少走弯路:微信公众号制作平台避坑指南

3个坑让你少走弯路:微信公众号制作平台避坑指南 配置环境就卡半天,改个参数报错半天,这是不少刚接触公众号开发的兄弟的通病。别急,这份避坑指南直接给你干货。很多技术博主吹得天花乱坠,但落地时全是坑。今天咱们不整虚的,直接拆解微信公众号制作平台…

2026/9/23 12:07:00

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/23 0:01:54

3个实战技巧搞定形式英语:从看教程到跑通性能优化

3个实战技巧搞定形式英语:从看教程到跑通性能优化 看了一堆教程还是不会写项目?别慌,这种“眼高手低”的困境在开发者圈子里太常见了。很多人以为卡点在语法,其实真正拦路虎是缺乏将知识点串联成完整链路的能力。今天咱们不聊虚的,直接拿【形式英语】这…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码