Advancing and Benchmarking Personalized Tool Invocation for LLMs
- Authors: Xu Huang, Yuefeng Huang, Weiwen Liu, Xingshan Zeng, Yasheng Wang, Ruiming Tang, Hong Xie, Defu Lian
- Paper: https://arxiv.org/abs/2505.04072
- Code/Data: PTBench
- Affiliation: University of Science and Technology of China, Shanghai Jiao Tong University, Huawei Noah's Ark Lab
- Published: May 7, 2025 (arXiv preprint, cs.CL) / ICLR 2026 Submission 17112 (Rejected)
TL; DR
Personalized Tool Invocation์ด๋ผ๋ ์ task(Tool Preference + Profile-dependent Query)๋ฅผ ์ ์ํ๊ณ , LLM ๊ธฐ๋ฐ ๋ฐ์ดํฐ ํฉ์ฑ ํ๋ ์์ํฌ PTool๊ณผ ์ฒซ ๋ฒค์น๋งํฌ PTBench๋ฅผ ๊ตฌ์ถํด Qwen2.5-7B๋ฅผ SFT๋ง์ผ๋ก ๊ฐ์ธํ๋ tool calling์์ GPT-4-turbo๊น์ง ๋ฅ๊ฐ์ํด
Review Video

Background
- tool invocation(=tool calling)์ ํ๋ณด ๋๊ตฌ ์ค tool selection + query๋ก๋ถํฐ parameter extraction ๋ ๋จ๊ณ๋ก ๊ตฌ์ฑ
- ๊ธฐ์กด ์ฐ๊ตฌ๋ ๊ฑฐ์ fundamental capability ํฅ์์ ์ง์ค; tool syntax ์ค์, function ์ดํด, explicit instruction ํด์, parameter ์ถ์ถ
- tuning-free: prompt/few-shot, tool ๋ฌธ์ rewriting, description ์์ถ, multi-agent decomposition
- tuning-based: tool์ฉ special token ์ถ๊ฐ(Toolformer, ToolkenGPT), ๊ฐ๋ ฅํ LLM์ผ๋ก tool-calling sample์ ํฉ์ฑํด ๊ฒฝ๋ ๋ชจ๋ธ์ distillation (Qin et al., 2024; Liu et al., 2025)
- personalized LLM ๊ณ์ด์ ๋ฐ๋ก ๋ฐ์ ; ์ฃผ๋ก personalized text generation, recommender system ์์ฉ
- LLM์ด recsys์ content interpreter / knowledge base / explainer / ์ง์ recommender ์ญํ
- user profile์ prompt ๋๋ hidden representation์ผ๋ก ์ฃผ์
- ํต์ฌ ๊ณต๋ฐฑ: tool learning์ personalization์ ๊ฒฐํฉํ ์ฐ๊ตฌ๊ฐ ๋ถ์ฌ
- ๊ธฐ์กด tool ๋ฒค์น๋งํฌ๋ โ์ด query๋ฅผ ํ ์ ์๋ ๋๊ตฌ์ธ๊ฐโ๋ง ์ ๋ต ๊ธฐ์ค์ผ๋ก ๋ด
- ๊ธฐ๋ฅ์ ์ผ๋ก ๋์ผํ ์ฌ๋ฌ ๋๊ตฌ๊ฐ ์กด์ฌํ๊ณ , ์ฌ์ฉ์๊ฐ ๊ทธ์ค ํน์ ๋๊ตฌ๋ฅผ ์ ํธํ๋ค๋ ์ฌ์ค์ ๋ฌด์
- query๊ฐ underspecified์ผ ๋ ๋๋ฝ ์ธ์๋ฅผ ์ฌ์ฉ์ ์ ๋ณด๋ก ๋ฉ์ฐ๋ ๋ฅ๋ ฅ๋ ํ๊ฐ๋ ์ ์์
Problem States
๊ธฐ์กด tool invocation์ ๋๊ตฌ ์ ํ๊ณผ ์ธ์ ๊ฐ์ด ์ค์ง query ์์ ์ ๋ณด๋ง์ผ๋ก ๊ฒฐ์ ๋๋ค๊ณ ๊ฐ์ ; ํ์ค์ implicit user intent๋ฅผ ๋ฐ์ํ๋ ค๋ฉด ๋ ๊ฐ์ง ์กฐ๊ฑด์ด ์ถ๊ฐ๋ก ์ถฉ์กฑ๋ผ์ผ ํจ
- ์กฐ๊ฑด 1 ) Tool Preference: ๊ธฐ๋ฅ์ด ๋์ผํ ๋ณต์ ๋๊ตฌ๊ฐ ์์ ๋, ๊ฐ์ ์ฌ์ฉ์๋ผ๋ query ๋งฅ๋ฝ์ ๋ฐ๋ผ ์ ํธ ๋๊ตฌ๊ฐ ๋ฌ๋ผ์ง
- e.g. ๊ณ ๊ฐ ์ ์์ ํ์ A/S ์ข์ ํ๋ซํผ, ์ ๊ฐ ์ํํ์ ๋น ๋ฅธ ๋ฐฐ์ก ํ๋ซํผ; ๋๊ตฌ ์ ํ ์์ฒด๊ฐ ์ ํธ ์ ํธ
- ์ฌ์ฉ์ ์์ฑ(๋์ด, ๊ด์ฌ์ฌ, ๊ตฌ๋งค ํ๋)์ผ๋ก๋ถํฐ reasoning์ด ํ์
- ์กฐ๊ฑด 2 ) Profile-dependent Query: query๊ฐ ํต์ฌ ์ธ์๋ฅผ ์๋ต โ query๋ง์ผ๋ก๋ ๋ชจ๋ parameter ์ถ์ถ ๋ถ๊ฐ
- e.g. โKFC์์ ํ๋ฒ๊ฑฐ ์ฃผ๋ฌธํด์คโ์ ๋ฐฐ์ก์ง/์ฐ๋ฝ์ฒ/ํฌ๋ง์๊ฐ ๋๋ฝ โ user profile์์ ์ถ๋ก ํด์ผ ํธ์ถ ์์ฑ
Suggestions
์์ ์ ์
- general tool invocation: query
$q$์ ํ๋ณด ๋๊ตฌ ์งํฉ$T$๊ฐ ์ฃผ์ด์ง๋ฉด ๋๊ตฌ$t^i$๋ฅผ ๊ณ ๋ฅด๊ณ ์ธ์๋ฅผ ์ฑ์ solution$A = [(t^i, a^i_1, \cdots, a^i_m), \cdots]$์์ฑ -
Tool Preference (Def 3.1): ์ฌ์ฉ์
\[t_1 \succ_{(u,q_1)} t_2 \;;\; t_2 \succ_{(u,q_2)} t_1\]$u$๊ฐ$q_1$์์๋$t_1$์,$q_2$์์๋$t_2$๋ฅผ ์ ํธํ๋ ๋ query ๋ชจ๋$t_1, t_2$๋ก ํ ์ ์๋ ๊ฒฝ์ฐ- ์ฆ โ์ด๋ค ๋๊ตฌ๋ ํ ์๋ ์์ง๋ง ์ฌ์ฉ์๋ ํน์ ๋๊ตฌ๋ฅผ ๊ณ ๋ฅธ๋คโ๋ ์ ํธ์ ํ์์ ์ ์
-
Profile-dependent Query (Def 3.2): user profile
\[\exists\, \alpha \in A,\ \alpha \in P_u,\ \alpha \notin q\]$P_u$, query$q$, solution$A$์ ๋ํด$\exists\, \alpha \in A$์ด๋ฉด์$\alpha \in P_u$์ด๊ณ$\alpha \notin q$์ธ ๊ฐ์ด ์กด์ฌํ๋ฉด ๊ทธ query๋ profile-dependent- ์ ๋ต ์ธ์ ์ค ์ผ๋ถ๊ฐ query์ ์๊ณ profile์๋ง ์๋ ์ํฉ
- profile ์ฐธ์กฐ ์์ด๋ ํธ์ถ ์์ฑ ๋ถ๊ฐ
Tool Generation
- ToolACE ๋ฅ์ API Tree ๊ตฌ์กฐ๋ก ๋๊ตฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฉ์ฑ
- 1st level node = ์ผ์ scenario(shopping, food delivery, office ๋ฑ)
- depth-first expansion์ผ๋ก ๊ธฐ๋ฅ์ ์ฌ๊ท ์ธ๋ถํ โ leaf node = ๊ตฌ์ฒด์ API description
- ํต์ฌ ์ถ๊ฐ: 2nd level์ platform ๊ฐ๋
๋์
- ํ scenario ์์ ์๋ก ํน์ฑ์ด ๋ค๋ฅธ ๋ณต์ platform ์์ฑ; e.g. video entertainment์์ YouTube(๋กฑํผ) vs TikTok(์ํผ)
- ์ด ๋๋ถ์ ๊ธฐ๋ฅ์ ํธํ๋์ง๋ง ํน์ฑ์ด ๋ค๋ฅธ ๋๊ตฌ๋ค์ด ์๊ฒจ Tool Preference ํ์ต ์ ํธ๊ฐ ๋ง๋ค์ด์ง (๋จ์ API Tree๋ง์ผ๋ก๋ ๋ถ๊ฐ๋ฅ)
User Profile Construction
- ์ธ ๊ฐ์ง ์ ์ฝ ๋์ ์ถฉ์กฑ ๋ชฉํ; (1) tool ์ ํ๊ณผ ์ฐ๊ฒฐ๋๋ feature set ์ ์ (2) unseen user ์ผ๋ฐํ๋ฅผ ์ํ ๋ค์์ฑ (3) ๊ด์ฐฐ ๊ฐ๋ฅํ basic/behavioral ์ ๋ณด๋ง ํฌํจ, ์ธ๋ถ ์ฌ๋ฆฌ ์์ฑ์ ๋ฐฐ์
- Bottom-up Feature Tree Construction: tool-driven hierarchical clustering
- leaf node = platform ํน์ฑ + tool parameter
- LLM clustering์ผ๋ก ์๋ฏธ์ ์ผ๋ก ๊ฐ๊น์ด parameter๋ฅผ ์ฌ๊ท ๋ณํฉํด ์์ feature๋ก ์์ฝ; parent node ์๊ฐ ์๊ณ์น์ ๋ค ๋๊น์ง ๋ฐ๋ณต
- feature๋ฅผ ๋ ๋ถ๋ฅ๋ก ๊ตฌ๋ถ; explicit basic feature(age, gender ๋ฑ ์ง์ ๊ด์ฐฐ) vs implicit preference(shopping preference ๋ฑ ์ ์ฌ, ์ดํ behavior ์์ฑ์๋ง ์ฌ์ฉ)
- Top-down Characteristic Assignment: feature ๊ฐ์ ๋ค์ํ๊ฒ ๋ฐฐ์ ํด distinct profile ์์ฑ
- ํ ๋ช ์ฉ N๋ฒ ๋ฐฐ์ (๋น์ฉโยท๋ฐ๋ณต ํํผ ์ด๋ ค์) ๋๋ N๋ช ์ ํ ๋ฒ์ ๋ฐฐ์ (context length ํ๊ณ)์ ๋จ์ ํํผ
- tree ๊ตฌ์กฐ ๊ธฐ๋ฐ hierarchical ๋ฐฐ์ ;
$l$์ธต node์$k_l$๊ฐ ๊ฐ์ ๋์ ๋ฐฐ์ ,$l{+}1$์ธต์ ๊ฐ parent ๊ฐ๋ง๋ค$k_{l+1}$๊ฐ ์์ฑ - depth
$L$tree์์ ์ต์ข$N = \prod_{l=0}^{L} k_l$๊ฐ profile; ๋งค๋ฒ์$k_l$์$N$๋ณด๋ค ํจ์ฌ ์์ ํ ๋ฒ์ ๋ค์ํ feature ์์ฑ ๊ฐ๋ฅ
- User Behavior Generation: LLM role-playing์ผ๋ก profile+platform ํน์ฑ ๊ธฐ๋ฐ ํ๋ ์์ฑ
- e.g. budget-conscious ์ฌ์ฉ์๋ฉด โAmazon์์ ๋ฑ์ฐ ๋ฐฐ๋ญ ๊ฒ์โ, โWalmart์์ $30 ์ปคํผ ๊ตฌ๋งคโ ์ interaction ์์ฑ
- implicit preference๋ task ์ํ ์ค์๋ ๋ชจ๋ธ์ ์ ๋ณด์ด์ง๋ง, solution ์์ฑ ํ๋กฌํํธ์๋ ์ฝ์ ๋ผ ์ ๋ต ๋๊ตฌ ์ ํ์ ๊ฒฐ์
Query and Solution Generation
- query-solution pair๋ multi-agent ํ์
์ผ๋ก ์์ฑ; user agent + assistant agent
- user agent: profile(basic+implicit feature) ๊ธฐ๋ฐ role-play๋ก query ์์ฑ; platform ์ ๋ณด๋ฅผ ํ๋กฌํํธ์ ๋ฃ์ด platform ์ ํธ๊ฐ ๋ฐ์๋ query ์ ๋
- ๋์์ query์ profile ์ ๋ณด๋ฅผ ๋ ธ์ถํ์ง ๋ง๋ผ๊ณ ์ง์ โ ์์ฐ์ค๋ฝ๊ฒ profile-dependent query๊ฐ ๋ง๋ค์ด์ง
- assistant agent: ํด๋น query์ ๋ํ tool invocation solution ์์ฑ
- two-tier verification์ผ๋ก ์ ๋ต ์ ๋ขฐ์ฑ ํ๋ณด
- rule-based validation: ํ์ ๊ฒ์ฌ; ํด์ ๋ถ๊ฐ/hallucinated ๋๊ตฌยท์ธ์ ์ฐจ๋จ
- model-based verification: profile+query+solution triple์ LLM์ ๋ฃ์ด parameter ์ ํ์ฑยทhallucinationยทquery ํด์ ์ฌ๋ถ ์ ๊ฒ
- ์ดํ ์ฌ๋์ด ์ง์ ์ธ์ ์ ํ์ฑ ๊ฒ์; ๊ฐ parameter๋ฅผ profile-related ๋๋ query-related๋ก ๋ผ๋ฒจ๋ง โ ์ ๋ฐ error feedback ๊ฐ๋ฅ
- ๊ฒฐ๊ณผ๋ฌผ์ด PTBench (
Tab 1); GPT-4-turbo๋ก ํฉ์ฑ, 5 scenario(shopping/takeout/entertainment/work/travel) ร 3 platform ร 24 API- train 74 user / 7,096 query, test 80 user / 1,083 query (์ฌ๋ ๊ฒ์)
- test๋ trained(ํ์ต์ ๋ฑ์ฅํ 74 user ์ค ์ผ๋ถ query 474๊ฐ) + untrained(ํ์ต์ ์๋ 6 user์ query 609๊ฐ)๋ก ๋ถ๋ฆฌ โ ์ผ๋ฐํ ์ธก์
Effects
- Experimental setup
- ํ์ต ๋ชจ๋ธ: Qwen2.5-7B-Instruct๋ฅผ ํฉ์ฑ ๋ฐ์ดํฐ๋ก SFT; ์์ ์ ์ฝ์ LoRA (rank 8, alpha 16, lr
$10^{-4}$, cosine scheduler, warmup 0.1, epoch 1) - metric (8์ข , ๋ชจ๋ exact-match accuracy): Format acc(instruction following), Platform acc(=tool preference ์ธ์), Query-related / Profile-related param-value acc, Tool-name / Tool-param / Tool-value acc, Overall(trained/untrained/overall)
- baseline: API ๋ชจ๋ธ(GPT-4-turbo, GPT-4o, DeepSeek-v3/r1, Qwen-max, Claude-3.5-sonnet), OSS ๋ชจ๋ธ(DeepSeek-R1-Distill-Llama-8B/Qwen-7B, Qwen2.5-7B-Instruct, Llama-3.1-8B, Mistral-7B-v0.3), tool ํนํ ๋ชจ๋ธ(Hammer2.1-7B, ToolACE-8B, watt-tool-8B, xLAM-7B-r)
- ํ์ต ๋ชจ๋ธ: Qwen2.5-7B-Instruct๋ฅผ ํฉ์ฑ ๋ฐ์ดํฐ๋ก SFT; ์์ ์ ์ฝ์ LoRA (rank 8, alpha 16, lr
- Results
Tab 2์ ์ฒด ์ฑ๋ฅ: ํ์ต ๋ชจ๋ธ(Ours) overall 0.2678๋ก ์ต๊ณ ; ์ต๊ณ baseline GPT-4-turbo 0.1847, base Qwen2.5-7B 0.0738. Platform(tool preference) acc 0.7374๋ก ์๋์ (GPT-4-turbo 0.5484, Claude-3.5-sonnet 0.5826, base Qwen2.5-7B 0.3795)- Finding 1: API ๋ชจ๋ธ์ด OSS ๋ชจ๋ธ์ ์ ๋ฐ์ ์ผ๋ก ์ํ(parameter scale ํจ๊ณผ)
- Finding 2: ๋๋ถ๋ถ ๋ชจ๋ธ์ด tool preference์ ์ฝํจ(๋ฎ์ platform acc) ; SOTA์ธ GPT-4-turbo๋ 0.55 ์์ค โ LLM์ด profile์ ๋ง๋ ๋๊ตฌ ์ ํ์ ์คํจํจ์ ์์ฌ ; Ours๋ ๊ฑฐ์ ์ ํญ๋ชฉ์์ baseline ์ํ
- Finding 3: ํ์ต ํ ์ task ํฐ ํฅ์ ; ํนํ Tool Preference ํฅ์ํญ์ด ๊ฐ์ฅ ํผ(0.3795โ0.7374). untrained user์์๋ ํฅ์ โ ๋จ์ ์๊ธฐ๊ฐ ์๋ ์ผ๋ฐํ ์ฃผ์ฅ
- Finding 4: ๋ชจ๋ ๋ชจ๋ธ์ด profile-dependent param์ query-dependent param๋ณด๋ค ๋ฎ๊ฒ ๋งํ โ profile๋ก๋ถํฐ ์ถ๋ก ์ด ๋ ์ด๋ ค์. Ours๋ query param์์ GPT-4-turbo์ ๋ชป ๋ฏธ์น์ง๋ง profile param์์ ๋ ํฐ ๋ชจ๋ธ๋ค์ ๋ฅ๊ฐ
Tab 3Fig 3user profile ablation: All 0.2678 / w/o Basic 0.1606 / w/o History 0.2493 / w/o Basic&History 0.0674 ; history ์์ผ๋ฉด tool preference ๊ธ๋ฝ, basic feature ์์ผ๋ฉด (profile-dependent query ํ์) tool invocation ๊ธ๋ฝ โ ๋ ์ ๋ณด๊ฐ ์๋ณด์ Fig 4error analysis: 6 ๋ฒ์ฃผ(wrong/missing/excessive tool, wrong/missing/excessive param) ; ๋๊ตฌ ์ ํ๋ณด๋ค parameter ์ฑ์ฐ๊ธฐ๊ฐ ๋ ์ด๋ ค์ด ๋ฌธ์ ๋ก P-wrong์ด ์ง๋ฐฐ์ (GPT-4-turbo 66.5%, base Qwen 58.4%, Ours 79.5%). ํ์ต ํ tool ์ ํ ์ค๋ฅ ๋น์ค์ด ์ค์ด ์๋์ ์ผ๋ก param ์ค๋ฅ ๋น์ค์ด ์ปค์งFig 5model scaling: Qwen2.5 0.5/1.5/3/7B ์ค 3Bยท7B๋ง ํ์ต์ผ๋ก ํฐ ํฅ์, 0.5Bยท1.5B๋ ๋ฏธ๋ฏธ โ personalized tool invocation์ ์ผ์ capacity๊ฐ ํ์ํ high-level ๋ฅ๋ ฅFig 6general capability: MMLU/HumanEval/GSM8K/CommonsenseQA/BFCL non-live์์ base Qwen2.5-7B ๋๋น ์ฑ๋ฅ ์ ํ ์์ ; BFCL non-live๋ ์คํ๋ ค ํฅ์ โ ๊ฐ์ธํ ํ์ต์ด ์ผ๋ฐ ๋ฅ๋ ฅ์ ํด์น์ง ์์
Personal note. iclr 2026 reject๋์๊ณ , ํ์ฌ rebuttal์์ ๋ฆฌ๋ทฐ์ด๊ฐ ์ธ๊ธํด์ ์ดํ์ต๋๋ค. ๋ ผ๋ฌธ์ ์ฃผ์ฅ์ ๋น์ฐํ ๊ณง์ด๊ณง๋๋ก ๋ฐ๊ธฐ์ ๊ฑธ๋ฆฌ๋ ์ง์ ์ด ๋ถ๋ช ํ๋ฐ, ๋ฌด์๋ณด๋ค inference ์์ ์ user profile์ด ๊ตฌ์กฐํ๋ JSON์ผ๋ก ํต์งธ๋ก ๋ค์ด๊ฐ๋ค๋ ์ค์ ์ ๋๋ค. ์ด๋ ๊ฒ ๋๋ฉด ์ฃผ๋ challenge๋ ์ด๋ฏธ ์ ๋ฆฌ๋ profile์์ ์๋ง์ ํ๋๋ฅผ ์ฐพ์ ๋ฃ๋ ์ชฝ์ผ๋ก ์ฎ๊ฒจ๊ฐ๊ณ , SFT๊ฐ ์ ๋ฃ๋ ๊ฒ๋ ๊ทธ ๋งคํ์ด ๋น๊ต์ ์ธ์ฐ๊ธฐ ์ฌ์ด ํํ์ด๊ธฐ ๋๋ฌธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ์์ฌ์ด ๋ญ๋๋ค. single-session ๋จ๋ฐ query๋ผ ์ ํธ์ ์๊ฐ์ ๋ณํ๋ ์ธ์ ๊ฐ ๋ถ์ฐ์ด ๋น ์ ธ ์๋ค๋ ์ ๋ generalization ์ฃผ์ฅ์ ์์ฌํ๊ฒ ํ๊ณ ์. overall accuracy๊ฐ ํ์ต ๋ชจ๋ธ์กฐ์ฐจ 0.27 ์ธ์ ๋ฆฌ์ธ ๊ฑด exact-match๋ผ ๋ ์๊ฒฉํ ์ค์ฝ์ด๋ง์ด ์์ธ์ผ๋ก ๋ณด์ ๋๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก โ๊ฐ์ธํ๋ฅผ tool calling์ ์ฒ์ ๋์ด๋ค์๋คโ๋ ํ๋ ์ด๋ฐ์ ์ต์ด๊ฐ ์์ฌ์ค๋ฝ๋ค๋ ๋ถ๋ถ ์ด๋ฏธ ๋ฆฌ๋ทฐ์ด๋ค์ด ์ธ๊ธํ๊ณ , ๋ฐ์ดํฐ ๊ตฌ์ถ์ ํฉ์ฑ์ ์ผ๋ ๋ชจ๋ธ์ ๋ ์ด ์ ์ญ์ ์ง์ ๋์ต๋๋ค.