Maple agent tracing: eve 是一个用于将 Vercel eve 框架的智能体运行数据接入 Maple 的可观测性配置技能。其目标是把一个 eve 会话(wrun_...)对应为一个 Maple Agent Session,把一条用户消息对应为一轮对话、一条以 invoke_agent <agent> 为根的 trace;trace 内 agent.step 跨度包含 chat <model> 跨度(记录模型、提供商、token、消息)与 execute_tool <tool> 跨度(记录参数、结果、失败)。子代理嵌套在调用方 trace 中,并显示为独立泳道。
主要能力:该技能通过一个 OpenTelemetry 目标文件将 eve 的追踪数据导出至 Maple,无需自行启动 SDK 或传递 conversation id;eve 已内置追踪每个模型调用,并撰写 gen_ai.conversation.id。配置包含安装 @vercel/otel、创建 agent/instrumentation/maple.ts 导出文件、设置服务名与环境、处理内容导出策略、验证会话与工具调用等步骤。
使用方式:首先检测 eve 版本,>= 0.62 使用本技能;0.62 至 0.71 每个工具调用会多一层 agent.action 包装跨度;< 0.62 需先升级并迁移旧式 agent/instrumentation.ts。然后配置 MAPLE_INGEST_KEY 环境变量(US 端点 https://ingest.maple.dev/v1/traces,EU 端点 https://ingest.eu.maple.dev/v1/traces),安装 @vercel/otel,在 agent/instrumentation/ 下创建默认导出 otelIntegration 的文件,并设置 service.name 等资源属性。内容导出受会话受众控制:eve dev 始终导出内容;生产环境仅 public 受众导出内容,private/unknown 不导出。工具失败需抛出异常才会被计为失败,返回 { error } 视为成功。声明式子代理调用约 0.1 秒内返回任务回执,真实结果通过 eve__task_wait 获取。审批等待计入轮次与工具调用时长,被拒绝的调用计为失败工具调用。
适用场景:适用于使用 Vercel eve 框架构建智能体、并希望将智能体会话、轮次、模型调用、工具调用、token 用量与失败情况导入 Maple 进行观测的团队。
限制:eve 不记录导出失败,密钥或区域错误表现为无流量,需用 curl 直接验证密钥;直接调用提供商模型时成本显示为未定价,使用 Vercel AI Gateway 时 eve 在 agent.step 上写入 gen_ai.usage.cost;内容导出受受众限制,otel 的 tracePolicy 只能收窄不能扩大;不得自行启动 NodeSDK/registerOTel,不得自行写入 gen_ai.conversation.id,不得添加第二个 otel() 文件,不得在未经用户决定时设置 audience: "public"。