The New Way of Programming with AI: Software 3.0

Just over 5 years ago, Andrej Karpathy coined the term “Software 2.0” to refer to the new way of programming that arises with Machine Learning: instead of programming instruction by instruction, with ML we introduce a data sample and a partial result to the computer so that it designs a program that finds the result for a much larger data sample.

This year, Karpathy wrote that the new programming language is… the English language. With this, Karpathy is referring to the fact that today the AI engineer asks in colloquial language (whether it’s English, Spanish, or any other) for the LLM model what they want the LLM model to write in Python, Java, Javascript, or any other desired language. This is already happening: today, AI engineers work hand in hand with our LLM assistant to develop AI software solutions.

The term “Software 3.0” represents a qualitative leap in the way software is developed:

 

  1. Software 1.0: Here, developers write each line of code. Programming is manual and is based on traditional logic and control structures.

 

  1. Software 2.0: With the advent of Machine Learning, programming becomes a mix of traditional code and trained models. Instead of writing explicit logic, we train models with data to learn to perform specific tasks.

 

  1. Software 3.0: This phase focuses on interacting with large-scale language models (LLMs) using natural language. Developers communicate with the models in human terms, and these models generate or suggest code. It’s a collaboration between humans and machines, where the LLM model acts as a programming assistant.

The AI engineer is increasingly becoming more of a programming director than a programmer: they will direct the programming of the LLM assistant, whether it’s the LLM directly or an agent built on the LLM like smol-developer, Codium AI, Codegen.ai, Morph/Rift, and other similar initiatives.

Mind you, this doesn’t mean that the AI engineer shouldn’t know how to program. Just as a sales director needs to know how to sell in order to direct salespeople, the AI engineer needs to know how to program in order to direct an LLM programming assistant.

The role of code written by people to orchestrate and supplant the power of the LLM remains relevant, hence the popularity of new frameworks that work along those lines, such as Langchain or Voyager.

Unlike the world of web applications, dominated by the Javascript language and its libraries, the AI world is dominated by the Python language and its libraries. However, in recent years it has also opened up to the Javascript universe with compatible initiatives such as Langchain, Transformers, and Vercel.

The above is an excerpt from the book “Keys to Artificial Intelligence” by Julio Colomer, CEO of AI Accelera, also available in a mobile-friendly ebook version.

At AI Accelera, our goal is to make the vast potential of Artificial Intelligence accessible to businesses, professionals, startups, and students from all over the world. See how we can help you.