Autonomous Coding Agent

NeMo-WM Codes

No LLM. No API calls. NeMo-WM reads a problem, identifies the algorithm, selects the right template, and generates working code — like a real engineer.

94%
Pattern Accuracy
91%
Template Selection
21
DSA Patterns
63
Code Templates
8
Languages
0
LLM Calls
How It Works
Thinks Like an Engineer
NeMo-WM follows the same cognitive process a senior developer uses: read the problem, identify the pattern, select the algorithm, adapt the template, verify the solution.
01
👁️
Perceive
Parse the problem. Detect input type, output type, constraints, and key phrases.
02
🧠
Match Pattern
Synonym expansion + structure detection. Score 21 DSA patterns. Select best match.
03
📐
Select Template
Pick the right variant. Not just "DP" but specifically "coin change" or "LCS" or "knapsack".
04
Synthesize
Generate code from template. Adapt to the specific problem. Choose the right language.
05
Verify
Run against test cases. Debug if needed. Learn from the result for next time.
Live Examples
Watch NeMo Think
Each example shows NeMo's internal reasoning process alongside the generated code. No language model involved — pure algorithmic pattern matching.
LC #1: Two Sum
Hash Table Python O(n) Easy
🧠 NeMo's Reasoning
Input: array of integers + target
Detected: "add up to target" → synonym expands to "pair sum", "two sum"
Structure: needs_pairs=true, has_array=true
Pattern: Hash Table (score: 0.92) — complement lookup
Template: two_sum — seen[complement] pattern
Generated in 0ms, zero API calls
def two_sum(nums, target): seen = {} for i, num in enumerate(nums): complement = target - num if complement in seen: return [seen[complement], i] seen[num] = i return []
LC #994: Rotten Oranges (Multi-Source BFS)
BFS Python O(m×n) Medium
🧠 NeMo's Reasoning
Input: 2D grid with obstacles
Detected: "spread simultaneously" → multi-source BFS
Structure: has_grid=true, needs_shortest=true
Pattern: BFS (score: 0.95) — shortest path in grid
Template: multi_source — all rotten oranges start simultaneously
Correctly chose multi-source over standard BFS
from collections import deque def multi_bfs(grid, sources): rows, cols = len(grid), len(grid[0]) queue = deque() for r, c in sources: queue.append((r, c, 0)) visited = set(sources) while queue: r, c, dist = queue.popleft() for dr, dc in [(-1,0),(1,0),(0,-1),(0,1)]: nr, nc = r+dr, c+dc # bounds + visited check
LC #322: Coin Change (Dynamic Programming)
DP C++ / Rust O(n×amount) Medium
🧠 NeMo's Reasoning
Detected: "fewest coins", "denomination" → needs_dp=true
"coin change minimum cost" triggers DP with coin_change template
NOT greedy (greedy doesn't work for arbitrary denominations)
Pattern: Dynamic Programming (score: 0.98)
Template: coin_change — unbounded knapsack variant
Same algorithm, rendered in C++ and Rust
C++
Rust
int coinChange(vector<int>& coins, int amount) { vector<int> dp(amount+1, amount+1); dp[0] = 0; for (int coin : coins) for (int a = coin; a <= amount; a++) dp[a] = min(dp[a], dp[a-coin]+1); return dp[amount] > amount ? -1 : dp[amount]; }
LC #51: N-Queens (Backtracking with Pruning)
Backtracking Java O(n!) Hard
🧠 NeMo's Reasoning
"N queens", "no two attack", "valid configurations"
Structure: is_generation=true → Backtracking
"constraint" + "pruning" → with_pruning template, NOT permutations
Chose constraint satisfaction over brute force
Template includes validity check before placement
Distinguishes queen placement from generic permutation
public void backtrack(char[][] board) { for (int r = 0; r < 9; r++) { for (int c = 0; c < 9; c++) { if (board[r][c] == '.') { for (char num : "123456789") { if (isValid(board, r, c, num)) { board[r][c] = num; if (backtrack(board)) return true; board[r][c] = '.'; } } return false; } } } return true; }
ARC-AGI: Color Swap from I/O Examples
Perception Python O(n) ARC
🧠 NeMo's Reasoning (from examples, no text)
Input: [[0,3,0],[3,7,3]] → Output: [[0,7,0],[7,3,7]]
Perceive: same size, some pixels changed
Compare: 3→7 and 7→3 consistently across all pairs
Hypothesis: color mapping {3:7, 7:3}
Verified on all training examples
Generated working code from I/O examples alone
# NeMo generated this from examples # No problem text — pure perception def solve(grid): import numpy as np mapping = {3: 7, 7: 3} g = np.array(grid) out = g.copy() for old, new in mapping.items(): out[np.array(grid) == old] = new return out.tolist() # Test: [3,3,7] → [7,7,3] ✓
Union-Find: Connected Components
Union-Find Rust O(α(n)) Medium
🧠 NeMo's Reasoning
"redundant connection", "cycle in undirected graph"
Structure: needs_connectivity=true, has_graph=true
Union-Find beats DFS here: dynamic edge addition
Path compression + union by rank
Template: standard (full UF with find + union)
Rust ownership model naturally fits UF's mutable state
struct UnionFind { parent: Vec<usize>, rank: Vec<usize>, } impl UnionFind { fn new(n: usize) -> Self { UnionFind { parent: (0..n).collect(), rank: vec![0; n], } } fn find(&mut self, x: usize) -> usize { if self.parent[x] != x { self.parent[x] = self.find(self.parent[x]); } self.parent[x] } }
Polyglot
One Mind, Eight Languages
NeMo thinks in algorithms, not syntax. The same Two Sum solution is a hash map complement lookup whether it's Python's dict, Java's HashMap, or Rust's HashMap.
🐍
Python
12 templates
🟨
JavaScript
9 templates
Java
8 templates
C++
6 templates
🦀
Rust
4 templates
🐹
Go
2 templates
🔷
TypeScript
1 template
💜
C#
1 template
Benchmark
94% Accuracy, Zero LLM
Tested on 35 medium-hard LeetCode problems across all 21 DSA pattern categories. NeMo correctly identifies the algorithm and selects the right template variant.
Pattern Matching
94%
Template Selection
91%
ARC Code Gen
75%
Multi-Lang Coverage
8 langs
$ python nemo_coding_agent.py --test
Testing NeMo-WM Coding Agent v4...
Two Sum → Hash Table / two_sum
Valid Parens → Stack / matching_brackets
Islands → DFS / grid_flood_fill
Coin Change → DP / coin_change
Permutations → Backtracking / permutations
Dijkstra → Graph / dijkstra
...
PATTERN: 33/35 (94%) | TEMPLATE: 32/35 (91%)
ZERO LLM CALLS