昨天我們聊了模型能「看懂」什麼,但更重要的是如何「指揮」它。如果沒有好的指揮,模型再強大,但方向有可能不符合你的需求,看似頭頭是道,實際上很多時候會是毫無章法。而這關鍵點就是「提示詞」。
你想像一下,把 LLM 當成一位超強助理。你對他說「幫我安排旅行」,他會天馬行空推薦你全世界可以旅遊的地點;但你改成「本週六 9 點從高雄出發,兩天一夜、預算 6,000、想看海、不走購物行程,請用表格列出三案並標註來源」,結果立刻變精準。差別不是模型換了,而是提示詞把任務、限制、資料與輸出說清楚。這篇就講:提示詞為什麼這麼關鍵,會影響到行為邏輯、用到的知識,以及你拿到的成品可不可以直接用。
提示詞(Prompt)就是你給大型語言模型(LLM)的「指令」或「工作說明」。它可以是一句話:「幫我介紹AI」,也可以是一整段規格:「請用500字,針對高中生,語氣要輕鬆,列出三個AI在日常生活的應用,最後給一個延伸閱讀的參考來源。」
為什麼提示詞會影響 LLM?
LLM 本身就像一個讀過海量資料的「超級助理」,它能回答很多問題、寫文章、寫程式,但重點是它沒有主動意圖。
所以:
舉個例子
LLM(大型語言模型)其實就是在每一步「預測下一個最可能的字詞」。步驟是
提示詞不只是一句話,而是模型的輸入上下文。它會直接影響這個「機率分佈」的形狀,進而決定 模型往哪個方向生成。
影響面向主要有三個面向,分別為 Behavior Aspect、Knowledge Aspect與Output Aspect
簡單來說,因為提示詞在潛移默化地改變了 token 機率分佈。例如當你要求「請輸出 JSON」,模型在生成過程裡,像 {
、}
、冒號、引號這些 token 的機率會被拉高。等於幫模型「加了一層格式偏好」,壓制掉亂寫自然語言的傾向。
結構化寫法與技巧,明天會提。不過我想技術性的瞭解一下提示詞怎麼改變模型的輸出路徑
LLM 的每一步產生下一個 token,靠的是對詞彙表的**原始分數(logits)**套上 softmax 得到機率:
context 就是你丟進去的提示詞 + 已生成的 token。
*T(temperature)**控制平滑度;T 越低越貪婪,越高越發散。
你的提示詞改變了注意力分佈與中間隱狀態 ⇒ 改變 logits ⇒ 改變每個 token 的機率。
簡單的說:你叫它「輸出 JSON」,大括號、冒號、引號這些 token 的 logits 會被往上推;你叫它「當資安審核員」,風險、合規、風險控管這類詞的 logits 也會被推高。
Transformer 的注意力是內容導向位址(content-based addressing):
實務上有「位置衰減與干擾」(超長上下文尾端權重變弱),所以把規格放前面 + 在輸出前重申一次會更穩。
沒有微調也能靠「示範樣本」讓模型**在上下文內學會一個模式,**分成:
零樣本(Zero-shot):只給任務說明。
少樣本(Few-shot):給 2–5 組輸入→輸出範例,模型學你的格式與邏輯(出名的「induction heads」就是在抓範例樣式)。
風格模仿:你給一段你要的口吻、術語,之後輸出就會被牽引。
關鍵:示範要短、穩、貼任務;錯誤示範會放大成錯誤模式。
基本上穩定輸出這會是一個超級關鍵點
那三個面向怎麼「作用到模型內部」? 上文的三軸(Behavior / Knowledge / Output)對應到內部機制如下:
A. Behavior Aspect(行為面)
B. Knowledge Aspect(知識面)
C. Output Aspect(輸出面)
明天應該會偏向介紹提示詞的技巧,然後簡單寫個AI Chat互動範例