Skip to main content
每次 Theo 補全都會返回一個 follow_ups: Array<{ label, prompt }> 字段。這些是由 AI 生成、感知當前模式的下一輪建議 —— 可以直接作為建議芯片放入聊天界面。

何時會生成後續追問

  • 在每一次文本模式補全中(auto、fast、think、code、research、roast、genui、vision,以及隱身文本變體)。
  • 在圖像 / 視頻 / 文檔輪次中 —— 後續追問通常是編輯/變體類提示(例如”試試更寬的寬高比”、“把背景調亮一些”)。
  • 不會在 stt(語音轉文本)或 tts(文本轉語音)響應中生成 —— 因為不存在自然的下一輪。 服務器每次響應會返回 0 到 3 條後續追問。對於簡短的回答、出錯情況,或 Theo 沒有可供建議內容的場景,返回空數組也是正常情況。

數據結構

label 是芯片上展示給用戶的文本。prompt 是用戶點擊該芯片時,作為下一次請求的 prompt 字段提交的內容。兩者通常並不相同 —— label 是簡短的祈使句,prompt 則是一條完整的指令,承接上一輪對話的內容繼續下去。

生成方式

Theo 會將該輪對話的內容、使用過的工具以及產出的任何附件,傳入一個在主補全之後運行的輕量級後續追問生成器。這些建議是由 AI 生成的,而非基於規則,因此質量會隨模型檔位不同而有所差異 —— think 模式生成的後續追問通常比 fast 模式更好。這裏不存在單獨的”後續追問費用”項目;生成器是搭載在同一次 LLM 調用上完成的。

在聊天界面中渲染

一個最簡單的 React 模式:在最後一條助手氣泡下方渲染一行芯片。
  • 在完整消息顯示之後再渲染這些芯片。對於流式響應,follow_ups 只會在 done 事件中出現,因此要等到該事件出現之後再渲染。
  • 當用戶點擊某個芯片時,將 prompt 原樣作為下一次的 prompt 發送。不要將它與用戶自己輸入的內容拼接在一起 —— 這些 prompt 本身就是自包含、可直接使用的。
  • 一旦用戶開始輸入新消息,就隱藏芯片行,並在下一輪補全完成後再重新顯示新的芯片。這也是大多數生產環境聊天界面所採用的模式。

流式場景

對於流式補全,後續追問會出現在 done 事件中:
完整的事件結構請參見流式補全。

關閉該功能

如果後續追問讓你的界面顯得雜亂,直接忽略該字段即可。目前沒有針對單次請求的開關 \u2014 生成成本足夠低,可以始終生成,而且部分調用方(語音、分析)即便不渲染也會讀取這個字段。