NeMo Relay Deep Agents Integration
Use the nemo_relay.integrations.deepagents package to add NeMo Relay
observability to Deep Agents applications through the LangChain and LangGraph
integration surfaces that Deep Agents builds on.
Setup
Install the Deep Agents integration extra in your application environment.
uv
pip
The example below uses the NVIDIA LangChain provider. Install that provider extra too if you want to run the example as written:
uv
pip
Usage Example
Add skills=[...] or subagent configuration after this minimal path is working
when you need to capture Deep Agents skill or subagent marks.
Verify the Integration
The integration works correctly when:
- The Deep Agents run completes and prints a final response.
- The
deepagents-requestscope contains a semanticmain-agentAgent scope. - In-process delegated agents appear as nested Agent scopes with names derived
from callback metadata. Unnamed top-level runs use the
DeepAgentfallback. - Skill, subagent, and human-in-the-loop marks appear when those features are exercised.
Observability
The integration composes the existing NeMo Relay LangChain and LangGraph hooks, then emits Deep Agents-specific marks for configured skills, subagents, and human-in-the-loop lifecycle events.
It captures:
- LangChain model and tool calls through NeMo Relay managed execution.
- Semantic orchestrator and in-process subagent Agent scopes through the Deep Agents callback handler. Internal LangGraph node runs do not create additional Agent scopes in this specialized handler.
- Human-in-the-loop interrupt and resume marks.
- Configured skills and subagent summaries at agent-run start.
- Automatic
skill.loadmarks when a Deep Agents tool requests a completeSKILL.mdread; this is distinct from the configured-skills summary. - In-process dictionary-style subagents with the same NeMo Relay middleware, so their model and tool calls are captured when Deep Agents invokes them.
The automatically configured general-purpose subagent is identified from
Deep Agents callback metadata and appears as a nested Agent scope when invoked.
Deep Agents does not inherit arbitrary parent middleware into that generated
subagent, so its internal model and tool calls are not managed by Relay.
Precompiled local subagent runnables can expose a semantic run boundary through
the callback, but their internal model and tool calls require separate Relay
instrumentation. Remote graphs or processes likewise need Relay instrumentation
inside that graph or process to capture their internal calls.
Refer to Observability for details on exporting NeMo Relay observability data to third-party systems.