labs-OO-Agents vs LangGraph
NVIDIA's object-oriented agent framework: an agent is a Python class — fields are state, docstrings are prompts, and a `...` method body becomes an LLM loop that acts by writing Python. — versus — Build stateful, multi-actor LLM apps as graphs — durable execution, human-in-the-loop, streaming.
Opposite shapes for the same job. LangGraph makes the topology explicit — nodes, edges, checkpoints, durable execution; NOOA hides it in Python semantics, where methods are the steps and `self` is the state. Choose LangGraph when the graph is the artifact you reason about, NOOA when the class is.
| labs-OO-Agents | LangGraph | |
|---|---|---|
| Stars | 1.9k | 40k |
| Forks | 259 | 6.8k |
| Language | Python | Python |
| License | NOASSERTION | MIT |
| Last activity | today | yesterday |
| Topics | agents, orchestration | agents, orchestration |
| Curated connections | 3 | 24 |
labs-OO-Agents — the curator's take
The bet is that agent code should be ordinary code: no prompt registry, no hand-written tool schemas, no graph DSL — one class you subclass, type-check, trace and refactor like the rest of the repo. The `...` body is the whole trick: leave a method unimplemented and the runtime hands it to an LLM that acts by writing Python in a REPL with `self` in scope, so composition and state sharing are just attribute access, and methods with type annotations are already callable tools. Use it if your team thinks in typed Python and wants agents to survive a refactor. NOT the pick if you want a visual builder, a managed runtime or a big integration catalogue — it is a library with a paper behind it, and the CLI, ACP, memory and bench pieces are separate distributions.
LangGraph — the curator's take
You reach for LangGraph the moment a simple agent loop stops being enough — when you need state that survives a crash, a human approving a step mid-run, or a flow that can loop back on itself. Most teams arrive here from plain LangChain and don't leave. If all you want is a quick tool-calling agent, this is more machinery than you need — start lighter and come back when you hit the wall.