v0.1.0 public beta — open source, MIT licensed

Your LLM pipelinesare spaghetti.n00dles fixes that.

Open-source multi-agent AI orchestration built for engineers who ship. Chain agents, manage state, handle failures — without 800 lines of boilerplate.

$pip install n00dles
12x
less boilerplate than LangChain
<50ms
agent-to-agent handoff latency
MIT
open source license, forever free
agents per pipeline, no limits
The problem

Multi-agent AI is broken.
We fixed it.

✗ Before n00dles
  • 800+ lines of LangChain boilerplate before your first agent runs
  • State management breaks in production under any real load
  • No native retry, timeout, or fallback handling
  • Agent pipelines collapse silently — you find out when the user does
  • Debugging is reading wall-of-text logs at 2am
  • Vendor lock-in to one LLM provider
  • Deploying to production is a separate nightmare
✓ With n00dles
  • First agent running in under 10 lines of Python
  • Built-in distributed state store — survives restarts and crashes
  • Retry, timeout, and circuit breaker baked into every node
  • Structured failure propagation with full trace context
  • Visual pipeline debugger with per-agent replay
  • Provider-agnostic — Anthropic, OpenAI, Mistral, local Ollama
  • One command deploy to any cloud or self-host
Features

Everything you need.
Nothing you don't.

n00dles is opinionated about the right way to build multi-agent systems — so you don't have to be.

Agent Chaining
Connect agents into pipelines with typed inputs and outputs. Each noodle knows exactly what it receives and what it passes forward.
🔄
Parallel Execution
Run independent agents simultaneously. n00dles handles fan-out, fan-in, and result merging automatically.
💾
Persistent State
Pipelines survive crashes, restarts, and scaling events. State is checkpointed after every node.
🔁
Smart Retries
Exponential backoff, jitter, and configurable retry budgets per agent. Rate limit handling built in for all major LLM providers.
🔌
Provider Agnostic
One interface for Claude, GPT, Mistral, Gemini, Ollama, and any OpenAI-compatible endpoint. Switch with one config change.
🔍
Full Observability
Every token, every latency, every tool call logged with structured traces. Integrates with Langfuse, Helicone, and OpenTelemetry.
🛡️
Type-Safe Contracts
Pydantic models define agent I/O contracts. Schema validation at every node boundary. Catch mismatches at definition time.
🧪
Pipeline Testing
Mock any agent or LLM provider in tests. Run full pipeline integration tests without spending a single API token.
🚀
One-Command Deploy
Deploy as serverless functions, Docker containers, or long-running workers. Cloud or self-hosted. noodles deploy and you're live.
Code

Ship your first pipeline in minutes.

No subclassing, no decorators, no configuration YAML. Just Python. Define agents as functions, wire them together, run.

LINES TO FIRST WORKING PIPELINE
LangChain
~120 lines
LangGraph
~90 lines
CrewAI
~70 lines
n00dles
10 lines
pipeline.py
from n00dles import agent, pipeline, run # Define agents as plain Python functions @agent(model="claude-sonnet-4-6") def researcher(topic: str) -> str: """Research the given topic and return key facts.""" @agent(model="claude-sonnet-4-6") def writer(research: str) -> str: """Write a compelling article from the research.""" @agent(model="claude-sonnet-4-6") def editor(draft: str) -> str: """Review and improve the article for clarity.""" # Wire agents — retry 3×, 30s timeout content_pipeline = pipeline( researcher >> writer >> editor, retry=3, timeout=30 ) result = run(content_pipeline, topic="Banking 5.0") print(result.output)
from n00dles import agent, pipeline, parallel, run @agent(model="gpt-4o") def scrape_news(query: str) -> list: """Scrape latest news articles for the query.""" @agent(model="gpt-4o") def scrape_twitter(query: str) -> list: """Pull relevant recent posts for the query.""" @agent(model="claude-sonnet-4-6") def merge_signals(news: list, tweets: list) -> dict: """Merge and rank all signals by relevance.""" # parallel() runs both scrapers simultaneously intel_pipeline = pipeline( parallel(scrape_news, scrape_twitter) >> merge_signals, timeout=20 ) result = run(intel_pipeline, query="AI regulation 2026")
from n00dles import agent, pipeline, branch, run @agent(model="claude-haiku-4-5") def classifier(text: str) -> dict: """Classify ticket: { category, confidence }""" @agent(model="claude-sonnet-4-6") def handle_support(ticket: str) -> str: """Handle customer support inquiry.""" @agent(model="gpt-4o-mini") def handle_billing(ticket: str) -> str: """Handle billing and payment inquiry.""" # branch() routes to the right specialist triage = pipeline( classifier >> branch( support=handle_support, billing=handle_billing, default=handle_support, ), retry=2 ) result = run(triage, text="My invoice is wrong")
How it works

From zero to production pipeline in four steps.

01
Define your agents
Decorate any Python function with @agent. Specify the model, prompt, and I/O types.
02
Wire the pipeline
Chain with >> for sequential, parallel() for concurrent, or branch() for conditional.
03
Run and observe
Run locally with run(). Every step is traced. Inspect latency and token costs in the dashboard.
04
Deploy anywhere
noodles deploy ships as serverless, Docker, or a worker. Self-hosted or cloud.
Architecture

Built for production from day one.

n00dles is a layered runtime, not a prompt-wrapper. Each layer has one job and does it well.

YOUR CODE
@agent functions
pipeline() definitions
run() calls
ORCHESTRATION
Pipeline executor
State machine
Retry engine
Branch router
RUNTIME
Async worker pool
State store (Redis / SQLite)
Trace collector
LLM LAYER
Anthropic Claude
OpenAI GPT
Mistral / Gemini
Ollama (local)
DEPLOY
AWS Lambda
Docker / K8s
Fly.io / Railway
Self-hosted
Comparison

How n00dles stacks up.

We built what we wished existed when we were fighting LangChain at 2am.

Featuren00dlesLangChainCrewAILangGraph
Lines to first pipeline~10~120~70~90
Provider agnostic~
Built-in retry / timeout~
Persistent state
Parallel execution~
Type-safe I/O contracts~~
Visual pipeline debugger
One-command deploy
Pipeline testing (no tokens)~~
Open source (MIT)
Use cases

What engineers build with n00dles.

Research & Analysis
Deep research pipelines
Chain a web scraper → summarizer → analyst → report writer. Run dozens of parallel research threads. Get structured reports from raw web data in seconds.
Content Automation
AI content factories
Research → draft → SEO optimize → localize → publish. Each stage is an agent. The pipeline runs on schedule and retries gracefully when any LLM call fails.
Data Processing
Document intelligence at scale
Ingest PDFs and contracts → extract structured data → validate → load to database. n00dles handles 1,000 documents in parallel with full audit trails.
Prediction Markets
Multi-agent prediction systems
News scraper → sentiment agent → probability estimator → signal aggregator → position recommender. n00dles manages the flow between all 12 agents.
Customer Support
Intelligent support pipelines
Classify → route to specialist → retrieve context → draft response → human review gate → send. Handle 80% of tickets automatically with full escalation logic.
Code & DevOps
Automated code review pipelines
PR opens → security scanner → performance reviewer → style checker → summary writer → post comment. Runs on every PR, zero developer overhead.
Community

Engineers are talking.

S
Siddharth K.
@siddk_dev
Replaced 400 lines of LangChain with n00dles yesterday. Same behavior, 90% less code, actually readable. This is what I wanted LangChain to be in 2021.
M
María C.
@maria_ai_eng
The built-in retry handling alone is worth the switch. LLM APIs flake. n00dles just... handles it. I haven't had a failed pipeline wake me up in 3 weeks.
A
Aryan P.
@aryan_builds
Built a 12-agent research pipeline in an afternoon. With CrewAI this took me a week. n00dles just works and the >> syntax is insanely clean.
Get started

Stop wrestling
with your pipelines.

Your LLM agents should be working. You should be shipping. n00dles gets out of your way.