Building AI Products In The Probabilistic Era

September 3, 2025

A diagram labeled "All modern digital infrastructure" shows a precarious stack of blocks resting on a single, narrow block labeled "A project some random person in Nebraska has been thanklessly maintaining since 2003."

Just as physics underwent a conceptual revolution when we moved past Newton’s deterministic universe, and into a strange and counterintuitive place made by wave functions, software too is undergoing its own quantum shift. We’re leaving a world where code reliably and deterministically takes certain inputs to produce specific outputs, and entering a very different one where machines now produce statistical distributions instead.Building probabilistic software is like nothing we’ve done before.

Source: Building AI Products In The Probabilistic Era

Software engineering has traditionally been a deterministic practise. Even when a system does not work, it does not work in a deterministic way. It just may be challenging to find out exactly why.
Now we might think of all engineering as a deterministic practise, but in fact, most engineering traditionally hasn’t been.

As Potatolicious observed recently

Most classical engineering fields deal with probabilistic system components all of the time. In fact I’d go as far as to say that inability to deal with probabilistic components is disqualifying from many engineering endeavors.

Here, Gian Segato Considers what it is to develop software in a non-deterministic framework.