{"slug": "why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding", "title": "Why human syntax breaks LLMs (and how to fix agentic coding)", "summary": "AgentScript (ASL), an open-source, statically typed language using single-pass S-expressions that compiles to native Rust, Go, TypeScript, and WebAssembly, reduces syntax repair waste in coding agents by 98.3% versus a Rust baseline, cutting repair iterations from 4.8 cycles to 0.08 and syntax repair waste to 1.2%. In Terminal-Bench 4.0 tests with Gemma 4 31B under airgap, ASL achieved a 13.5% macro pass rate (12/89 tasks) with 77.3% token savings versus standard agent CLI baselines, which scored 0.0% with open-weights models.", "body_md": "Full technical essay with benchmarks & AST breakdowns: https://aslang.dev/blog/why-llms-struggle-with-python-and-rust\n\nOver the past two years, watching coding agents generate code, we kept noticing an identical failure pattern: models spend 32% to 41% of their inference compute trapped in syntax repair loops.\n\nWhen we investigated the information theory behind this, we realized the problem is not model scale—it is the computational geometry of transformer attention heads when confronted with human-centric grammars: 1. Python's off-side rule: Lexing requires an internal LIFO indentation stack. Closing 3 blocks emits 0 characters. A single whitespace token split silently re-parents AST subtrees. 2. Rust's borrow checker: Validity depends on non-local constraint solving across lifetimes and CFGs. Autoregressive generation is strictly forward causal (O(1) feedforward); it cannot backpropagate lifetime conflicts backward during generation.\n\nWe built AgentScript (ASL): an open-source, statically typed language using single-pass S-expressions that compiles directly to native Rust, Go, TypeScript, and WebAssembly (wasm32-wasip1).\n\nKey properties enforced by construction: * Balanced parentheses by grammar: Left-to-right attention heads always know parent scope. * Closed vocabulary (prelude.json): 100% of builtins are type-checked and evaluated; no unmodeled foreign calls. * Sub-millisecond Wasm sandboxing: In-memory WASI preview1 execution in 0.038ms without Docker/microVM spin-up. * Syntax repair collapse: Models spend 46.5% of generated tokens fixing syntax in Rust (our hard baseline) and 34.2% in Python. In AgentScript, repair iterations drop by 98.3% vs Rust baseline (from 4.8 cycles to 0.08), cutting syntax repair waste to just 1.2%.\n\nOur Mission: The Best Harness for Local Development with Small Models While frontier models on cloud clusters partially brute-force messy human grammars, our mission is to build the most effective autonomous harness for local development with small models (SLMs: 3B to 31B like Qwen, Gemma, Llama) running directly on developer machines.\n\nOn Apple Silicon or laptops, memory and attention are precious. A single-pass, parenthesis-balanced language combined with resident AST batch RPC eliminates the syntax churn and context rot that derail small models.\n\nPre-Release Alpha & Active Development: AgentScript is in early pre-release alpha—we do not have a tagged v0.1 release yet and are actively migrating to a 100% self-hosted compiler & WASI runtime. But even at this stage, empirical results inside agent loops are remarkably compelling.\n\nTry It Locally & In Your Agent Skills: We do not offer an in-browser playground—test the real thing directly in realistic agent workflows: 1. CLI toolchain: curl -fsSL https://aslang.dev/install.sh | bash (or clone GenSEAM/asl & cargo build --release) 2. Equip agent skills (Claude Code, Cursor, Antigravity) with AST verification and batch RPC: asl rpc '(:batch (:out \"src/main.asl\") (:sym \"my_func\"))'\n\nTerminal-Bench 4.0 Baseline (Macro Results, Not Cherry-Picked): We packaged our baseline submission on Terminal-Bench 4.0 (tested on Gemma 4 31B under strict airgap boundaries): * Macro Pass Rate: 13.5% across all 89 evaluated tasks (12 verified passes / 89 total tasks). * Baseline Comparison: Common harnesses (Claude Code, Codex, CLI loops) score 0.0% on this suite when paired with open-weights models due to subshell state loss, quoting drift, and context blowup. Pure ASL achieves 13.5% on Gemma 31B in airgap. * Token Economy: 77.3% token savings vs standard agent CLI baselines.\n\nTranscripts & submission tarball: https://github.com/GenSEAM/harness Core compiler & runtime repo: https://github.com/GenSEAM/asl\n\nWe would love critical feedback from compiler engineers, language designers, and systems builders on the grammar design and agent steering architecture!\n\nComments URL: [https://news.ycombinator.com/item?id=49609821](https://news.ycombinator.com/item?id=49609821)\n\nPoints: 3\n\n# Comments: 0", "url": "https://wpnews.pro/news/why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding", "canonical_source": "https://news.ycombinator.com/item?id=49609821", "published_at": "2026-09-08 13:04:18+00:00", "updated_at": "2026-09-08 13:28:49.499924+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents", "large-language-models", "artificial-intelligence"], "entities": ["AgentScript", "ASL", "GenSEAM", "Terminal-Bench 4.0", "Gemma 4 31B", "Qwen", "Llama", "Claude Code"], "alternates": {"html": "https://wpnews.pro/news/why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding", "markdown": "https://wpnews.pro/news/why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding.md", "text": "https://wpnews.pro/news/why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding.txt", "jsonld": "https://wpnews.pro/news/why-human-syntax-breaks-llms-and-how-to-fix-agentic-coding.jsonld"}}