首页 › new-tools › Agent翻车没日志?三款免费体检仪

Agent翻车没日志?三款免费体检仪

先说一个扎心的观察:国内做 Agent 项目的团队,十有八九的“调优”流程是这样的——改一版 prompt,自己在对话框里点两下,感觉不错就上线,三天后用户骂翻了,谁也说不清是哪次改动惹的祸。而海外认真做 LLM 应用的团队,早就不这么干了。他们把 prompt 当代码管:每次改动跑一遍“单元测试”,线上每个请求都有全链路 trace,成本、延迟、失败率一张面板看穿。支撑这套玩法的是三款几乎全免费的开源工具:promptfoo、Langfuse、Arize Phoenix。中文圈至今没有像样的系统教程,这就是典型的认知差——工具全在 GitHub 上摆着,Star 一年比一年高,国内教程却还停留在“怎么写好提示词”。这篇文章帮你把信息差一次补齐:它们是干什么的、怎么接入你的项目、和国内常见做法差在哪,读完就能动手。

说明:本文所有价格与功能以各工具官网实时页面为准(文末附链接),文中不标具体价格数字的,均因各档位随版本变动较快,请以官方页面确认。

一、promptfoo:给 prompt 上“单元测试”

官网:https://promptfoo.dev 仓库:https://github.com/promptfoo/promptfoo 价格:开源免费,本地运行;面向企业的红队云服务单独收费(以官网为准)

promptfoo 是一个 Node 生态的命令行工具,定位非常清晰:把 prompt 和 Agent 的评测做成跑测试。你用一个 YAML 文件声明“测试用例 + 断言”,然后一条命令,它会把你的 prompt 在多个模型、多个版本上并行跑一遍,输出一张对比矩阵——哪版在哪条用例上退步了,一目了然。

核心能力拆开看:

  1. 断言体系。可以断言输出包含某关键词、符合某个 JSON Schema、语义相似度超过阈值,甚至用 llm-rubric 让另一个模型当裁判给输出打分——这意味着你不用先花钱人工标注几千条数据,就能搭起一个能用的回归测试集。
  2. Side-by-side 对比。同一个测试集,同时跑 GPT 系、Claude 系、开源模型,输出矩阵直接看哪个性价比最高。换供应商前先跑一遍,比拍脑袋靠谱得多。
  3. 红队扫描(red team)。一条命令对你的应用发起越狱、提示注入、PII 泄漏等攻击测试,生成风险报告。对出海团队来说,这一项几乎就是合规审查的前置体检。
  4. CI 集成。评测可以塞进 GitHub Actions,每次改 prompt 自动跑,退步就挂掉构建。从此“改一句 prompt 毁一个场景”的事故在上线前就被拦下。

和国内常见做法的差距:国内团队大多靠“手工点测 + 表格记录用例”,或者在 Dify 这类平台里做简单的标注调试,缺的正是“把评测固化成测试集、进 CI、可回归”这一层。promptfoo 恰好只补这一层,侵入性极低——不绑架你的框架,你用 LangChain、自己裸写还是 Dify 编排都行。

适用人群:prompt 迭代频繁的应用开发者、要给客户交付 AI 功能的外包团队(评测报告就是验收材料)、准备出海需要做安全合规扫描的团队。

上手只要三步:npm install -g promptfoo 初始化项目;在 promptfooconfig.yaml 里写几条用例和断言;promptfoo eval 跑完用 promptfoo view 打开本地网页看结果。半小时能跑通第一条流水线。

二、Langfuse:Agent 的“行车记录仪”

官网:https://langfuse.com 仓库:https://github.com/langfuse-ai/langfuse 价格:开源可自托管(免费);官方云版有免费档,超出按量计费(额度以官网为准)

如果说 promptfoo 管“上线前”,Langfuse 管的就是“上线后”。它是一个开源的 LLM 可观测平台:你的应用里嵌一个 SDK(Python/TS 都是几行代码),之后每一次调用的完整链路——输入、输出、中间步骤、token 消耗、成本、延迟——全部自动记录成 trace,在网页面板里可以像看调用栈一样一层层展开。

对 Agent 应用这几乎是刚需。一个多步 Agent 十几次工具调用串在一起,用户反馈“答非所问”,没有 trace 你根本不知道是检索环节没召回了,还是工具返回格式崩了,还是最后一步模型理解歪了。Langfuse 把这条黑盒链路拆开给你看。

除了 trace,它还有三块常被忽略的能力:

  1. 成本面板。按模型、按用户、按功能维度统计花费。多少团队上线一个月才发现账单结构和自己想的完全不一样。
  2. 数据集与评测。线上抓到的坏样本可以一键存进数据集,回头喂给评测流程——这就和 promptfoo 形成了闭环:线上发现问题,回填测试集,改完跑回归再上线。
  3. Prompt 管理。prompt 版本化托管在平台上,带打标和回滚,改版不再靠“复制一份 v7_final_真的final.txt"。

和国内常见做法的差距:国内玩得多的 One API 这类网关,解决的是 key 池化和记账,管的是“钱”,不管“质量”;自建方案大多停留在打日志进 ELK,查问题时在几万行日志里捞。Langfuse 是专门为 LLM 链路设计的数据模型(生成式 trace、评分、数据集),查询和展示都是开箱即用。自托管版 data 不出内网,企业放心。

适用人群:已上线或即将上线 LLM 功能的团队、需要向老板汇报成本和成功率的技术负责人、做私有化交付需要在客户内网部署观测能力的服务商。

接入路径:云版注册即用;自托管用官方 docker compose 一键起。应用侧 pip install langfuse,初始化两行环境变量,LangChain、LlamaIndex 等主流框架有现成回调集成,基本零改造。

三、Arize Phoenix:把 OpenTelemetry 搬进 LLM 世界

官网:https://arize.com/phoenix/ 仓库:https://github.com/Arize-ai/phoenix 价格:开源免费,本地运行

Phoenix 是老牌机器学习观测公司 Arize 开源的项目,最大的特色是站在了开放标准这一边:它采用 OpenTelemetry 生态的约定来定义 LLM trace(OpenInference 规范),而不是造私有格式。这意味着你接它的时候,用的就是业界通用的 tracing 协议,将来换后端、或者多家观测工具并存,都不被锁死。

它本地一条命令就能拉起一个带 UI 的服务(具体命令以官方 quickstart 为准),然后:

  1. 全链路 trace。和 Langfuse 同类,嵌 SDK 或直接对接 OpenTelemetry collector 都可以。
  2. 内置 evals。自带一批评测器,比如幻觉检测、问答正确性、检索相关性,用模型当裁判对 trace 里的真实流量批量打分——相当于让你的“线上日志”自己告诉你哪些回答有问题,不用人肉抽查。
  3. Embedding 可视化。把检索场景的向量和检索结果投到二维图上,肉眼看出“哪批文档把检索带偏了”,这个能力在排查 RAG 质量问题时非常直观。

和前两款的分工:很多海外团队的组合拳是——promptfoo 守 CI,Phoenix 或 Langfuse 二选一守线上。如果你看重开放标准、想在自有 OTel 体系里平滑接入,Phoenix 顺手;如果你更看重产品化的数据集管理和 prompt 版本管理,Langfuse 更省心。两者都开源,先各试半天再定也不亏。

适用人群:已经有 OpenTelemetry 基础设施的公司、RAG 重度团队(embedding 可视化是独特卖点)、想要本地化、零成本的评测入门玩家。

番外:还有两个名字记一下

三件套在你架构里的位置

flowchart LR
    U["用户请求"] --> APP["你的 Agent 应用"]
    APP -->|API 调用| LLM["大模型服务"]
    APP -->|trace 上报| LF["Langfuse 或 Phoenix"]
    LF -->|坏样本入库| DS["评测数据集"]
    CI["CI 流水线"] -->|每次提交自动跑| PF["promptfoo 评测"]
    DS -->|喂给回归测试| PF
    PF -->|回归报告| DEV["工程师"]
    DEV -->|修复后上线| APP

推荐的上手顺序

flowchart TD
    A["装 Helicone 记原始日志"] --> B["装 promptfoo 攒测试集"]
    B --> C["进 CI 防回归"]
    C --> D["上 Langfuse 或 Phoenix 看线上"]
    D --> E["坏样本回填测试集"]
    E --> B

信息差总结

你以为 海外团队实际在做
prompt 调顺手就能上线 prompt 是代码,改动必须过测试集
排查问题靠翻日志 全链路 trace,每层输入输出可见
评测得先花钱标数据 llm-rubric 让模型当裁判,冷启动零标注
红队测试是安全公司的事 一条命令扫越狱和提示注入,进 CI 常态化
观测平台必须自研 三款开源工具覆盖 90% 场景,零成本起步

行动指南

  1. 今天(30 分钟):全局装好 promptfoo,把你项目里最关键的 10 条用户问法写成测试集,跑出第一份对比矩阵。
  2. 本周(半天):注册 Langfuse 云版或 docker 起一个自托管实例,给你的应用嵌上 SDK,观察三天真实流量的成本和延迟分布。
  3. 下周(1 天):把评测接入 CI,规则定为“关键用例退步即阻断合并”;用 Langfuse 数据集功能把线上坏样本自动回填。
  4. 本月:跑一次 promptfoo red team,把越狱和注入类风险项列成清单逐条修,出海团队顺手留档当合规材料。

参考来源


本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入