免費 Prompt 最佳化工具
貼上粗略的 prompt - 取得清晰、結構化的版本,讓 Claude、ChatGPT 或任何 AI 產生更好的結果。
最佳化後的 prompt 會顯示在這裡。
貼上粗略的 prompt,然後按一下「最佳化」。
什麼是 prompt 最佳化工具?
prompt 最佳化工具是一款免費工具,能將粗略、未成形的 prompt 轉換成清晰、結構化的 prompt,讓任何 AI 產生更好的結果。貼上你的粗略想法,這款免費 prompt 最佳化工具會重新整理其中真正重要的部分 - AI 的角色、任務、背景、你的要求,以及你想要的輸出格式。模糊請求與結構化 prompt 之間的差異,就是一般輸出與真正實用輸出之間的差異。
它也能作為prompt 增強器和ChatGPT prompt 最佳化工具:它產生的結構化 prompt 可攜性高,因此你可以直接貼到 Claude、ChatGPT、Gemini 或任何 AI 聊天工具中。不需要 prompt 工程知識 - 你只需用自然語言描述想要的內容,最佳化工具會處理結構。
想完全跳過為重複性工作撰寫 prompt 嗎?KissMySkills 提供的現成 prompt 套件或 Skill 檔案,能將 Claude 或 ChatGPT 變成特定工作的專家,讓你完全不用撰寫 prompt 就能獲得專家級輸出。剛開始接觸 prompt 嗎?閱讀Claude Skills 是什麼,看看儲存好的 Skill 如何勝過每次重新撰寫 prompt。
你在 prompt 中放置內容的位置會改變答案
Position 是 prompt 結構中討論最少、卻最容易測量的部分,而三大模型供應商中有兩家發布了相同的建議。
Anthropic 的 prompt 指南指出,對於約 20,000 個 token 以上的輸入,應「將長篇文件和輸入放在 prompt 頂部,置於查詢、指示和範例之前」,並表示將查詢放在結尾「在測試中可將回應品質提升最多 30%,尤其適用於複雜的多文件輸入」。請將這個百分比視為內部數據,因為沒有公開的方法論,但排序建議本身十分明確。Google 也對 Gemini 提供相同指示:「提供大量上下文(例如文件、程式碼)時,先提供全部上下文。將具體指示或問題放在 prompt 的最末端」,並補充了一個實用的銜接技巧,例如使用「根據上述資訊……」這類過渡語句。
這種直覺背後有研究支持。Lost in the Middle(Liu 等人,arXiv:2307.03172)發現,模型的表現「通常在相關資訊出現在輸入上下文的開頭或結尾時最高;當模型必須在長上下文中存取位於中間的相關資訊時,即使是明確支援長上下文的模型,表現也會顯著下降。」如果你需要的事實埋在貼上的文件中間,移動它比改寫問題更可靠。
OpenAI 目前的指南對開發者訊息採用不同的排列方式 - 身分、指示、範例,接著是上下文,並註明上下文「通常最好放在 prompt 接近結尾的位置」。這與前述說法與其說是矛盾,不如說是放置內容的類型不同:前者是針對請求的參考資料,後者則是大量文件。實際上的重點是,沒有單一的通用配置,而在某個模型上依靠位置調整過的 prompt,換到另一個模型上時應重新檢查。
結構勝過形容詞
這些供應商實際記錄的技術都是結構性的,而且沒有任何一項涉及告訴模型自己是世界級專家。
Anthropic 對清晰度的說法是一項測試,而不是規則:「將你的 prompt 展示給一位對任務背景所知甚少的同事,請他們依照 prompt 操作。如果他們會感到困惑,Claude 也會如此。」同一份指南也建議說明某項限制存在的原因,而不是直截了當地陳述限制,理由是模型「足夠聰明,能從解釋中泛化」- 附帶理由的指令可以套用到你未列舉的情況。
另一項一致的建議是使用分隔符。Anthropic 表示:XML 標籤「能幫助 Claude 明確無誤地解析複雜 prompts」,並建議將每種類型的內容各自包在專屬標籤中,例如 <instructions>, <context>, <input> 「降低誤解。」OpenAI 表示:「Markdown 標題和清單有助於標示 prompt 的不同區段」,而且「XML 標籤有助於劃分一段內容……的起點與終點。」Google 則從另一個方向提醒範例:少樣本範例之間的格式一致性很重要,而且「如果加入太多範例,模型可能會開始讓回應過度貼合這些範例。」Anthropic 建議使用三到五個,並包在 <example> 標籤。
角色設定的作用比網路上暗示的少,但並非毫無用處。Anthropic 的立場謹慎且具體:「在 system prompt 中設定角色,能針對你的使用情境聚焦 Claude 的行為與語氣。即使只用一句話,也會產生差異。」是在 system prompt 中寫一句話 - 而不是在使用者訊息中編造一段傳記。
如今已不正確的兩項標準 prompt 建議
Prompt 指南很容易過時,而最常被重複的兩項建議,已經被供應商自己的文件超越。
「總是叫它逐步思考。」 OpenAI 的推理指南對推理模型提出了相反的建議:「避免使用思維鏈 prompts:由於這些模型會在內部進行推理,提示它們『逐步思考』或『解釋你的推理』是不必要的」,並在其他地方指出,這類技巧「可能無法提升效能(有時甚至會妨礙效能)」。同一頁建議先嘗試零樣本,只有在需要時才加入範例。OpenAI 的比喻值得保留:推理模型「就像資深同事。你可以給他們一個要達成的目標,並相信他們會自行處理細節。GPT 模型則像初級同事。」思維鏈並未消失 - Anthropic 仍然以 <thinking> 和 <answer> 標籤記錄手動 CoT - 但如今它被描述為內建推理關閉時的備用方案,而非預設做法。
了解原始論文聲稱的內容也很重要。Chain-of-Thought Prompting Elicits Reasoning in Large Language Models(Wei 等人,arXiv:2201.11903)指出,這類能力「會自然地出現在足夠大型的語言模型中」。「讓我們逐步思考」這句著名提示的結果(Kojima 等人,arXiv:2205.11916)則是在 2022 年的模型上測得的。兩者都不是永恆不變的定律。
「預填 assistant 的第一個字。」 Anthropic 目前的文件指出,從近期的 Claude 模型開始,最後一輪預填的 assistant 訊息「已不再受支援」,包含這類訊息的請求「會傳回 400 錯誤」。文件所記載的替代方案包括結構化輸出、直接指示模型不要加上開場白,或使用工具呼叫。任何仍將預填教作格式技巧的指南,描述的都是如今會失敗的請求。
還有一個值得區分的概念:自洽性(Wang 等人,arXiv:2203.11171)是一種解碼策略,會取樣多條推理路徑,並採用最常見的答案。它無法透過重寫 prompt 來實現,因為這需要多次生成。
這個最佳化工具無法做到的事
它無法提供模型所沒有的知識。 OpenAI 表示,加入上下文的原因是讓模型「能存取專有資料,或模型訓練資料集以外的任何其他資料」。缺少事實時,解決方法是貼上該事實,而不是把問題措辭寫得更好。
它無法消除幻覺。 Anthropic 明確表示,即使是進階模型「有時也會產生事實不正確的文字」,而其緩解技術 - 允許模型回答「我不知道」、在回答長篇文件前逐字擷取引文、限制模型只能使用提供的來源 - 「能大幅減少幻覺」,但「無法完全消除幻覺」。
它無法保護你免受 prompt injection 影響。 Anthropic 指出兩種威脅模型:直接注入,即使用者就是對手;以及間接注入,即受信任使用者的 prompt 使模型處理帶有對抗性指令的第三方內容 - 網頁、電子郵件、文件、工具結果。措辭不是安全控制措施。
它無法設定你的取樣參數。 Temperature 和 top-p 位於 API 呼叫中,而不是 prompt 裡。另請注意,它們在不同供應商之間也無法直接比較:Anthropic 文件記載的範圍是 0.0-1.0,並警告「即使 temperature 為 0.0,結果也不會完全具備確定性」;OpenAI 文件記載的範圍是 0-2,並建議「調整 temperature 或 top_p,但不要同時調整兩者」。
它無法告訴你輸出是否良好。 Anthropic 的 prompt 工程文件假設你已經有成功的定義,以及一套用來測試是否達成該定義的方法。沒有這些,較長、結構更好的 prompt 只會產生較長、結構更好的猜測。