Skip to content
Go

Agentic Go: AI Orchestration via High-Concurrency Goroutines

Published: Duration: 4:39
0:00 0:00

Transcript

Host: Alex Chan Guest: Marcus Thorne (Principal Engineer at Synthetix Infra) Host: Hey everyone, welcome back to Allur! I’m your host, Alex Chan. Now, if you’ve been following the tech space over the last year, you know we’ve moved way past the "chatbot" phase of AI. We are firmly in the era of *agents*—autonomous entities that don't just talk, but actually *do* things. Host: To help us dive into the "how" and the "why," I am so excited to welcome Marcus Thorne to the show. Marcus is a Principal Engineer at Synthetix Infra, and honestly, he’s one of the pioneers I’ve seen talking about the "Agentic Go" movement before it even had a name. He’s been building high-concurrency systems for years and has recently shifted his focus entirely to AI orchestration. Marcus, it is so great to have you on Allur! Guest: Thanks so much for having me, Alex! It’s a wild time to be working with Go. I feel like we’re finally seeing the language’s "true calling" come to life with these agent fleets. Host: It really does feel that way! So, Marcus, let’s start with the basics. We keep hearing this term "Agentic Go." Is it just a fancy marketing term, or is there a fundamental shift happening in how we use Go for AI? Guest: (Laughs) You know, in tech, there’s *always* a bit of marketing, right? But "Agentic Go" is actually a very specific architectural response to a massive problem. See, most AI work is done in Python. We love Python for the models, the weights, the training. But when it comes to *orchestration*—managing the lifecycle of a million agents that need to remember their state and talk to each other—Python hits a wall. Specifically, the Global Interpreter Lock, or GIL. Host: I love that analogy. The "drones" being the goroutines. I mean, for those who might be coming from a different background, can you explain just how "lightweight" we’re talking? Like, if I want to run a million agents, why can't I just use threads in Java or C#? Guest: Oh, man, if you tried to spin up a million OS threads, your kernel would just… it would just give up. (Laughs). A standard OS thread can take up several megabytes of memory. You’d need a supercomputer just to handle the overhead. But a goroutine? It starts at, what, two kilobytes? You can fit tens of thousands of them into the memory space where a single Java thread lives. Host: (Laughs) A lot of tears, yeah, I’ve been there. But okay, so they’re lightweight. But these agents aren’t just "stateless" functions, right? They have to remember what they were doing. How does Go handle the *state* of an agent when it’s jumping around between millions of others? Guest: That’s the "aha" moment for most developers. In Go, we use the CSP model—Communicating Sequential Processes. Instead of sharing memory and using complex locks—which is a nightmare for debugging—we use channels. Host: Interesting! So, you mentioned the 'Goose' project. What was the biggest struggle you faced when you started orchestrating agents this way? Was it all smooth sailing? Guest: Oh, definitely not. (Laughs). The biggest struggle was actually *backpressure*. When you have half a million agents all trying to call an LLM API at the same time, you basically accidentally DDoS your provider. Host: That’s a good problem to have, I guess! "Our code is too fast for the internet." Guest: (Laughs) Right? But honestly, the real "win" was the cost. By June 2026, most enterprises are looking at their AI spend and going, "Wait, why are we spending $50,000 a month on orchestration nodes?" When we switched them to an Agentic Go model, we saw infrastructure costs drop by 70%. Not because the AI was cheaper, but because we weren't wasting CPU cycles on managing the *concurrency* itself. Host: 70%? That’s… that’s massive for any enterprise. So, for a developer listening right now who’s maybe used to the Python/LangChain world, what’s the best way to start thinking in "Agentic Go"? Is there a specific library or just a mindset shift? Guest: It’s a bit of both. There are amazing projects like 'Beads'—it’s an open-source framework that basically provides a skeleton for agentic concurrency in Go. But the mindset shift is the big one. You have to stop thinking about "Step A, then Step B" and start thinking about "Agent A sends a message to Agent B." Host: "Self-healing fleets." That sounds like something straight out of a sci-fi novel, but it’s actually the reality of the 2026 dev stack. It’s just wild. Guest: It really is. And the beauty of it is that it stays simple. Go’s syntax hasn't changed much. It’s still the same clean, boring—and I say boring with love!—language. It’s just that the world finally has a problem that fits Go’s solution perfectly. Host: (Laughs) Boring is good! Boring is reliable. Marcus, this has been such an eye-opener. I think a lot of our listeners are going to be looking at their Python scripts today and wondering if they should start migrating their orchestration layer to Go. Host: Before we let you go, Marcus, where can people follow your work or learn more about the "Agentic Go" paradigm? Guest: You can find me on GitHub at 'mthorne-dev' or check out the 'Synthetix' engineering blog. We’re actually releasing a white paper next week on the 'Goose' architecture and how we handled that million-agent simulation. Host: Awesome. We’ll make sure to link those in the show notes. Marcus, thank you so much for joining us on Allur today. Guest: My pleasure, Alex. Thanks for having me! Host: And to our listeners, if you’re building something in the Agentic Go space, we want to hear about it! Reach out on social media or join our Discord.

Tags

Go Golang ai agents enterprise backend artificial intelligence concurrency