promptfoo 使用教學:對比提示詞和模型、寫斷言自動評測(安裝與配置)

promptfoo 是什麼、怎麼使用?按官方 README 和入門文檔講清它的用途、三種安裝方式、用示例項目起步、promptfooconfig.yaml 裏提示詞、模型和測試用例三部分怎麼寫、常用斷言類型的含義、eval 與 view 兩條命令,以及把它放進日常改提示詞流程的方法。

NNathaniel bigo··原創首發·AI 輔助撰寫
7 分鐘讀完
資料核對於 2026-10-11 · 依據官方文檔與公開資料整理 其他 帳號
本文根據 promptfoo 官方倉庫 README 和官方文檔《Getting started》整理,資料核對於 2026-10-11。命令取自官方頁面,沒有在本機運行驗證。

適用於誰

  • 搜「promptfoo 使用」「promptfoo 是什麼」「promptfoo 使用教學」「promptfoo 怎麼使用」的人;
  • 改提示詞全憑感覺,改完不知道是變好了還是隻是換了一種錯法的人;
  • 要在兩三個模型之間選型,想用自己的真實問題而不是排行榜來比較的人。

結論先說

  1. promptfoo 是一個評測大模型應用的命令行工具和庫,也用來做紅隊測試。README 寫明它現在是 OpenAI 的一部分,並且仍然開源,MIT 許可。
  2. 它做的事很直接:把「幾個提示詞 × 幾個模型 × 一批測試用例」全部跑一遍,用你寫的斷言自動判分,再在網頁裏並排展示結果。
  3. 一切寫在一個 promptfooconfig.yaml 裏:prompts、providers、tests 三部分。
  4. 兩條命令:promptfoo eval 運行評測,promptfoo view 打開結果頁面。
  5. 評測在本地運行。README 的說法是提示詞留在你的機器上;當然,調用模型時內容還是會發給你所配置的模型服務商。

一、它解決什麼問題

改提示詞時最常見的情況:針對一個不滿意的回答改了幾句,那個問題好了,另外三個原本沒問題的卻壞了,而你沒有發現。

評測工具的做法是把「原本沒問題的」也固定下來:準備一批有代表性的輸入,為每個輸入寫明「合格的輸出應該滿足什麼」,每次改動後全部重跑。這和寫代碼時跑單元測試是一個道理。

README 列出的用途:

  • 用自動化評測來測試提示詞和模型;
  • 並排比較不同廠商的模型(OpenAI、Anthropic、Azure、Bedrock、Ollama 等);
  • 紅隊測試和漏洞掃描,生成漏洞報告;
  • 接入 CI/CD,自動檢查;
  • 審查拉取請求裏與大模型相關的安全和合規問題。

二、安裝

三種方式任選:

sh
npm install -g promptfoo
sh
brew install promptfoo
sh
pip install promptfoo

不想安裝的話,用 npx promptfoo@latest 加上後面的子命令即可運行。

三、用示例項目起步

sh
promptfoo init --example getting-started
cd getting-started

這會創建一個帶翻譯示例的目錄,裏面有 promptfooconfig.yaml 和一個 README.md。

另外兩種起步方式:npx promptfoo@latest init 通過命令行問答生成配置;npx promptfoo@latest eval setup 打開瀏覽器,在網頁裏填提示詞、模型和測試用例。

然後設定模型廠商的 API Key,以 OpenAI 為例:

sh
export OPENAI_API_KEY=sk-abc123

(sk-abc123 是官方文檔裏的佔位符,換成你自己的 Key。)Key 的獲取見《OpenAI API Key 怎麼獲取》。

四、配置文件的三部分

按官方入門文檔描述的結構,一份配置大致是這樣(演示用,模型 ID 換成你要比較的):

yaml
prompts:
  - 'Convert the following English text to {{language}}: {{input}}'

providers:
  - openai:gpt-6-sol
  - openai:gpt-6-luna

tests:
  - vars:
      language: French
      input: Hello world
    assert:
      - type: icontains
        value: bonjour
  - vars:
      language: Spanish
      input: Where is the library?
    assert:
      - type: icontains
        value: biblioteca
  • prompts:要比較的提示詞,可以寫多條。雙花括號裏的是變量;
  • providers:要比較的模型,格式是 廠商:模型;
  • tests:測試用例。每條用 vars 給變量賦值,用 assert 寫合格標準。

運行時,每個提示詞、每個模型、每條用例的組合都會被執行一次。

五、運行和查看

sh
promptfoo eval
promptfoo view
  • eval:跑完所有組合,在終端裏顯示彙總;
  • view:打開網頁查看器,以表格並排展示各個模型、各個提示詞的輸出和斷言結果。

臨時換一組模型來比,不用改配置文件,用 -r:

sh
npx promptfoo@latest eval -r google:gemini-3.8-flash google:gemini-3.5-flash-lite

結果可以導出為表格、JSON、YAML 或 HTML。

六、常用的斷言類型

類型含義
contains輸出包含指定的文字
icontains同上,不區分大小寫
icontains-any輸出包含列出的幾個值中的任意一個
javascript用一段自定義的 JavaScript 表達式給輸出打分
llm-rubric讓一個模型按你寫的評分標準給輸出打分
cost檢查單次響應的成本是否低於閾值
latency檢查單次響應的耗時(毫秒)是否低於閾值

官方文檔對最後兩個有明確的提醒:cost 只是逐條檢查,不會限制總花費;latency 只是事後檢查,不會中止慢的請求。

怎麼選:

  • 能用確定性斷言就用確定性的。「必須包含訂單號」「必須是合法的 JSON」「不得出現某個詞」,用 contains 或 javascript,結果穩定、不花錢;
  • 確實需要判斷語義時再用 llm-rubric。例如「語氣是否禮貌」「是否回答了用戶的問題」。評分標準寫具體,並抽查它的評分是否靠譜,因為評分的模型也會出錯。

官方文檔還提到可以用 defaultTest 給所有用例加上共同的斷言。

七、放進日常流程

  1. 從真實問題裏攢用例。用戶實際問過的、之前出過錯的,各收幾條。十幾條就能開始,比憑空想的五十條有用;
  2. 每條用例寫清合格標準。寫不出標準的用例,說明你自己也沒想清楚要什麼;
  3. 改提示詞之前先跑一遍,記下當前結果作為基線;
  4. 每次只改一處,改完重跑,對比;
  5. 發現新的失敗案例就加進用例,用例集會越來越能代表真實情況;
  6. 換模型、模型升級時重跑。同一份提示詞在不同模型上的表現可能差很多。

README 提到它有實時重載和緩存,官方文檔裏也有接入 CI 的說明(包括一個 GitHub Action),可以讓每個拉取請求自動跑評測。

提示詞本身怎麼寫,見《系統提示詞怎麼寫》和《Few-shot 提示怎麼寫》。

常見問題

Q:跑一次要花多少錢?

取決於「提示詞數 × 模型數 × 用例數」和每次調用的長度,每個組合都是一次真實的接口調用。先用少量用例和便宜的模型把配置調通,再放開跑。

Q:能測本地模型嗎?

README 列出的可比較對象裏包括 Ollama。本地模型的搭建見《Ollama 怎麼用》。

Q:我的應用不是一條提示詞,而是一整條流程,能測嗎?

README 的說法是它適用於任何大模型接口和任何編程語言,可以把你自己的程序作為被測對象。具體接法見官方文檔裏關於自定義 provider 的部分。

Q:評測結果每次不一樣?

模型輸出本身有隨機性。關鍵用例可以多跑幾次看通過率,而不是隻看一次的結果。

參考資料

  • promptfoo/promptfoo(官方倉庫):https://github.com/promptfoo/promptfoo
  • Getting started(官方文檔):https://www.promptfoo.dev/docs/getting-started/
需要開通或續費?ChatGPT Plus 充值 →

Nathaniel 的更多內容

  1. 01

    AI 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    AI圖片放大與高清修復:Midjourney、ChatGPT、Gemini 怎麼出高解像度圖

    AI 生成的圖不夠清晰,想打印或做大圖怎麼辦?本文按官方文檔講清 Midjourney 的 Subtle / Creative 放大和 HD 直出、Gemini 與 ChatGPT 的解像度選項、Flow 的影片放大,以及「AI 放大會編造細節」的注意事項。

    Gemini其他 AI 工具0
  2. 02

    AI影片運鏡提示詞大全:推拉搖移跟升降、環繞、甩鏡怎麼寫(中英對照)

    AI 影片的運鏡提示詞怎麼寫?本文按 Google 官方影片提示指南整理鏡頭運動、機位角度、鏡頭光學效果三張中英對照表,每個術語配效果說明和例句,並給出組合運鏡的寫法和常見翻車原因,適用於 Veo、即夢、可靈等工具。

    Gemini其他 AI 工具0
  3. 03

    AI 影片翻譯怎麼做:用 ElevenLabs 給影片自動配音翻譯、轉寫並生成字幕

    想把一段影片翻譯成另一種語言並保留原聲音色?本文按 ElevenLabs 官方文檔講清 Dubbing 自動配音翻譯的操作步驟、文件限制、免費檔水印與計費方式,以及用 Speech to Text 轉寫、在字幕編輯器裏調整並導出字幕的流程。

    其他 AI 工具0
  4. 04

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0
  5. 05

    MCP 的 stdio、SSE 和 Streamable HTTP 有什麼區別:本地與遠程 MCP 怎麼選

    MCP 配置裏的 stdio、sse、http 到底差在哪?按 MCP 官方規範講清兩種標準傳輸方式的工作原理、Streamable HTTP 與舊的 HTTP+SSE 的關係、會話與斷線續傳、規範對安全的硬性要求,以及本地伺服器和遠程伺服器各適合什麼場景。

    Claude其他 AI 工具0
  6. 06

    Midjourney 可以商用嗎:作品歸屬、商用條件與隱身模式

    Midjourney 生成的圖片和影片能不能商用、版權歸誰、公司用要什麼套餐、作品會不會被別人看到?本文按 Midjourney 服務條款逐條解釋,並補充中美對 AI 生成圖片版權的官方 / 司法觀點。

    其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~