DiaTool-DPO: Direct Preference Optimization for Controlling Conversation Flow in Tool-Augmented LLMs
Meta info.
- Authors: Donghoon Shin, Jaehun Kang, Yeongjae An, Jiyoul Lee, Jaehyung Seo
- Paper: https://aclanthology.org/2025.sigdial-1.32/
- Affiliation: Kakao Corp.
- Published: April 2, 2025
- Conference: SIGDIAL2025
TL; DR
Tool-augmented dialogue를 5개 hidden state를 MDP로 formulate하고, chosen-rejected trajectory pair 자동 생성해 DPO-style objective로 학습. slot-filling/tool rejection 능력 대폭 향상




Background
- tool-augmented LLM 연구는 conversation flow control 등으로 확대되었으나,
- T-Eval, ToolEyes, BFCL 등 대체로 single-turn에서 tool calling 평가
- FunctionChat-Bench가 유일하게 slot-filling을 포함
- 기존의 SFT만으로는 slot-filling이나 tool 거절 등을 자연스럽게 학습하기 어려움
- DPO, RLHF 등이 fine-grained dialogue control에 적합
Problem States
기존 연구는 latent state framing과 multi-turn trajectory level preference를 직접 모델링 못함
Suggestions
- 5개 hidden states 정의: initial > slot-filling > tool-ready > wait-response > complete
- initial: 사용자 요청을 받은 직후 (아직 아무 툴도 안 정함).
- slot-filling: 어떤 툴을 쓸지 정했는데 필요한 argument를 아직 모름
- tool-ready: 필요한 argument가 다 채워졌으므로 툴 호출 준비 완료
- wait-response: 툴을 호출 결과 대기
- complete : 툴 실행 결과를 받아서 사용자에게 최종 응답
- multi-turn tool-augmented dialogue의 3가지 질의 유형
type 1augment 다 있는 경우 → 바로 tool callingtype 2augment가 부족한 경우 → slot-filling 질의 후 calltype 3user요청에 맞는 tool이 없는 경우 → 거절
- DiaTool-DPO framework: Reference를 SFT 모델로 하여 trajectory-level preference 학습
- TA-LLM을 MDP로 보고 trajectory 기반 학습
- human label 없이 alignment: 자동으로 각 user query마다 chosen(state 전이 잘 한 경우) vs. rejected(못한 경우) trajectory 쌍 생성
- e.g., slot-filling 필요한데 바로 툴 호출하거나 툴이 없는데 호출하는 trajectory > rejected
- DPO-style loss; dialogue 길이와 critical turn을 고려해 alignment 강화
- Dataset construction:
tab 2- Easy: slot-filling ≤1 step.
- Hard: 복잡한 slot-filling + explicit rejection 포함
Effects
DiaTool-DPO는 slot-filling 질문 생성과 툴 거절 학습에 효과적이더라
- setup: FunctionChat-Bench (Call Completion, Description Filling, Relevance).
- Qualitative:
- SFT-only에서 임의의 slot-value를 생성하는 hallucination 발생
- SFT+DiaTool-DPO까지 하면 slot-filling 질문 생성 후 올바른 호출
Fig 4
- Quantitative:
- FunctionChat-Bench 전반 성능 상승. GPT-4o 수준에 근접하는 성능 보고
- 특히 Relevance(거절)와 Description Filling에서 뚜렷한 향상
- Ablation: Hard dataset + full objective 조합이 가장 큰 개선
tab 3
Personal note. function calling(tool augmented LLM)이 지속적으로 언급되고 있는 것도 확인되고 있고, 이 관점에 DPO를 섞는 것도 트렌드상 익숙한 흐름으로 보입니다. 실무적인 관점에서 tool rejection을 포함시킨 게 유익한 부분이라고 생각합니다만, 다섯가지 state를 구분한거나 type을 나눈 건 어쩌면 조금 과했다고도 느껴지는 부분이 있긴 한데, 실무적인 니즈가 명확하다면 설계가 깊고 세련되어지는 측면이 있는 흐름은 여전한 것으로 이해됩니다. (현재 산학프로젝트 스타일과 비슷)