首页/AI/提示词工程速查/程序化思考(Program-of-Thought / PAL)
模式与框架50 条

程序化思考(Program-of-Thought / PAL)

让模型把计算过程写成一段代码(或伪代码)并执行,用确定性计算替代心算;数值与逻辑类任务中较可靠的做法。

提示词工程速查AI更新于 2026-10-13

程序化思考是什么

程序化思考(Program-of-Thought,也常被称作 PAL)让模型把计算过程写成一段可执行的代码,把计算交给解释器而不是靠语言模型心算。Chen 等人 2023 年前后的这类工作都指向同一个结论:在算术、日期计算、数据变换这类任务上,代码执行比自然语言推理稳定得多,因为解释器不会算错,也不会在中途丢失精度。模型只负责把问题翻译成程序,这部分恰好是它擅长的。

要点

本质思考载体从自然语言换成程序:计算交给解释器
适用算术、数据变换、日期计算、单位换算、批量聚合
不适用主观判断、开放写作、需要常识权衡的任务
工程配合真实系统中由程序执行代码段,模型只负责写
关联PAL 让模型生成程序;PoT 系列工作用它替代自然语言计算步骤

典型使用场景

  • 批量数值计算:多步算术与聚合,结果要求精确
  • 日期与时长计算:跨月、时区、工作日等易错场景
  • 数据变换:按规则清洗、映射、分组统计
  • 报表核对:把核对规则写成代码,结果可复跑
  • 公式推导落地:把业务口径固化成可审计的计算脚本

提示模板

提示模板
把解题过程写为可执行的 Python 代码,输出变量名为 result;
代码不读取任何外部输入、不做网络请求;        # 限制能力范围,便于沙箱执行
先给代码,再给出执行结果(无法执行时给出代入数值的计算过程)。
# 代码与结果分区输出,程序只取结果段,代码段留档备查

与自然语言推理对比

维度自然语言推理程序化思考
计算可靠性多步容易错位、丢精度解释器执行,结果可复现
可审计过程难以自动校验代码可复跑、可逐行检查
适用面更广,含主观判断限于可形式化的问题
执行风险无需沙箱、超时与资源限制
模型生成的代码必须在受限沙箱中执行:禁网络、限时间与内存、只读挂载,执行前检查危险调用。

易错点

  • 直接在生产环境执行模型生成的代码,缺少沙箱、超时与资源限制
  • 把不适合形式化的问题(文案判断、主观取舍)也交给代码处理,输出无意义
  • 只取执行结果不保留代码,事后无法复核计算口径
  • 代码里读取外部数据或访问网络,结果依赖运行环境,无法复现
  • 把程序化思考当成精度万能的方案,忽略了输入数据本身的口径错误

数据来源与参考

  • PAL: Program-aided Language Models(Gao et al., ICML 2023)与 Program of Thoughts Prompting(Chen et al., 2022)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌