top of page
Search

How does AI create software?

  • Writer: Dave Snyderman
    Dave Snyderman
  • Dec 22, 2025
  • 2 min read

Updated: Jan 1

The AI agents that write code are all built on something called Large Language Models, or LLMs. If you dig into the technical literature, you'll encounter discussions of vectors, matrices, attention mechanisms, and massive datasets used for training. But let's skip the linear algebra and talk about what this actually means in practice.


Building an LLM requires two things: a model architecture and training data. Lots of training data.


For software development capabilities, that training data includes as much code as the AI companies can get their hands on. Open source repositories get ingested. Public code on platforms like GitHub and GitLab gets read in. Documentation, Stack Overflow discussions, technical blogs—anything that helps the model understand how code works and how developers talk about it.


From all this input, the LLM builds what the "M" stands for—the model. Think of it as a massively complex statistical representation of patterns: given a certain context (your request, the existing code, the conversation so far), what's the most likely appropriate response? Those patterns are encoded in the model's parameters—modern LLMs have hundreds of billions of these parameters, each one a small piece of learned knowledge about language and code.


When you ask an AI to write software, here's roughly what happens: your request gets parsed and understood in context, then the model predicts what output best matches that input based on everything it learned during training. It's finding the response that makes the most sense given all the code patterns it's seen before.


This is why some people dismissively call it "fancy autocomplete." That's underselling it significantly, but the underlying point isn't wrong—the AI is essentially predicting what should come next based on patterns in its training data. The difference is that "what comes next" can be an entire application architecture, not just the next word. Or it can fix a bug, add a feature, change a menu name, or whatever the developer is requesting.


Obviously, there's a lot more complexity to the process. There are a lot of devils in the linear algebra details. But, in a hand waving sense: LLMs write code by parsing a request ("build me an application for...") and formulating a response (asking itself, "based on the codebases I've seen, which one best answers that request?").


The AI companies aren't standing still, either. They're constantly finding ways to improve code generation:


**Chain-of-thought reasoning**: Instead of jumping straight to code, the AI reasons through the problem step by step. This catches logical errors and leads to better solutions.


**Self-reflection**: The model evaluates its own output, checking whether the code actually solves the problem and considering alternative approaches.


**Task decomposition**: Complex requests get broken into subtasks, each handled by specialized components. One agent might plan the architecture while another writes the implementation and a third handles testing.


**Specialized agents**: Rather than one general-purpose model doing everything, you can have agents optimized for specific tasks—code review, refactoring, test generation, documentation.


The result is that AI code generation keeps getting better, and the gap between what a skilled developer can produce and what an AI can produce continues to narrow—at least for well-understood problem domains.

 
 
 

Recent Posts

See All
How does software development change with AI tools?

AI software development tools are fundamentally changing the roles played by software developers in several ways. Software developers are going to be writing less-- or, often, no-- code moving forward

 
 
 

Comments


Targeted Quality Laboratory Informatics Consulting

‪1+(585) 237-8259‬

Rochester, NY 14620

 

© 2025 by TQLI Consulting. Powered and secured by Wix 

 

bottom of page