TruLens 智能体评测与追踪

用可移植追踪与可解释评测定位智能体质量和成本问题。

Star 数
★ 3.6k
最近更新
7 天前
License
MIT
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台OpenAI APIClaude API(部分支持)
开始前需要
piptrulensShell / 命令行网络访问MCP Server
典型场景
构建 RAG 应用的团队,需要在每次检索和回答后检查上下文相关性与 groundedness,并追溯低质量回答的具体步骤。
主要局限
材料未给出 Python 版本、凭据注入、环境变量或持久化后端配置,首次部署仍需补充这些信息。

这个 Agent 能做什么,适合哪些场景?

TruLens 是用于 LLM 实验和 AI 智能体的 Python 评测与追踪工具,而非自主执行任务的智能体。它以 OpenTelemetry 为基础,把函数调用、LLM 生成、检索和工具调用记录为结构化 span,并可导出到兼容 OTLP 的后端。评测既可在应用运行时内联执行,也可通过 Run API 对既有数据集进行批量计算。项目提供 LogicalConsistency、ExecutionEfficiency、PlanAdherence、PlanQuality、ToolSelection、ToolCalling 和 ToolQuality 七类智能体评测器。它支持 OpenAI、LiteLLM、Gemini、AWS Bedrock、Snowflake Cortex、HuggingFace 和 LangChain 模型,并提供 LangChain/LangGraph 与 LlamaIndex 集成包。

开发者使用 trulens.core.otel.instrument.instrument 装饰函数,并以 SpanAttributes.SpanType.RETRIEVAL 或 SpanAttributes.SpanType.MCP 等类型标注调用。TruLens 捕获输入、输出、延迟、token、成本、检索上下文、工具参数和工具输出等追踪数据;MCP 调用可记录工具名、参数、输出和延迟。随后可用 Metric 配合 Selector.select_record_input() 和 Selector.select_context() 将评测实现绑定到指定 span 属性。在线模式中,应用在 with tru_recorder as recording: 块内运行;离线模式中,使用 RunConfig、tru_app.add_run()、run.start() 和 run.compute_metrics() 对数据集调用评测指标。结果面向按应用版本比较分数、延迟和成本,以及将追踪导出至 Jaeger、Grafana Tempo、Datadog 或其他 OTLP 兼容后端。

  1. 构建 RAG 应用的团队,需要在每次检索和回答后检查上下文相关性与 groundedness,并追溯低质量回答的具体步骤。
  2. 维护 LangChain、LangGraph 或 LlamaIndex 工作流的工程师,需要为已有应用添加追踪与评测,而不重写整个应用。
  3. 开发会规划和调用工具的智能体团队,需要检查计划遵循度、工具选择、参数调用和执行效率。
  4. 拥有历史评测数据集的 ML 团队,需要用 RunConfig 创建批处理任务,并通过 run.compute_metrics() 重算多项指标。
  5. 已部署 OTLP 可观测性后端的平台团队,需要把 LLM、检索和 MCP 工具调用纳入现有 Jaeger、Tempo 或 Datadog 追踪体系。

如何安装或部署这个 Agent?

安装基础包:pip install trulens。评测使用 OpenAI 或 Azure OpenAI 时:pip install trulens trulens-providers-openai;使用 Anthropic 等 LiteLLM 模型时:pip install trulens trulens-providers-litellm。也可安装 trulens-providers-google、trulens-providers-bedrock、trulens-providers-cortex、trulens-providers-huggingface 或 trulens-providers-langchain;应用框架集成包为 trulens-apps-langchain 和 trulens-apps-llamaindex。提供的材料未说明 Python 版本、各提供商凭据或环境变量的配置方式。

如何使用这个 Agent?

在要观察的函数上添加 @instrument,并设置 span_type 和 SpanAttributes 映射;例如检索函数可使用 SpanAttributes.SpanType.RETRIEVAL,将查询映射到 "query"、返回上下文映射到 "return"。构建 Metric 时,用 selectors 将输入和上下文定位到记录中的字段。在线评测在 with tru_recorder as recording: 中执行应用调用;批量评测则创建 RunConfig,调用 tru_app.add_run(run_config=...)、run.start(),再调用 run.compute_metrics([relevance, groundedness])。提供的材料没有给出可独立运行的 tru_app、tru_recorder、provider、relevance 或 groundedness 初始化代码,因此无法据此构造完整的首个可运行调用。

这个 Agent 有哪些优点和局限?

优点
  • 以 OpenTelemetry span 记录函数、生成、检索和工具调用,可导出至 Jaeger、Grafana Tempo、Datadog 及其他 OTLP 后端。
  • 同时覆盖内联评测和基于 Run API 的离线批评测,适合实时监控与历史数据重算两种流程。
  • 提供七种针对智能体行为的评测器,明确覆盖计划、工具选择、工具调用、工具可靠性与执行效率。
  • 支持多家模型提供商,并为 LangChain/LangGraph 和 LlamaIndex 提供独立集成包。
局限
  • 材料未给出 Python 版本、凭据注入、环境变量或持久化后端配置,首次部署仍需补充这些信息。
  • 完整可运行示例依赖未展示的 tru_app、tru_recorder、provider 和指标对象初始化。
  • 不同模型服务商需要额外安装对应的 trulens-providers-* 包,功能路径和配置会随提供商而变化。
  • 若要在现有应用中获得细粒度追踪,需要为函数补充 @instrument 和 span 属性映射。

这个 Agent 与同类方案有什么区别?

在所列 AIMultiple RAG 评测比较中,TruLens 的 context relevance NDCG@5 被描述为在四项排序指标中的三项领先于 WandB Weave、RAGAS、DeepEval 和 UpTrain;这是一项特定基准结果,并不等同于所有工作负载中的总体优劣。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
TruLens 智能体评测与追踪 当前 51 · 缺口较多 ★ 3.6k 7 天前 Python OpenAI API
OpenInference 71 · 存在缺口 ★ 1.2k 2 天前 Python OpenAI API · Claude API
Langtrace 42 · 缺口较多 ★ 1.2k 10 个月前 TypeScript OpenAI API · Claude API
Future AGI 51 · 缺口较多 ★ 2.1k 1 天前 Python Claude Code · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
信任安全 11/29
可靠稳定 8/14
适用触发 10/18
规范维护 11/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

证据显示:项目使用OpenTelemetry进行追踪,数据流透明性较好(2分);但未发现权限最小化设计(1分),用户确认机制缺失(0分),敏感数据处理说明不足(1分),依赖安全审查不明确(1分),外部影响控制有限(1分),回滚机制未明确(1分),来源归属有版权声明但发布者未验证(2分)。扣分原因:缺少用户确认和权限最小化证据。

可靠稳定8 / 14 · 2.9/5

证据显示:项目结构一致,文档与代码示例匹配(2分);依赖声明完整,但未验证可用性(2分);失败消息未详细说明(1分)。扣分原因:失败处理文档不足。

适用触发10 / 18 · 2.8/5

证据显示:面向多种场景(RAG、Agent等),受众明确(2分);能力边界有说明(2分);触发精度一般(1分);环境适配良好(2分)。扣分原因:触发机制描述不精确。

规范维护11 / 18 · 3.1/5

证据显示:信息架构清晰(2分);安装说明详细(2分);命名稳定(2分);示例丰富(2分);已知限制提及较少(1分);许可证明确(3分);版本变更日志未提供(1分);维护责任有说明(2分)。扣分原因:缺少变更日志和已知限制。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性高(2分);边际价值明显(2分);成本效益分析不足(1分)。扣分原因:成本效益数据缺失。

证据核验4 / 8 · 2.5/5

证据显示:声明有引用(2分);跨来源验证有限(1分);事实与推断分离不明确(1分)。扣分原因:缺乏独立验证和明确区分。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 发布者身份未验证,需谨慎对待。
  • 未发现用户确认机制,可能自动执行操作。
  • 敏感数据处理细节不足,需审查。
  • 依赖安全未明确,需检查依赖漏洞。
  • 缺少变更日志,版本更新需谨慎。
证据充分度: 评估于 2026年8月9日 审查版本 4ae8ff5071b9 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

TruLens 会自己执行或编排我的智能体吗?
材料描述的是对应用调用进行追踪、评分和比较的工具;没有说明它会自主规划、执行任务或替代应用运行时。
能否使用 Anthropic 模型?
可以通过 trulens-providers-litellm 路径使用 LiteLLM,材料明确将 Anthropic 列为该路径涵盖的提供商之一。
是否必须使用 TruLens 自己的观测后端?
不是。其追踪以 OpenTelemetry 为基础,材料说明可导出到 Jaeger、Grafana Tempo、Datadog 或其他 OTLP 兼容后端。
MCP 工具调用能评测什么?
MCP span 可捕获工具名、参数、输出和延迟;智能体评测器还包含 ToolSelection、ToolCalling 和 ToolQuality。
安装后如何配置 API 密钥?
提供的材料列出了提供商安装包,但未说明密钥名称、环境变量或认证配置步骤。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents