ToolOrchestra: Elevating Intelligence via Efficient Model and Tool Orchestration
Meta info.
- Authors: Hongjin Su, Shizhe Diao, Ximing Lu, Mingjie Liu, Jiacheng Xu, Xin Dong, Yonggan Fu, Peter Belcak, Hanrong Ye, Hongxu Yin, Yi Dong, Evelina Bakhturina, Tao Yu, Yejin Choi, Jan Kautz, Pavlo Molchanov
- Paper: https://arxiv.org/pdf/2511.21689
- Affiliation: Hong Kong Univ., NVIDIA
- Published: November 26, 2025
- Code: https://github.com/NVlabs/ToolOrchestra/
TL; DR
์์ 8B ์ค์ผ์คํธ๋ ์ดํฐ ๋ชจ๋ธ์ด ๋ค์ํ ํด๊ณผ LLM์ RL๋ก ํตํฉ์ ์ผ๋ก ์กฐ์ ํ์ฌ ์ ํ๋/๋น์ฉ/latency/์ ์ ์ ํธ๋ฅผ ๋์์ ์ต์ ํํ๋ ํด ๊ธฐ๋ฐ ์์ด์ ํธ ํ๋ ์์ํฌ๋ฅผ ์ ์. GPT-5๋ณด๋ค ์ธ๊ณ ์ฑ๋ฅ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ธ๋ค.

Background
- ์ต๊ทผ tool-agent๋ ์ข์ LLM + ๊ฒ์/๊ณ์ฐ๊ธฐ/์ฝ๋ ๋ฑ ๊ตฌ์กฐ
- RL๊ธฐ๋ฐ ์ต์ ํ ๋ฐฉ์ ์ ์ฉ: ์ ๋ต๊ธฐ๋ฐ์ด๊ฑฐ๋ ๋น์ฉ์ ํจ๋ํฐ ์ฃผ๋ ์์ค
- ์ฌ์ฉ์๋ ์ค์ ๋น์ฉ/์๋/ํด ์ข ๋ฅ์ ๋ฐ๋ฅธ ์ ํธ๊ฐ ์๋๋ฐ ์ด๋ฅผ ๋ฐ์ํ์ง๋ ๋ชปํจ
- RL๊ธฐ๋ฐ ์ต์ ํ ๋ฐฉ์ ์ ์ฉ: ์ ๋ต๊ธฐ๋ฐ์ด๊ฑฐ๋ ๋น์ฉ์ ํจ๋ํฐ ์ฃผ๋ ์์ค
- ํ๋กฌํํ ์ผ๋ก gpt-5๋ qwen3-8b ๋ฑ์๊ฒ ๋ค๋ฅธ ๋ชจ๋ธ ํธ์ถํด๋ณด๋ผ๊ณ ํ๋ฉด ์๊ธฐ variants๋ ๊ฐ์ฅ ๊ฐํ ๋ชจ๋ธ๋ง ๋จ๋ฐ
Problem States
์์ ๋ชจ๋ธ๋ก ๋ค์ํ ํด(๋ ํฐ ๋ชจ๋ธ ํฌํจ)์ ์ธ์ ์ด๋ป๊ฒ ๋ถ๋ฅผ์ง ๊ฒฐ์ ํ์ฌ ์ ๋ต๋ฅ ์ ๋์ด๋ฉด์ ๋น์ฉ์ด๋ latency๋ ์ค์ด๊ณ ์ ์ ์ ํธ๋ฅผ ๋ฐ์ํ๋ policy ํ์ต
Suggestions
ToolOrchestra โ Orchestrator-8B ํ์ต (qwen backbone)
- ์์ ์ค์ผ์คํธ๋ ์ดํฐ LLM์ ํ๋ ๋๊ณ , ์๊ฐ ๋งค ์คํ
๋ง๋ค ์ด๋ค ํด(๋๋ LLM)์ ์ด๋ป๊ฒ ์ธ์ง๋ฅผ MDP + RL ๊ด์ ์์ ๋ฐฐ์ฐ๊ฒ ํ์
- ๊ทธ๋ ๋ณด์์ ์ ๋ต๋ฅ + ๋น์ฉ + ์ง์ฐ + ์ ์ ํด ์ ํธ๋ฅผ ํ ๋ฒ์ ๋ฐ์ํ๋ ๋ฒกํฐ ๋ด์ ์ผ๋ก ์ค๊ณ
- MDP๋ก tool orchestration ์ ์
- state: ์ง๊ธ๊น์ง ๋ํ์ tool ์ด๋ ฅ = history๋ฅผ ์ ๋ถ ์ํ๋ก ๊ฐ์
- action: ์ด๋ค tool/llm ์ธ์ง, ์ด๋ค parameter ์ธ์ง, ๋ฉ์ถ์ง ๋ฑ์ ๊ฒฐ์
- environment: tool ์คํ ๊ฒฐ๊ณผ๋ฅผ observation์ผ๋ก ๋ฐ์
- trajectory: ํ episode๋น ์ผ๋ง๋ ๋ฌธ์ ๋ฅผ ์ ๋ง์ถ๊ณ ๋ช๋ฒ์ด๋ tool์ ์ฐ๊ณ ์ด ์ผ๋ง๋(๋น์ฉ์) ์ฐ๋์ง ๋ฑ์ผ๋ก R ์ค๊ณ
- tool interface:
- ๋ชจ๋ json๊ธฐ๋ฐ์ผ๋ก ํต์ผ
- ๊ฐ ๋๊ตฌ ๋น ์ด๋ค ๊ฑธ ํ๋์ง(ํ๊ณ๋ ๋ญ์ง) + ํ๋ผ๋ฏธํฐ์คํค๋ง ์ ์
- ์ฆ ๋ชจ๋ ํด์ ์จ์ผํ๋์ง text ์์ค์์ ์ถ๋ก ํ๋๋ก
- ์ถ๋ ฅ: CoT ๊ธฐ๋ฐ JSON์ ์จ์ tool์ ๋ถ๋ฅด๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ Observation์ผ๋ก ์
- ๋ชจ๋ json๊ธฐ๋ฐ์ผ๋ก ํต์ผ
- Reward modeling: metric vector๋ก ๊ตฌ์ฑ (scale์ด ๋ฌ๋ผ๋ ํ๋ฒ์ ๋ค๋ฃจ๋๋ก)
์ ๋ต์ ๋ง์ถ๋ ๊ฒ์ ์ฑ๋ฆฝ ์กฐ๊ฑด์ด๊ณ , ๊ทธ ์์์์ด๋ค ํด์ ์ผ๋ง๋ ์ผ๋์ง + ๋น์ฉ + ์ง์ฐ์ ์ ์ ์ ํธ ๋ฒกํฐ P์ ๋ง์ถฐ ์ค์ฝ์ด ๋ถ์ฌ- trajectory ์ข ๋ฃ ํ ์ ๋ต ์ฌ๋ถ
- efficiency ์ธก๋ฉด์์ ๋น์ฉ๊ณผ Latency์ penalty
- tool call ํ์.. ๋ฑ
- user preference vector P:
- ์์ฐ์ด ์ ํธ ์ฌ๋ถ๋ฅผ preference ์ค์นผ๋ผ p๋ก mapping: feature๋ ์์ reward ์ฒ๋ผ ๋ถ์ฌ
- e.g. gpt-5๋ ๋น์ธ๋๊น p_{gpt-5} = 0.1, qwen3-32b์ math_llm์ ์ธ๋๊น ๊ฐ๊ฐ 0.7, 0.8, โฆ compute ์๋ผ๋ ๊ฒ ์ค์ํ๋ค โ p_{\text{compute}} = 0.8
- GRPO ์
๋ฐ์ดํธ
- ํ์ฌ ์ค์ผ์คํธ๋ ์ดํฐ ํ๋ผ๋ฏธํฐ \theta๋ก ์ฌ๋ฌ input task์ ๋ํด rollout
- ๊ฐ task๋ง๋ค ์ฌ๋ฌ trajectory ์ํ (temperature ์ด์ง ํค์์)
- ๊ฐ trajectory \tau์ ๋ํด ์์์ ์ค๋ช ํ ๋ณด์ R(\tau) ๊ณ์ฐ
- ๊ฐ์ input์ ๋ํ ์ํ๋ค์ โgroupโ์ผ๋ก ๋ฌถ์ด, group ๋ด์์ reward๋ฅผ normalize:
- \hat{R}(\tau) = (R(\tau) - \mu_{\text{group}})/\sigma_{\text{group}}
- ์ด๊ฑธ advantage์ฒ๋ผ ์จ์ GRPO objective๋ก policy gradient ์ ๋ฐ์ดํธ
- ํ์ฌ ์ค์ผ์คํธ๋ ์ดํฐ ํ๋ผ๋ฏธํฐ \theta๋ก ์ฌ๋ฌ input task์ ๋ํด rollout
Effects
- target tasks: HLE(phd ์์ค QA), FRAMES(wikipedia ๊ธฐ๋ฐ multi-hop RAG), \tau^2-Bench(multi-domain function call bench)
- result:
Tab 1GPT-5 ๋๋น Orchestrator๊ฐ ๋ ์ ํํ๊ณ ์ฝ 3๋ฐฐ ์ ๋ ด = routing ์ฑ๋ฅ ํ๋ฅญFig 3Tab 15GPT-5, GPT-5-mini, Qwen3-32B, ์ฝ๋ ๋ชจ๋ธ, ์ํ ๋ชจ๋ธ, ๊ฒ์, ์ฝ๋ ์ธํฐํ๋ฆฌํฐ ๋ฑ๋ฑ ์ ๋ฐ์ ๋ํด ํธ์ถ์ ๋ ๊ท ๋ฑํ๊ฒ ๋ฐฐ์น- ๋ค๋ฅธ ๋ชจ๋ธ๋ค๋ณด๋ค GPT-5๋ฅผ ํจ์ฌ ๋ ์์ฃผ ํธ์ถํ๋ฉด์ ๋ ๋์ ์ฑ๋ฅ
- unseen tool์ ๋ํด์๋ ์ผ๋ฐํ ๊ฐ๋ฅ
- ํ์ต๋ ์์ด LLM ๋ฑ์ ๋ํด์๋ ์ ์ฉ ๊ฐ๋ฅ ์ฆ tool์ ๊ฐ์๋ผ์๋ ๊ฐ๊ฑด
Fig 6์ฃผ์ด์ง ๋น์ฉ ํ์์ ๋ ๋์ ์ ํ๋ ๋ฌ์ฑ
Personal note. ํ์ฌ ์งํํ๋ ์ฐ๊ตฌ๊ฐ ์ค์ํ๋ค๊ณ ์ฃผ์ฅํ๋ ์ด๋ค ๊ทผ๊ฑฐ๊ฐ ๋ ์ ์์ ๊ฒ ๊ฐ์๋ฐ ๊ทธ๋ฌ๋ ๊ทธ๋ฐ ๋ฌธ์ ์์์์ ์์ํด์ ์ ํ ํ ์ ์ฐ๊ตฌ์ ๋ฌธ์ ๊ฐ ์ฌ์ํด๋ณด์ด๋ ๊ฒ ๊ฐ๊ธฐ๋โฆ