论文

推理、代码,还是两者兼用?大语言模型如何应对数学题变式

Reasoning, Code, or Both? How Large Language Models Handle Variations in Math Questions

模型评测鲁棒性、公平性与可信度评测

摘要

大语言模型(LLM)在数学推理基准上取得令人瞩目的准确率,但当题目经过不同名字或数字等简单改动后,其性能会下降。让模型生成并运行Python代码而非用自然语言推理的代码执行方法被提出作为解决方案,但其对推理稳健性(在题目变化下保持准确率的能力)的影响尚未得到系统检验。本研究在GSM-Symbolic数据集的1,000道题上评估三种方法:使用思维链(CoT)提示的纯推理、使用程序辅助语言模型(PAL)的单次代码执行,以及使用Step-by-Step Coding(SBSC)的迭代代码执行。三种方法均在成对的原始题与修改题上使用Claude Haiku 4.5运行。CoT是最稳健的方法,准确率下降1.3个百分点,1.8%的题目在扰动下失效。PAL稳健性最差,下降1.7个百分点,3.1%的题目失效;SBSC介于两者之间。尽管这些差异在统计上不显著($p = .096$),但方向性趋势在所有指标上一致,表明无论单次还是迭代,代码执行都不能提升小学数学水平题目变式下的推理稳健性。