跳转至

Intention Chain-of-Thought Prompting with Dynamic Routing for Code Generation

会议: AAAI 2026
arXiv: 2512.14048
代码: https://github.com/Guai001/RoutingGen
领域: LLM推理 / 代码生成
关键词: 意图链, 动态路由, 代码生成, 认知经济, 难度感知

一句话总结

提出 RoutingGen——基于认知经济原则的难度感知代码生成框架:用 Qwen3-8B 分类器动态路由任务到简单路径(few-shot 直接生成)或复杂路径(Intention CoT = 规格约束 + 算法意图 + 复杂度分析),在 McEval 上提升 +45.15% 同时平均减少 46.37% token 消耗。

研究背景与动机

  1. 领域现状:CoT 提示在代码生成中有效——引导 LLM 先思考算法设计再写代码。但统一对所有任务应用 CoT 存在"过度思考"问题。

  2. 现有痛点

  3. 对简单任务(如字符串翻转)使用 CoT 反而降低效率且可能引入错误推理
  4. 现有 CoT 方法缺乏"意图抽象"——关注语法正确性而忽略核心算法设计和效率
  5. 所有任务等同处理违反了认知经济原则(困难任务才需要深度推理)

  6. 核心矛盾:CoT 对困难任务有效但对简单任务是浪费——需要自适应决定何时启用结构化推理。

  7. 本文要解决什么? 按问题难度动态选择生成策略:简单→直接生成;复杂→意图级 CoT 推理后生成。

  8. 切入角度:认知经济原则——只在必要时激活结构化推理以节省认知资源。

  9. 核心 idea 一句话:难度分类器路由 + Intention CoT(规格+算法意图+复杂度)= 高效且高质量的代码生成。

方法详解

整体框架

输入编程问题 → Qwen3-8B 难度分类器(Simple/Complex + 理由)→ Simple 路径:few-shot 直接生成 → Complex 路径:ICoT(Specification + Idea)→ 条件代码生成。

关键设计

  1. 难度感知动态路由:
  2. 做什么:自动判断问题难度并选择合适的生成策略
  3. 核心思路:分类器输出 Simple/Complex 标签 + 文本理由。Simple 路径跳过 CoT 直接生成;Complex 路径进入 ICoT
  4. 设计动机:认知经济——避免对"print hello world"也做算法分析

  5. Intention Chain-of-Thought (ICoT):

  6. 做什么:在代码生成前进行意图级推理
  7. 核心思路:两部分——(1) Specification:输入输出约束、边界条件、数据类型("什么");(2) Idea:核心算法逻辑、时间复杂度目标、关键数据结构选择("怎么做"和"为什么")
  8. 设计动机:普通 CoT 关注表面步骤("先读输入,再循环..."),ICoT 关注算法意图("用动态规划因为子问题重叠"),更接近人类程序员的思考方式

  9. 条件代码生成:

  10. 做什么:基于 ICoT 输出生成代码
  11. 核心思路:ICoT 的 Specification 和 Idea 作为上下文注入代码生成 prompt
  12. 设计动机:有了明确的算法意图后,代码生成更聚焦于实现而非设计

损失函数 / 训练策略

  • 分类器:Qwen3-8B,无需微调(prompt-based)
  • 代码生成:多种 LLM(GPT-4o、DeepSeek-Coder 等)

实验关键数据

主实验

基准 RoutingGen 基线 提升 Token 节省
HumanEval 77.10% 74.97% +2.13% -
MBPP 69.11% 56.59% +12.52% -
McEval 38.90% 26.80% +45.15% -
平均 Token - - - -46.37%

消融

配置 MBPP Pass@1 说明
无 CoT(直接生成) 56.59% 基线
全部 CoT 63.42% 提升但 token 浪费
RoutingGen(Simple→直接) 65.82% 简单路径避免过度推理
RoutingGen + ICoT 69.11% 完整系统最优

关键发现

  • McEval(困难任务)上提升最大(+45%):ICoT 对算法设计关键的难题最有效
  • Simple 路径跳过 CoT 不降反升:避免了过度推理导致的错误
  • Token 减少 46%:因为简单任务不做 CoT,直接跳到生成
  • ICoT 的"意图"比"步骤"更有效:传统 CoT 给步骤("先...再..."),ICoT 给意图("用 DP 因为..."),后者对 LLM 更有指导力

亮点与洞察

  • "认知经济"原则从心理学迁移到 LLM 是自然且有效的——不是所有问题都需要深思
  • ICoT 的"Specification + Idea"结构比通用 CoT 更适合代码生成——抽象了算法设计而非实现步骤
  • 动态路由 + 专用推理路径的模式可推广到其他需要不同深度推理的任务

局限性 / 可改进方向

  • 难度分类器可能误分类——将复杂任务路由到简单路径会严重损失
  • 二分(Simple/Complex)可能过于粗糙——需要更细粒度的难度级别
  • ICoT 的质量依赖 LLM 的算法知识——对不在训练数据中的算法可能无效

相关工作与启发

  • vs Self-Planning (Jiang et al.):规划式 CoT 但不做路由。RoutingGen 自适应选择策略
  • vs Scratchpad:中间计算但不做意图抽象。ICoT 更高层
  • 路由+专用推理的模式可用于数学推理、科学问答等领域

评分

  • 新颖性: ⭐⭐⭐⭐ 难度路由+意图CoT的组合有创意
  • 实验充分度: ⭐⭐⭐⭐ 三个基准+多基线+消融+token分析
  • 写作质量: ⭐⭐⭐⭐ 认知经济的引入自然
  • 价值: ⭐⭐⭐⭐ 对高效代码生成有实用价值