Promptfoo
記事状態: 公開 · 最終確認: 2026-10-20
要点
PromptfooはLLM/AIアプリの評価・red-teamを構成可能なOSS harnessである。pass/failやred-team scoreは、固定したtest 検索対象の文書群、assertion、grader、対象、Promptfoo バージョン、plugin/strategyの範囲で得られた観測であり、品質・安全性・法令適合・本番SLOの包括保証ではない。機密用途では実際のegressと配備 modeを確認する。
現在の判断
PromptfooはLLM/AIアプリの評価・red-teamを構成可能なOSS harnessである。pass/failやred-team scoreは、固定したtest 検索対象の文書群、assertion、grader、対象、Promptfoo バージョン、plugin/strategyの範囲で得られた観測であり、品質・安全性・法令適合・本番SLOの包括保証ではない。機密用途では実際のegressと配備 modeを確認する。
どこまで当てはまるか
Promptfoo
詳しく理解する
要点と前提
Promptfooは、LLM/AIアプリケーションの評価とred teamingを自動化するOSSのCLI/ライブラリである。企業運用では「評価が通った」という結果だけを見るのではなく、対象、test 検索対象の文書群、assertion、grader、Promptfoo バージョン、提供元/モデル 改訂版、red-team plugin/strategy、data flowを固定した再現可能な証拠として扱う。
2026年10月20日時点でauthor-maintained repositoryの公開・提供 manifestとGitHub Releasesは0.124.1を示す。0.124.0(2026-10-06)では提供元が管理する ChatKit 提供元削除や複数SDK/提供元のopt-in化などbreaking changesが入り、0.124.1(2026-10-08)ではassertion gradingや提供元関連の修正・追加が続いている。評価harness自体の変更が実行 pathやscoreへ影響し得るため、結果成果物にはPromptfoo バージョンを固定する。
評価結果の意味
Promptfooは決定論的assertionとmodel-graded 評価を同じsuiteに組み込めるが、両者は同じ証拠ではない。JSON/データ形式の定義/equality/regex等の決定論的判定は固定入力に対して比較的再現しやすい。一方、LLM-as-judge等のmodel-graded判定はgrader モデル、提供元、rubric、threshold、sampling、提供元側更新の影響を受ける。
CI 確認・承認の条件では少なくとも、決まった規則に従う assertionのpass/fail、model-graded assertionのscore/pass/fail、提供元/transport/実行環境 error、skipped/unsupported case、対象 モデル、grader モデル、Promptfoo バージョン、検索対象の文書群/設定 hashを分離して記録する。
greenになったsuiteは「その構成・そのtest envelopeで合格した」という観測であり、品質、安全性、法令適合、本番SLOの包括保証ではない。
Red teamの境界
Promptfooのred teamingはplugin、strategy、対象、attack generation、gradingを組み合わせる。結果は選択したplugin/strategy、attempt数、生成モデル、grader、対象 interface、生成検索対象の文書群に依存する。
したがって「red teamで脆弱性が見つからなかった」を「脆弱性がない」と表現しない。未選択plugin、未探索attack path、multi-turn条件、ツール/RAG権限、production-only 文脈・入力情報は別の失敗 envelopeとして残す。
比較時はplugin/strategy set、generated 検索対象の文書群、対象 バージョン、grader、attempt limitを固定または差分記録する。構成を変えた前後の単純なpass rate差をモデル品質差へ直結させない。
セキュリティとプライバシー
Promptfooのrepositoryはローカル環境の 評価を主要特性として掲げるが、実際のdata 適用限界は対象/提供元構成に依存する。外部LLM APIを対象またはgraderとして使えば、その入力は当該提供元へ送られる。Cloud共有、提供元が管理する機能、稼働状況の記録等を利用する構成も、単にCLIをローカル環境の起動したことだけでは閉域と判定できない。
機密用途では、対象、generation、grading、埋め込み/moderation、稼働状況の記録、update check、Cloud機能のegressを個別にinventoryし、network observationで結果の照合する。promptや評価fixtureへ本番認証情報や実顧客データを無条件投入しない。
現行性とバージョン pin
0.124.0では提供元/dependency構成にbreaking changesが入った。0.124.1でもassertion処理のbug fixや提供元追加が行われている。このため旧調査時点の0.123.1をlatestとして固定し続けない。
CIではバージョン pinとupgrade regressionを分離する。upgrade時は同一検索対象の文書群、同一対象/grader条件で旧バージョンと新バージョンを比較し、harness変更によるscore drift、提供元 loading、assertion semantics、error classificationの差を確認する。
author-maintained repositoryは現在、PromptfooがOpenAIの一部になったことと、OSS/MIT licensingを継続することを掲示している。これは組織所有関係の変更であり、個別提供元の独立性、将来roadmap、契約条件を推測する根拠にはしない。
実装・運用
- Promptfoo バージョンをlockfile/container imageと結果成果物へ記録する。
- 対象 モデル/提供元 改訂版、grader、prompt/設定、test 検索対象の文書群、assertion threshold、red-team plugin/strategyをversioned 成果物として保存する。
- 決まった規則に従う assertionとmodel-graded assertionを別集計する。
- 提供元 error、処理待ち時間の上限、利用回数・処理量の上限、grader errorを品質失敗と混同しない。
- red-team generated 検索対象の文書群を保存し、filtered rerunで分母が変わった場合は別実行として扱う。
- 外部/提供元が管理する 推論を許可する環境と閉域環境を分離し、egress destinationを観測する。
- 稼働状況の記録/update check/Cloud sharingを組織policyに応じて明示設定・検証する。
- upgrade時は同一検索対象の文書群でregressionを実施し、harness変更によるscore driftを確認する。
- custom JS/Python 提供元/assertion等の実行コードは通常のsupply-chain/code-review対象として扱う。
- 評価成果物に実行日時、設定/検索対象の文書群 hash、対象/grader識別子を残す。
出典 / 出典・来歴
- promptfoo/promptfoo, author-maintained GitHub repository, 参照日 2026-10-20: https://github.com/promptfoo/promptfoo
- promptfoo/promptfoo Releases, 0.124.1 (2026-10-08), 0.124.0 (2026-10-06), 参照日 2026-10-20: https://github.com/promptfoo/promptfoo/releases
- promptfoo/promptfoo
.release-please-manifest.json, main shows 0.124.1, 参照日 2026-10-20. - Existing EA-175 formal supplement/出典・来歴: Drive document 1Pex_pGEmYlGDAdgBZ_hxXc1a-PjS-PlRZ-KRJfKBO_w; prior research as-of 2026-09-29.
よくある失敗・反証
評価harnessをバージョン固定しても、grader モデルや対象 提供元が外部サービスで継続更新される場合、完全なbit-for-bit再現性は保証できない。必要に応じてresponse fixture、モデル snapshot/改訂版、提供元 改訂版、実行日時を保持する。
公式repositoryや公開・提供 noteは製品機能と変更履歴の主要根拠になるが、Promptfooが他の評価 frameworkより高い脆弱性検出率や判定妥当性を持つことを独立に証明するものではない。DeepEval、RAGAS、Inspect AI等との比較は同一検索対象の文書群・grader・評価指標条件で別途評価する。
実務での使い方
0.124.0では提供元/dependency構成にbreaking changesが入った。0.124.1でもassertion処理のbug fixや提供元追加が行われている。このため旧調査時点の0.123.1をlatestとして固定し続けない。
CIではバージョン pinとupgrade regressionを分離する。upgrade時は同一検索対象の文書群、同一対象/grader条件で旧バージョンと新バージョンを比較し、harness変更によるscore drift、提供元 loading、assertion semantics、error classificationの差を確認する。
author-maintained repositoryは現在、PromptfooがOpenAIの一部になったことと、OSS/MIT licensingを継続することを掲示している。これは組織所有関係の変更であり、個別提供元の独立性、将来roadmap、契約条件を推測する根拠にはしない。
まだ確認できていないこと
- EA-175-UNKNOWN-01
- Enterprise契約/SLA、組織の利用環境固有の保持期間・保持方針、RBAC、region、裏付け条件。
- 提供元が管理する/Cloud機能のバージョン別data-flow matrix。
- 各graderのorganization-specificな妥当性とinter-rater agreement。
- DeepEval、RAGAS、Inspect AI等との同条件での独立比較。
- 対象/提供元側の非公開更新が長期score比較へ与える影響。
根拠資料
- 研究資料研究資料
promptfoo/promptfoo, author-maintained GitHub repository, 参照日 2026-10-20:
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
- 研究資料研究資料
promptfoo/promptfoo Releases, 0.124.1 (2026-10-08), 0.124.0 (2026-10-06), 参照日 2026-10-20:
確認上の限界
元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
更新履歴
EA-175-V21-LEGACY-MIGRATION-20261003-R1: 正式な 監査/publication 対応付け
出典ID・検証情報・機械可読データ
根拠の種類と情報の鮮度は、ラベルとアイコンで確認できます。
- 記事ID
- EA-175
- 最終確認日
- 2026-10-20
- 提供元・モデル・プラン・利用環境
- —
- 対象地域
- —
元資料の全文と収録照合記録
要点と前提
Promptfooは、LLM/AIアプリケーションの評価とred teamingを自動化するOSSのCLI/ライブラリである。企業運用では「評価が通った」という結果だけを見るのではなく、target、test corpus、assertion、grader、Promptfoo version、provider/model revision、red-team plugin/strategy、data flowを固定した再現可能な証拠として扱う。
2026年10月20日時点でauthor-maintained repositoryのrelease manifestとGitHub Releasesは0.124.1を示す。0.124.0(2026-10-06)ではhosted ChatKit provider削除や複数SDK/providerのopt-in化などbreaking changesが入り、0.124.1(2026-10-08)ではassertion gradingやprovider関連の修正・追加が続いている。評価harness自体の変更がexecution pathやscoreへ影響し得るため、結果artifactにはPromptfoo versionを固定する。
評価結果の意味
Promptfooは決定論的assertionとmodel-graded evaluationを同じsuiteに組み込めるが、両者は同じ証拠ではない。JSON/schema/equality/regex等の決定論的判定は固定入力に対して比較的再現しやすい。一方、LLM-as-judge等のmodel-graded判定はgrader model、provider、rubric、threshold、sampling、provider側更新の影響を受ける。
CI gateでは少なくとも、deterministic assertionのpass/fail、model-graded assertionのscore/pass/fail、provider/transport/runtime error、skipped/unsupported case、target model、grader model、Promptfoo version、corpus/config hashを分離して記録する。
greenになったsuiteは「その構成・そのtest envelopeで合格した」という観測であり、品質、安全性、法令適合、本番SLOの包括保証ではない。
Red teamの境界
Promptfooのred teamingはplugin、strategy、target、attack generation、gradingを組み合わせる。結果は選択したplugin/strategy、attempt数、生成model、grader、target interface、生成corpusに依存する。
したがって「red teamで脆弱性が見つからなかった」を「脆弱性がない」と表現しない。未選択plugin、未探索attack path、multi-turn条件、tool/RAG権限、production-only contextは別のfailure envelopeとして残す。
比較時はplugin/strategy set、generated corpus、target version、grader、attempt limitを固定または差分記録する。構成を変えた前後の単純なpass rate差をモデル品質差へ直結させない。
Data flow / privacy
Promptfooのrepositoryはlocal evaluationを主要特性として掲げるが、実際のdata boundaryはtarget/provider構成に依存する。外部LLM APIをtargetまたはgraderとして使えば、その入力は当該providerへ送られる。Cloud共有、hosted機能、telemetry等を利用する構成も、単にCLIをlocal起動したことだけでは閉域と判定できない。
機密用途では、target、generation、grading、embedding/moderation、telemetry、update check、Cloud機能のegressを個別にinventoryし、network observationでreadbackする。promptや評価fixtureへ本番credentialや実顧客データを無条件投入しない。
Currentnessとversion pin
0.124.0ではprovider/dependency構成にbreaking changesが入った。0.124.1でもassertion処理のbug fixやprovider追加が行われている。このため旧調査時点の0.123.1をlatestとして固定し続けない。
CIではversion pinとupgrade regressionを分離する。upgrade時は同一corpus、同一target/grader条件で旧versionと新versionを比較し、harness変更によるscore drift、provider loading、assertion semantics、error classificationの差を確認する。
author-maintained repositoryは現在、PromptfooがOpenAIの一部になったことと、OSS/MIT licensingを継続することを掲示している。これは組織所有関係の変更であり、個別providerの独立性、将来roadmap、契約条件を推測する根拠にはしない。
具体的control / implementation implication
- Promptfoo versionをlockfile/container imageと結果artifactへ記録する。
- target model/provider revision、grader、prompt/config、test corpus、assertion threshold、red-team plugin/strategyをversioned artifactとして保存する。
- deterministic assertionとmodel-graded assertionを別集計する。
- provider error、timeout、rate limit、grader errorを品質failureと混同しない。
- red-team generated corpusを保存し、filtered rerunで分母が変わった場合は別runとして扱う。
- external/hosted inferenceを許可する環境と閉域環境を分離し、egress destinationを観測する。
- telemetry/update check/Cloud sharingを組織policyに応じて明示設定・検証する。
- upgrade時は同一corpusでregressionを実施し、harness変更によるscore driftを確認する。
- custom JS/Python provider/assertion等の実行コードは通常のsupply-chain/code-review対象として扱う。
- 評価artifactに実行日時、config/corpus hash、target/grader識別子を残す。
Counterevidence / limitations
評価harnessをversion固定しても、grader modelやtarget providerが外部サービスで継続更新される場合、完全なbit-for-bit再現性は保証できない。必要に応じてresponse fixture、model snapshot/revision、provider revision、実行日時を保持する。
公式repositoryやrelease noteは製品機能と変更履歴の主要根拠になるが、Promptfooが他のevaluation frameworkより高い脆弱性検出率や判定妥当性を持つことを独立に証明するものではない。DeepEval、RAGAS、Inspect AI等との比較は同一corpus・grader・metric条件で別途評価する。
OPEN_UNKNOWN
- Enterprise契約/SLA、tenant固有のretention、RBAC、region、support条件。
- hosted/Cloud機能のversion別data-flow matrix。
- 各graderのorganization-specificな妥当性とinter-rater agreement。
- DeepEval、RAGAS、Inspect AI等との同条件での独立比較。
- target/provider側の非公開更新が長期score比較へ与える影響。
SAFE_WORDING
PromptfooはLLM/AIアプリの評価・red-teamを構成可能なOSS harnessである。pass/failやred-team scoreは、固定したtest corpus、assertion、grader、target、Promptfoo version、plugin/strategyの範囲で得られた観測であり、品質・安全性・法令適合・本番SLOの包括保証ではない。機密用途では実際のegressとdeployment modeを確認する。
Source / provenance
- promptfoo/promptfoo, author-maintained GitHub repository, accessed 2026-10-20: https://github.com/promptfoo/promptfoo
- promptfoo/promptfoo Releases, 0.124.1 (2026-10-08), 0.124.0 (2026-10-06), accessed 2026-10-20: https://github.com/promptfoo/promptfoo/releases
- promptfoo/promptfoo
.release-please-manifest.json, main shows 0.124.1, accessed 2026-10-20. - Existing EA-175 formal supplement/provenance: Drive document 1Pex_pGEmYlGDAdgBZ_hxXc1a-PjS-PlRZ-KRJfKBO_w; prior research as-of 2026-09-29.
EVD-EA-175-URL-BAF9CBCDF7E1研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCEpromptfoo/promptfoo, author-maintained GitHub repository, accessed 2026-10-20:
- 裏付ける内容
- —
- 確認日
- —
- 出典・実験ID
- SRC-EA-175-URL-BAF9CBCDF7E1
- 検証箇所
- Source / provenance · - promptfoo/promptfoo, author-maintained GitHub repository, accessed 2026-10-20: https://github.com/promptfoo/promptfoo
- 適用範囲
- Source / provenance
- 出典・来歴
- SOURCE_PACKET_REFERENCE_PROJECTED
- 限界
- 元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
EVD-EA-175-URL-883E1BCACE6B研究資料研究資料根拠の出所: SOURCE_PACKET_REFERENCEpromptfoo/promptfoo Releases, 0.124.1 (2026-10-08), 0.124.0 (2026-10-06), accessed 2026-10-20:
- 裏付ける内容
- —
- 確認日
- —
- 出典・実験ID
- SRC-EA-175-URL-883E1BCACE6B
- 検証箇所
- Source / provenance · - promptfoo/promptfoo Releases, 0.124.1 (2026-10-08), 0.124.0 (2026-10-06), accessed 2026-10-20: https://github.com/promptfoo/promptfoo/releases
- 適用範囲
- Source / provenance
- 出典・来歴
- SOURCE_PACKET_REFERENCE_PROJECTED
- 限界
- 元の監査済み資料に記載された参照先です。URLの復元は、資料の最新性や全主張の支持を新たに検証したことを意味しません。
EA-175-CURRENT-APPROVAL研究資料研究資料根拠の出所: AUDITED_CANONICAL_RESEARCH_PACKET現行本文の監査・revision対応
- 裏付ける内容
- 現行台帳のAUDIT_PASSと候補・revision・本文ハッシュの対応を確認しています。
- 確認日
- —
- 出典・実験ID
- EA175-CANDIDATE-20261020-1433JST-C1
- 検証箇所
- 1KqhJtiSb2S84rWmeYVwKcT_76dBwZ_B0ZZuAWQqH0rQ/EA_REVISION_LEDGER#ea_id=EA-175&revision_id=EA-175-V21-LEGACY-MIGRATION-20261003-R1&candidate_id=EA175-CANDIDATE-20261020-1433JST-C1 · EA-175-V21-LEGACY-MIGRATION-20261003-R1
- 適用範囲
- —
- 出典・来歴
- CURRENT_CANONICAL_APPROVAL_READBACK
- 限界
- 監査状態と来歴の記録です。外部根拠の最新性や本文の全主張を追加保証しません。
EA-175-CURRENT-BODY-READBACK実装資料実装資料根拠の出所: IMPLEMENTATION_READBACK現行本文の収録照合
- 裏付ける内容
- 公開生成入力の本文SHA-256が、監査済み候補に結び付いたハッシュと一致しています。
- 確認日
- 2026-10-20
- 出典・実験ID
- BODY-SHA256:8664df5620867c3f704de265e06335e14373bd1b64d9bc5ef98da0be110bf2f7
- 検証箇所
- content/staging/EA-175.md · 8664df5620867c3f704de265e06335e14373bd1b64d9bc5ef98da0be110bf2f7 · EA-175-V21-LEGACY-MIGRATION-20261003-R1
- 適用範囲
- —
- 出典・来歴
- CURRENT_APPROVED_BODY_HASH_MATCH
- 限界
- 本文の同一性の検査です。外部システムの挙動や全主張の真偽を実証したものではありません。
- 出典ID
- EA175-CANDIDATE-20261020-1433JST-C1, SRC-EA-175-URL-BAF9CBCDF7E1, SRC-EA-175-URL-883E1BCACE6B, BODY-SHA256:8664df5620867c3f704de265e06335e14373bd1b64d9bc5ef98da0be110bf2f7
- 追跡中のUNKNOWN ID
- EA-175-UNKNOWN-01
- 再確認のきっかけ
- 正式な 改訂版/publication 状態 change · 本文 成果物 hash change · 出典 現行性 change · new contradiction or 実装 結果の照合
機械検査: 通過 — 機械検査の結果です。情報の正確性や実行の承認を保証するものではありません。
同じ記事IDの機械可読データです。