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 消耗。
研究背景与动机¶
-
领域现状:CoT 提示在代码生成中有效——引导 LLM 先思考算法设计再写代码。但统一对所有任务应用 CoT 存在"过度思考"问题。
-
现有痛点:
- 对简单任务(如字符串翻转)使用 CoT 反而降低效率且可能引入错误推理
- 现有 CoT 方法缺乏"意图抽象"——关注语法正确性而忽略核心算法设计和效率
-
所有任务等同处理违反了认知经济原则(困难任务才需要深度推理)
-
核心矛盾:CoT 对困难任务有效但对简单任务是浪费——需要自适应决定何时启用结构化推理。
-
本文要解决什么? 按问题难度动态选择生成策略:简单→直接生成;复杂→意图级 CoT 推理后生成。
-
切入角度:认知经济原则——只在必要时激活结构化推理以节省认知资源。
-
核心 idea 一句话:难度分类器路由 + Intention CoT(规格+算法意图+复杂度)= 高效且高质量的代码生成。
方法详解¶
整体框架¶
输入编程问题 → Qwen3-8B 难度分类器(Simple/Complex + 理由)→ Simple 路径:few-shot 直接生成 → Complex 路径:ICoT(Specification + Idea)→ 条件代码生成。
关键设计¶
- 难度感知动态路由:
- 做什么:自动判断问题难度并选择合适的生成策略
- 核心思路:分类器输出 Simple/Complex 标签 + 文本理由。Simple 路径跳过 CoT 直接生成;Complex 路径进入 ICoT
-
设计动机:认知经济——避免对"print hello world"也做算法分析
-
Intention Chain-of-Thought (ICoT):
- 做什么:在代码生成前进行意图级推理
- 核心思路:两部分——(1) Specification:输入输出约束、边界条件、数据类型("什么");(2) Idea:核心算法逻辑、时间复杂度目标、关键数据结构选择("怎么做"和"为什么")
-
设计动机:普通 CoT 关注表面步骤("先读输入,再循环..."),ICoT 关注算法意图("用动态规划因为子问题重叠"),更接近人类程序员的思考方式
-
条件代码生成:
- 做什么:基于 ICoT 输出生成代码
- 核心思路:ICoT 的 Specification 和 Idea 作为上下文注入代码生成 prompt
- 设计动机:有了明确的算法意图后,代码生成更聚焦于实现而非设计
损失函数 / 训练策略¶
- 分类器: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分析
- 写作质量: ⭐⭐⭐⭐ 认知经济的引入自然
- 价值: ⭐⭐⭐⭐ 对高效代码生成有实用价值