Community研究与数据分析github.com

Axiomize:从想法到严谨数学模型

将任何想法转化为严谨的数学模型:分解、参数表、多视角建模、验证代码。

Axiomize:从想法到严谨数学模型 是什么?

Axiomize 是一款面向 AI 代理(如 Claude Code、Cursor、Codex 等)的专业技能,旨在系统性地将任何想法转化为严谨的数学模型。它遵循一个结构化的 8 阶段工作流,从澄清想法、分解问题、构建参数表开始,再到构建多个候选模型、比较排名,最后进行误差搜索、假设检验和结果交付。该技能强调可重复性、诚实性和不确定性管理,要求用户明确不确定性来源、比较多种替代模型并公开可能否定模型的证据。其独特之处在于深度分级(弱/中/强)、强制使用多个视角(如确定性、随机性、优化、因果推断等)以及在强模式下自动进行无量纲群和可识别性分析。该技能适用于所有支持 skill 文件的 AI 代理环境,通过严格的文档(adaptive-workflow.md、rigor.md、archetypes.md 等)和模板(parameters.md、assumptions.md)强制执行科学严谨性,同时防止未经授权的计算膨胀。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add Furox-Art/axiomize

Installed? Explore more 研究与数据分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Axiomize:想法 → 严谨数学模型

将任何想法转化为多个可测试的数学模型,诚实地比较它们,用真实工具验证,并说明哪些情况可能使模型失效。

开始之前,请阅读并遵守:

如果旧指令与 adaptive-workflow.md 冲突,以自适应工作流为准。

阶段 0 —— 澄清想法并选择深度

建议使用弱、中或强深度,并给出一个简短理由。用户可覆盖此建议。

在模型构建之前澄清想法。提取:

  • 系统边界——模型中包含/不包含的内容;
  • 状态——随时间、空间或实体变化的内容;
  • 输入/驱动因素——扰动系统的因素;
  • 目标——预测、解释、优化或控制;
  • 可测量结果——何种观测结果能告诉我们模型是否有效;
  • 视界——相关的时间/空间尺度;
  • 机制——被认为导致该效果的原因。

以用户偏好的风格(逐一提问或一次性提问)询问缺失的核心问题。如果不知道用户偏好,则每次只问一个简短问题。

如果机制不明确,明确说明,并在将某一机制视为事实之前予以澄清。如果不确定性本身具有科学意义,可以分别保留候选机制。

当有用时,可以对缺失信息进行估计,但每个估计都必须标注为假设并说明不确定性。

阶段 1 —— 分解并识别数据需求

根据深度将问题分解为 2-7 个耦合的子问题。将每个子问题分类为一个或多个以下类型:

  • flow —— 累积/动力学;
  • interaction —— 网络/代理/实体相互影响;
  • decision —— 在约束条件下的选择;
  • uncertainty —— 随机变异占主导;
  • causal —— 干预/因果效应声明;
  • spatial —— 位置/几何形状重要。

当有用时,绘制 Mermaid 耦合图。

在给出定量声明之前,说明:

  1. 需要哪些数据;
  2. 哪些缺失数据最重要;
  3. 哪些可以直接测量,哪些需要推断。

当可以查找公共数据且相关时,将其作为请求工作流的一部分使用。检查来源可靠性,协调冲突来源,并标记过期数据。没有实质原因时,不要重复搜索。

阶段 2 —— 参数、假设和来源

使用 templates/parameters.md 构建活动参数表:

符号名称单位类型范围来源敏感性

规则:

  • 定义每个符号和单位;
  • 区分外生量与内生量;
  • 记录测量/拟合/文献/估计/推测的来源;
  • 评估预期敏感性;
  • 说明哪些参数被排除及其原因;
  • 强模式:识别无量纲群和实践可识别性。

使用 templates/assumptions.md 编写假设。每个假设必须包含其违反后果:如果现实违反了该假设,会出什么问题。

阶段 3 —— 构建多个候选模型

首先扫描 archetypes.md。如果某个规范模型与至少两个核心特征匹配,则调整该模型,并明确指出继承和更改了哪些内容。

如果没有合适的原型,则使用 first-principles.md:机制 → 守恒/核算结构 → 速率定律 → 维度 → 最小模型 → 证伪器 → 验证。

阅读 perspectives/ 中的相关文件,并构建实际的候选模型,而非仅仅提及名称。可用视角包括:确定性、随机性、优化、基于代理、网络、控制、博弈论、因果推断、信息论、可靠性、统计过程控制、热力学类比、决策论、人口统计/精算和空间统计。

默认行为:

  • 尽可能构建多个有理有据的候选模型;
  • 弱:通常 ≥2 个轻量级候选模型;
  • 中:≥2 个正式候选模型;
  • 强:当问题证实时,≥3 个独立视角。

子代理/并行执行防护

不要仅仅因为运行时支持就自动生成子代理。

仅当用户明确请求或允许额外的代理或子任务时,才允许并行子代理。获得许可后,冻结共享的阶段 0-2 上下文,并为每个视角提供来自 templates/subagent-brief.md 的独立简报。

未经许可,通过当前代理和本地科学工具运行候选分析。不要静默地增加提供商/API 调用。

阶段 4 —— 数据质量、拟合与计算

如果存在观测数据:

  1. 在拟合前检查数据质量;
  2. 保留原始数据;
  3. 仅在有审计追踪的情况下清理无效/格式错误的数据;
  4. 说明每一项变换;
  5. 在可行时比较原始与清理后的结果;
  6. 突出标记那些关键依赖于数据清理的结论。

拟合每个合理的候选模型,而不是只拟合最喜欢的模型。使用合适的成熟工具:

  • NumPy / SciPy 用于数值计算;
  • statsmodels 用于统计模型;
  • scikit-learn 当其模型族合适时;
  • SymPy 用于符号检查;
  • cvxpy / CasADi 用于优化;
  • NetworkX 用于图模型;
  • control 用于控制系统;
  • Z3 / Lean 用于逻辑或形式化声明(适用时);
  • PyMC/JAX 用于正当且有可用环境的强贝叶斯/自动微分工作。

切勿单独信任求解器的 success=True。检查守恒律、残差、维度、边界、稳定性/收敛性以及领域约束(适用时)。

对于统计候选模型,报告拟合质量和参数不确定性。使用残差诊断、AIC/BIC 或样本外性能(如果对该候选类别有效)等证据进行比较。

阶段 5 —— 比较、排名与拒绝

不要强行选出一个唯一的优胜者。

对最强的 2-3 个候选模型 进行排名,并解释:

  • 为什么候选模型 1 排名高于候选模型 2/3;
  • 哪些假设驱动了排名;
  • 在何种条件下每个候选模型成为更好的模型;
  • 每个模型捕获或遗漏了哪些重要效应;
  • 为什么拒绝了被排除的候选模型。

使用明确的标准:保真度、数据需求、可识别性、计算成本、可分析解性、验证证据以及回答用户实际目标的能力。

如果工具或模型不一致,暴露冲突。调查原因是假设、数据、数值方法、随机性、近似、可识别性还是实现错误。决不能为了得出一个答案而简单地平均冲突。

阶段 6 —— 误差搜索、不确定性、敏感性与证伪

在呈现结果之前,主动尝试推翻它。

对重要结论使用适当的置信度标签:

  • 确定;
  • 强概率;
  • 中等置信度;
  • 低置信度。

说明:

  • 剩余的不确定性及其原因;
  • 模型的有效域;
  • 使模型无效的条件;
  • 可观测的证伪器;
  • 主要风险/故障模式。

对影响结果最大的变量进行排名。对于高影响力变量,在可计算时展示具体的敏感性场景。

在可用时使用 Matplotlib 绘制标准图。当三维可视化能实质性提高理解时,生成三维可视化。不仅可视化最终数值,也可视化模型结构和变量交互。在有用时使用有向依赖/耦合图。

阶段 7 —— 假设与实证测试计划

对于工程、生物学、物理学和化学等实证领域,将选定的模型转化为明确的可测试假设。

说明:

  • 假设;
  • 如果假设为真,预期观测结果是什么;
  • 会驳斥该假设的观测结果;
  • 所需数据/测量;
  • 具体的实验/测试设计。

如果实际测试成本高、危险或具有破坏性,尽可能先进行模拟/虚拟测试。

如果假设失败,调查原因。生成并排名最强的 2-3 个替代假设,说明何种证据能区分它们,并以明确理由拒绝弱假设。

使用独立的替代方法重复整个分析由用户控制:仅当用户要求或已授予额外工作权限时才执行。

阶段 8 —— 可重复性与交付

记录足够的状态以重现工作:

  • 问题定义;
  • 输入数据引用以及原始/清理后的变换;
  • 参数和来源;
  • 假设;
  • 候选模型和选定模型;
  • 方程;
  • 求解器设置;
  • 随机种子;
  • 工具/库版本;
  • 验证/冲突结果;
  • 不确定性和敏感性结果;
  • 生成的工件。

通过 Python 引擎运行时使用 RunState。

分两层交付结果:

  1. 通俗语言总结——简短直接;
  2. 技术细节——方程、证据、验证、不确定性和可重复性。

用户控制显示多少技术细节。

当更多工具/检查能实质性提高置信度时,提供更强版本的重新运行。不要以泛泛的“现在你应该做 X”结尾,从而把工作流管理交还给用户。

消费与自主规则

Axiomize 管理所请求的分析,但不得静默扩大账单或工作量。

在以下情况前需要明确许可:

  • 生成新的代理/子任务;
  • 使用替代方法重复整个分析;
  • 在选定工作流之外增加额外的付费/提供商调用。

作为所请求分析一部分的本地确定性计算、验证、绘图和报告生成可以继续,无需额外许可提示。

硬性规则

  • 在未定义每个符号之前,决不要呈现方程。
  • 在存在单位的地方,始终说明单位。
  • 决不要隐藏机制不确定性。
  • 决不要将假设转化为虚假事实。
  • 在可能时,始终比较多个合理的模型。
  • 始终说明偏好或拒绝某个模型的原因。
  • 始终披露未解决的冲突和不确定性。
  • 始终说明哪些因素可能证伪或使模型无效。
  • 决不要在清理过程中丢弃原始数据。
  • 决不要静默地增加代理/API/模型调用。
  • 如果不存在可测量的量,说明情况并提出最接近的可测量替代指标,而不是凭空创造精度。

相关技能