SHANKS: Simultaneous Hearing and Thinking for Spoken Language Models

Cheng-Han Chiang1,2, Xiaofei Wang2, Linjie Li2, Chung-Ching Lin2, Kevin Lin2, Shujie Liu2, Zhendong Wang2, Zhengyuan Yang2, Hung-yi Lee1, Lijuan Wang2
1National Taiwan University
2Microsoft

這個動畫顯示了口語語言模型在與使用者對話時,在聽到使用者說話的同時,也在思考。 使用者說話的過程用 紅色 表示,模型思考的過程用 綠色 表示,模型回應的過程用 橘色 表示。 模型思考的過程不會說出來,而是與使用者說話的過程同時發生。 當使用者說錯時,模型會打斷使用者,並且說出正確的答案。 我們每四秒暫停一次,讓讀者更容易看到模型思考的過程。

Abstract

Current large language models (LLMs) and spoken language models (SLMs) begin thinking and taking actions only after the user has finished their turn. This prevents the model from interacting during the user’s turn and can lead to high response latency while it waits to think. Consequently, thinking after receiving the full input is not suitable for speech-to-speech interaction, where real-time, low-latency exchange is important. We address this by noting that humans naturally “think while listening.” In this paper, we propose SHANKS, a general inference framework that enables SLMs to generate unspoken chain-of-thought reasoning while listening to the user input. SHANKS streams the input speech in fixed-duration chunks and, as soon as a chunk is received, generates unspoken reasoning based on all previous speech and reasoning, while the user continues speaking. SHANKS uses this unspoken reasoning to decide whether to interrupt the user and to make tool calls to complete the task. We demonstrate that SHANKS enhances real-time user–SLM interaction in two scenarios: (1) when the user is presenting a step-by-step solution to a math problem, SHANKS can listen, reason, and interrupt when the user makes a mistake, achieving 37.1% higher interruption accuracy than a baseline that interrupts without thinking; and (2) in a tool-augmented dialogue, SHANKS can complete 56.9% of the tool calls before the user finishes their turn. Overall, SHANKS moves toward models that keep thinking throughout the conversation, not only after a turn ends.

現在的深度推理大型語言模型的問題

深度推理大型語言模型(RLMs)接收文字輸入並生成文字輸出。然而,深度推理語言模型的思考過程只會在完整使用者輸入被接收之後才開始。這會導致較長的回應延遲。

Think then respond

目前的模型示意圖:模型只能接收完整的使用者輸入,進行內部思考,然後生成回應

方法:SHANKS (シャンクス, 香克斯)

重要觀察:人類可以一邊聽一邊思考。我們可以根據剛聽到的內容進行推理,解析資訊,回憶相關知識,並在說話者仍在說話時準備回應。

註:香克斯是海賊王中的人物,他可以一邊聽一邊思考,並在說話者仍在說話時準備回應。他跟本研究沒有任何關係。

Thinking while listening is a natural ability of humans, and we want to make SLMs have this ability.

方法概述

我們提出了一個通用的推理方法,稱為SHANKS(Simultaneous Hearing and Thinking for Spoken Language Models),用於口語語言模型(SLMs)。

SHANKS假設使用者輸入的語音是流式傳輸到SLM。我們將使用者輸入的語音每$t_{chunk}$秒切分成一個使用者語音片段 $S_{i}$。接著,我們將使用者語音片段 $S_{i}$ 傳遞給SLM,SLM會生成一個內部的推理片段 $R_{i}$;在此同時,使用者仍在說話。這樣就實現了邊聽邊想。

當使用者繼續說話時,SLM每$t_{chunk}$秒會接收一個使用者語音片段 $S_{i}$,並基於所有先前的語音和推理生成內部的推理片段 $R_{i}$。這個過程會持續到使用者完成說完話為止

在這個過程中,SLM可以決定是否要打斷使用者,並且可以調用工具來完成任務。

SHANKS的示意圖

SHANKS的應用1:打斷使用者

SHANKS可以有很多不同的應用。在這裡,我們聚焦於一個有趣的場景:我們使用SLM來在使用者說錯的時候打斷使用者。在這個任務中,使用者描述了一個數學問題,並且開始一步一步解決它。我們使用SHANKS來聽取使用者說話,並在說錯的時候打斷使用者。這是一個有實際應用潛力的場景:我們可以預期,未來我們可以使用SLM作為老師與學生互動交流,並在學生說錯的時候打斷他們。

在下面的範例圖中,我們可以看到,當使用者還在描述問題時,模型已經開始思考問題並計算中間變數。當使用者說完問題時,模型已經在腦海中有了答案。當使用者繼續解決問題時,模型繼續聆聽,並在使用者說錯的時候打斷使用者。

我們發現,SHANKS可以比沒有思考的基線高出37.1%的打斷準確率。當使用者正確時,SHANKS的打斷率也比基線低很多,當使用者說錯時,SHANKS的打斷率也比基線高很多。這表明,邊聽邊想確實可以改善SLM的打斷行為。

Example of interrupting the user

打斷使用者的範例。 紅色 的區塊是使用者描述數學問題並嘗試一步一步解決的轉錄。 綠色 的區塊是SHANKS生成的思考片段,橘色 的區塊是SHANKS生成的打斷回應。 對於每個時間段從 $nt_{\rm chunk}$ 到 $(n+1)t_{\rm chunk}$,思考片段和打斷回應會依序發生,而使用者語音片段會與其他區塊同時發生。

SHANKS的應用2:工具增強的對話

在另一個應用中,我們聚焦於一個工具增強的對話場景。在這個場景中,使用者描述了他們旅行計劃,而模型需要調用工具(例如 Booking.com 的航班搜索或租車信息API)來完成任務。再現存的模型中,模型需要等待使用者完整輸入後才會調用工具。然而,這可能會很慢,損害互動的時實性。SHANKS可以被用於tool-augmented的對話中,在模型說話的同時生成工具調用。這是一個重要的場景,因為我們可以預期,未來我們可以使用SLM作為客服代理,並使用工具完成使用者的請求。SHANKS可以大大減少回應延遲,並改善使用者體驗。

在下面的範例中,我們可以看到,當使用者還在說話時,一些API調用,包括搜索機場信息和租車信息,已經可以被調用,因為所有關於API的信息都已經被使用者指定。在所有六個API調用中,有四個可以在使用者完成說話之前被調用。

在ComplexFuncBench上,我們發現,SHANKS可以在使用者完成說話之前完成56.9%的工具調用。

Example of tool-augmented dialogue

一個ComplexFuncBench的範例。圖中顯示了使用者的問題描述 (紅色),包括SHANKS的思考過程 (綠色)和SHANKS的最終回應 (橘色)。 對於每個時間段從 $nt_{\rm chunk}$ 到 $(n+1)t_{\rm chunk}$,綠色 (SLM思考片段),藍色 (API調用回應),和橘色 (輸出回應) 會依序發生,而使用者語音片段 (紅色) 會與其他區塊同時發生。 $t=T$ 表示使用者說話結束的時間。

相關工作:STITCH (史迪奇): 邊說話邊思考

SHANKS讓SLM邊聽邊想。在先前的研究中,我們提出了STITCH,一個讓SLM邊說話邊想的推理方法。STITCH是一個通用的推理方法,可以用於許多不同的場景。查看STITCH的詳細資訊:STITCH.

Illustration of STITCH

STITCH是一個讓SLM邊說話邊想的推理方法

Ethical Statement

SHANKS is purely a research project. Currently, we have no plans to incorporate SHANKS into a product or expand access to the public. SHANKS can generate speech and can be used for interactive voice response systems, chatbots, and so on. As a spoken language model, it may carry potential risks in the misuse of the model, including spoofing voice identification or impersonating a specific speaker. In our current implementation, SHANKS is fine-tuned from Qwen-2.5-Omni, which is released under the Apache-2.0 license. Our project follows the license and does not violate the intended use of the original model.

Paper PDF

BibTeX

@misc{chiang2025shankssimultaneoushearingthinking,
        title={SHANKS: Simultaneous Hearing and Thinking for Spoken Language Models}, 
        author={Cheng-Han Chiang and Xiaofei Wang and Linjie Li and Chung-Ching Lin and Kevin Lin and Shujie Liu and Zhendong Wang and Zhengyuan Yang and Hung-yi Lee and Lijuan Wang},
        year={2025},
        eprint={2510.06917},
        archivePrefix={arXiv},
        primaryClass={cs.CL},
        url={https://arxiv.org/abs/2510.06917}, 
  }