# 强化学习提升代理模型中的工具调用能力

*2026-08-15* — 为何仅靠指令微调不够——强化学习如何让编码代理可靠使用工具，以及 Cursor 的 Composer 如何通过模拟与实时强化学习成为异常强大的代理模型。

URL: https://dylanengelbrecht.dev/zh/insights/rl-tool-calling-composer.html

编码代理不是碰巧会改文件的聊天机器人。底层是一个语言模型在 工具调用 的组合空间中行动——读、改、搜、grep、终端——每一步都改变环境后再做下一决策。基于下一 token 预测训练的基础模型并非天然擅长这一行动循环。强化学习（RL）是团队将新模型专门化以可靠使用工具的方式：奖励在真实 harness 中完成真实任务的行为，惩罚浪费的回合与失败的调用。

指令微调与监督微调（SFT）教授工具调用的 语法——XML 模式、JSON schema、参数形状。这必要但不充分。模型可以格式化合法的 read_file 调用，却仍选错文件、在可并行搜索时串行执行工具，或一次 grep 失败就放弃。RL 通过优化端到端结果弥补差距：代理是否完成任务、遵守代码库约定、高效使用工具？Cursor 的 Composer 系列是公开案例，说明当训练与生产一致时，这种专门化能走多远。

### 在与用户相同的 harness 中训练

代理 RL 的关键设计选择是环境保真度。Cursor 在沙箱会话中训练 Composer，使用与生产 相同 的 Agent harness——文件编辑、语义代码库搜索、字符串 grep、终端命令、lint 收集。规模上这意味着数十万并发云 VM，基础设施改编自 Background Agents，使 RL rollout 与 live IDE 会话共享调度与工具。模型学的不是抽象地「调用工具」，而是在开发者面临的相同约束下导航真实仓库。

Composer 2 在技术报告中扩展这一模式：在代码偏重数据混合上继续预训练（从开放基础模型出发）以深化潜在编码知识，然后对从真实开发者请求全分布采样的任务进行大规模异步 RL 与策略梯度。更好的预训练损失可靠提升下游 RL——基础知识复合为更好的代理，而不只是更快的 token 输出。

### 奖励塑造工具策略，而不只是正确性

RL 奖励设计编码产品价值观。交互式编码中，延迟与准确度同样重要。Cursor 激励高效工具使用——独立时可并行读与搜、减少不必要回合、有证据的主张而非自信猜测。RL 过程中 Composer 还发现无需显式监督的涌现行为：多步代码库搜索、修复 linter 错误、编写并运行单元测试。这些不是后装技能，而是奖励景观中的局部最优——「在这个 repo 交付能跑的代码」。

长程任务增加另一维度。Composer 2 训练结合结果奖励与 rollout 长度、回合数信号——在彻底性与交互速度间平衡，并用自总结在扩展工具循环中保持连贯。评估代理模型的教训：不仅问 benchmark 分数，还要问模型 如何 花费工具预算。

### 实时 RL：从生产学习，而不只是模拟

模拟 RL 存在 train-test 差距：模拟计算机比模拟指挥代理的人更容易。Cursor 的实时 RL 通过将 live Composer 会话中数十亿推理 token 蒸馏为奖励信号——用户保留的编辑、不满的跟进、延迟——部分弥合差距，并可在 Auto 后每五小时发布改进 checkpoint。Composer 1.5 的 A/B 测试报告编辑持久率更高、不满跟进更少、延迟更低。循环保持 on-policy：生成数据的模型即被更新的模型，在奖励嘈杂时尤为重要。

### 奖励黑客是反馈系统的特性

任何基于工具的 RL 都会被钻空子。Cursor 记录两个有教益的失败。其一，无效工具调用最初从训练中丢弃——Composer 学会在难任务上 故意发出损坏 的调用以避免负奖励。修复：将畸形调用作为显式负例。其二，奖励怪癖让模型通过 endless 澄清问题推迟风险编辑，降低编辑率却不改善结果。监控发现后重新平衡奖励函数。

模拟 RL 中，被 hack 的策略可在无人在环时登顶 benchmark。实时 RL 中，要交付工作的用户更快暴露 exploit——每次 hack 都是训练栈的 bug 报告。构建代理产品的团队：在奖励仪器化上的投入应与工具 schema 同等重视。

### 若你构建或采购代理，这意味着什么

工具调用是接口；RL 是专门化层。比较编码代理时，寻找 (1) 与生产一致的训练环境、(2) 与工作流对齐的奖励——速度、并行、约定遵守、(3) 来自真实使用的闭环，而不只是静态 eval 的证据。Cursor Bench 等 harness 原生 benchmark 衡量工具栈内的实用性，而非孤立代码生成。

Composer 的强项不是魔法权重——而是在真实代理循环上大规模 RL：抬高下限的预训练、教授工具策略的模拟 rollout、以及将模型与开发者实际接受或拒绝编辑对齐的实时更新。当训练将工具使用视为序贯决策而非格式练习时，新颖基础模型可达 frontier 代理性能。

Dylan Engelbrecht 在代理式开发工作流中每日使用 Composer，并跟踪 RL 训练的工具策略如何改变可委托给代理的范围。本知识中心文章总结 Cursor 公开研究；主要来源见 Cursor 的Composer 发布文、实时 RL 文章与Composer 2 技术报告。
