LLMs and Agents are new software primitives

If you remember the 2000s, creating a web application was a mess: HTML and programming logic were mixed together, and web servers were always processing requests and generating HTML responses altogether. Then it came Ruby on Rails, and we started separating responsibilities in a way that scaled well with templates, the model-view-controller pattern beautifully implemented, and a bias towards developer happiness and framework ergonomics.

We found the right primitives for web development to flourish. Today, despite your programming language of choice, you have great options to work with.

If you remember the 2010s, caching was not pervasive as today. Memcached was niche tech and we’re still putting a lot of unnecessary load into our traditional relational databases from the 80s. Then Redis was launched, and caching became widely accessible. Combined with the nascent NoSQL movement with Riak, Cassandra, MongoDB, and others, we started decoupling services in a much better way than one-size-fits-all “Enterprise Service Buses”.

We found the right primitives for distributed systems to flourish. Today, despite your programming language of choice, you have great options to work with.

If you remember the 2022, LLMs were not a thing outside PhD-level research labs. Then ChatGPT was launched, and the world started talking about AI — in the mainstream news, on a Saturday barbecue with family, etc. We learned LLMs are even more powerful to generate a specific kind of text, with tiny grammar and limited vocabulary combinations if compared with English: code.

Later, we paired LLMs that are great at writing code with code execution sandboxes, and then we started having real features being fully implemented by non-deterministic tools — with reasonable accuracy. We orchestrated those capabilities around end-to-end use cases, and AI agents became a thing.

We found the right primitives for AI-native software to flourish in the years to come. Today, despite your LLM provider of choice, you have great options to work with.

The future of software will be a mix between deterministic primitives and non-deterministic capabilities generated by AI working side-by-side to fulfill a much wider set of use cases.