<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Prompt Optimizer on KnightLi的博客</title>
        <link>https://www.knightli.com/zh-tw/tags/prompt-optimizer/</link>
        <description>Recent content in Prompt Optimizer on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-tw</language>
        <lastBuildDate>Fri, 01 May 2026 03:09:07 +0800</lastBuildDate><atom:link href="https://www.knightli.com/zh-tw/tags/prompt-optimizer/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Prompt Optimizer：開源提示詞優化、測試與 MCP 工具</title>
        <link>https://www.knightli.com/zh-tw/2026/05/01/prompt-optimizer-prompt-engineering-tool/</link>
        <pubDate>Fri, 01 May 2026 03:09:07 +0800</pubDate>
        
        <guid>https://www.knightli.com/zh-tw/2026/05/01/prompt-optimizer-prompt-engineering-tool/</guid>
        <description>&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 是一個開源的提示詞優化工具，目標很直接：幫助你把一段粗糙的提示詞改得更清楚、更穩定，也更容易被大型語言模型執行。&lt;/p&gt;
&lt;p&gt;它不只是一個「幫我潤飾 prompt」的頁面。專案同時提供提示詞優化、結果測試、對比評估、多模型接入、圖像生成提示詞處理，以及 MCP 整合。對經常寫系統提示詞、使用者提示詞、AI 工作流模板的人來說，它更像一個專門用來打磨提示詞的工作台。&lt;/p&gt;
&lt;h2 id=&#34;它解決什麼問題&#34;&gt;它解決什麼問題
&lt;/h2&gt;&lt;p&gt;很多人使用 AI 時都會遇到類似問題：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;提示詞越寫越長，但模型輸出沒有明顯變好&lt;/li&gt;
&lt;li&gt;同一個需求換個模型就表現不穩定&lt;/li&gt;
&lt;li&gt;系統提示詞和使用者提示詞混在一起，很難拆開除錯&lt;/li&gt;
&lt;li&gt;改了一版 prompt，不知道是不是真的比上一版更好&lt;/li&gt;
&lt;li&gt;想複用變數模板，但每次都要手動替換和測試&lt;/li&gt;
&lt;li&gt;想把提示詞優化能力接入其他 AI 工具，卻缺少標準介面&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 主要圍繞這些問題設計。它把「寫 prompt」拆成優化、測試、評估、對比、迭代幾個環節，讓提示詞不再只靠感覺調整。&lt;/p&gt;
&lt;h2 id=&#34;主要功能&#34;&gt;主要功能
&lt;/h2&gt;&lt;h3 id=&#34;1-優化系統提示詞和使用者提示詞&#34;&gt;1. 優化系統提示詞和使用者提示詞
&lt;/h3&gt;&lt;p&gt;提示詞並不只有一種。&lt;/p&gt;
&lt;p&gt;系統提示詞通常負責定義角色、目標、邊界、輸出規範和工作方法；使用者提示詞則更接近一次具體任務的輸入。兩者混在一起時，模型容易抓不住重點，後續複用也困難。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 支援系統提示詞優化和使用者提示詞優化。你可以分別處理長期複用的角色設定，也可以處理某次具體任務的輸入表達。&lt;/p&gt;
&lt;p&gt;這對下面幾類場景比較有用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;寫 AI 編程助手的工作規則&lt;/li&gt;
&lt;li&gt;寫客服、審稿、翻譯、分析類角色提示詞&lt;/li&gt;
&lt;li&gt;優化文生圖提示詞&lt;/li&gt;
&lt;li&gt;把臨時需求整理成可複用模板&lt;/li&gt;
&lt;li&gt;為不同模型準備不同風格的 prompt&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-測試和對比輸出&#34;&gt;2. 測試和對比輸出
&lt;/h3&gt;&lt;p&gt;只優化提示詞還不夠，關鍵是要知道優化後有沒有變好。&lt;/p&gt;
&lt;p&gt;專案支援分析、單結果評估、多結果對比評估。也就是說，你可以把原始提示詞和優化後的提示詞放到同一個任務裡跑，看模型輸出是否更準確、更穩定、更符合目標。&lt;/p&gt;
&lt;p&gt;這比單純「看起來更專業」的 prompt 更實用。因為很多提示詞表面上寫得完整，實際輸出卻可能更囉嗦、更僵硬，甚至把模型引向錯誤方向。對比測試能幫助你盡早發現這種問題。&lt;/p&gt;
&lt;h3 id=&#34;3-支援多模型&#34;&gt;3. 支援多模型
&lt;/h3&gt;&lt;p&gt;README 中提到專案支援 OpenAI、Gemini、DeepSeek、智譜 AI、SiliconFlow 等模型服務，也支援自訂 OpenAI 相容介面。&lt;/p&gt;
&lt;p&gt;這點很重要。提示詞效果和模型強相關，同一段 prompt 在不同模型上的表現可能差別很大。多模型測試可以幫助你判斷：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;是提示詞本身寫得不好&lt;/li&gt;
&lt;li&gt;還是某個模型不適合這個任務&lt;/li&gt;
&lt;li&gt;是否需要為不同模型準備不同版本&lt;/li&gt;
&lt;li&gt;小模型能否透過更清楚的提示詞接近可用效果&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你在本地使用 Ollama，或者公司內部有相容 OpenAI 介面的模型服務，也可以透過自訂介面接入。&lt;/p&gt;
&lt;h3 id=&#34;4-高級測試模式&#34;&gt;4. 高級測試模式
&lt;/h3&gt;&lt;p&gt;專案提供上下文變數管理、多輪會話測試和 Function Calling 支援。&lt;/p&gt;
&lt;p&gt;變數管理適合模板化任務。比如你有一套二手交易回覆、商品描述、郵件回覆、程式碼審查或文件生成提示詞，只需要替換商品、價格、語氣、目標使用者等變數，就能快速測試不同輸入下的表現。&lt;/p&gt;
&lt;p&gt;多輪會話測試適合驗證長期對話能力。很多 prompt 在單輪問答裡看起來不錯，一旦進入多輪追問，就會忘記約束、偏離角色或重複解釋。多輪測試可以更接近真實使用場景。&lt;/p&gt;
&lt;p&gt;Function Calling 支援則適合更工程化的 AI 應用。它能幫助你驗證模型在工具呼叫、參數生成和結構化輸出上的表現。&lt;/p&gt;
&lt;h3 id=&#34;5-圖像生成提示詞&#34;&gt;5. 圖像生成提示詞
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 也支援文生圖和圖生圖相關能力，README 中提到整合 Gemini、Seedream 等圖像模型。&lt;/p&gt;
&lt;p&gt;文生圖提示詞的優化重點和文字任務不同。它更關注主體、構圖、空間關係、風格、材質、光線、情緒和限制條件。把一句很模糊的想法拆成更可控的視覺描述，通常比單純加長提示詞更有價值。&lt;/p&gt;
&lt;p&gt;如果你經常需要生成產品圖、封面、插畫、主視覺或風格參考圖，這類優化會比較實用。&lt;/p&gt;
&lt;h2 id=&#34;使用方式&#34;&gt;使用方式
&lt;/h2&gt;&lt;p&gt;專案提供多種入口：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;線上版本&lt;/li&gt;
&lt;li&gt;Vercel 自部署&lt;/li&gt;
&lt;li&gt;桌面應用&lt;/li&gt;
&lt;li&gt;Chrome 擴充功能&lt;/li&gt;
&lt;li&gt;Docker 部署&lt;/li&gt;
&lt;li&gt;Docker Compose 部署&lt;/li&gt;
&lt;li&gt;MCP Server&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;線上版本適合快速體驗。專案說明中提到它是純前端應用，資料儲存在瀏覽器本地，並直接與 AI 服務商互動。&lt;/p&gt;
&lt;p&gt;桌面應用適合需要直接連接各種模型 API 的使用者。瀏覽器環境容易遇到跨域限制，桌面應用可以繞過這類問題，尤其適合連接本地 Ollama 或一些跨域策略嚴格的商業 API。&lt;/p&gt;
&lt;p&gt;Docker 部署適合放在自己的伺服器或內網環境裡使用。README 給出的基礎命令如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 8081:80 --restart unless-stopped --name prompt-optimizer linshen/prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果要配置 API 金鑰和存取密碼，可以透過環境變數傳入：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d -p 8081:80 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;VITE_OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_key &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;ACCESS_USERNAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_username &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;ACCESS_PASSWORD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_password &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --restart unless-stopped &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name prompt-optimizer &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  linshen/prompt-optimizer
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;國內存取 Docker Hub 較慢時，專案也提供了阿里雲映像地址，可按 README 中的說明替換映像名稱。&lt;/p&gt;
&lt;h2 id=&#34;mcp-能做什麼&#34;&gt;MCP 能做什麼
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 支援 Model Context Protocol，也就是 MCP。&lt;/p&gt;
&lt;p&gt;透過 Docker 執行時，MCP 服務可以和 Web 應用一起啟動，並透過 &lt;code&gt;/mcp&lt;/code&gt; 路徑存取。這樣它就不只是一個網頁工具，而是可以被 Claude Desktop 等支援 MCP 的應用呼叫。&lt;/p&gt;
&lt;p&gt;README 中列出的 MCP 工具包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;optimize-user-prompt&lt;/code&gt;：優化使用者提示詞&lt;/li&gt;
&lt;li&gt;&lt;code&gt;optimize-system-prompt&lt;/code&gt;：優化系統提示詞&lt;/li&gt;
&lt;li&gt;&lt;code&gt;iterate-prompt&lt;/code&gt;：對已有提示詞做定向迭代&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這類介面很適合放進 AI 工作流裡。比如你在寫複雜任務提示詞時，可以讓支援 MCP 的客戶端直接呼叫提示詞優化能力，而不必每次打開網頁手動複製。&lt;/p&gt;
&lt;h2 id=&#34;和普通聊天工具有什麼區別&#34;&gt;和普通聊天工具有什麼區別
&lt;/h2&gt;&lt;p&gt;普通聊天工具當然也能幫你改 prompt，但它通常缺少幾個環節：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不方便保存和對比多個版本&lt;/li&gt;
&lt;li&gt;不方便同時測試多個模型&lt;/li&gt;
&lt;li&gt;不方便把變數模板化&lt;/li&gt;
&lt;li&gt;不方便做多輪會話驗證&lt;/li&gt;
&lt;li&gt;不方便接入 MCP 或部署到自己的環境&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 的價值在於把提示詞優化做成一個可重複的流程。它不只是給你一版「看起來更完整」的文字，而是讓你圍繞實際輸出持續調整。&lt;/p&gt;
&lt;h2 id=&#34;適合誰使用&#34;&gt;適合誰使用
&lt;/h2&gt;&lt;p&gt;如果你符合下面幾種情況，可以重點關注這個專案：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;經常寫系統提示詞&lt;/li&gt;
&lt;li&gt;經常為 AI 應用設計角色和輸出格式&lt;/li&gt;
&lt;li&gt;需要比較不同模型的輸出效果&lt;/li&gt;
&lt;li&gt;想把 prompt 做成可複用模板&lt;/li&gt;
&lt;li&gt;需要測試多輪對話或工具呼叫&lt;/li&gt;
&lt;li&gt;想把提示詞優化能力接入 MCP 工作流&lt;/li&gt;
&lt;li&gt;希望在本地或內網部署提示詞工具&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你只是偶爾問 AI 一個簡單問題，用普通聊天頁面就夠了。這個工具更適合那些把提示詞當成可維護資產的人。&lt;/p&gt;
&lt;h2 id=&#34;使用時要注意什麼&#34;&gt;使用時要注意什麼
&lt;/h2&gt;&lt;p&gt;第一，不要把優化結果當成絕對正確。&lt;/p&gt;
&lt;p&gt;提示詞優化工具可以提高表達品質，但不能保證模型一定不會誤解。重要任務仍然需要測試樣例、人工檢查和版本對比。&lt;/p&gt;
&lt;p&gt;第二，不要只追求更長。&lt;/p&gt;
&lt;p&gt;好的 prompt 不一定更長。它應該更清楚地表達目標、邊界、輸入輸出格式和判斷標準。無意義的規則堆疊反而會讓模型抓不住重點。&lt;/p&gt;
&lt;p&gt;第三，要按模型調 prompt。&lt;/p&gt;
&lt;p&gt;不同模型對角色設定、格式約束、推理步驟和範例的敏感度不同。一個在大模型上表現很好的提示詞，不一定適合小模型。多模型測試正是這個工具值得使用的原因之一。&lt;/p&gt;
&lt;p&gt;第四，部署時要考慮金鑰和存取控制。&lt;/p&gt;
&lt;p&gt;如果你把它部署到公網，應該配置存取密碼，並謹慎處理 API key。專案支援透過環境變數配置存取控制，不要把敏感配置直接寫到公開倉庫裡。&lt;/p&gt;
&lt;h2 id=&#34;參考&#34;&gt;參考
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;linshenkx/prompt-optimizer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;最後一句&#34;&gt;最後一句
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Prompt Optimizer&lt;/code&gt; 適合用來把提示詞從「臨時手寫的一段話」整理成「可以測試、可以比較、可以迭代的工作資產」。&lt;/p&gt;
&lt;p&gt;當你開始在多個模型、多個場景、多個版本之間維護 prompt 時，這類工具會比普通聊天視窗更順手。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
