> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hitheo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 後續追問

> Theo 如何生成建議的下一步提示，以及如何在聊天界面中渲染它們。

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

## 何時會生成後續追問

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

## 數據結構

```typescript theme={null}
interface FollowUp {
  /** Short label suitable for a UI chip (max ~60 chars). */
  label: string;
  /** Full prompt to send on click — safe to use as-is in the next request. */
  prompt: string;
}
```

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

## 生成方式

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

## 在聊天界面中渲染

一個最簡單的 React 模式：在最後一條助手氣泡下方渲染一行芯片。

```tsx theme={null}
{assistantMessage.follow_ups?.length ? (
  <div className="flex flex-wrap gap-2 mt-3">
    {assistantMessage.follow_ups.map((f) => (
      <button
        key={f.label}
        onClick={() => sendPrompt(f.prompt)}
        className="px-3 py-1 rounded-full border text-sm hover:bg-zinc-100"
      >
        {f.label}
      </button>
    ))}
  </div>
) : null}
```

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

## 流式場景

對於流式補全，後續追問會出現在 `done` 事件中：

```typescript theme={null}
for await (const event of stream) {
  if (event.type === "done") {
    setFollowUps(event.data.follow_ups);
  }
}
```

完整的事件結構請參見[流式補全](/api-reference/completions/streaming)。

## 關閉該功能

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


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.