開源提示詞優化工具 Prompt Optimizer,自架前先看清金鑰流向

Prompt Optimizer 是 GitHub 上三萬四千多顆星的開源提示詞優化工具,讀完原始碼可以確認:優化其實是一組可編輯的中繼模板,金鑰與內容留在瀏覽器直連 AI 供應商;自架 Docker 時金鑰會被寫進公開的 config.js,不設密碼等於把金鑰發給每個訪客。支援 OpenAI、Gemini、DeepSeek 等十六個供應商與 Ollama 本地模型,另有桌面版與 Chrome 擴充功能。

用 AI 摘要這篇文章:

先把結論說完:Prompt Optimizer 值得放進你的工具箱,但值得的理由跟大多數介紹文講的不一樣。它在 GitHub 上有 linshenkx 維護的開源原始碼、三萬四千多顆星、將近四千個 fork,平均不到一個月就發一版,功能也早就超過名字裡的「優化」兩個字,長成一套提示詞工作台。不過我把整包原始碼抓下來逐檔讀過之後,真正影響你該怎麼用它的,是三件介紹文通常不講的事:它的優化其實是一份攤開來給你看的改寫規則;你的 API 金鑰與提示詞內容確實留在瀏覽器裡直連 AI 供應商;自架 Docker 版並把金鑰填進環境變數時,啟動腳本會把金鑰寫進一個任何訪客都能下載的公開檔案。這篇就照這個順序把三件事講清楚,最後給你四種使用形態的選擇建議。

它的優化是一份攤開的改寫規則,不是黑箱

很多工具說自己能「優化提示詞」,聽起來像有什麼法術在背後施法。這個專案的核心其實相當樸素:原始碼裡有一組叫做範本(template)的服務,內建約六十份中繼提示,每份都有中英雙語版本,優化的動作就是把你的提示詞連同其中一份範本,一起交給你自己指定的大模型去改寫。預設的「通用優化」範本我完整讀過,它要求模型把輸入重組成固定的結構:先定義角色名稱與描述,接著排人物設定檔,欄位從語言、背景、性格、專業領域到目標使用者都開好了格子;再來是技能清單,每個技能類別底下要展開成具體技能加一句說明;然後是規則段,分成基本原則、行為準則、限制條件三群;最後補上工作流程(目標、步驟、預期結果)與一段初始化宣言。熟悉提示詞工程的讀者會認出這是角色導向的結構化寫法,本站介紹過的 VibeDoc 把產品想法變成開發方案時,走的也是同一類思路。

範本特別交代了一個容易出事的細節:如果原始提示詞裡有 {{變數名}} 這種佔位符,改寫後必須逐字保留,不能改名、不能刪、不能替換成具體值。這代表它對「提示詞之後還要重複使用」的場景有實際設計,改寫不會把你抽好的變數弄壞。輸出端也有紀律要求,範本明文告訴模型不要攜帶引導詞、不要用程式碼區塊包住結果,拿到手的就是可以直接貼走的文字。

Prompt Optimizer 官方示範:一段紅隊審稿人提示詞被改寫成 Role/Profile/Skills 結構,右側 A/B 對比測試Pin
官方示範的完整流程:左側輸入一句提示詞,中間產生結構化改寫,右側用 A/B 對比驗證效果(官方 README 圖,2026-09)

更重要的是整組範本都能變成你自己的。內建範本設成唯讀,要動它就先複製一份副本再改,這個設計避免手滑改壞官方底版;自帶新範本與中英切換都支援。除了通用版,還有偏結構分析的版本、專門調整輸出格式的版本、針對使用者輸入(有別於系統提示)的三種變體(基礎版、專業版、規劃版),以及兩份很有意思的人格檔範本:把一段人物設定整理成給 AI 代理長期使用的 SOUL.md 檔案。那份範本的措辭很講究,它明講自己的任務是整理長期身分文件,強調溝通預設風格與判斷習慣,而不是寫誇張人設文案;面對不確定、分歧、越界請求時的處理傾向要寫清楚,專案規則與工作流細節反而該排除在外。你拿它整理陪伴型助理、知識庫管家這類要長期相處的角色,比拿它寫一次性劇本對象合適。

範本能不能改出好結果,取決於你餵的模型與你的判斷,工具保證的是規則透明與可控。對要審計提示詞走向正式環境的團隊來說,這份透明才是真價值:改壞了可以回頭看是哪條規則造成的,改好了可以把方法沉澱成自己的範本。

一年多下來,它已經長成提示詞工作台

這個倉庫 2025 年 2 月建立,到 2026 年 8 月底已經發到 v2.11.9,中間平均不到一個月就發一版,最近幾版的提交裡還能看到更新內建模型清單、補 MiniMax 區域端點這類跟著生態跑的維護。功能也從單純的「貼上提示詞、按一下、拿走改良版」,擴張成幾個明確的模式:基礎模式分系統提示與使用者提示兩條線;Pro 模式處理多輪對話與變數;圖像模式做文生圖與圖生圖的提示詞,串接的圖像模型另外設定,環境變數範本裡看得到火山方舟與 Seedream 的影子。

圍繞著改寫本身,它還長出了配套的流程。迭代範本讓你對改寫結果反覆精修,每次迭代都有版本可以對照;變數抽取把提示詞裡可參數化的部分抽出來管理,甚至能反過來為變數生成測試值;收藏與歷史把每次的產出沉澱成可復用的資產,支援匯入匯出,換電腦時可以整包帶走。

最值得單獨一提的是評測。倉庫裡有一整套以 LLM 當評審的範本,流程分三段:先對原始與優化後的提示詞各自產生分析,再讓模型對比兩份輸出,最後收斂成結構化的結論,三段之間用 JSON 契約約束輸出格式,中英兩種語言的契約文字都寫好了。也就是說,優化前後誰好誰壞,它提供了一個可重複跑的比較機制,讓判斷不必只憑感覺。想認真比較不同模型或端點表現的人,可以搭配本站介紹過的 LLM API 測試工具 一起用,一邊管理提示詞資產,一邊量測端點的回應品質。

Prompt Optimizer 線上版工作區:基礎與專業等模式切換、原提示輸入區、範本選擇與右側對比測試面板Pin
線上版實際畫面:頂部切換基礎與專業等模式,左側是原提示輸入與範本選擇,右側並排對比測試面板(2026-09)

金鑰留在瀏覽器,內容直連你選的模型

隱私與資料流向,這個專案在純前端這件事上做得比多數同類認真。LLM 呼叫用各供應商的官方 SDK 從瀏覽器直接發出,以 OpenAI 的轉接器為例,程式明確開啟了瀏覽器模式,端點就是 api.openai.com,中間沒有作者或部署者的伺服器經手,金鑰跟著請求從你的瀏覽器直接出去。金鑰、模型設定、歷史紀錄全部存在瀏覽器的本機儲存,換裝置就得重填,但也因此不需要註冊帳號、沒有雲端帳本。我把網頁版的依賴清單整份翻過,找不到任何分析或追蹤函式庫;要補一句的是,官方線上版的部署設定會載入 Vercel Analytics 做頁面瀏覽統計,自架版與桌面版不會,這是部署選項決定的差異。

供應商清單比介紹文寫的豐富很多:OpenAI、Anthropic、Gemini、DeepSeek、智譜、SiliconFlow、DashScope、MiniMax、Grok、ModelScope、OpenRouter、Cloudflare Workers AI,加上任意 OpenAI 相容端點;這裡先列了十二家,把後面會提到的 Ollama、Chrome 內建模型與小米的方案算進來,程式碼裡一共十六個轉接器。每個供應商的端點位址都可以在介面裡覆寫,MiniMax 還貼心地分了國際與中國大陸兩個端點讓你選。模型清單也不是寫死一份用到老:多數轉接器標了支援動態取得,會跟供應商的模型列表 API 要最新名單;程式碼裡的靜態清單 2026 年 8 月中才剛刷新過一輪,這也是我說它跟著生態跑的證據之一。這種 BYOK 結構的帳務含義要自己算:工具本身不收費,帳單直接落在你各家供應商的帳號上,用多少付多少,沒有中間商加價,也沒有免費額度可蹭。

兩個免金鑰選項值得知道:一是 Ollama,接你自己機器上的本地模型,設定頁填個位址就能用;二是 Chrome 內建的 Gemini Nano,程式會偵測瀏覽器有沒有這個能力,能用就自動啟用,完全不用申請任何金鑰,等於零成本先試一輪優化手感。日常在 ChatGPT 或其他服務裡累積提示詞的人,把它當成本機的提示詞整理台很順手。

有一條邊界要說精確。倉庫裡有個預設開啟的「提示詞花園」匯入功能,指向作者自己營運的 garden.always200.com 提示詞庫,我連過去時服務是活的。讀了那段程式之後可以確認:它只在你主動取用時向該網站發讀取請求(輸入匯入碼帶回別人分享的提示詞,或打開建議面板看看熱門清單),拿回來的是一份帶版本號的提示詞結構,沒有把你的資料外送的程式碼。所以「不經過中轉伺服器」這句官方說法,精確的讀法是:你的金鑰與提示詞內容在優化過程中不出瀏覽器,但提示詞庫這個附屬服務掛在作者的網域下,兩件事要分開算。作者的生態圈還有一個文件站 docs.always200.com,安裝與設定疑難都集中在那裡。

自架最該注意的一段程式:金鑰會進公開的 config.js

如果你打算用 Docker 自己架一份給團隊用,這節請整段讀完。官方映像 linshen/prompt-optimizer 的啟動腳本裡有一支 generate-config.sh,它會掃描容器所有的 VITE_ 開頭環境變數,包含 VITE_OPENAI_API_KEY 這類金鑰變數,把它們統一寫進網頁根目錄的 config.js。這個檔案跟首頁一樣是公開靜態檔案。換句話說,你照著文件在 docker run 加上金鑰環境變數、卻沒有設存取密碼的話,任何打得開你網址的人,檢視原始碼就能把你的 API 金鑰整份拿走。這不算設計錯誤:官方文件的主部署範例其實把金鑰與密碼寫在同一條命令裡,甚至明文警告 VITE_ 開頭的值會暴露在瀏覽器資源中;但 MCP 與環境變數章節另有只帶金鑰的範例,抄到那些就中招。

自防的選擇其實只有兩條,而且都合理:要嘛完全不填金鑰,讓每個使用者自己在介面裡填自己的,回到純 BYOK,這也是線上版的形態;要嘛填了金鑰,就一定要設 ACCESS_USERNAME 與 ACCESS_PASSWORD,讓 nginx 的 Basic 認證把整個站擋在密碼後面,映像裡連產生密碼雜湊的腳本都幫你備好了。

附帶一個容易被忽略的細節:這套認證不保護 /mcp 路徑。Docker 版內建了一個 MCP 伺服器,掛在該路徑下,官方文件給了 Claude Desktop 的整合範例,可以讓你的代理直接呼叫提示詞優化功能。它是在伺服器端跑的 Node 程式,模型與金鑰走環境變數,跟純前端的網頁版是兩種信任模型。把 MCP 端點暴露到公網之前,先想清楚這件事;只打算自己用,綁在本機或內部網路就沒這個問題。

不架 Docker 的人還有兩條官方路:Vercel 與 Cloudflare 的設定檔都在倉庫裡,兩邊部署的都是同一份靜態網頁。Vercel 版的密碼保護走另一套機制,用一層邊緣中介檢查存取密碼的 cookie,未通過就導去認證頁,行為跟 Docker 版的 Basic 認證不同,文件都有寫。本機開發則照一般的 pnpm 流程走,環境變數範本 env.local.example 附了各家金鑰的註解範例,抄一份改成 .env.local 就能起來。

回到 Docker 版本身,還有兩個運維細節可以看出這個映像的成熟度:容器裡用 supervisor 同時看著網頁伺服器與 MCP 伺服器兩個服務,docker-compose 檔備好了健康檢查,每半分鐘打一次 /healthz 端點,連續失敗會被標記不健康;埠號、金鑰、存取帳密的環境變數在 compose 檔裡都開好了欄位,照著填就行。連 Docker Hub 較慢的網路環境,官方文件也給了位於廣州的鏡像倉庫位址。

網頁版連不上本地 Ollama,卡點在瀏覽器政策

純前端架構有一個繞不開的代價:瀏覽器的安全政策。官方 FAQ 對此毫不掩飾,直接把兩層限制寫成問答。一層是 CORS,部分供應商沒開放給瀏覽器直接呼叫,你會在網頁版遇到連線失敗,官方建議的解法之一是自架 API 聚合層,例如先前介紹過的 New API,用它統一管理端點與金鑰再餵給工具,順便解掉金鑰分散的問題。另一層更硬:HTTPS 的線上版依混合內容政策不能呼叫 HTTP 位址,所以你想讓它連本機 Ollama,直接被瀏覽器擋掉,這是設計使然,不是工具壞了。

官方給的出路按徹底程度排:桌面版是首選,Electron 應用沒有瀏覽器限制,可以直連任何 API 包括本地模型,還附帶自動更新與可選的遠端備份,備份目標是你自己設定的 S3 相容儲存(預設路徑就叫 prompt-optimizer-backups)或 WebDAV,也就是說備份去的還是你自己的地盤;其次是用 Docker 以 HTTP 部署在本機,跟本地模型同一個協定,不經過 HTTPS 頁面;Chrome 擴充功能在某些情況下也能繞過部分限制。說到擴充功能,它的權限設計值得一提:Manifest V3,權限清單是空的,支援離線與無痕分割模式,官方隱私政策自述純客戶端、無後端伺服器、金鑰加密存放。Chrome 商店頁面顯示有兩萬名使用者,不過官方 README 也自己提醒,商店審核較慢,商店版可能落後 GitHub 上的最新版,最新版以 GitHub 倉庫為準。

手機優先的使用者要先知道一個現況:issue #220 從 2025 年 12 月開著到現在,回報的就是手機版面沒有做響應式設計,維護者還沒處理。這個工具的預設使用場景是桌機,手機上開線上版要有心理準備。

AGPL 授權,以及四種形態怎麼選

授權要看原文。LICENSE 檔的表頭寫的是「GNU Affero General Public License v3.0 only」,因為表頭格式是作者自訂的,GitHub 的授權偵測顯示成 Other,查證時別被這個顯示誤導。AGPL 對一般使用者沒有負擔,自由使用、修改、自架都行;影響的是把它包進對外服務的人:你以網路服務形式提供修改版,就有義務向使用者公開修改後的原始碼。想拿它做商業包裝,先讓法務看過這條。

四種形態的取捨,整理成下面的對照(查核基準:2026 年 9 月初的原始碼與官方文件):

形態適合誰金鑰放在哪主要限制
線上版想先試手感、零安裝自己瀏覽器的本機儲存CORS 與混合內容政策,連不了本地 HTTP 模型
桌面版重度使用、要接 Ollama本機設定檔,備份可選自帶 S3 或 WebDAV要安裝,無法像線上版隨開即用
Chrome 擴充功能網頁選字就地優化擴充功能本機儲存(官方稱加密)商店版審核慢,可能落後 GitHub 版
自架 Docker團隊共用、整合 MCP環境變數進 config.js(公開檔)不設密碼等於金鑰公開;AGPL 義務

我的建議按使用強度走:偶爾用,線上版直接開,十分鐘內就能知道它合不合你的口味;每天都碰提示詞、或要接本地模型,裝桌面版,省下跟 CORS 周旋的時間;自架就守住「要嘛 BYOK、要嘛必設密碼」這條線,並想清楚 MCP 端點要不要對外。開始之前,先去倉庫把通用優化範本讀一遍,你會更清楚它改出來的東西帶著什麼結構,也更容易判斷哪裡要照自己的工作習慣改。工具把改寫規則攤開給你看,真正的優化能力,始終是你加上你選的那個模型。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1109

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...