← Agent Tool Use 2026

CVPR 2026 · Main · C21

CodeDance: A Dynamic Tool-integrated MLLM for Executable Visual Reasoning

代码 / 软件 / 科研执行 · 直接工具使用 · 方法 / 系统

Idea

CodeDance 让 MLLM 用可执行 Python 组织 visual reasoning,把 image crop、计算、绘图与标注统一为 code action。模型在 think–execute–feedback loop 中读取执行产生的文字和图像,再决定下一步操作或输出答案,从而组合出超出固定 tool schema 的视觉处理流程。

Research Problem

固定工具集容易限制操作组合,而仅把 code interpreter 接到模型上也不能保证有效使用:模型可能反复调用工具、产生不可执行代码,或在真正需要外部操作时直接猜答案。trajectory-level reward 还难以区分是哪一次调用有用,导致 tool use 的局部 credit assignment 不充分。

Insight

论文认为工具使用强度应随任务难度变化:简单问题应减少冗余调用,困难问题应允许探索;同时 execution failure 应立即影响对应 turn 的学习信号。统一 code interface 提供可组合的 action space,而分层 reward 决定模型能否学会有目的地使用这个空间。

Method

  1. 每个 interaction turn 生成 reasoning 和 Python code,在 sandbox 中执行;crop、plot、annotation 等可视化结果与文本输出回传模型,形成下一 turn 的 observation。达到 final answer 或 turn limit 时结束。
  2. 先用经过难度分层与强模型校验的 atomic trajectories 做 SFT,覆盖 crop / resize、数学与统计操作、绘图和标注等基本能力,让模型掌握 interpreter interface。
  3. 随后用 GRPO 优化 composite reward:answer correctness、format 与 BAT reward。BAT 的 sequence-level 项利用同组样本的成功率估计难度,调节有效 tool calls 的激励。
  4. BAT 的 turn-level 项惩罚 execution failure,并以 discounted return 传播后续反馈;将 turn 与 sequence advantages 合并,训练可组合的 multi-turn visual reasoning policy。

Sources & Reading Scope

阅读依据:官方 PDF 正文。核读页码按 PDF 页序计数,可能与 proceedings 页码不同。

p. 3 · p. 4 · p. 5 · p. 6

核读章节:Methodology · Two-stage Training · Difficulty-aware and Turn-level Rewards

依据正文的 execution loop、SFT 与 RL 设计整理;未将作者观察到的组合能力解释为任意工具上的普遍泛化保证。