← kwindla hultman kramer

"Agents" are great. I love agents. Some of my best friends are agents

April 25, 2026

"Agents" are great. I love agents. Some of my best friends are agents.

But agents aren't the end state of AI-native software. They're a single component. A small corner of a pattern language.

I've been spending all my side project time lately thinking about how to build big, non-trivial, software applications entirely, from the ground up, around LLMs.

We built a multi-player online game, Gradient Bang, that's a canvas for experimenting with running multiple inference loops all the time, managing very large context and rich world state, voice input, dynamic user interface generation, memory, and continual learning.

One thing that keeps happening, as we work on Gradient Bang, is that we rip out a chunk of program code and replace that code with an inference call (or a bunch of inference calls). @JonPTaylor just did this again today.

I wrote the first version of combat in the game as a traditional "player makes a choice each turn" game decision loop. Jon just redesigned combat around "strategies" that the ship AIs in the game execute.

Which is obviously better, now that he's done it. The whole game is about talking to your ship AI. My original turn-based combat broke that model and dropped the player into a pre-AI mode of interaction.

The general rule (which is hard to remember; I keep reaching for traditional solutions to software engineering problems) is that LLMs are natural language machines. Everything that doesn't look like natural language is probably an anti-pattern.

Watch Jon's video. There's a bunch of cool stuff. Notice how the UI updates to reflect the outcomes of the voice conversation!

Jon Taylor@JonPTaylor

Combat Strategies! Spicing up combat in Gradient Bang to give players more control over their space drama.

You can roll with a predefined doctrine, or provide custom prompts for the agent to follow. Perfect for instructing my fleet always be on the lookout for opportunities to

Video from @JonPTaylor's post