Looped Language Models Improve Compositional Tool Calling
会反复回想自己答案的AI模型,更擅长按顺序组合调用多个工具
研究者测试了循环语言模型——一种在给出答案前把同一个计算模块反复过几遍的模型结构——在API-Bank、BFCL、NESTful三个工具调用评测集上的表现。在使用相同数据和训练设置的对照实验中,循环模型在需要协调多个API调用、并把前一步结果传给下一步的复合任务上明显更强,而在只需调用单个工具的简单任务上优势较小且因模型而异。一种只在必要时增加计算量的自适应推理方法,用更少的计算量达到了和固定循环次数相当甚至更好的效果。
他们做了什么
- 测试了原生循环结构的Ouro-1.4B、Ouro-2.6B,以及由Llama-3.2-1B、OLMo-2-1B改造而成的循环模型
- 用相同的Hermes function-calling数据集和相同训练设置,对循环模型与非循环模型做了对照比较
- 在只需调用单个工具的任务上循环带来的提升较小且不稳定,但在需要并行调用多个工具或把前一步输出传给下一步的复合任务上提升明显更大
- 将推理时的循环次数从1次调到8次后发现,复合任务的准确率总体上随循环次数增加而提升,之后趋于饱和
- 让模型按每个词元自行决定何时退出循环的自适应推理方式,能用更少的平均循环次数达到接近甚至超过固定循环次数的最佳效果,案例显示随着循环加深,模型逐步纠正了遗漏的依赖调用和错误的函数选择
| Model | Training | Simple | Multiple | Parallel | Par.-Mult. | Overall |
|---|---|---|---|---|---|---|
| Ouro-1.4B | Base | 65.3 | 67.0 | 35.0 | 44.5 | 55.4 |
| SFT | 91.8 | 90.0 | 67.5 | 55.5 | 79.3 | |
| Ouro-2.6B | Base | 80.5 | 75.5 | 2.0 | 1.0 | 47.9 |
| SFT | 92.3 | 88.0 | 83.0 | 76.5 | 86.4 | |
| Qwen3-1.7B | Base | 1.5 | 0.0 | 0.0 | 0.0 | 0.6 |
| SFT | 67.0 | 57.0 | 3.0 | 9.5 | 40.7 | |
| Instruct | 91.8 | 91.5 | 83.5 | 81.0 | 87.9 | |
| Qwen3-4B | Base | 72.0 | 57.5 | 1.0 | 0.5 | 40.6 |
| SFT | 94.3 | 87.0 | 2.5 | 5.5 | 56.7 | |
| Instruct | 93.0 | 92.5 | 87.5 | 88.5 | 90.9 | |
| Qwen3-8B | Instruct | 95.5 | 96.0 | 91.5 | 89.5 | 93.6 |
| Llama-3.2-1B | Instruct | 18.2 | 2.5 | 4.0 | 4.5 | 9.5 |
| Llama-3.2-3B | SFT | 88.2 | 86.0 | 69.0 | 60.5 | 78.4 |
| Instruct | 33.8 | 37.0 | 0.0 | 0.0 | 20.9 | |
| Llama-3.1-8B | Instruct | 46.5 | 41.0 | 0.0 | 0.0 | 26.8 |
| OLMo-2-1B | SFT | 59.2 | 50.0 | 14.5 | 12.5 | 39.1 |
| Looped SFT | 55.0 | 58.0 | 26.5 | 14.5 | 41.8 | |
| Llama-3.2-1B | SFT | 29.8 | 28.5 | 14.0 | 5.0 | 21.4 |
| Looped SFT | 43.5 | 40.5 | 31.0 | 6.0 | 32.9 |
| Model | Training | Function F1 | Parameter F1 | Partial | Full | Win Rate |
|---|---|---|---|---|---|---|
| Ouro-1.4B | Base | 0.905 | 0.539 | 0.149 | 0.091 | 0.110 |
| SFT | 0.899 | 0.566 | 0.219 | 0.131 | 0.191 | |
| Ouro-2.6B | Base | 0.920 | 0.595 | 0.207 | 0.128 | 0.190 |
| SFT | 0.922 | 0.680 | 0.295 | 0.204 | 0.371 | |
| Qwen3-1.7B | Base | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
| SFT | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | |
| Instruct | 0.924 | 0.555 | 0.202 | 0.109 | 0.134 | |
| Qwen3-4B | Base | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
| SFT | 0.458 | 0.309 | 0.156 | 0.001 | 0.063 | |
| Instruct | 0.971 | 0.703 | 0.285 | 0.196 | 0.292 | |
| Qwen3-8B | Instruct | 0.979 | 0.774 | 0.329 | 0.246 | 0.345 |
| Llama-3.2-3B | Base | 0.911 | 0.561 | 0.208 | 0.155 | 0.146 |
| SFT | 0.911 | 0.495 | 0.175 | 0.093 | 0.095 | |
| Instruct | 0.929 | 0.419 | 0.160 | 0.033 | 0.060 | |
| Llama-3.1-8B | Instruct | 0.657 | 0.342 | 0.137 | 0.030 | 0.073 |

| (a) Controlled models |
|---|
| Base SFT Model Call Exact Parse Call Exact Parse Ouro-1.4B 73.0 67.6 95.1 75.1 70.2 97.2 Ouro-2.6B 79.2 76.9 99.2 79.9 77.1 99.7 Qwen3-1.7B 5.1 5.1 13.9 61.4 57.8 93.6 Qwen3-4B 71.2 71.2 99.2 76.6 73.8 99.7 Llama-3.2-1B 1.7 1.3 10.8 16.3 14.1 55.3 Llama-3.2-3B 0.3 0.3 0.3 68.5 64.5 99.7 OLMo-2-1B 1.9 0.5 35.7 37.1 33.2 99.5 OLMo-2-1B (Loop) 0.1 0.0 1.5 34.0 30.3 90.7 Llama-3.2-1B 1.7 1.3 10.8 16.3 14.1 55.3 Llama-3.2-1B (Loop) 0.1 0.0 1.5 17.9 16.2 43.4 |
| Benchmark | Candidate tools | Call structure | Dependencies | Primary challenge |
|---|---|---|---|---|
| API-Bank | one or more | typically |Cx|=1 | Ex=∅ | Tool and argument grounding |
| BFCL Simple | |𝒯x|=1 | |Cx|=1 | Ex=∅ | Argument grounding |
| BFCL Multiple | |𝒯x|>1 | |Cx|=1 | Ex=∅ | Function selection |
| BFCL Parallel | one or more | |Cx|>1 | Ex=∅ | Independent call generation |
| BFCL Parallel-Multiple | |𝒯x|>1 | |Cx|>1 | Ex=∅ | Selection and call composition |
| NESTful | multiple | |Cx|>1 | typically |Ex|>0 | Dependency-aware execution |
为什么重要
这对需要让AI代理协调调用多个工具完成任务的开发者有参考价值,说明不扩大模型规模、只在推理阶段增加计算就能提升准确率。自适应推理的思路也为控制计算成本、同时处理复杂依赖关系的工作流提供了实用方向。
本文术语
- 循环语言模型(Looped Language Model) · 在输出答案前反复通过同一个神经网络模块以增加计算量、而不增加参数量的模型结构
- 循环深度(recurrent depth) · 推理时同一模块被重复执行的次数
- 自适应推理(adaptive inference) · 让模型针对每个词元自行决定循环多少次,以平衡计算量和准确率
- 改造模型(retrofitted model) · 把已训练好的普通模型部分层改成跨迭代共享参数的循环结构
- 语义AST准确率(semantic AST accuracy) · 把生成的函数调用标准化成结构化形式,再判断是否与正确答案在语义上一致的评分方式
论文原文摘要(英文)
Looped language models have shown promising results on reasoning benchmarks, yet their potential for agentic tool use remains largely unexplored. We study this question in compositional tool-calling settings, where models must coordinate multiple API calls, maintain intermediate state, and preserve dependencies across tool interactions. We evaluate native and retrofitted looped language models on API-Bank, BFCL, and NESTful, comparing looped and no
在 arXiv 阅读最新论文
- FinRCA-Bench: Benchmarking Evidence Retrieval and Reasoning for Financial AI SystemsAI经常能说对财务对账出错的原因,却拿不出真正的证据
- FACET: Preserving Source Intent and Executable State in Terminal Task SynthesisFACET:让终端命令行任务的“说明书、环境、答案、判分器”自动保持一致
- FM-Bench: A Benchmark for Long-Horizon Management with Competing Agents让AI连续管理一家足球俱乐部20年后发现,胜负关键不在模型大小,而在经营习惯
- Bridging Search and CRM: Productionizing AI Product Research Agents for Customer Re-EngagementAI智能体追着离场用户发WhatsApp,把逛而不买的顾客拉回来
- Adversarial Review: Structured Disagreement for Grounded Agentic Code ReviewAI代码审查:与其堆更多智能体,不如让一个审查者和一个批评者互相较真
- GenEx: A Graph-Based Representational Paradigm for SARS-CoV-2 Variant Detection via Codon Co-occurrence Networks把病毒基因序列变成密码子关系网络图,用来区分新冠变异株
- Alignment Is All You Need: Instruction-Free Training for General Audio-Language Models语言模型全程冻结,只训练一个小连接器,也能做出好用的听觉理解AI
- Which Negatives Matter? Ask Your Text Encoder: Adaptive Similarity Margins for Dense-Caption Retrieval图文检索AI误以为自己已经全学会了,结果学不会区分那些几乎一样的描述句子
METAL LAB 最新报道
图片来源: Andrei Cristian Popescu et al., arXiv:2608.18171, CC BY 4.0