关于 evomath-tao
EvoMath (Tao-style) 是用于竞赛数学的证明工作流技能,可产出严谨证明、已验证反例、部分结果或明确交接。它强调小规模案例、多种独立尝试、验证和清晰的状态标记,而非默认采用繁重审查。
主要功能
- 01用 Markdown 规划数学问题
- 02尝试并记录不同证明路径
- 03区分证明与数值验证
- 04验证工作流阶段及完整证明
- 05明确标注结果状态和未解决问题
- 06总结可复用策略与失败经验
适用场景
- 01为竞赛数学问题构建证明
- 02用精确反例检验命题
- 03提交部分结果并说明具体缺口
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ evoscientist/ evoskills --skill evomath-tao安装后在 Claude Code 中输入/evomath-tao确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/angles-by-type.mdclaim-memory.mdconfidence-rules.mdgrading-taxonomy.mdhandoff-template.mdintake-checklist.mdmodel-tier.mdoutput-formats.mdoutput-schema.mdphase-4-audit.mdtest-prompts.mdscripts/evomath_workspace.py详细介绍
EvoMath(Tao 风格)
EvoMath 是一种轻量级证明工作流,用于竞赛风格的数学推理。它旨在给出严谨证明、经验证的反例、有用的部分结果,或清晰的交接。保持流程精简;默认不要运行繁重的审计流程。
方法论基石——Terence Tao 的研究数学实践
这项技能将 Terence Tao 处理研究数学的方式付诸实践:
- 先计算简单情形(先 Kepler,后 Newton)——先从数据中建立直觉,再诉诸理论。
- 先广泛尝试标准工具箱,再深入钻研——大多数难题都能用标准技巧破解;少数无法破解的题目,只有在多种方法失败后才会显露出来。
- 兼顾严谨与直觉(后严谨数学)——相信直觉,但核验每一步。“感觉没错”只是一个猜想,不是证明。
- 卡住时拆分问题——将问题分解为可独立检查的子主张。清晰列出已证明、猜想和未解决部分,胜过精致却不可靠的论述。
- 坦诚说明尚未证明的内容——区分 PROVED / VERIFIED_NUMERICALLY / CONJECTURED / HANDED_OFF。遇到阻碍时,明确指出具体缺口。
- 提炼每个结果,使其成为可复用的经验——每道题之后,总结有效的方法和失败的尝试,并分别归纳为策略和明确命名的模式。数学成熟度来自不断积累的元洞见。
以下每个阶段都是对上述一个或多个原则的具体实践。
操作规则
- 使用 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,按以下顺序创建这五个事项。每个事项都注明其主要参考文件:
- 简要规划 — 阅读
references/intake-checklist.md,了解类型分类、歧义处理和目标类型。 - 尝试候选方案 — 如果针对这种问题类型想不出更多思路,阅读
references/angles-by-type.md,获取技巧建议。 - 整理答案 — 如果需要格式规范或 LaTeX 模板,阅读
references/output-formats.md。 - 审核 — 阅读
references/grading-taxonomy.md,了解问题类别和严重程度规则。只有在用户要求进行严格的多审核者审查时,才阅读references/phase-4-audit.md。 - 反思 — 仅在触发深度反思时阅读
references/claim-memory.md(见下文“深度反思触发条件”)。
2. 各步骤的执行规范
按顺序完成每个步骤:
-
阅读参考资料或编写输出之前,将待办事项标记为
in_progress。 -
仅在该步骤需要时阅读相应文件。
-
生成对应的
.md输出(plan.md、candidates.md、audit.md、final.md 中的章节等)。 -
将待办事项标记为 completed 之前,运行验证器:
python scripts/evomath_workspace.py validate-phase <N> --dir .evomath/current -
如果验证失败,待办事项保持
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 轮内部小流程,而不是一次生成:
- 求解——仅通过推理生成证明尝试。本轮不得使用工具(不得使用计算器、sympy、Lean 或网络)。仅用纸笔推导。
- 自我改进——改进尝试,使其更清晰,并修正明显的漏洞。
- 自我验证——逐行检查,寻找:掩盖问题的措辞(“显然”/“清楚地”)、无依据的交换、遗漏的假设、差一错误、隐藏假设。
- 修正——修复第 3 步发现的问题。
- 每个候选方案重复步骤 1–4,最多 5 次,或者直到候选方案自我报告为
is_sound。
记录每个候选方案的内部轮数,以便 Phase 4 判断它需要多少自我修订。需要 5 轮的候选方案,比 1 轮就正确的方案更可能处于临界状态。
在此 Markdown 表格中记录候选方案:
| Candidate | Idea | Internal rounds | Verdict | Issue or reason |
|---|---|---|---|---|
| C1 | 1–5 | sound / 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):
- 验证者上下文隔离(在审查前剥离思考轨迹)。
- 非对称投票(4 票 HOLDS 才确认;2 票 HOLE FOUND 即可反驳)。
- 鸽巢退出机制(达到阈值后停止启动审查者)。
在授予任何 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。