traceAI
基于 OpenTelemetry 的开源 AI 可观测性框架,为 LLM、Agent、工具与检索调用生成标准化追踪,无需替换现有技术栈。
- Star 数
- ★ 266
- 最近更新
- 今天
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 69/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 运维/平台团队为已有 OpenAI 应用添加 LLM 调用追踪,而不改动业务代码
- 不适合
- 希望在 C# 中获得自动框架插桩的团队——C# 仅提供手动 Span
- 需要完全符合 OTel GenAI 规范某具体版本的团队
- 无法通过 OTLP 向任何后端导出遥测数据的应用
这个 Agent 能做什么,适合哪些场景?
traceAI 是 future-agi/traceAI 仓库提供的开源追踪框架(Apache 2.0 许可),以 OpenTelemetry 为原生基础,用于观测 AI 应用中的 LLM 调用、Agent、工具执行和检索过程。它以库/SDK 形式交付,覆盖 Python、TypeScript/JavaScript、Java、Go 和 C# 五种语言,并提供 79 个集成家族,包括 OpenAI、Anthropic、LangChain/LangGraph、LlamaIndex、Pinecone、MCP 等。插桩后,模型调用、检索和工具执行通过 OpenTelemetry Span 与上下文关联,使用 gen_ai.request.model、input.value 等语义属性,经标准 OTLP 导出器发送到你自己的后端或 Future AGI 平台。Python 和 TypeScript 还提供 FI_HIDE_INPUTS 等隐私环境变量控制哪些内容离开应用。核心价值在于:保留现有应用代码与可观测性栈,只在 SDK 边界插桩即可获得请求级追踪。
traceAI 通过各语言的 instrumentor、客户端包装器或中间件拦截已支持的 SDK 调用并生成 OpenTelemetry Span。Python 路径:pip 安装 fi-instrumentation-otel 与对应集成包(如 traceai-openai),调用 register() 获得 tracer provider,再用 OpenAIInstrumentor().instrument(tracer_provider=provider) 自动插桩,之后每次 chat.completions.create 都会产生嵌套的 agent/tool/chain/LLM Span,并记录模型名、输入输出和 token 用量。TypeScript 使用 @traceai/fi-core 的 register() 配合 @traceai/openai 的 OpenAIInstrumentation(ESM 下需 manuallyInstrument(OpenAI));Java 提供如 TracedOpenAIClient 的包装客户端;Go 提供 option.WithMiddleware(traceaiopenai.Middleware(...));C# 提供手动 Span API(tracer.Chain(...))。数据经 OTLP 导出至 Future AGI 或任何你配置的 OpenTelemetry 后端。
- 运维/平台团队为已有 OpenAI 应用添加 LLM 调用追踪,而不改动业务代码
- 使用 LangChain、CrewAI、Pydantic AI 等 Agent 框架的团队排查多 Span 请求中工具与检索的执行链路
- RAG 开发者追踪 LlamaIndex、Pinecone、Qdrant、pgvector 等检索管道的调用关系
- 需要在自有 OTLP 后端(非 Future AGI)收集 AI 遥测的团队,复用现有 OpenTelemetry 管道
- 对数据外发有合规要求的团队,用 FI_HIDE_INPUTS 等变量屏蔽输入输出、图片和嵌入向量
如何安装或部署这个 Agent?
pip install fi-instrumentation-otel traceai-openaiPython 快速路径需要 Python 3.10–3.13。其他语言:
npm install @traceai/fi-core @traceai/openai @opentelemetry/instrumentation openai@5<dependency>
<groupId>com.futureagi</groupId>
<artifactId>traceai-java-openai</artifactId>
<version>1.0.0</version>
</dependency>go get github.com/future-agi/traceAI/go/openai@latest
go get go.opentelemetry.io/otel/exporters/otlp/otlptrace/[email protected]dotnet add package fi-instrumentation-otel如何使用这个 Agent?
设置凭据后运行插桩过的应用:
export FI_API_KEY="your-futureagi-api-key"
export FI_SECRET_KEY="your-futureagi-secret-key"
export OPENAI_API_KEY="your-openai-api-key"
export OPENAI_MODEL="gpt-4.1"import os
from openai import OpenAI
from fi_instrumentation import register
from fi_instrumentation.fi_types import ProjectType
from traceai_openai import OpenAIInstrumentor
provider = register(project_name="traceai-quickstart", project_type=ProjectType.OBSERVE)
OpenAIInstrumentor().instrument(tracer_provider=provider)
try:
response = OpenAI().chat.completions.create(
model=os.environ["OPENAI_MODEL"],
messages=[{"role": "user", "content": "Say hello in one word."}],
)
print(response.choices[0].message.content)
finally:
provider.shutdown()调用完成后在 Future AGI 的 Observe 中查看 traceai-quickstart 项目;短生命周期进程退出前需 flush 或 shutdown provider。
这个 Agent 有哪些优点和局限?
- OpenTelemetry 原生:接受你自己的 tracer provider 和 OTLP 导出器,不锁定 Future AGI 后端
- 覆盖面广:79 个集成家族、5 种语言,包括 OpenAI Realtime、Google GenAI Live、MCP 等前沿集成
- 细粒度隐私控制:FI_HIDE_INPUTS、FI_HIDE_EMBEDDING_VECTORS 等环境变量在初始化前决定什么数据离开应用
- 可在标准属性(gen_ai.request.model、input.value 等)上读取实际的模型与用量信息
- 配置覆盖在语言间不一致:C# 仅有手动 Span API,不做自动框架插桩
- README 明确声明属性命名不承诺完全符合 OTel GenAI 规范的某个版本,规范演进时可能有迁移风险
- 包可用性不代表上游功能完整兼容,需逐个检查各包源码确认覆盖范围
- 内容捕获默认开启,若不主动配置屏蔽变量,敏感的提示词与输出会默认导出
这个 Agent 与同类方案有什么区别?
README 明确支持导入 OpenInference 与 OpenLLMetry 生成的既有遥测数据,说明 traceAI 与这些 OpenTelemetry 生态的追踪方案共存互通,可在同一 OTLP 管道中混用。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| traceAI 当前 | 69 · 存在缺口 | 代码库 / SDK免费 | ★ 266 | 今天 | Python | — |
| Langtrace | 42 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 1.2k | 11 个月前 | TypeScript | OpenAI API · Claude API |
| Laminar | 41 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 3.5k | 今天 | TypeScript | OpenAI API · Claude API |
| AgentSight | 77 · 存在缺口 | 命令行工具免费 | ★ 771 | 13 天前 | C | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示该框架仅在 SDK 边界注入 OpenTelemetry 追踪,不执行模型调用以外的操作,权限面较窄;默认却捕获全部 prompt/completion 并导出到未来 AGI 云端,属外部网络副作用且无需用户逐次确认,故 user_confirmation 与 least_privilege 扣分。敏感数据处理非常充分:TraceConfig 提供十余项隐藏开关、__REDACTED__ 替换、错误详情联动脱敏、Open WebUI 过滤器默认脱敏且对 TLS 环境变量做了隔离测试。依赖安全有 frozen lockfile、--ignore-scripts、无外网测试,但未见依赖漏洞扫描证据。rollback 完全未涉及(0)。版权声明指向 Future AGI, Inc.,发布者未经验证,attribution 扣 1 分。
文档与 CI 表现出良好自洽:注册顺序、shutdown 语义、错误状态处理在多语言间一致;但 installation.md 声称 Python 3.8+ 而 README 声称 3.10–3.13,存在版本声明漂移,自洽性扣分。依赖可用性靠 frozen 安装与离线矩阵测试支撑。错误处理文档详尽:error.type 分类、hide_error_details 三态行为均有明文,但未见运行验证,且错误消息仅从文档推断。
面向 Python/TypeScript/Java/Go/C# 五语言、79 个集成家族,受众与场景覆盖极广,给满。能力边界有诚实声明(C# 仅手动 span、'包可用不等于上游功能完全兼容'),但多数集成的实际覆盖范围只能靠逐包检查,扣分。触发精度体现在 instrumentation 需在客户端创建前注册、ESM 需手动 patch 等明确说明。环境适配靠环境变量与 OTLP 端点配置,但 Go 示例要求特殊压缩设置,普适性有限。
信息架构清晰:quickstart、集成表、配置、安全策略层次分明。安装说明完整但存在 Python 版本不一致(3.8+ vs 3.10–3.13)及 fi-instrumentation 与 fi-instrumentation-otel 包名混用,扣分。命名在各语言中稳定(traceai-*、@traceai/*)。示例极其丰富且附带验证脚本。已知限制有诚实标注但无集中章节。Apache-2.0 全文齐备,给满。未见 CHANGELOG,仅零散版本号(1.0.0、1.1.0),versioning 扣至 1。SECURITY.md 提供响应时限与范围,但维护者名单与更新路径未明。
输出是标准 OTel span,可对接任意 OTLP 后端并可用 InMemorySpanExporter 验证,可用性良好但最终呈现依赖外部平台截图,扣分。边际价值明显:以最小侵入为既有可观测栈增加 AI 语义 span 与评测标签。成本收益合理——追踪开销与 token/成本数据捕获被文档化,但无量化开销数据。
多数声明(包名、许可证、测试配置、脱敏行为)可在源文件内追溯,集成表逐项链接源码目录;但 '79 families' 与 '5 languages' 的全量核对超出所给文件,'真实 trace 截图' 的 provenance JSON 未见内容,扣分。文档、CI workflow 与测试文件相互印证(如 Open WebUI 测试详述环境变量隔离),交叉验证良好。事实与推断基本分离:如 'A dash means no dedicated framework package…not a promise of unsupported runtime behavior' 是明确的边界声明,但个别性能/兼容性声明仍是断言。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 默认将全部 prompt 与 completion 导出到未来 AGI 云端,生产使用前应立即配置 hide_inputs/hide_outputs 等脱敏项。
- 需要 FI_API_KEY/FI_SECRET_KEY,属对第三方云服务的账号与计费绑定;可自建 OTLP 导出器以避免锁定。
- 文档中 Python 版本要求不一致(3.8+ 与 3.10–3.13),以包元数据为准。
- 发布者身份未经企业注册库验证,供应链信任需自行评估(检查包签名与依赖锁定)。
- 本评估为静态源码审查,未执行任何代码;测试有效性未经验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
traceai-google-genai-live-v0.1.0 traceAI-google-genai-live 0.1.0
发布说明摘录
- New package: tracing for Gemini Live sessions opened with client.aio.live.connect on the Gemini Developer API (google-genai >=2.28,<3; tested on 2.31.0 and 2.28.0 with gemini-3.8-live). Gemini Live is a preview API: a field rename upstream is a floor and fixture update here, not a silent fallback. google-genai 3.0 removes Live.send / Live.start_stream, which this package never wrapped; pin below 3. - One trace per session: setup, user turns, model turns (model, tokens, transcription), tool …在 GitHub 查看 ↗ -
traceai-minimax-v0.1.0 traceAI-minimax 0.1.0
发布说明摘录
_This version has no CHANGELOG entry; see the commits since the previous tag._ Install: pip install traceAI-minimax==0.1.0在 GitHub 查看 ↗ -
traceai-agentscope-v0.1.0 traceAI-agentscope 0.1.0
发布说明摘录
_This version has no CHANGELOG entry; see the commits since the previous tag._ Install: pip install traceAI-agentscope==0.1.0在 GitHub 查看 ↗