You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenAI Agents SDK在Next.js v15中运行时抛出"No existing trace found"错误求助

OpenAI Agents SDK在Next.js v15中运行时抛出"No existing trace found"错误求助

我正在尝试上手OpenAI Agents SDK的教程,在Next.js v15环境里运行相关代码,但一直遇到**"No existing trace found"**的错误。我搜遍了这个错误信息,却找不到任何有用的解决方案。有没有成功在Next.js v15里跑通OpenAI Agents SDK的朋友?或者有人能给点排查思路?任何建议都感激不尽,谢谢!

我的源代码

import "server-only";
import logger from "@myproject/logger";
import { Agent, getGlobalTraceProvider, Runner } from "@openai/agents";

export async function myServerAction() {
  try {
    const agent = new Agent({
      name: 'History Tutor',
      instructions: 'You provide assistance with historical queries. Explain important events and context clearly.',
    });

    const runner = new Runner({
      groupId: "test",
    });

    return await runner.run(agent, 'When did sharks first appear?');
  } catch (err) {
    logger.error({
      action: "agent test",
      error: err,
    });
    throw err;
  } finally {
    await getGlobalTraceProvider().forceFlush();
  }
}

错误日志

{"level":50,"time":1750903191654,"pid":4902,"hostname":"59c5cb1a6a51","action":"agent test","error":{"message":"No existing trace found"}}
[Exporter] Export trace traceId=trace_529daf52f4e44c73ae9a3b77c2f7fbe6 name=Agent workflow
[Exporter] Export span: {"object":"trace.span","id":"span_9c71e5b336624d8aafb4fe0e","trace_id":"trace_529daf52f4e44c73ae9a3b77c2f7fbe6","parent_id":null,"started_at":"2025-06-26T01:59:51.653Z","ended_at":"2025-06-26T01:59:51.654Z","span_data":{"type":"agent","name":"History Tutor","handoffs":[],"output_type":"text","tools":[]},"error":{"message":"Error in agent run","data":{"error":"Error: No existing trace found"}}}

可能的解决思路

我之前用OpenAI Agents SDK时碰到过类似的追踪上下文问题,给你几个方向试试:

  1. 手动初始化追踪提供者
    默认的追踪机制可能在Next.js Server Action的环境里没正确初始化,你可以手动创建并设置全局追踪提供者,替代默认的:
import { Agent, Runner, OpenTelemetryTraceProvider } from "@openai/agents";

// 在初始化阶段创建并设置全局追踪提供者
const traceProvider = new OpenTelemetryTraceProvider();
traceProvider.setAsGlobal();

export async function myServerAction() {
  try {
    const agent = new Agent({
      name: 'History Tutor',
      instructions: 'You provide assistance with historical queries. Explain important events and context clearly.',
    });
    const runner = new Runner({ groupId: "test" });
    return await runner.run(agent, 'When did sharks first appear?');
  } catch (err) {
    logger.error({ action: "agent test", error: err });
    throw err;
  } finally {
    await traceProvider.forceFlush();
  }
}
  1. 简化Runner配置
    groupId用于分组追踪数据,但可能在当前环境下反而导致上下文异常,你可以先去掉这个配置,用默认值试试:
const runner = new Runner(); // 移除groupId参数
  1. 手动维护追踪上下文
    Next.js的Server Action在异步处理时可能会丢失追踪上下文,你可以尝试手动创建追踪Span并绑定上下文:
import { trace } from '@opentelemetry/api';
import { Agent, getGlobalTraceProvider, Runner } from "@openai/agents";

export async function myServerAction() {
  const tracer = trace.getTracer('openai-agent');
  return await tracer.startActiveSpan('agent-run', async (span) => {
    try {
      const agent = new Agent({
        name: 'History Tutor',
        instructions: 'You provide assistance with historical queries. Explain important events and context clearly.',
      });
      const runner = new Runner({ groupId: "test" });
      const result = await runner.run(agent, 'When did sharks first appear?');
      span.end();
      return result;
    } catch (err) {
      span.recordException(err as Error);
      span.end();
      throw err;
    } finally {
      await getGlobalTraceProvider().forceFlush();
    }
  });
}
  1. 检查版本兼容性
    Next.js v15是较新的版本,可能和当前OpenAI Agents SDK存在适配问题。你可以尝试降级SDK到最新稳定版,或者查看SDK的更新日志里是否提到了Next.js v15的兼容情况。

如果这些方法有效果,或者你有新的排查信息,欢迎补充交流!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 10:43:07