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时碰到过类似的追踪上下文问题,给你几个方向试试:
- 手动初始化追踪提供者
默认的追踪机制可能在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(); } }
- 简化Runner配置
groupId用于分组追踪数据,但可能在当前环境下反而导致上下文异常,你可以先去掉这个配置,用默认值试试:
const runner = new Runner(); // 移除groupId参数
- 手动维护追踪上下文
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(); } }); }
- 检查版本兼容性
Next.js v15是较新的版本,可能和当前OpenAI Agents SDK存在适配问题。你可以尝试降级SDK到最新稳定版,或者查看SDK的更新日志里是否提到了Next.js v15的兼容情况。
如果这些方法有效果,或者你有新的排查信息,欢迎补充交流!
内容来源于stack exchange
相关产品推荐
相关产品推荐

