mcpField
E
evomath-tao

evomath-tao

github.com/evoscientist其他481152 次安装1 天前更新
代码仓库

关于 evomath-tao

EvoMath (Tao-style) 是用于竞赛数学的证明工作流技能,可产出严谨证明、已验证反例、部分结果或明确交接。它强调小规模案例、多种独立尝试、验证和清晰的状态标记,而非默认采用繁重审查。

主要功能

  1. 01用 Markdown 规划数学问题
  2. 02尝试并记录不同证明路径
  3. 03区分证明与数值验证
  4. 04验证工作流阶段及完整证明
  5. 05明确标注结果状态和未解决问题
  6. 06总结可复用策略与失败经验

适用场景

  1. 01为竞赛数学问题构建证明
  2. 02用精确反例检验命题
  3. 03提交部分结果并说明具体缺口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/evoscientist/evoskills --skill evomath-tao

安装后在 Claude Code 中输入/evomath-tao确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
angles-by-type.md
claim-memory.md
confidence-rules.md
grading-taxonomy.md
handoff-template.md
intake-checklist.md
model-tier.md
output-formats.md
output-schema.md
phase-4-audit.md
test-prompts.md
scripts/
evomath_workspace.py

详细介绍

EvoMath(Tao 风格)

EvoMath 是一种轻量级证明工作流,用于竞赛风格的数学推理。它旨在给出严谨证明、经验证的反例、有用的部分结果,或清晰的交接。保持流程精简;默认不要运行繁重的审计流程。

方法论基石——Terence Tao 的研究数学实践

这项技能将 Terence Tao 处理研究数学的方式付诸实践:

  1. 先计算简单情形(先 Kepler,后 Newton)——先从数据中建立直觉,再诉诸理论。
  2. 先广泛尝试标准工具箱,再深入钻研——大多数难题都能用标准技巧破解;少数无法破解的题目,只有在多种方法失败后才会显露出来。
  3. 兼顾严谨与直觉(后严谨数学)——相信直觉,但核验每一步。“感觉没错”只是一个猜想,不是证明。
  4. 卡住时拆分问题——将问题分解为可独立检查的子主张。清晰列出已证明、猜想和未解决部分,胜过精致却不可靠的论述。
  5. 坦诚说明尚未证明的内容——区分 PROVED / VERIFIED_NUMERICALLY / CONJECTURED / HANDED_OFF。遇到阻碍时,明确指出具体缺口。
  6. 提炼每个结果,使其成为可复用的经验——每道题之后,总结有效的方法和失败的尝试,并分别归纳为策略和明确命名的模式。数学成熟度来自不断积累的元洞见。

以下每个阶段都是对上述一个或多个原则的具体实践。

操作规则

  • 使用 Markdown 笔记在各步骤间交接。除非脚本明确要求,否则不要使用 JSON/YAML。
  • 只保留精简状态:计划、已核验的主张、失败的尝试、最终审计。不要在后续提示词中传递冗长的失败推导。
  • 优先采用几次相互独立的证明尝试,而不是一次漫长的推导。
  • 数值验证不是证明步骤(数学竞赛规则)。在 n=1..100 的范围内检查一个主张而未发现反例,并不能使其成为 PROVED;此类证据能获得的最高标记是 VERIFIED_NUMERICALLY。
  • 精确运算可以推翻主张;近似数值只能提供线索。
  • 只有在对简洁证明进行对抗性检查后,证明才能定稿。
  • 校准式弃答,胜过虚张声势:反复核验失败时,要承认这一点。返回部分结果,并明确标出尚未解决的缺口(数学竞赛规则)。与其用含糊带过的缺口标记为 PROVED,不如给出结构化的受阻报告,并将最终状态设为 HANDED_OFF。
  • 每个最终答案都必须包含一行可见的 final-status: ...。
  • 使用 TodoWrite 推进工作流。每一步对应一个 todo;只有相应的 .md 文件通过验证器后,才能将该 todo 标记为已完成。

如果可以访问文件系统,请创建一个 Markdown 工作区(脚本路径相对于此技能所在目录):

python scripts/evomath_workspace.py init --dir .evomath/current

如果无法访问文件系统,请在对话中保留相同的 Markdown 章节。在这种情况下,通过在脑中检查脚本要求的相同字段来运行验证器——纪律要求不变。

快速退出

对于单次计算、定义查询、符号运算,或没有证明要求且只需答案的请求,不要使用 EvoMath。直接给出答案即可。无需创建 TodoWrite 列表。

如果题目存在会改变其真假值的关键歧义,应在求解前提出一个明确的澄清问题。

执行协议(TodoWrite + 验证)

对于通过快速退出关卡的任何问题,都应遵循此协议。

1. 创建 5 步待办清单

在开展任何解题工作之前,调用 TodoWrite,按以下顺序创建这五个事项。每个事项都注明其主要参考文件:

  1. 简要规划 — 阅读 references/intake-checklist.md,了解类型分类、歧义处理和目标类型。
  2. 尝试候选方案 — 如果针对这种问题类型想不出更多思路,阅读 references/angles-by-type.md,获取技巧建议。
  3. 整理答案 — 如果需要格式规范或 LaTeX 模板,阅读 references/output-formats.md。
  4. 审核 — 阅读 references/grading-taxonomy.md,了解问题类别和严重程度规则。只有在用户要求进行严格的多审核者审查时,才阅读 references/phase-4-audit.md。
  5. 反思 — 仅在触发深度反思时阅读 references/claim-memory.md(见下文“深度反思触发条件”)。
2. 各步骤的执行规范

按顺序完成每个步骤:

  1. 阅读参考资料或编写输出之前,将待办事项标记为 in_progress。

  2. 仅在该步骤需要时阅读相应文件。

  3. 生成对应的 .md 输出(plan.md、candidates.md、audit.md、final.md 中的章节等)。

  4. 将待办事项标记为 completed 之前,运行验证器:

    python scripts/evomath_workspace.py validate-phase <N> --dir .evomath/current
    
  5. 如果验证失败,待办事项保持 in_progress。根据输出的失败信息修订 .md 文件,然后重新运行验证器。只有验证器以 0 退出后,才能标记为 completed。

3. PROVED 关卡

如果最终状态为 PROVED,还必须运行:

python scripts/evomath_workspace.py validate-proved --dir .evomath/current

此操作会检查 final.md 中是否包含 10 项 PROVED 自检清单,且所有方框均已勾选(见 references/output-formats.md)。 如果检查失败,将最终状态降为 CONJECTURED 或 HANDED_OFF,并修订答案。

4. 深度反思触发条件

第 5 步(反思)有两种模式:

  • 轻量反思(默认):三行——成功的模式、应避免的失败模式,以及是否写入了记忆。
  • 深度反思(在符合以下任一条件时触发):
    • 第 2 步中,任何候选方案都需要经过 3 轮或更多轮修订
    • 第 4 步在最终修复前发现了致命缺陷
    • 出现了尚未记录在任何 L2 策略条目中的新获胜技巧
    • 用户明确要求进行自我演进或跨问题学习
    • 最终状态为 HANDED_OFF,且存在反复出现的失败模式

在深度反思模式下,运行 references/claim-memory.md 中所述的完整 ESE/IVE 协议,并更新 .evomath/session-memory.md 中的 L2/L3 记忆。

5. 文件系统不可用时的回退方案

如果无法运行脚本,仍须遵守相同的 TodoWrite 规范:

  • 仍然创建包含 5 项的清单,并逐项推进。
  • 仍然将相同的 .md 章节直接写在对话中。
  • 用人工验证替代脚本调用——检查验证器会检查的所有必需字段。

工作流

1. 简要规划

编写一份简短的 Markdown 计划:

  • 问题类型:代数、几何、数论、组合数学、分析或其他。
  • 目标:证明、反驳、举例或审核证明。
  • 策略:用一句话说明。
  • 子目标:最多五个项目符号。

对于“确定所有……”类型的问题,须同时包含:

  • 存在性/构造
  • 不可能性/排除

对于简单问题,只需一个根子目标。

2. 尝试候选方案

模式分流(生成内容前决定):

  • 如果 Phase 0 的 goal = find-numeric-answer(AIME 风格:答案是一个数字,无需证明)→ AIME 模式:使用不同方法生成 5–7 个简短的候选答案(小规模枚举、模不变量、代数变形、生成函数、暴力代码)。对候选答案进行多数表决。将得票最高的两个答案代入原题验证。跳过其余证明流程;只有在得票最高的两个候选答案一致且代入验证通过时,才输出数值答案,并将 final-status: PROVED 作为最终状态。
  • 否则 → 证明模式:继续执行下文。

证明模式——每个候选方案进行 5 轮内部循环:

对于每个待解决子目标,最多尝试四种真正不同的候选路线。每个候选方案都要经过 5 轮内部小流程,而不是一次生成:

  1. 求解——仅通过推理生成证明尝试。本轮不得使用工具(不得使用计算器、sympy、Lean 或网络)。仅用纸笔推导。
  2. 自我改进——改进尝试,使其更清晰,并修正明显的漏洞。
  3. 自我验证——逐行检查,寻找:掩盖问题的措辞(“显然”/“清楚地”)、无依据的交换、遗漏的假设、差一错误、隐藏假设。
  4. 修正——修复第 3 步发现的问题。
  5. 每个候选方案重复步骤 1–4,最多 5 次,或者直到候选方案自我报告为 is_sound。

记录每个候选方案的内部轮数,以便 Phase 4 判断它需要多少自我修订。需要 5 轮的候选方案,比 1 轮就正确的方案更可能处于临界状态。

在此 Markdown 表格中记录候选方案:

CandidateIdeaInternal roundsVerdictIssue or reason
C11–5sound / repair / fail

候选方案判定标准:

  • sound:足以作为已验证的结论使用。
  • repair:有希望,但缺少一个局部步骤;在 5 轮内部循环之外最多修订两次(总修订次数最多为 5 轮内部 + 2 次外部)。
  • fail:错误、循环论证、力度不足,或重复已知的失败路线。

计算纪律(数学奥赛原样规则):求解轮次中不得调用工具。Phase 1(实证)和 Phase 5(深度模式)中允许计算,Phase 2 求解期间绝不允许。这样可以避免仪式化的“我调用了 sympy,所以结果一定正确”的推理。

当候选方案正确时,将其添加到 证明材料 / 已验证结论,并附上一段证明概要。路线失败时,在 失败尝试 中添加一行,避免重复尝试。

仅当你对某类问题没有思路时,才使用 references/angles-by-type.md。不要默认加载。

3. 整合

将已接受的结论整理成简洁的证明或反驳。

规则:

  • 陈述原始命题。
  • 仅展示最终论证;省略失败的尝试。
  • 每个非平凡步骤都要由已验证的结论、定理、构造或精确计算加以论证。
  • 如果某个必需的子目标仍未解决,就不要假装证明已经完成:输出部分结果或移交处理。
4. 审计

只审计干净的证明,不审计探索笔记。

检查:

  • 证明的是原始命题,而不是较弱的改述。
  • 已处理所有情形、边界值、退化情况和量词。
  • 没有未经证明或未在 Proof Artifact 中明确接受的断言。
  • 反驳使用经过精确验证的反例。

审计遵循 math-olympiad 的 3 项保障模式(参见 references/phase-4-audit.md):

  1. 验证者上下文隔离(在审查前剥离思考轨迹)。
  2. 非对称投票(4 票 HOLDS 才确认;2 票 HOLE FOUND 即可反驳)。
  3. 鸽巢退出机制(达到阈值后停止启动审查者)。

在授予任何 PROVED 之前,应用命名模式筛查(grading-taxonomy.md 中的 P4 / P5 / P6 / P18 / P40 / P41)以及反例优先规则。

一般情况下,一次认真细致的本地审计就足够。仅当用户要求严格的多审查者审计,或结果风险较高时,才使用更严格的 references/phase-4-audit.md 协议。

5. 反思

在最终答案后,添加一则简短的反思说明。内容应简洁:

  • 成功的模式(如有)
  • 应避免的失败模式
  • 是否写入了记忆

每道题的记忆会在下一道题开始时重置。跨题记忆是可选的:仅当文件访问可用时,才将简洁的策略/失败总结写入 .evomath/session-memory.json。如果未写入,请注明 memory-persisted: false。

状态标签

只能使用以下其中一个:

状态含义
PROVED原始命题的完整证明已通过保障措施 1–3 的审计。这是 EvoMath 授予的最高级别标签。
REFUTED找到了精确反例或矛盾证明
VERIFIED_NUMERICALLY仅进行了有限的精确检验,没有一般性证明。数值证据不是证明——设置此标签是为了如实记录经验支持。
CONJECTURED有力的部分证据或部分证明,但尚不完整
HANDED_OFF停止推进,并明确指出剩余缺口或待解答的问题

每个最终答案中必须且只能出现以上五个标签之一。有关授予条件和升级规则,请参见 references/confidence-rules.md。

最终答案格式

使用 Markdown,不要采用僵硬的模式:

final-status: PROVED

## Result
<answer>

## Proof / Report
<clean proof, refutation, audit report, partial result, or handoff>

## Audit
- audits-run:
- critical-issues:
- remaining-gaps:

## Proof Artifact
- verified claims:
- negative attempts:

## Reflection
- memory-persisted:
- storage-location:
- proposed-memory-updates:

对于证明审计请求,先按严重程度从高到低列出发现,然后给出结论和建议的修正方案。

可选辅助工具

  • scripts/evomath_workspace.py:
    • init 创建五个 Markdown 状态文件。
    • check 验证 final.md 是否包含有效的 final-status: 行。
    • validate-phase N 验证第 N 步(1..5)的 .md 输出。将对应的待办事项标记为已完成前,请使用此命令。添加 --strict 还会重新验证所有之前的步骤。
    • validate-proved 当 final-status 为 PROVED 时,验证 10 项自检清单是否已全部勾选。
  • references/angles-by-type.md:按题型分类的技巧思路。
  • references/grading-taxonomy.md:审计缺陷的详细分类。
  • references/phase-4-audit.md:更严格的独立审查协议。
  • references/output-formats.md:可选的 Markdown/LaTeX 格式细节,以及 PROVED 自检清单模板。
  • references/claim-memory.md:三层记忆架构及 ESE/IVE 反思协议。仅在深度反思模式下阅读。
  • references/model-tier.md:各层级的参数表(Haiku / Sonnet / Opus)。在第 0 阶段开始时阅读一次,为当前模型设置 K、internal-rounds、audit passes 和 abstain thresholds。

评论

支持 Markdown