scientific-agent-skills 假设生成技能的对象模型与候选生命周期:从冻结观察到可检验预测的完整工作流
scientific-agent-skills 假设生成技能的对象模型与候选生命周期从冻结观察到可检验预测的完整工作流【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills本文基于 scientific-agent-skills 仓库中hypothesis-generation技能的核心参考文档 concepts_and_workflow.md 展开完整覆盖其定义的 12 类研究对象的区分规则、6 阶段候选假设生命周期、Platt 强推理纪律、探索/确证双模式以及不确定性表达规范。读完后你将掌握如何把一个原始观察转化为边界清晰的候选解释集合与可检验预测并能用该技能配套的本地 CLI 工具链对假设记录做确定性结构校验而不把假设当成事实。一、文档定位防类别错误的词汇与工作流指南concepts_and_workflow.md 开篇即声明了自己的边界它防止假设工作中常见的类别错误category errors本质是一份词汇表与工作流程指南而不是确证理论也不是自动排名方法。这一定位决定了整份文档的写法——它不告诉你哪个假设更可能为真而是告诉你观察、问题、假设、机制、预测、证据等对象彼此不可坍缩候选假设在证据改变其状态之前必须保持candidate身份机器生成的状态中永远不出现true、proven、selected_winner这类词。这一原则在技能的 SKILL.md 中被提升为整个技能的不可协商边界不得把假设、机制、因果效应、引用或表面模式呈现为既定证据不得因快速搜索无命中就宣称新颖不得从关联、时间顺序、预测精度或模型输出推断因果不得自动给假设打分、排序、选择、接受或拒绝。二、对象模型12 类对象为何不可互相替代文档的Object model一节定义了 12 类对象每一类都有明确的构成要素。完整继承如下2.1 Observation观察对检测到或报告了什么的一个有边界bounded的陈述必须记录来源或测量手段总体/系统、地点与时间观察单位预处理、排除、缺失与不确定性该观察是事前预期的还是在查看结果后选取的。文档强调观察可能是错误的、有偏的、不具代表性的它不会自我解释。2.2 Research question研究问题一个可回答的、固定了探究范围的问题。它应指明目标总体/系统、变量或干预、有意义的比较对象、结局、时间框架、情境与声明类型。PICO/PICOT 适用于许多干预效应问题但不是通用本体论——要选用与问题匹配的框架并在适当时让受影响方参与。2.3 Hypothesis假设一个能解释或关联观察、并能推出可检验含义的候选命题。在证据改变其状态之前保持其状态为candidate。除非是在准确引用来源避免已验证的假设被证明的机制等措辞。2.4 Mechanism机制一个把先行条件连接到结局的拟议过程。机制应在领域允许时指明实体、活动、顺序与边界条件。文档有一句尖锐的判据一个没有判别性预测的合理叙事仍然只是一个故事。2.5 Causal estimand因果估计目标一个精确的目标因果对比。至少声明目标总体/系统干预/暴露与比较对象结局与时间视野总体水平汇总量相关时的处理版本与间发事件intercurrent event策略识别假设。文档用一句话区分了三个易混概念estimand 是目标estimator 是方法estimate 是数值结果。2.6 Prediction预测在查看目标结果之前从候选推导出的可观察含义。有用的预测应指明条件、测量、预期模式、不确定性以及一个不相容结果falsifier并尽可能区分出至少一个竞争者rival。2.7 Alternative explanation替代解释能产生相同观察的竞争账户包括不同机制测量或处理伪迹混杂/共同原因选择或流失碰撞变量条件化collider conditioning反向因果情境或时间异质性随机变异。文档特别提醒竞争者可以共存当混合解释在科学上合理时不要强行制造互斥。2.8 Null hypothesis零假设一个在分析中使用的无效应/无差异模型。它不等于什么都没发生且不能拒绝它并不建立等价性或缺失性。若科学目标是兼容性、等价或非劣须单独定义相应规则。2.9 Negative control负对照一种目标机制不应在其中起作用但相关偏倚通路应保持存在的对照。负暴露与负结局对照可以在其假设可信时揭示混杂、选择、测量或分析偏倚但负对照不会自动修复偏倚。2.10 Operationalization操作化从构念construct到测量、类别、干预或变量的映射。需记录工具/方法、单位、时机、总体/系统、效度、信度、校准、缺失、转换、切点与局限。2.11 Analysis plan分析计划从数据到 estimand、预测或描述性目标的计划内映射包括单位、总体、转换、模型、对比、效应度量、不确定性、缺失、多重性、诊断、敏感性分析与决策规则。2.12 Evidence证据对声明有影响的经验观察或已记录来源。需记录来源是支持、挑战、提供背景还是提供方法。文档警告引用的存在不等于声明得到支持必须由人类检查来源。SKILL.md 将这 12 类对象整理成速查表并给出一条总禁令不要坍缩这些标签机制叙事不是预测预测不是证据拒绝一个零假设不证明一个机制支持一个候选不消灭未被考虑的竞争者。2.13 源码印证schema 如何强制对象分离这些概念不是空谈——它们被逐字段地编码进了 validate_hypothesis_schema.py 的解析器中。该脚本解析 v2 假设记录要求 14 个顶层对象逐一存在且键集精确匹配_parse_observation要求statement、provenance、source_ids、uncertainties四字段齐备且source_ids至少 1 条——直接对应观察必须有来源与不确定性_parse_hypotheses对每个候选强制status取值于枚举HYPOTHESIS_STATUS {candidate}见 第 31 行即文档中保持 candidate 状态在代码层被硬性执行任何其他状态值都会触发校验错误_parse_predictions要求每个预测都携带falsifier不相容结果、rival_hypothesis_ids至少 1 个与measurement_ids、analysis_ids把预测须含判别性预测与竞争者变成结构约束_parse_alternatives将risk_types限定为confounding、selection_bias、collider_bias、reverse_causation、measurement_bias、other六种偏倚类型枚举与文档列举的替代解释类别一一对应当研究问题的question_type为causal而causal_estimands为空时校验器发出CAUSAL_QUESTION_REQUIRES_ESTIMAND错误——因果目标必须先定义估计目标这条概念规则在 交叉链接检查段 被机器化。三、候选生命周期6 个显式状态与机器状态禁区文档规定候选假设必须使用显式状态推进状态含义1. Draft candidate已生成但尚未检索或操作化2. Evidence-bounded candidate已链接到带日期的检索与来源台账3. Test-ready candidate具备测量、竞争者、证伪器、对照与分析链接4. Preregistered candidate在查看相关结局之前完成时间戳5. Tested candidate结果与偏差记录可用6. Retained / revised / challenged / unresolved带不确定性的人工解释并有一条红线永远不要使用true、proven或selected_winner作为机器生成的状态。从源码结构看这条生命周期被拆到了两层状态中单个假设的status被枚举锁死为candidate见 validate_hypothesis_schema.py 第 157-159 行——单个候选的是否被支持从不进入机器状态整条记录的status取值为draft/preregistered/archived第 748-750 行只描述记录流程所处位置不描述科学结论。此外校验报告的status字段只有三档第 1013-1019 行INVALID_RECORD存在一致性错误、VALID_BLOCKED_BY_GATES结构有效但伦理/安全/可行性门未解决、VALID_FOR_HUMAN_REVIEW交由人工审查。最后一档命名本身就贯彻了文档立场机器最多把记录送到人类审查门口绝不给出结论。报告末尾固定附带的 notice 也明确该报告不验证证据、科学有效性、新颖性、伦理批准、因果识别或假设价值也不对候选排序或选择。四、多假设与强推理把 Platt 1964 当作对比纪律文档引用 Platt 1964 年的强推理strong inference论文其四步为构造替代假设设计关键实验使其不同可能结果能够排除候选干净地执行实验用子假设回收整个过程。但文档随即给出六条实践警告防止强推理被误读为真理保证替代假设可能不完备候选可能互不排他辅助假设可能失效测量可能无法区分目标机制关键结果可能是不确定的排除只是临时性的。因此解释时必须保留一条未知或混合解释的通路。SKILL.md 的第 5 步在此基础上给出可操作流程在生成竞争者集合时应来自真正不同的解释类别机制、伪迹、混杂、选择、碰撞、反向因果、边界条件差异、随机变异、另一尺度上的竞争机制并在 AI 辅助扩展之前独立生成初始竞争者集合以降低锚定与同质化不强制固定数量或虚假对称所有候选保持candidate标签。校验器把必须有竞争者落实为规则代码某假设把自己的 ID 列为自己的竞争者时触发HYPOTHESIS_CANNOT_RIVAL_ITSELF第 819-822 行多条候选却缺失竞争链接时给出RIVAL_HYPOTHESIS_LINK_MISSING警告整条记录只有一个候选时给出SINGLE_CANDIDATE_REQUIRES_RIVAL_REVIEW警告第 838-839 行——机器不替你做竞争集但它会标记竞争者缺位这一类别错误。五、探索模式与确证模式诚实的失败点只有一个探索模式Exploratory产生观察、候选、变量与模型可以是数据依赖的但必须记录这种依赖性产出的是供未来检验的假设而不是把同一数据的分析重新贴标签为确证。确证模式Confirmatory在查看目标结果之前定义假设、结局、排除、转换、模型与决策规则保留计划内的分析透明报告偏差与追加分析。文档的结论性判断值得整段引用两种模式在科学上都有价值。完整性失败不是探索本身而是把探索呈现得好像它是事前指定的——这正是 HARKingHypothesizing After Results are Known问题。源码层面的对应物是分析计划中的三个强制字段第 490-585 行每个analysis必须标注exploratory_or_confirmatory枚举取值confirmatory/exploratoryPLAN_MODES定义于 第 60 行且analysis_plan必须携带harking_control至少 10 字符说明目标结果查看前的冻结策略与deviation_reporting说明偏差如何记录。合成示例 hypothesis_record_template.json 中的填写方式是在查看目标合成结局前冻结本记录并把之后的候选或分析标记为探索性以及保留原计划每次偏差记录日期、理由、决策者、是否结果知情及其解释影响。六、不确定性词汇表推荐用语与禁用用语文档给出成对的表达规范。优先使用候选解释candidate explanation在所述假设下与此一致consistent with under the stated assumptions若测量与设计假设成立则挑战该候选challenges this candidate if measurement and design assumptions hold未被该结果区分not distinguished by this result未在已记录的检索边界内发现not located within the documented search boundary需要重复或外部验证requires replication or external validation。避免使用对普通经验结果说已证明/已证伪proved / disproved仅凭快速搜索无命中就说新颖novel从非显著结果得出无效应no effect从无加限定的关联得出导致causes在多个机制仍合理时说那个机制the mechanism。与检索相关的表述红线在 SKILL.md 第 4 步再次强调检索只能建立检索了什么不能建立普遍不存在应说未在已记录的检索边界内发现而永远不要说没有先前工作存在。配套的 lint_causal_claims.py 则提供机器辅助对标注了[claim:causal]、[estimand:E1]、[identification:observational_assumption_dependent]、[confounding:unresolved]等标记的 Markdown 行做有界因果词汇与标注一致性检查tool_reference.md 第 109-145 行 列出了声明类型、识别值与风险值的合法枚举。文档同时保持诚实该 linter不是语义分类器会有假阳性与假阴性。七、最小交接Minimum handoff假设包的 14 项清单文档最后定义了假设包应包含的 14 项最小交接内容冻结的观察frozen observation框定的问题与声明类型framed question and claim type带日期的检索边界与来源台账dated search boundary and source ledger候选假设与机制candidate hypotheses and mechanisms竞争者与偏倚解释rivals and bias explanations适用时的因果估计目标causal estimand判别性预测与证伪器discriminating predictions and falsifiers操作化与测量效度记录operationalization and measurement-validity record零假设与对照nulls and controls;设计与分析计划design and analysis plan不确定性与边界条件uncertainty and boundary conditions伦理/安全/监管门ethics/safety/regulatory gates预注册/偏差计划preregistration/deviation plan可追责的人类审查accountable human review。这 14 项与模板文件 hypothesis_record_template.json 的顶层字段几乎一一对应observation、research_question、evidence含search_boundary_id与ledger_path、hypotheses、alternative_explanations、causal_estimands、predictions、operationalizations、null_hypotheses与negative_controls、analysis_plan含harking_control与deviation_reporting、risk_register与ethics_and_feasibility、ai_use人类可追责声明。该模板是一个纯合成数据演示合成条件 X 与结局 Y明确声明仅演示结构不含人用、动物、临床、专有或安全敏感数据可直接复制为本地工作起点# 以模板为起点填充自己的记录后运行结构校验 python3 skills/hypothesis-generation/scripts/validate_hypothesis_schema.py local-record.json python3 skills/hypothesis-generation/scripts/validate_hypothesis_schema.py \ local-record.json -o local-validation.json八、本地工具链确定性、有界、不评分concepts_and_workflow.md 是纯概念层而它的执行层由 7 个本地 CLI 承载完整说明见 tool_reference.md。全部 CLIs 仅依赖 Python 3.11 标准库有界、本地、确定性、非评分。8.1 工具索引任务资产命令假设记录 schemahypothesis_record_template.jsonpython3 scripts/validate_hypothesis_schema.py record.json测量清单operationalization_template.jsonpython3 scripts/check_operationalization.py checklist.json预测/竞争者矩阵prediction_rival_matrix_template.csvpython3 scripts/validate_prediction_matrix.py matrix.csv声明语言 lint标注过的 Markdownpython3 scripts/lint_causal_claims.py draft.md证伪/对照falsification_controls_template.jsonpython3 scripts/check_falsification_controls.py controls.json证据/来源审计evidence_ledger_template.csv search_boundary_template.jsonpython3 scripts/audit_evidence_ledger.py ledger.csv boundary.json预注册脚手架preregistration_scaffold_template.mdpython3 scripts/generate_preregistration_scaffold.py record.json -o preregistration.md上表命令路径均相对于skills/hypothesis-generation/目录。8.2 退出码语义0结构有效可能仍存在警告或人类审查缺口1解析完成但发现一致性或必需对照错误2输入格式错误、不安全、缺失、超限或类型错误。文档与工具引用共同强调任何退出码都不意味着某个假设为真、新颖、合乎伦理、安全、可行、被支持或被选中。预注册脚手架生成器在渲染前会先跑记录校验、拒绝未解决的伦理/安全/可行性门、以未注册草稿标记输出且永不上传、注册、外部加时间戳或提交结果。8.3 安全边界在 _common.py 中的实现共享安全助手把本地、有界落实为具体常量与检查第 16-20 行输入上限 2 MiBMAX_INPUT_BYTES、CSV 数据行上限 1,000 行MAX_ROWS、单元格/Markdown 行上限 8,000 字符MAX_CELL_CHARS。此外safe_input_path拒绝 URL 式路径、符号链接、错误扩展名与超大输入read_json拒绝重复 JSON 键_duplicate_safe_object并检测 NUL 字节read_csv_records要求表头与预期精确有序匹配且唯一atomic_write_text以0600私有限权做原子替换safe_output_path在无--force时拒绝隐式覆盖。从源码结构看这些约束保证整套流水线在任何一步都不产生网络、模型、子进程或凭据调用——与文档词汇与流程的定位形成互补概念层防止思维上的类别错误工具层防止执行上的越界与篡改。8.4 建议的本地执行序列tool_reference.md 给出的完整序列为python3 scripts/validate_hypothesis_schema.py local-record.json python3 scripts/check_operationalization.py local-operationalization.json python3 scripts/validate_prediction_matrix.py \ local-predictions.csv --record local-record.json python3 scripts/check_falsification_controls.py \ local-controls.json --record local-record.json python3 scripts/audit_evidence_ledger.py \ local-evidence.csv local-search-boundary.json --record local-record.json python3 scripts/lint_causal_claims.py local-draft.md python3 scripts/generate_preregistration_scaffold.py \ local-record.json -o local-preregistration.md其结尾一句呼应了本文的主题每条命令之后合格的人类审查仍然是强制的。 该序列的行为有测试覆盖见 tests/hypothesis-generation/test_scripts.py。九、小结concepts_and_workflow.md 的核心贡献是一套防混淆语法12 类对象各自独立、6 阶段生命周期显式化、强推理只作对比纪律、探索与确证并行但不可互饰、不确定性用语有推荐/禁用清单以及 14 项最小交接。仓库中的 schema 校验器、预测矩阵、证据台账审计与预注册脚手架把这套语法变成了可复制、可审计、退出码明确的本地工具链而不评分、不排序、不选胜者的设计约束贯穿从概念文档到每一行校验代码。对使用 AI agent 做科学假设生成的团队而言这份文档与工具链提供的正是那个最难的部分——让 agent 产出的每一个候选始终只是候选并把判断权留在带不确定性的人类手里。【免费下载链接】scientific-agent-skillsTurn any AI agent into an AI Scientist. The #1 Agent Skills library for science, used by 190,000 scientists worldwide. 165 ready-to-use validated skills plus 100 scientific databases covering biology, chemistry, medicine, and drug discovery. Compatible with Cursor, Claude Code, Codex, Pi, Antigravity, and the open Agent Skills standard.项目地址: https://gitcode.com/GitHub_Trending/cl/scientific-agent-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考