Laminar
为 AI Agent 提供追踪、评测、信号告警与调试查询的一体化可观测平台。
这个 Agent 能做什么,适合哪些场景?
Laminar 是面向 AI Agent 的开源可观测平台,覆盖追踪、Signals、Evals、仪表盘和数据集标注。它提供 OpenTelemetry 原生 SDK,可自动追踪 Vercel AI SDK、Browser Use、Stagehand、LangChain、OpenAI、Anthropic 和 Gemini 等调用。平台可通过 MCP 或 CLI 让编码 Agent 以 SQL 查询 traces、spans、metrics 和 events,并据此排查问题。自托管可用 Docker Compose 启动,轻量部署的界面默认位于 localhost:5667;生产环境可使用完整 Compose 栈或托管平台。服务端 AI 功能和 AI worker 可配置 Gemini、OpenAI 兼容端点或 AWS Bedrock 上的 Anthropic Claude。
应用通过 TS SDK 的 Laminar.initialize({ projectApiKey }) 或 Python 的 Laminar.initialize(project_api_key=...) 接入。SDK 可自动采集已支持框架和模型提供商的调用;也可用 TS 的 observe({name: 'poemWriter'}, async ...) 包装函数,或用 Python 的 @observe() 标注函数,记录函数输入、输出及执行相关 trace 数据。Laminar 将这些数据用于实时 trace 查看、span 全文搜索、trace/metrics/events 仪表盘,以及 Evals 结果可视化和比较。用户还能用 MCP 或 CLI 对 traces、spans、metrics、events 执行 SQL 查询,让编码 Agent 基于运行记录调查和调试;Signals 会读取每次 Agent run,并在匹配用自然语言描述的行为时发送 Slack 提醒。
- 使用 OpenAI、Anthropic 或 Gemini 的 Agent 团队,需要自动记录模型调用并回看一次任务运行中的 trace 与 span。
- 在 LangChain、Vercel AI SDK、Browser Use 或 Stagehand 上构建 Agent 的工程师,希望以较少接入代码获得追踪数据。
- 在 CI/CD 或本地运行评测的开发团队,需要用 Evals SDK 和 CLI 执行评测,并在界面比较结果。
- 需要排查线上 Agent 循环或异常行为的运维人员,可将“agent is stuck in a loop”一类行为定义为 Signal,并接收 Slack 提醒。
- 希望让编码 Agent 通过 MCP 或 CLI 以 SQL 查询 trace、metric 和 event 数据来协助定位问题的团队。
- 需要在自有环境保存和查看可观测数据的团队,可用 Docker Compose 部署并通过本地 UI 访问。
这个 Agent 有哪些优点和局限?
- 同时提供自动化模型/框架追踪和显式 observe 包装或装饰器,适合从快速接入到自定义业务函数追踪的不同粒度需求。
- 将 tracing、Signals、Evals、SQL 查询、仪表盘和数据标注放在同一平台,减少在多套工具间搬运运行与评测数据。
- 支持 MCP 和 CLI 查询运行数据,可将可观测性数据直接纳入编码 Agent 的调查与调试流程。
- 以 Rust 实现,并声明提供 20 倍 trace 压缩、实时 trace 引擎、span 全文搜索和 gRPC exporter。
- 既提供 Docker Compose 自托管路径,也提供托管平台;服务端 LLM 功能可选择 Gemini、OpenAI 兼容服务或 AWS Bedrock。
- 自托管 SDK 必须额外配置 `baseUrl` 和正确端口,README 没有给出完整可复制的配置示例。
- 前端 AI 功能(chat-with-trace、SQL-with-AI)及服务端 AI workers 依赖外部 LLM provider 与相应密钥或 AWS 凭证。
- 快速 Compose 部署被定位为轻量使用或快速开始;生产部署建议托管平台或 `docker-compose-full.yml`,意味着生产方案需要额外评估。
- 自托管默认收集匿名使用遥测;若不接受,需在 `.env` 显式设置 `LAMINAR_TELEMETRY_DISABLED=true`。
- 共享 Postgres 时使用自定义 schema 仍可能与另一项 Drizzle 管理服务的迁移 journal 产生冲突,需要人工处理。
如何安装或部署这个 Agent?
自托管快速启动:git clone https://github.com/lmnr-ai/lmnrcd lmnrdocker compose up -d
启动后可在 http://localhost:5667 打开 UI。SDK 接入前需创建项目并生成 project API key;README 明确要求自托管 SDK 配置 baseUrl 与正确端口,但未给出可直接复制的完整 SDK 自托管配置值。若要启用前端 AI 功能或服务端 AI workers,在仓库根目录 .env 中选择 LLM_PROVIDER=gemini 并设置 LLM_API_KEY,或 LLM_PROVIDER=openai 并设置 LLM_API_KEY,或选择 LLM_PROVIDER=bedrock 并配置 AWS 凭证和 AWS_REGION。
如何使用这个 Agent?
TypeScript:先执行 npm add @lmnr-ai/lmnr,然后调用 Laminar.initialize({ projectApiKey: process.env.LMNR_PROJECT_API_KEY });用 observe({name: 'poemWriter'}, async (topic) => { ... }) 包装需要追踪的函数。Python:执行 pip install --upgrade 'lmnr[all]',调用 Laminar.initialize(project_api_key="<LMNR_PROJECT_API_KEY>"),再以 @observe() 标注函数。部署完成后,在 UI 查看 traces 和评测结果;需要面向编码 Agent 的诊断时,通过已提供的 MCP 或 CLI 查询 traces、spans、metrics 和 events。