Skip to main content
Crashbytes logoCrashbytes
HomeArticlesByte Sized ExamplesOpen SourceServicesAboutContact
Browse Articles
HomeArticlesByte Sized ExamplesOpen SourceServicesAboutContact
Network
Theme
Browse Articles
Crashbytes logoCrashbytes

Expert insights on web development, technology trends, and programming best practices. Learn from real-world experiences and cutting-edge techniques that help you build better software.

Follow Us

Our Sites

  • ๐Ÿ”ฎ Predictions
  • ๐Ÿ“ฐ Breaking News
  • ๐ŸŽจ AI Art
  • ๐Ÿ“– Short Stories
  • View All โ†’
  • Products โ†’

Sitemap

  • Home
  • All Articles
  • Open Source
  • Services
  • About Us
  • Contact
  • Donate Compute

Popular Topics

  • Serverless
  • Cloud Architecture
  • DevOps
  • Kubernetes
  • Platform Engineering

Resources

  • Privacy Policy
  • Terms of Service
  • Sitemap
  • RSS Feed
  • PGP Key

Stay Updated

Get the latest articles, tutorials, and insights delivered to your inbox. Join our community of developers and never miss an update.

ยฉ 2021-2026 Crashbytesยฎ by Blackhole Software, LLC. All rights reserved.
| Reg. U.S. Pat. & Tm. Off.

Made for the developer community

  1. Home
  2. /
  3. Articles
  4. /
  5. Building AI Agents with NVIDIA NemoClaw and NeMo Agent Toolkit โ€” A Complete Tutorial
TechnologyMarch 17, 202623 min readโ€ข By Michael Eakins

Building AI Agents with NVIDIA NemoClaw and NeMo Agent Toolkit โ€” A Complete Tutorial

Step-by-step tutorial on building, securing, and deploying autonomous AI agents using NVIDIA NemoClaw and the NeMo Agent Toolkit. Covers installation, agent workflows, sandbox policies, inference profiles, multi-agent orchestration, and production deployment on the NVIDIA AI stack.

Quick Takeaways

What you'll learn in this article

23 min read
Intermediate
  • 1

    Python 3.11, 3.12, or 3.13 โ€” The NeMo Agent Toolkit requires one of these versions

  • 2

    Node.js 18+ โ€” NemoClaw itself is a TypeScript plugin for OpenClaw

  • 3

    NVIDIA API Key โ€” Free tier available at build.nvidia.com

  • 4

    8GB+ RAM โ€” Minimum for running local agent workflows

  • 5

    Git โ€” For cloning the toolkit and examples

Keep reading for detailed implementation, code examples, and real-world results

Building AI Agents with NVIDIA NemoClaw and NeMo Agent Toolkit โ€” A Complete Tutorial

Jensen Huang spent two hours at GTC 2026 convincing the world that we have entered the era of agentic AI. But announcements on a stage in San Jose do not ship products. Code does. If you watched the keynote, you saw NemoClaw demonstrated as the secure runtime for autonomous agents. If you read my analysis of the GTC 2026 keynote, you understand the strategic significance. Now it is time to build something.

This tutorial walks you through the full NVIDIA agentic AI stack, from installing the NeMo Agent Toolkit to configuring NemoClaw sandbox policies to deploying multi-agent workflows that run on Nemotron models. By the end, you will have a working agent system that can execute multi-step tasks with enterprise-grade security guardrails.

NemoClaw GitHub Stars

250,000+

Inherited from OpenClaw โ€” fastest-growing agent runtime in history

โ†‘ 350%percent growth in 4 months

What You Will Build

We are building a research agent system that can accept a topic, search for relevant information, synthesize findings into a structured report, and deliver it through a secured NemoClaw runtime. The system uses three coordinated agents:

  1. Research Agent โ€” Gathers information from configured sources
  2. Analysis Agent โ€” Processes raw data into structured findings
  3. Report Agent โ€” Generates formatted output with citations

This is not a toy demo. The architecture mirrors what enterprises are deploying in production right now, and the security model is what separates NemoClaw from every other agent framework on the market.

Nov 2025

OpenClaw Launches

Peter Steinberger releases OpenClaw as an open-source agent runtime

Jan 2026

100K GitHub Stars

OpenClaw becomes the fastest-growing open-source AI project

Mar 2026

NemoClaw at GTC

NVIDIA wraps OpenClaw with enterprise security via NemoClaw

Mar 2026

NeMo Agent Toolkit 1.5

Full Python SDK for building multi-agent workflows

Prerequisites

Before starting, make sure you have the following ready:

  • Python 3.11, 3.12, or 3.13 โ€” The NeMo Agent Toolkit requires one of these versions
  • Node.js 18+ โ€” NemoClaw itself is a TypeScript plugin for OpenClaw
  • Docker โ€” Required for sandbox isolation
  • NVIDIA API Key โ€” Free tier available at build.nvidia.com
  • 8GB+ RAM โ€” Minimum for running local agent workflows
  • Git โ€” For cloning the toolkit and examples

Optional but recommended:

  • NVIDIA GPU (RTX 3060 or better) โ€” Required only for local NIM inference
  • uv package manager โ€” Faster than pip for Python dependency management
Bar chart data
requirementstatus
Python 3.12100
Node.js 18+100
Docker100
NVIDIA API Key100
GPU (Optional)50
uv (Optional)50

Part 1 โ€” Understanding the Architecture

Before writing any code, you need to understand how the three layers of the NVIDIA agentic AI stack interact.

Layer 1: NeMo Agent Toolkit (The Brain)

The NeMo Agent Toolkit is a Python library that handles agent orchestration. Think of it as the logic layer โ€” it defines what agents do, how they communicate, and what tools they have access to. The toolkit provides:

  • Workflow definitions via YAML configuration files
  • Agent classes with customizable behavior
  • Tool integrations for search, computation, and API calls
  • Multi-agent coordination through message passing

The toolkit runs agents as Python processes and coordinates their execution through a central orchestrator.

Layer 2: NemoClaw (The Security Shell)

NemoClaw wraps the entire agent system in a security sandbox. Every agent runs inside an isolated Docker container with a YAML-defined policy that controls:

  • Network access โ€” Which endpoints each agent can reach
  • File system access โ€” Which directories are readable and writable
  • Inference routing โ€” Where model calls go (cloud, local, or hybrid)
  • Resource limits โ€” CPU, memory, and GPU allocation per agent

This is the layer that makes NemoClaw different from LangChain, CrewAI, or AutoGen. Those frameworks handle orchestration. NemoClaw handles security. In production, you need both.

Layer 3: Inference (The Models)

NVIDIA provides three inference paths:

  1. NVIDIA Cloud โ€” Route to Nemotron 3 Super 120B via build.nvidia.com
  2. Local NIM โ€” Run a NIM container on your own GPU hardware
  3. Third-party โ€” Connect to any OpenAI-compatible API endpoint
Pie chart data
NameValue
NVIDIA Cloud45
Local NIM30
Third-Party API25

The beauty of this design is that you can develop against the NVIDIA Cloud API (free tier) and then switch to local NIM containers for production without changing your agent code. The inference profile is a configuration setting, not a code change.

Advertisement

Part 2 โ€” Installing the NeMo Agent Toolkit

Let us start with the foundation layer. The NeMo Agent Toolkit is the Python SDK that you will use to define agent behavior and workflows.

Step 1: Clone the Repository

git clone -b main https://github.com/NVIDIA/NeMo-Agent-Toolkit.git
cd NeMo-Agent-Toolkit

Step 2: Set Up the Python Environment

The toolkit recommends using uv for dependency management, but pip works too:

# Option A: Using uv (recommended)
uv venv --python 3.12 --seed .venv
source .venv/bin/activate
uv sync --all-groups --all-extras

# Option B: Using pip
python3.12 -m venv .venv
source .venv/bin/activate
pip install -e ".[all]"

Step 3: Verify the Installation

nat --version
# Expected output: NeMo Agent Toolkit 1.5.x

nat --help
# Shows available commands: serve, run, config, etc.

The nat command is the primary CLI interface for the NeMo Agent Toolkit. You will use it to run workflows, serve agent APIs, and manage configurations.

Installation Time

~3 minutes

With uv package manager on a modern machine

Step 4: Set Your API Key

Create a .env file in the project root:

echo "NVIDIA_API_KEY=nvapi-your-key-here" > .env

Get your free API key at build.nvidia.com. The free tier includes 1,000 API calls per month, which is more than enough for development and testing.

Part 3 โ€” Your First Agent Workflow

The NeMo Agent Toolkit uses YAML files to define agent workflows. This is a deliberate design choice โ€” it separates agent logic from configuration, making it easy to modify behavior without touching code.

The Simple Calculator Example

Let us start with the included calculator example to understand the workflow structure:

nat serve --config_file=examples/getting_started/simple_calculator/configs/config.yml

This starts an agent server that exposes an HTTP API. In a separate terminal, you can interact with it:

curl -X POST http://localhost:8000/run \
  -H "Content-Type: application/json" \
  -d '{"input": "What is 42 multiplied by 17, then divided by 3?"}'

The agent will decompose the math problem into steps, execute each calculation using a tool, and return the result. Let us examine the configuration that makes this work.

Anatomy of a Workflow Configuration

# config.yml
workflow:
  name: calculator-agent
  description: An agent that performs mathematical calculations

  agents:
    - name: calculator
      model: nvidia/nemotron-3-super-120b
      system_prompt: |
        You are a precise mathematical calculator.
        Break complex problems into individual operations.
        Always show your work step by step.
      tools:
        - name: calculator
          type: python
          module: tools.calculator

  inference:
    provider: nvidia-cloud
    api_key: ${NVIDIA_API_KEY}
    endpoint: https://integrate.api.nvidia.com/v1

Every workflow configuration has three sections:

  1. workflow โ€” Name, description, and the list of agents
  2. agents โ€” Each agent gets a name, model, system prompt, and tool list
  3. inference โ€” Where model calls are routed

YAML Config (NeMo) vs Code-First (LangChain)

YAML Config (NeMo)

SeparationConfig from code
ModificationNo restart needed
Version ControlEasy diffing
Learning CurveLower

Code-First (LangChain)

SeparationMixed with logic
ModificationRequires restart
Version ControlHarder to diff
Learning CurveHigher

Part 4 โ€” Building the Research Agent System

Now let us build something real. We are creating a three-agent research system that accepts a topic, gathers information, analyzes it, and produces a structured report.

Project Structure

Create a new directory for your project:

mkdir research-agent-system
cd research-agent-system

Set up the following file structure:

research-agent-system/
โ”œโ”€โ”€ config.yml          # Workflow configuration
โ”œโ”€โ”€ tools/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ”œโ”€โ”€ search.py       # Web search tool
โ”‚   โ”œโ”€โ”€ analyze.py      # Data analysis tool
โ”‚   โ””โ”€โ”€ report.py       # Report generation tool
โ”œโ”€โ”€ prompts/
โ”‚   โ”œโ”€โ”€ researcher.txt  # Research agent system prompt
โ”‚   โ”œโ”€โ”€ analyst.txt     # Analysis agent system prompt
โ”‚   โ””โ”€โ”€ reporter.txt    # Report agent system prompt
โ””โ”€โ”€ .env                # API keys

Step 1: Define the Workflow Configuration

# config.yml
workflow:
  name: research-agent-system
  description: Multi-agent system for topic research and report generation
  version: '1.0'

  agents:
    - name: researcher
      model: nvidia/nemotron-3-super-120b
      system_prompt_file: prompts/researcher.txt
      tools:
        - name: web_search
          type: python
          module: tools.search
          config:
            max_results: 10
            timeout: 30
      max_iterations: 5
      temperature: 0.3

    - name: analyst
      model: nvidia/nemotron-3-super-120b
      system_prompt_file: prompts/analyst.txt
      tools:
        - name: data_analyzer
          type: python
          module: tools.analyze
      max_iterations: 3
      temperature: 0.2

    - name: reporter
      model: nvidia/nemotron-3-super-120b
      system_prompt_file: prompts/reporter.txt
      tools:
        - name: report_generator
          type: python
          module: tools.report
      max_iterations: 2
      temperature: 0.4

  orchestration:
    type: sequential
    pipeline:
      - agent: researcher
        output_key: raw_research
      - agent: analyst
        input_key: raw_research
        output_key: analysis
      - agent: reporter
        input_key: analysis
        output_key: final_report

  inference:
    provider: nvidia-cloud
    api_key: ${NVIDIA_API_KEY}
    endpoint: https://integrate.api.nvidia.com/v1
    retry:
      max_attempts: 3
      backoff_seconds: 2

Let us break down what is new here compared to the calculator example.

The orchestration section defines how agents communicate. We are using a sequential pipeline where each agent receives the output of the previous one. The output_key and input_key fields control data flow between agents.

The max_iterations setting limits how many reasoning steps each agent can take. This prevents runaway loops and controls token usage.

The temperature varies by agent โ€” lower for the researcher (we want factual accuracy) and slightly higher for the reporter (we want readable prose).

Bar chart data
agenttemperaturemaxIterations
Researcher0.35
Analyst0.23
Reporter0.42

Step 2: Write the Agent System Prompts

Each agent needs a carefully crafted system prompt that defines its role, capabilities, and output format.

Research Agent (prompts/researcher.txt):

You are a research specialist. Your job is to gather comprehensive
information on a given topic using the web_search tool.

INSTRUCTIONS:
1. Break the topic into 3-5 specific search queries
2. Execute each search query using the web_search tool
3. For each result, extract: title, source URL, key facts, and relevance score
4. Compile all findings into a structured JSON output

OUTPUT FORMAT:
{
  "topic": "the research topic",
  "queries_executed": ["query1", "query2", ...],
  "findings": [
    {
      "title": "Finding title",
      "source": "URL",
      "key_facts": ["fact1", "fact2"],
      "relevance": 0.0-1.0
    }
  ],
  "summary": "2-3 sentence overview of what was found"
}

RULES:
- Always use the web_search tool. Never fabricate sources.
- Aim for 8-12 unique findings per research session.
- Prioritize recent sources (prefer last 6 months).
- Include diverse perspectives when the topic is controversial.

Analysis Agent (prompts/analyst.txt):

You are a data analyst. You receive raw research findings and produce
structured analysis with patterns, trends, and insights.

INSTRUCTIONS:
1. Review all research findings for quality and relevance
2. Identify 3-5 major themes or patterns across the findings
3. For each theme, provide supporting evidence from the research
4. Rate confidence level for each insight (high/medium/low)
5. Identify any gaps or contradictions in the research

OUTPUT FORMAT:
{
  "themes": [
    {
      "name": "Theme name",
      "description": "What this theme means",
      "evidence": ["source1 says X", "source2 confirms Y"],
      "confidence": "high|medium|low"
    }
  ],
  "contradictions": ["Description of any conflicting information"],
  "gaps": ["Areas where more research is needed"],
  "key_statistics": [{"stat": "description", "value": "number"}]
}

RULES:
- Base all analysis strictly on the provided research data.
- Never introduce information not present in the input.
- Flag low-confidence insights explicitly.

Report Agent (prompts/reporter.txt):

You are a technical report writer. You receive analyzed data and produce
a polished, readable report with proper citations.

INSTRUCTIONS:
1. Create an executive summary (3-4 sentences)
2. Write a detailed findings section organized by theme
3. Include a data table for key statistics
4. Add a recommendations section based on the analysis
5. Append a sources section with all referenced URLs

OUTPUT FORMAT:
Markdown report with the following sections:
# [Topic] Research Report

Executive Summary

Key Findings

[Theme 1]

[Theme 2]

Data Overview

Advertisement

Recommendations

Sources

RULES:

  • Write for a technical audience with business context.
  • Every claim must reference a specific finding from the analysis.
  • Keep the total report between 1,500 and 2,500 words.

### Step 3: Implement the Tools

Each tool is a Python module that the agents can call during execution.

**Search Tool** (`tools/search.py`):

```python
"""Web search tool for the research agent."""

from typing import Any
import httpx
import os


async def web_search(
    query: str,
    max_results: int = 10,
    timeout: int = 30,
) -> dict[str, Any]:
    """Execute a web search and return structured results.

    Args:
        query: The search query string.
        max_results: Maximum number of results to return.
        timeout: Request timeout in seconds.

    Returns:
        Dictionary containing search results with titles, URLs, and snippets.
    """
    api_key = os.environ.get("SEARCH_API_KEY", "")

    async with httpx.AsyncClient(timeout=timeout) as client:
        response = await client.get(
            "https://api.search.brave.com/res/v1/web/search",
            headers={"X-Subscription-Token": api_key},
            params={
                "q": query,
                "count": max_results,
                "text_decorations": False,
            },
        )
        response.raise_for_status()
        data = response.json()

    results = []
    for item in data.get("web", {}).get("results", []):
        results.append({
            "title": item.get("title", ""),
            "url": item.get("url", ""),
            "snippet": item.get("description", ""),
            "age": item.get("age", ""),
        })

    return {
        "query": query,
        "result_count": len(results),
        "results": results,
    }

Analysis Tool (tools/analyze.py):

"""Data analysis tool for the analyst agent."""

from typing import Any
from collections import Counter
import re


def analyze_findings(
    findings: list[dict[str, Any]],
) -> dict[str, Any]:
    """Analyze research findings for patterns and statistics.

    Args:
        findings: List of research finding dictionaries.

    Returns:
        Dictionary containing statistical analysis of the findings.
    """
    total_findings = len(findings)
    sources = [f.get("source", "") for f in findings]
    unique_domains = set()
    for source in sources:
        match = re.search(r"https?://([^/]+)", source)
        if match:
            unique_domains.add(match.group(1))

    relevance_scores = [
        f.get("relevance", 0.5) for f in findings
    ]
    avg_relevance = (
        sum(relevance_scores) / len(relevance_scores)
        if relevance_scores
        else 0
    )

    all_facts = []
    for f in findings:
        all_facts.extend(f.get("key_facts", []))

    word_freq = Counter()
    for fact in all_facts:
        words = re.findall(r"\b[a-zA-Z]{4,}\b", fact.lower())
        word_freq.update(words)

    return {
        "total_findings": total_findings,
        "unique_sources": len(unique_domains),
        "average_relevance": round(avg_relevance, 3),
        "total_facts_extracted": len(all_facts),
        "top_keywords": word_freq.most_common(20),
        "source_domains": sorted(unique_domains),
    }

Report Tool (tools/report.py):

"""Report generation tool for the reporter agent."""

from typing import Any
from datetime import datetime


def generate_report_metadata(
    topic: str,
    theme_count: int,
    source_count: int,
    confidence_distribution: dict[str, int],
) -> dict[str, Any]:
    """Generate metadata for the research report.

    Args:
        topic: The research topic.
        theme_count: Number of identified themes.
        source_count: Number of unique sources.
        confidence_distribution: Count of high/medium/low confidence insights.

    Returns:
        Dictionary containing report metadata and quality score.
    """
    quality_score = 0.0
    quality_score += min(theme_count / 5, 1.0) * 30
    quality_score += min(source_count / 10, 1.0) * 30
    high_confidence_ratio = confidence_distribution.get("high", 0) / max(
        sum(confidence_distribution.values()), 1
    )
    quality_score += high_confidence_ratio * 40

    return {
        "topic": topic,
        "generated_at": datetime.now().isoformat(),
        "theme_count": theme_count,
        "source_count": source_count,
        "confidence_breakdown": confidence_distribution,
        "quality_score": round(quality_score, 1),
        "quality_rating": (
            "excellent" if quality_score >= 80
            else "good" if quality_score >= 60
            else "needs_improvement"
        ),
    }

Lines of Tool Code

~150

Three focused tools โ€” each does one thing well

Step 4: Run the Workflow

With everything in place, run the research agent system:

# From your project directory
nat run --config_file config.yml \
  --input "Analyze the current state of enterprise AI agent adoption in 2026"

You will see output like this in your terminal:

[researcher] Starting research on: enterprise AI agent adoption in 2026
[researcher] Executing search: "enterprise AI agent adoption 2026 statistics"
[researcher] Executing search: "fortune 500 AI agent deployments"
[researcher] Executing search: "agentic AI framework market share 2026"
[researcher] Found 12 relevant findings across 8 sources
[analyst] Analyzing 12 findings...
[analyst] Identified 4 major themes with 3 high-confidence insights
[reporter] Generating report...
[reporter] Report complete: 1,847 words, quality score: 82.3/100

The entire pipeline takes 30 to 90 seconds depending on your inference provider and the complexity of the topic.

Bar chart data
phasesecondstokens
Research458500
Analysis204200
Report256100

Part 5 โ€” Securing Agents with NemoClaw

You have a working agent system. Now let us make it production-ready by wrapping it in NemoClaw's security sandbox. This is the critical step that most agentic AI tutorials skip, and it is the reason enterprises cannot deploy frameworks like LangChain without additional infrastructure.

Why Agent Security Matters

An autonomous agent with access to web search, file systems, and APIs is a powerful tool. It is also a potential attack vector. Without sandboxing:

  • A prompt injection could instruct the agent to exfiltrate data
  • A malicious search result could redirect the agent to a harmful endpoint
  • An agent with file write access could modify system configurations
  • Unbounded inference calls could exhaust API quotas

NemoClaw solves all of these problems with a defense-in-depth approach.

Bar chart data
threatwithoutSandboxwithNemoClaw
Prompt Injection9512
Data Exfiltration805
Resource Exhaustion708
Unauthorized Access8510

Step 1: Install NemoClaw

curl -fsSL https://nvidia.com/nemoclaw.sh | bash

The installer checks for Node.js (installs it if missing) and runs the onboard wizard. Follow the prompts to:

  1. Accept the Apache 2.0 license
  2. Set your NVIDIA API key
  3. Choose a default inference profile
  4. Create your first sandbox configuration

After installation, verify:

nemoclaw --help
# Shows commands: launch, connect, status, logs, policy, etc.

Step 2: Create the Sandbox Policy

NemoClaw uses YAML policy files to define what agents can and cannot do. Create a policy for our research agent system:

# openclaw-sandbox.yaml
version: '1.0'
name: research-agent-sandbox

security:
  isolation: docker
  network:
    allowed_endpoints:
      - 'api.search.brave.com'
      - 'integrate.api.nvidia.com'
      - 'build.nvidia.com'
    denied_endpoints:
      - '*' # Deny everything not explicitly allowed
    max_connections_per_agent: 5

  filesystem:
    readable:
      - '/app/config/'
      - '/app/prompts/'
      - '/app/tools/'
    writable:
      - '/app/output/'
    denied:
      - '/etc/'
      - '/var/'
      - '/root/'

  resources:
    max_memory_mb: 2048
    max_cpu_percent: 50
    max_inference_calls: 100
    max_tokens_per_call: 4096
    timeout_seconds: 300

  privacy:
    redact_pii: true
    log_level: 'info'
    audit_trail: true

agents:
  researcher:
    network:
      allowed_endpoints:
        - 'api.search.brave.com'
    resources:
      max_inference_calls: 30

  analyst:
    network:
      allowed_endpoints: [] # No network access needed
    resources:
      max_inference_calls: 20

  reporter:
    network:
      allowed_endpoints: [] # No network access needed
    resources:
      max_inference_calls: 50

This policy implements the principle of least privilege. The researcher agent can access the search API, but the analyst and reporter agents have no network access at all โ€” they only work with data passed to them through the pipeline. Every agent has hard limits on memory, CPU, and inference calls.

Researcher Agent vs Analyst + Reporter

Researcher Agent

NetworkBrave Search API only
File SystemRead config + prompts
Inference Calls30 max
Memory2048 MB

Analyst + Reporter

NetworkNone (blocked)
File SystemRead config + prompts
Inference Calls20 / 50 max
Memory2048 MB

Step 3: Configure Inference Profiles

NemoClaw ships with three inference profiles in the blueprint.yaml file. Let us configure ours:

# blueprint.yaml
inference_profiles:
  cloud:
    provider: nvidia-cloud
    model: nvidia/nemotron-3-super-120b
    endpoint: https://integrate.api.nvidia.com/v1
    api_key: ${NVIDIA_API_KEY}
    settings:
      max_tokens: 4096
      temperature: 0.3

  local:
    provider: nim
    model: nemotron-3-super-120b
    endpoint: http://localhost:8080/v1
    settings:
      max_tokens: 4096
      temperature: 0.3

  fallback:
    provider: openai-compatible
    model: meta/llama-3.1-70b-instruct
    endpoint: https://integrate.api.nvidia.com/v1
    api_key: ${NVIDIA_API_KEY}
    settings:
      max_tokens: 4096
      temperature: 0.3

active_profile: cloud
fallback_profile: fallback

The active_profile setting determines which model your agents use. During development, use cloud for access to Nemotron 3 Super 120B without local hardware. For production with sensitive data, switch to local to keep all inference on your own infrastructure.

The fallback_profile activates automatically if the primary inference endpoint fails โ€” a resilience pattern that prevents agent workflows from crashing due to transient API issues.

Step 4: Launch the Secured Agent System

# Launch NemoClaw with your policy and config
nemoclaw launch \
  --policy openclaw-sandbox.yaml \
  --blueprint blueprint.yaml \
  --config config.yml

# Check status
nemoclaw status
# Output:
# Sandbox: research-agent-sandbox (running)
# Agents: 3 (researcher, analyst, reporter)
# Inference: cloud (nemotron-3-super-120b)
# Policy: enforced
# Uptime: 12s

Now interact with the secured system:

nemoclaw connect

# Inside the NemoClaw shell:
> run "What are the security implications of autonomous AI agents in healthcare?"

Watch the logs in another terminal to see the security policy in action:

nemoclaw logs --follow

# Output shows policy enforcement:
# [policy] researcher: network request to api.search.brave.com โ€” ALLOWED
# [policy] researcher: network request to external-api.com โ€” DENIED
# [policy] analyst: network access attempt โ€” DENIED (no network allowed)
# [policy] reporter: inference call 1/50 โ€” ALLOWED
# [policy] audit: pipeline complete, 47 inference calls, 0 policy violations

Policy Violations Blocked

100%

NemoClaw denies all traffic not explicitly allowed in the policy YAML

Part 6 โ€” Multi-Agent Orchestration Patterns

The sequential pipeline we built is one orchestration pattern. The NeMo Agent Toolkit supports several others that are useful for different use cases.

Pattern 1: Sequential Pipeline (What We Built)

orchestration:
  type: sequential
  pipeline:
    - agent: researcher
    - agent: analyst
    - agent: reporter

Best for: Linear workflows where each step depends on the previous one. Research, analysis, and reporting is the classic example.

Pattern 2: Parallel Execution

orchestration:
  type: parallel
  agents:
    - name: news_researcher
      topic: 'breaking AI news'
    - name: market_researcher
      topic: 'AI market data'
    - name: academic_researcher
      topic: 'recent AI papers'
  merge_strategy: concatenate

Best for: Gathering information from multiple independent sources simultaneously. Three researchers work at the same time, and their results are merged before analysis.

Pattern 3: Router (Conditional)

orchestration:
  type: router
  classifier: intent_classifier
  routes:
    technical: technical_agent
    business: business_agent
    general: general_agent
  default: general_agent

Best for: Handling diverse input types. A classifier agent determines the intent, then routes to a specialized agent. This is how customer support systems work โ€” route billing questions to the billing agent, technical questions to the support agent.

Pattern 4: Hierarchical (Manager-Worker)

orchestration:
  type: hierarchical
  manager: project_manager
  workers:
    - researcher
    - analyst
    - reporter
    - fact_checker
  manager_can_delegate: true
  max_delegation_depth: 2

Best for: Complex tasks where a manager agent decides which workers to engage and in what order. The manager can dynamically adjust the workflow based on intermediate results.

Bar chart data
patterncomplexityflexibilityperformance
Sequential234
Parallel345
Router454
Hierarchical553

Part 7 โ€” Working with Local NIM Inference

For production deployments where data cannot leave your infrastructure, you will want to run inference locally using NVIDIA NIM containers. This requires an NVIDIA GPU but gives you complete control over your data.

Step 1: Pull the NIM Container

docker pull nvcr.io/nim/nvidia/nemotron-3-super-120b:latest

Note: This container is large (approximately 80GB for the full 120B parameter model). For development, consider the smaller Nemotron variants:

# Smaller models for development
docker pull nvcr.io/nim/nvidia/nemotron-3-8b:latest      # ~16GB
docker pull nvcr.io/nim/nvidia/nemotron-3-22b:latest     # ~44GB

Step 2: Launch the NIM Container

docker run -d \
  --name nemotron-nim \
  --gpus all \
  -p 8080:8080 \
  -e NGC_API_KEY=${NGC_API_KEY} \
  nvcr.io/nim/nvidia/nemotron-3-super-120b:latest

Step 3: Verify the NIM is Running

curl http://localhost:8080/v1/models
# Should list the nemotron model

curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nemotron-3-super-120b",
    "messages": [{"role": "user", "content": "Hello"}],
    "max_tokens": 100
  }'

Step 4: Switch NemoClaw to Local Inference

# Update the active profile
nemoclaw config set active_profile local

# Restart the sandbox
nemoclaw restart

That is it. Your agents now run entirely on your infrastructure. No data leaves your network. The agent code does not change โ€” only the inference configuration.

Pie chart data
NameValue
Model Weights80
Runtime12
CUDA Libraries8

Part 8 โ€” Framework Comparison

If you have used LangChain, CrewAI, or AutoGen before, you are probably wondering where NemoClaw fits. The answer is that it does not replace those frameworks โ€” it complements them.

The Stack Model

Think of the agentic AI stack in layers:

| Layer | Purpose | Tools | | ----------------- | --------------------------- | ---------------------------------------------- | | Orchestration | Agent logic, chains, tools | LangChain, CrewAI, AutoGen, NeMo Agent Toolkit | | Security | Sandboxing, policies, audit | NemoClaw, OpenShell | | Inference | Model serving | NIM, vLLM, TGI, OpenAI API | | Hardware | Compute | NVIDIA GPUs, cloud instances |

The NeMo Agent Toolkit competes at the orchestration layer. NemoClaw operates at the security layer. You can actually run LangChain agents inside a NemoClaw sandbox โ€” NVIDIA explicitly supports this through framework plugins.

# Using LangChain inside NemoClaw
workflow:
  framework: langchain
  entry_point: my_langchain_chain.py

The NeMo Agent Toolkit also has native plugins for LangChain, LlamaIndex, CrewAI, Microsoft Semantic Kernel, and Google ADK. This means you can mix frameworks within a single NemoClaw deployment.

Bar chart data
frameworkorchestrationsecurityecosystem
NeMo Toolkit909575
LangChain953095
CrewAI852570
AutoGen803565

As I discussed in my prediction on NemoClaw reaching 60 percent enterprise adoption by Q1 2027, the security layer is what will drive enterprise adoption. Companies are not struggling with agent orchestration โ€” they are struggling with agent governance. NemoClaw fills that gap.

Part 9 โ€” Production Deployment Checklist

Before deploying your agent system to production, walk through this checklist:

Security

  • Sandbox policy reviewed and tightened for production endpoints
  • All network access is explicitly allowed (deny-by-default)
  • File system access limited to required paths only
  • PII redaction enabled
  • Audit trail logging enabled
  • Resource limits set based on load testing

Inference

  • Inference profile tested with production model
  • Fallback profile configured and tested
  • API key rotation schedule established
  • Rate limits configured per agent

Monitoring

  • NemoClaw logs shipping to your observability platform
  • Alerts configured for policy violations
  • Token usage tracking enabled
  • Latency monitoring per agent step

Resilience

  • Fallback inference profile tested
  • Circuit breaker timeouts configured
  • Agent restart policies defined
  • Data persistence configured for intermediate results
Security Config100.0%
Inference Setup100.0%
Monitoring85.0%
Resilience90.0%

Part 10 โ€” Troubleshooting Common Issues

Issue: "Sandbox failed to start"

This usually means Docker is not running or the Docker socket is not accessible:

# Check Docker status
docker info

# If Docker Desktop, make sure it is running
# If Linux, check the daemon
sudo systemctl status docker

Issue: "Inference timeout"

The Nemotron 3 Super 120B model can take 10-15 seconds for complex prompts on the cloud API. Increase your timeout:

# In config.yml
inference:
  timeout_seconds: 60

Issue: "Policy violation: network access denied"

Your agent is trying to reach an endpoint not in the allowed list. Check the logs:

nemoclaw logs --filter policy

Add the required endpoint to your openclaw-sandbox.yaml file, then restart:

nemoclaw restart

Issue: "Module not found" for tools

Make sure your tools directory has an __init__.py file and is mounted into the sandbox:

# In openclaw-sandbox.yaml
filesystem:
  readable:
    - '/app/tools/'

What Comes Next

You now have a working multi-agent system running inside a NemoClaw security sandbox. The natural next steps are:

  1. Add more tools โ€” Connect databases, APIs, and file processors to your agents
  2. Experiment with orchestration patterns โ€” Try parallel execution or hierarchical management for complex workflows
  3. Set up local NIM inference โ€” Move to on-premises inference for sensitive data
  4. Build custom policies โ€” Create per-department or per-use-case sandbox policies
  5. Integrate with existing frameworks โ€” Run your LangChain or CrewAI agents inside NemoClaw

The full code for this tutorial is available at github.com/CrashBytes/nemoclaw-research-agent-tutorial.

For more context on the NVIDIA ecosystem these tools live in, read my analysis of NVIDIA's full-stack AI takeover strategy at GTC 2026. And if you are new to building AI agents in general, start with my tutorial on building agents with the Claude Agent SDK for a complementary perspective using a different stack.

The agentic AI era is not coming. It is here. The question is whether you will build on a foundation that can scale to production, or whether you will spend the next year retrofitting security onto an agent system that was never designed for it. NemoClaw gives you the secure foundation from day one.

Tutorial Complete

10 Parts

From zero to production-ready multi-agent system with NemoClaw

โ†‘ 100%percent of NVIDIA agentic stack covered
Advertisement

Was this article helpful?

Your feedback helps us improve our content and create more valuable resources

We appreciate honest feedback - it helps us serve you better

Work with us

This analysis is what we do for clients

CrashBytes consults on enterprise AI strategy and implementation, builds custom web and mobile software, and places senior engineers on corp-to-corp engagements.

See Services

Enjoyed this? Get the next one.

Join developers getting CrashBytes articles, tutorials, and predictions in their inbox. No spam, unsubscribe anytime.

Related Topics

NVIDIANemoClawAI AgentsNeMo Agent ToolkitTutorialAgentic AIGTC 2026
Back to Articles
โ† PreviousNVIDIA GTC 2026 Keynote Day One โ€” Vera Rubin, NemoClaw, and Feynman Signal the Agentic AI Infrastructure EraNext โ†’The Age of AI Agents Is Here โ€” And Nobody Agreed on the Rules Yet

From across the CrashBytes network

More than the blog โ€” predictions, news, fiction, and AI art.

PredictionCustom AI Chips Reach Commodity Status by Q4 2027: Cloud Provider Competition Drives Democratization
NewsWeek In Review July 19-25, 2026 - The Week The Money Moved To The Metering Layer
Short StoryThe Answer Key
AI ArtThe Room That Remembers

Continue Your Learning Journey

Explore more articles related to Technology and expand your knowledge.

๐Ÿ“„Technology

NVIDIA GTC 2026 Keynote Day One โ€” Vera Rubin, NemoClaw, and Feynman Signal the Agentic AI Infrastructure Era

Jensen Huang's GTC 2026 keynote reveals the Vera Rubin platform with 336 billion transistors and 50 PFLOPS inference, the open-source NemoClaw agentic AI framework, and a first look at the Feynman architecture on TSMC A16. This analysis covers every major announcement and what it means for developers building the next generation of AI systems.

20 min readRead more
๐Ÿ“„Tutorial

Building Production Agentic AI Systems - Complete Tool Calling Implementation Tutorial

Step-by-step guide to building a production-ready agentic AI system with tool calling, error handling, rate limiting, and observability. Includes complete working code and GitHub repository with TypeScript implementation using Claude API.

22 min readRead more
๐Ÿ“„Technology

Nvidia's Full-Stack AI Takeover: From Chips to Agents, How Jensen Huang Plans to Own Every Layer

Ahead of GTC 2026, Nvidia has positioned itself across all five layers of the AI stack โ€” energy, chips, infrastructure, models, and applications. With NemoClaw for enterprise agents, the Groq acquisition, a $26 billion open-source investment, and the Thinking Machines gigawatt deal, Jensen Huang is executing the most ambitious vertical integration play in tech history. This analysis examines every layer of Nvidia's strategy and what it means for the industry.

30 min readRead more
๐Ÿ“„Technology

Build an AI Code Review Agent with the Claude Agent SDK โ€” A Complete Tutorial

Step-by-step tutorial for building an AI-powered code review agent using the Claude Agent SDK in Python. From basic diff analysis to custom MCP tools, severity classification, and GitHub integration. Includes a working project inspired by CodeSentri.

19 min readRead more