2026年10月20日 1 分钟阅读

Agent 出错不只看最终答案:用 Laminar 把运行轨迹变成可调查证据

tinyash 0 条评论

一个 Agent 返回了错误结果,单看最终文本往往无法判断问题发生在哪:检索拿错资料、工具调用参数不对、模型陷入循环,还是评估样本本身有偏差?把每一步请求、工具调用与耗时连成可检索的运行轨迹,才能从“它答错了”走到“哪一步出了问题”。Laminar 是面向 AI Agent 的可观测平台,提供追踪、Signals、评估、数据集和 SQL 查询能力;既可使用托管平台,也可自行部署。它不是自动修复 Agent 的按钮,而是帮助团队观察、复现和评估行为的基础设施。

从一次调用扩展到一条轨迹

Laminar 的 TypeScript SDK 可以通过初始化接入项目,并用 observe 包装需要追踪的函数。以下示例沿用项目 README 的公开 API,密钥从环境变量读取:

import { Laminar } from '@lmnr-ai/lmnr';
import { observe } from '@lmnr-ai/lmnr';
import OpenAI from 'openai';

Laminar.initialize({ projectApiKey: process.env.LMNR_PROJECT_API_KEY });
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

const answerQuestion = observe({ name: 'answerQuestion' }, async (question: string) => {
  const response = await client.chat.completions.create({
    model: 'gpt-4o-mini',
    messages: [{ role: 'user', content: question }],
  });
  return response.choices[0].message.content;
});

这里的重点不是多包一层函数,而是让可观测边界对应业务步骤。真实 Agent 可以分别追踪检索、规划、工具执行与汇总;发生异常时,团队可沿父子 span 查看输入输出和调用关系。README 将其追踪能力描述为基于 OpenTelemetry,并列出 OpenAI、Anthropic、Vercel AI SDK、LangChain 等集成。接入前仍应确认所用 SDK 版本和具体集成方式,尤其不要把敏感提示词或个人数据不加筛选地写入遥测。

Signals:把“异常行为”变成可关注事件

并非所有问题都能用 HTTP 错误码识别。Agent 可能持续重复相似调用、耗时异常拉长,最终仍返回一个形式完整的答案。Laminar 的 Signals 允许用自然语言描述需要观察的行为,并可在检测到符合条件的运行时通知 Slack。实践时应把 Signal 写成可操作的现象,例如“某类任务连续重复调用同一工具”,而不是“回答质量差”这种边界模糊的目标。

Signal 也不是确定性安全策略。它用于发现值得调查的模式,不能替代权限控制、工具参数校验或人工审批。对高风险动作,仍应在 Agent 执行层设置明确的 allowlist、限额和确认门槛。

Evals:把改动前后的表现放在同一把尺上

追踪适合解释单次运行,评估则用于比较一批输入上的行为。Laminar 提供 SDK 和 CLI 评估能力,并支持在界面查看、比较评估结果。团队可以把具有代表性的输入整理成数据集,在提示词、模型或工具实现变更前后重复运行,关注成功条件、失败类别和人工复核结果。

评估集不应只收录“容易答对”的例子。应纳入真实失败案例、边界输入和工具异常,并记录评判规则。若测试集本身发生变化,分数变化就不能简单归因于代码改动。Laminar 提供数据集与标注界面,但样本质量、标签定义和上线门槛仍由团队负责。

让编码 Agent 帮忙调查,而不是猜测

项目还提供面向编码 Agent 的 MCP 与 CLI 访问路径,可查询 traces、spans、metrics 和 events,并通过 SQL 分析数据。一个实用流程是:先用 Signal 或监控发现异常,再让开发者或编码 Agent 查询相关时间段与任务 ID,检查失败 span,最后在评估集上验证修复有没有改善表现。把查询结果当成证据,比让 Agent 根据一段模糊报错直接改代码更稳妥。

查询权限和数据范围需要谨慎配置。可查询轨迹不意味着应该把生产数据无限暴露给每个自动化 Agent;建议使用最小权限凭证、限制可读项目,并审查 SQL 查询是否触及敏感字段。

部署与适用边界

想快速试用可以使用 Laminar 托管平台;仓库也提供 Docker Compose 自托管启动方式,默认可在本机 http://localhost:5667 访问界面。生产环境的部署方式、资源配置和存储策略应以当前官方部署文档为准,不能把本地 quickstart 当成生产架构建议。自托管同样有运维成本:数据库、保留期限、备份、升级与访问控制都需要团队负责。

如果你的 Agent 已经接入多个工具,却只能依赖最终答案排查故障,Laminar 这类可观测层能把问题拆成可调查的运行步骤。它最有价值的用法不是“记录一切”,而是先定义要观察的行为、控制采集的数据,再用轨迹和评估形成可重复的调试闭环。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。