记忆点:选框架不是选最好的,而是选最适合当前团队规模和技术栈的。
💡 答案要点
Prompt Evaluation 框架选型的关键维度:
┌──────────────────────────────────────────────────────────────┐
│ 选型 Checklist: │
│ 1. 团队规模:单人 vs 多人协作 │
│ 2. 技术栈:LangChain / 自建 / 多框架混合 │
│ 3. CI/CD 集成:是否需要 GitHub Actions / GitLab CI 等 │
│ 4. 云端 vs 本地:是否接受 SaaS,还是需要私有部署 │
│ 5. 预算:免费够用还是愿意为 Enterprise 付费 │
│ 6. 合规性:GDPR / 等保是否需要数据不出境 │
└──────────────────────────────────────────────────────────────┘主流框架横向对比
| 维度 | LangSmith | Braintrust | Promptfoo | Confident AI | Giskard |
|---|---|---|---|---|---|
| 定位 | 全链路观测+评测 | 云端协作者+Eval | CLI/OSS 回归测试 | 端到端 Mgmt+Monitor | Red team+Eval |
| 开源 | 否(SaaS) | 否(SaaS) | ✅ 完全开源 | 部分开源 | ✅ 开源+商业 |
| CI/CD | ⚠️ 需 SDK | ❌ | ✅ 原生 CLI | ✅ Git同步 | ✅ SDK+CLI |
| Prompt Mgmt | ✅ Prompt Hub | ✅ 编辑+版本 | ❌ YAML only | ✅ 编辑器+分支 | ❌ |
| Evals | LLM-as-judge | Rubric+Pairwise | Config-driven | Live Monitor | Adversarial |
| Trace/Debug | ✅ 全链路 | ✅ 实验对比 | ❌ | ✅ 生产观察 | ✅ Agent tracing |
| 自托管 | ✅ (Cloud only) | ❌ | ✅ | ❌ | ✅ |
| 适用场景 | LangChain 栈 | 产品+工程协作 | OSS/DevOps | 生产监控 | Red Team |
选型推荐路径
团队规模 < 5 人 + 预算有限 → Promptfoo (OSS)
团队有 DevOps 流程 → Promptfoo + GitHub Actions
用 LangChain → LangSmith(生态绑定紧密)
产品经理参与 Prompt 迭代 → Braintrust / Confident AI
需要合规审计 → Giskard (adversarial red teaming)
大规模生产监控 → Confident AI / LangWatchPromptfoo 实战示例(CLI-first,适合个人开发者)
yaml
# promptfooconfig.yaml
datasets:
- id: customer-service-golden-set
description: "客户服务质量测试集"
columns:
- query
- expected_response
- expected_keywords
prompts:
- file://prompts/customer_v1.md
- file://prompts/customer_v2.md
providers:
- id: openai:gpt-4o
- id: anthropic:claude-sonnet-4-5
tests:
- vars:
query: "我想退款,已经收到货三天了"
assert:
- type: contains
value: "退款"
- type: llm-rubric
value: "态度友好且有明确的退款指引"bash
# 一键回归测试
$ promptfoo eval --config promptfooconfig.yaml
$ promptfoo live # 实时测试
$ promptfoo share # 分享结果给团队面试话术:
"选型的话,我们团队当时是从小做起,先用 Promptfoo 做回归测试,后来扩到 10 人加了 LangSmith 做 trace 和协同。如果你问我怎么选——关键看两点:一是团队有没有 CI/CD 意识,有的话 Promptfoo 就够了;二是产品会不会介入 Prompt 迭代,会的话 Braintrust 的产品友好度更好。最后别忘记:工具再好也只是辅助,建立自己的黄金评测集和评估 rubric 才是根本。"
速记卡片更新:
| 新加入的概念 | 一句话解释 |
|---|---|
| Dynamic Few-Shot | 运行时语义检索最相关示例作为 demonstrations |
| Constrained Decoding | 基于 CFG/Regex 的 token 级语法约束,不依赖模型能力 |
| Safety Guardrails | 独立于模型的四层安全防护体系(输入/输出/检测/审计) |
| Composable Prompts | 模块化 Prompt 组件,每个独立可测试、热替换 |
| Prompt Versioning | Git 式版本控制 Prompt,支持回滚和漂移检测 |
| Prompt Drift | Prompt 性能随时间或环境变化的退化现象 |
| Framework Comparison | LangSmith / Braintrust / Promptfoo 各有侧重,按需选用 |