Prompt(提示詞)
又稱:提示詞 · 提示語 · prompt 是什麼 · 怎麼寫 prompt
這一次送進模型的完整 token 序列:系統指令、對話歷史、工具定義、檢索到的資料,加上你最後打的那句話 —— 全部。
你會在什麼時候遇到它
從你發出第一次 API 呼叫、讀第一篇提示工程文章起就會一直遇到。多數人以為 prompt 就是自己打的那句話;但在 Agent 裡,你的話往往只佔送進模型內容的一小部分。不知道這一點,你除錯時只會反覆改自己那句話,卻沒發現模型這輪還「看到」了 harness 塞進來的一大疊其他內容。
打個比方
像一張組裝好的考卷:卷首是考試規則(系統提示),中間是參考資料(對話歷史、檢索結果),最後才是題目(你打的那句)。模型收到的永遠是整張考卷,它不知道、也不在乎哪一行是你「親口說的」。
最小範例
// 你在聊天框只打了一句「幫我修這個 bug」
// 但送進模型的 prompt 實際長這樣(簡化示意):
[
{ "role": "system", "content": "你是寫程式的助手,只改工作區內的檔案…" },
{ "role": "user", "content": "(幾輪之前的對話…)" },
{ "role": "assistant", "content": "(模型的舊回答…)" },
{ "role": "user", "content": "工具清單與相關檔案內容…\n幫我修這個 bug" }
]要看的是結構:模型收到的是一整段有角色標記的序列,你的話只是最後一小塊。所以「調 prompt」在實務上常常是在調整個組裝結果 —— 而組裝規則是 harness 定的,不是你定的。
最常搞錯的地方
- 以為 prompt 就是你打的最後一句話。在 Agent 場景,系統提示、工具定義、歷史對話往往佔了絕大部分;模型行為異常時,先想辦法看到「這輪實際送出的完整內容」,再動手改。
- 把 prompt 當成「對模型說話」,以為語氣夠誠懇或夠強硬就能改變它的能力邊界。prompt 改變的是模型往哪個方向接話,不是它會不會做這件事。