首頁 / 從這裡開始

大語言模型入門:Token、上下文視窗與溫度是什麼

作者 JC · 更新於 · 最後查證

重點速覽

大語言模型(LLM)是用大量文字訓練、能產生自然語言的 AI 模型,預訓練時學的是根據前文預測下一個字。要用好它,先懂三個概念:Token 是模型處理文字的最小單位,也是計費與長度限制的依據;上下文視窗是模型一次能參考的全部內容;溫度控制輸出的隨機程度。

大語言模型入門的第一件事,是分清楚三個名詞:大語言模型是什麼、模型每次「看到」多少東西、以及它的輸出有多隨機。這三件事決定了你每天用 AI 時遇到的大多數狀況:為什麼它突然忘了前面講過的規則、為什麼同一個問題每次答案不一樣、為什麼用 API 會被算錢。

大語言模型是什麼?

大語言模型(也稱大型語言模型,LLM,Large Language Model)是參數很多、用大量文字資料訓練出來的 AI 語言模型,能產生接近人類的文字、回答問題、摘要資訊等。

它的基本訓練方式叫預訓練(Pretraining):在大量沒有標註的文字上,讓模型學著「根據前面的文字,預測下一個字」。Anthropic 的文件指出,剛預訓練完的模型並不天生擅長回答問題或遵循指示,之後還要經過微調(Fine-tuning,用額外的資料繼續訓練)和 RLHF(Reinforcement Learning from Human Feedback,用人類對輸出的排序回饋來訓練模型,使它更符合人類的偏好)等步驟,才會變成我們習慣的「助理」。

這也解釋了一個重要的使用習慣:模型會產生聽起來很合理的文字,但那不等於查證過的事實。模型很有把握地說出不正確或憑空編造的內容,稱為幻覺(Hallucination)。重要的事實,請自己查證。

Token:模型處理文字的最小單位

Token 是語言模型處理文字的最小單位,可能是一個字、字的一部分、單一字元,甚至是位元組。

為什麼要在意 Token?因為它同時影響三件事:

  • 長度限制:模型一次能處理的內容有上限,上限是以 Token 計算,不是以字數計算。
  • 費用:透過 API 使用模型時,通常依輸入與輸出的 Token 數計費。
  • 速度:要處理與產生的 Token 越多,通常等得越久。

同一段文字會被切成幾個 Token,會因模型與語言而不同。所以不要用「一個中文字大約幾個 Token」這種固定換算去估算費用;要知道精確數字,請用你要使用的那個模型所提供的 Token 計數功能。

上下文視窗:模型的「工作記憶」

上下文視窗(Context window)是語言模型在產生回答時,能夠參考的全部文字,包括它自己正在產生的回答。Anthropic 的文件把它比喻為模型的「工作記憶」,而且強調它和模型訓練時看過的大量資料是兩回事。

一次請求中,下面這些全都會佔用上下文視窗:

  • 系統指示(system prompt,開發者或工具預先設定、整段對話都適用的指示)
  • 你和模型來回的每一則訊息
  • 工具回傳的結果、附上的圖片與文件
  • 工具的定義說明
  • 模型產生的輸出

兩個常見的誤解:

  1. 「視窗越大越好」:不一定。Anthropic 指出,隨著 Token 數增加,準確度與回想能力會下降,這個現象稱為上下文衰退(Context rot)。所以「放進對的內容」和「視窗有多大」一樣重要。
  2. 「模型會自己記得一切」:模型能看到的,就是這次放進視窗的內容。對話越長,早期的內容越可能被擠掉或被摘要取代;Claude Code 的官方文件就提到,對話被自動壓縮成摘要時,早期的詳細指示可能遺失,建議把需要長期遵守的規則寫進固定的指示檔,而不是只靠對話開頭。出處見文末的連結。

如果你需要讓模型根據自己的文件回答,常見做法是 RAG(Retrieval-Augmented Generation,檢索增強生成):先從你的資料中找出相關段落,再連同問題一起放進上下文視窗,讓回答有所根據。

溫度:控制輸出有多隨機

溫度(Temperature)是控制模型輸出隨機程度的參數:

  • 溫度高:輸出更多變、更有創意,同一個問題可能得到多種不同說法。
  • 溫度低:輸出更保守、更穩定,傾向選擇最可能的說法。

要注意:溫度調成 0 並不保證結果完全相同。Anthropic 的文件明確說明,API 本身就有非確定性,相同輸入在不同次呼叫中仍可能得到不同輸出。因此,「需要百分之百一致」的場合,不要只靠調低溫度,而要在流程裡加檢查。

三個概念一次看懂

概念一句話影響什麼常見誤解
Token模型處理文字的最小單位長度限制、費用、速度以為等於字數
上下文視窗模型一次能參考的全部內容能記得多少、回答是否一致以為越大越好、以為會自動記得
溫度控制輸出的隨機程度穩定度與多樣性以為設成 0 就完全固定

遇到狀況時的判斷方法

你看到的狀況先檢查什麼
模型忘了前面講過的規則對話是不是太長?開新對話並重述重點,或把規則放進固定的指示檔
每次答案差很多溫度是不是偏高?任務是否需要在流程裡加檢查
給了很多資料卻答非所問是不是塞了太多不相關的內容?只留和任務有關的部分
用 API 費用比預期高每次請求是不是都把完整歷史與大量文件重複送進去?
回答很肯定卻查不到出處可能是幻覺,用可靠來源自己查證

接著看什麼

常見問題

大語言模型和 ChatGPT 是同一個東西嗎?

不是。大語言模型是背後的 AI 模型,ChatGPT、Claude 這類是把模型包成可以對話的產品。同一個模型可以被包成不同的產品與工具。

Token 等於字數嗎?

不等於。Token 可能是一個字、字的一部分、單一字元,甚至位元組;同一段文字會被切成幾個 Token,會隨模型與語言而不同。想知道確切數字,要用該模型提供的 Token 計數工具。

上下文視窗滿了會怎樣?

看你用的工具而定。直接呼叫 API 時,如果輸入本身就超過上限,會收到錯誤;有些聊天介面會依先進先出的方式丟掉最舊的內容;Claude Code 這類工具則會在快滿時自動把對話壓縮成摘要,早期的詳細指示可能因此遺失。

溫度要設多少才好?

沒有固定答案,要看任務。需要穩定、可重複的結果(例如整理資料、改寫成固定格式)就調低;需要多種說法或發想就調高。建議從官方文件的預設值開始,再依結果微調。

溫度設成 0,每次的結果都會一模一樣嗎?

不保證。Anthropic 的文件說明,即使溫度設為 0,結果也不會完全確定,相同的輸入在不同次的 API 呼叫中仍可能得到不同輸出。

模型會記得我上次的對話嗎?

模型一次能看到的,就是放進上下文視窗的內容。以 API 來說,每一輪都要把先前的對話歷史連同新訊息一起送進去,模型才看得到。各種產品另外加的「記憶」功能,是產品層的設計,不同產品差異很大。

留言

用 GitHub 帳號登入就能留言,留言會公開顯示在 GitHub Discussions。留言前請先看社群規則。

從這裡開始