Skip to main content
The OpenAI Agents SDK is a lightweight framework for building agents and multi-agent workflows on top of OpenAI’s API. Weave automatically traces agents built with the OpenAI Agents SDK, including each agent invocation, sub-agent handoff, model call, and tool call. Weave displays the captured data in the Agents view of your project.

Trace OpenAI Agents SDK agents with Weave

The Weave SDK autopatches with the OpenAI Agents SDK for Python so you can capture traces from your agents with minimal setup. This guide explains how to initialize Weave and then run a multi-turn research agent built with the OpenAI Agents SDK so that Weave captures every agent invocation, model call, and tool call across the session.

Prerequisites

Before you begin, make sure you have the following:
  • A CoreWeave Forge account and API key set as a WANDB_API_KEY environment variable.
  • An OpenAI API key.
  • Python 3.10+.

Install packages

Install the following packages in your developer environment so that Weave and the SDK are available to your script.

Initialize Weave in your code

Add weave.init to the project, along with your CoreWeave Forge team and project names, and then build your agent as usual. The following code defines a wikipedia_search function tool and a Research assistant agent, then runs three questions through the OpenAI Agents SDK Runner while Weave captures the trace. Each Runner.run call starts its own trace, so the example passes a RunConfig with a shared group_id on every call. Weave uses group_id to group traces from the same conversation, falling back to each trace’s own ID when no group_id is set.
The example runs three turns in a single conversation. The first two turns trigger Wikipedia lookups, and the third uses the prior conversation context to produce a summary without a tool call. Each call to Runner.run continues the conversation by passing the previous result’s input list back as the next request, and shares the same group_id so Weave groups all three turns into one conversation in the Agents view. Without a shared group_id, each turn falls back to its own trace ID and appears as a separate conversation.

See your agent traces in the Agents view

After the script runs, weave.init() prints a link to your project. Open the Agents view to inspect:
  • A session containing the conversation’s turns.
  • Each turn rendered as an invoke_agent span with nested chat and execute_tool children.
  • The full input, model, output, token usage, and tool results at each step.
For details about viewing Agents data in Weave, see View agent activity.
Last modified on September 30, 2026