技术教程 · 阅读约 6 分钟

GPT-5.6 证明了数学猜想?用 30 行代码自己验证它的推理过程

GPT-5.6 证明了数学猜想?用 30 行代码自己验证它的推理过程

昨天 HN 上有一篇帖子安静地炸了:GPT-5.6 Sol Ultra 输出了一份关于「圈双覆盖猜想」(Cycle Double Cover Conjecture)的证明草稿。

这个猜想在图论界悬而未决超过 40 年。不管这份"证明"最终能不能过同行评审,有一件事值得我们认真对待——大模型现在输出的数学推理已经复杂到普通人很难直接评估对错。

更实际的问题是:你怎么用 AI 辅助自己做严肃的技术验证?

今天这篇就教你搭一个「AI 推理链审查器」:把一段复杂推理(数学证明、算法分析、架构决策都行)喂给模型,让它逐步拆解、自我质疑、标出可疑步骤,最后输出一份可读的审查报告。


为什么不能直接问"这个对吗"

直接问 这个证明正确吗 几乎没用。模型会给你一个听起来很有把握的回答,但它的置信度和实际准确率之间的相关性并不强——尤其在数学和逻辑推理上。

正确姿势是强迫模型走流程:

1. 先让它复述论证结构(Restatement)

2. 再让它列出每一步依赖的前提假设

3. 然后针对每个假设,单独问"这个假设成立的条件是什么"

4. 最后让它汇总哪些步骤存在跳跃或循环依赖

这是学术界做 proof review 的基本流程,只是现在可以自动化了。


完整代码

依赖只有一个:openai


pip install openai


from openai import OpenAI



client = OpenAI(

    api_key="your_api_key",

    base_url="https://api2everything.xyz/v1"  # 国内直连,无需代理

)



REASONING_TEXT = """

[把你要审查的推理/证明/分析粘贴在这里]



示例:

设 G 是一个 2-边连通图。对 G 的每条边 e,

定义 F(e) 为包含 e 的所有圈的集合。

若对所有 e 有 F(e) 非空,则 G 存在圈双覆盖。

"""



def analyze_step(content: str, step_name: str, prompt: str) -> str:

    """调用模型执行单步分析"""

    response = client.chat.completions.create(

        model="gpt-4.1",  # 也可以换 claude-sonnet-4-5 或 gemini-2.5-pro

        messages=[

            {

                "role": "system",

                "content": (

                    "你是一位严格的逻辑审查员。"

                    "任务:找漏洞,不是找优点。"

                    "如果某步骤无懈可击,直接说'此步骤无明显问题',不要过度解读。"

                )

            },

            {"role": "user", "content": prompt}

        ],

        temperature=0.2  # 降低温度,让输出更稳定

    )

    result = response.choices[0].message.content

    print(f"\n{'='*50}\n[{step_name}]\n{'='*50}\n{result}")

    return result



def review_reasoning(text: str) -> dict:

    results = {}



    # Step 1: 结构拆解

    results["structure"] = analyze_step(

        text, "Step 1: 论证结构",

        f"请将以下推理拆解为编号步骤列表,每步一句话,不做评价:\n\n{text}"

    )



    # Step 2: 前提假设挖掘

    results["assumptions"] = analyze_step(

        text, "Step 2: 隐含假设",

        f"基于这段推理:\n{text}\n\n"

        f"列出所有被默认为真但未被证明的假设。格式:假设N: [内容] | 风险级别: 高/中/低"

    )



    # Step 3: 逐步质疑

    results["weak_points"] = analyze_step(

        text, "Step 3: 薄弱环节",

        f"对这段推理中的每个步骤,指出:\n"

        f"1. 这一步能否从前面的步骤直接推出?\n"

        f"2. 是否存在反例或边界情况让这步失效?\n\n"

        f"推理内容:\n{text}"

    )



    # Step 4: 汇总报告

    summary_prompt = (

        f"基于以下三份分析,写一份100字以内的执行摘要,"

        f"给出整体可信度评估(高/中/低)和最需要核实的一个点:\n\n"

        f"结构分析:{results['structure']}\n\n"

        f"假设分析:{results['assumptions']}\n\n"

        f"薄弱点:{results['weak_points']}"

    )

    results["summary"] = analyze_step(text, "最终评估", summary_prompt)



    return results



if __name__ == "__main__":

    review_reasoning(REASONING_TEXT)


怎么用

把 REASONING_TEXT 换成你实际要审查的内容就行。几个实用场景:

  • 审查 AI 生成的算法分析:让 Codex/Cursor 帮你写了一段时间复杂度分析,跑一遍确认没有跳步
  • 评估架构 RFC:团队写的设计文档,批量过一遍假设是否成立
  • 数学作业/论文初稿:学生用来自查推理跳跃

模型可以随时换,代码里的 gpt-4.1 改成 claude-sonnet-4-5 或 gemini-2.5-pro 都能直接跑,接口格式完全一致。


关于费用

跑一次完整审查大概消耗 3000-6000 tokens,用 gpt-4.1 官方价格大约 ¥0.15 左右。如果你经常用,量一大成本会比较可观。

我自己用的是 無量Api,同模型比官方便宜 60% 以上,国内直连不需要代理,OpenAI 格式兼容,就是上面代码里那个 base_url,把 key 换成它的就能用。注册还送 ¥1 余额,试手够了。300+ 模型都在一个 key 里,切模型就改一个字符串。


回到最开始的问题:GPT-5.6 的那份猜想"证明"可信吗?

老实说,现在还没有人能确定。数学界的验证需要时间。但这件事本身说明了一个趋势——AI 输出的内容正在进入我们过去需要专家才能评估的领域。

工具已经在了,怎么用是你的事。


有跑出有意思结果的,或者代码跑不通的,评论区见。觉得有用的话点个赞,后续还会写更多这类可以直接跑的小工具。