There are two primary kinds of human endeavor: drawing boxes and shading them in. The first defines the boundaries of behavior, culture, and discussion; it draws the boxes. The latter implements those definitions and works within those boundaries. In other words, it shades them in.
I think these two definitions can help us grapple with a lot of the current debate around the role of humans and A.I. going forward. To see how, let's first explore what I mean by shading in via some historical analogues.
Shading In
For simplicity, let's pick a story most people might be familiar with: classical physics. The broad story goes thus:
- At first no one really knew why or how things moved. Aristotle had some ideas, they weren't all that useful.
- Then Isaac Newton (and Godfried Liebnitz) discovered calculus and Newton coined his so called
Laws of Motion
. Together those two ideas set modern physics, well, into motion. - The next two centuries spawned innovators who built on Newton, abstracted his math, and applied his principles to a huge range of problems.
In this way people like Euler, Lagrange, and Maxwell built on Newton's ideas, expanding them, formalizing them, and using them to build telegraphs, and rockets, and space probes, and eventually the Internet. This is of course an over-simplification, but let's go with it.
In this formulation, Newton didn't simply take another step along the road. He defined the very foundation of a new discipline. After that countless physicists and engineers filled in the gaps
by plugging holes in the theory and applying its principles to the real world. This is where the real advancement happens.
Obviously though, this change didn't happen immediately. This is because shading in takes time. It's limited by the knowledge of people in a given place and their ability to find occasion to use a new piece of tech. Of course, as all software devs learn, the actual process of building takes time too.
In this way, we can see that innovation broadly defined propagates as a wave from some source. The speed of that wave depends on three factors:
knowledge transmission + application discovery + implementationAs another example, think of the digital revolution. Once the World Wide Web became available to the public, it took time to build out the physical infrastructure. Then it took time to discover new techniques for building in this new world and find places where these technologies could or should be used. Finally, it took time (and a lot of money) to actually build those things we'd decided were useful.
shading ina given area of thought or realm of knowledge.
Simulation via tools from Paul Falstad.
Automations of that last step are always good. Assembly lines not only standardized output, they dramatically cut the time it took for cars to go from a drawing to a product in people's driveways. LLMs for coding and math are basically the same thing.
There has always been a huge demand for software, evidenced by its high cost and near constant growth. The world has continued to find new places to use computers and software to solve our problems and improve our lived reality. The wave of innovation created by the emergence of the personal computer and the World Wide Web has shaded in the boxes drawn by the invention of those technologies. What we're seeing now is the dramatic speed up of that innovation which is no longer so limited by the speed of implementation.
Much of mathematics (and of all human knowledge discovery) is too a game of shading in the gaps. This shading in happens gradually because of the nature of causality. Humans learn and pass on information, which takes time to do. The state of knowledge evolves over time and the gaps between knowledge slowly gets filled in. One could argue, and in fact I would, that there is a huge amount of latent knowledge sitting in the literature. So much has technically been discovered already, but no one has put the pieces together yet.
In a world where humans were part of a hive mind this wouldn't happen. The mathematician Kevin Buzzard said it differently:
If one human had an understanding of all of modern pure mathematics simultaneously, how much further would they immediately be able to see?
We do not know the answer to this question, just as we cannot know what the edge of the universe looks like right now because it takes time to get there.
In the past this knowledge has taken human effort to find, but the act of shading in the bounds of knowledge is, in some places, now a thing that can be sped up drastically by machines. Software is similar. So much software is needed to run the modern world, but it's always been limited by the amount of money and human time that could be afforded to a problem. That's still true, but the budget now goes further than it could before. Slowly we will shade in and write all of the software we need to run the modern world just as we will more quickly begin to understand the nuances and the gaps in our mathematics.
Drawing Boxes
The second kind of human endeavor is fundamentally different from the first. We can come to understand it by examining the assumptions that we made above. As I discussed in an earlier post, in order to fill in a space one must assume it is finite in size. In order to shade in an empty box, you need to draw the box!
This is the kind of thing that a machine learning tool based on human input can never do. Inherently backward looking tech can shade, but it cannot draw the boxes in the first place. It's a fundamental design flaw and one that cannot be fixed until the machines experience the world as we do. We should be questioning assumptions, defining new terms, sketching out the boxes which define new disciplines. Then we can let the boxes get filled in by our technology.
The labor of humans then is finally free from shading in. Our ability to do so has been dramatically increased and perhaps may even someday be largely automated. The thing is, this is good. There is much work left to do.
As Buzzard said in that same earlier post: mathematics is infinite
. Software is too. So is almost every human endeavor. There is always more to do. Yes it's different work, but none of us farm by hand anymore, even those few people who enjoyed it. We've found new and better things to do: we breed new plants, we do landscaping, we make art, and we invented computers and trains and the internet.
Zooming Out
I don't want this to be the typical technology makes new jobs we haven't thought of yet
kind of post. I don't intend that. Software as a discipline is changing. Sadly the hero-myths of the solo dev hacking on a mountaintop are truly dead, but so are the stories those were based on: those of the sage-like pagan hermits who ascended the mountaintop to attain some great truth.
From my own experience I have found that knowledge of code is now secondary to knowledge of paradigms, of data flows, of constraints, of testing, of validation, and of system design. I didn't shift, I zoomed out. It's hard to do, especially because I've built my whole career and much of my identity on the old definition of what it meant to be a good software developer, but the times have changed. What's more it's better that we can do more now. It's better we can learn more things. Our understanding of mathematics will only grow. Our ability to make software that's tested and full-featured will only increase. Our job is to sketch out the bounds of what we want the world to do, to draw the boxes we want to see filled in.
In the old world, before the computers we know today there were still computers. They were people. They crunched numbers for experienced engineers so they could focus on the bigger picture. In the end, the precise angle of the nose cone isn't all that important. It's required, sure, but it's far more important to zoom out and get the bigger picture: the orbit, its shape, the balance of fuel and weight.
I'm scared, I'll admit, but I'm also excited to see what happens now that mathematics and software can zoom out another level and focus on new problems.
For years programmers argued about tests: how to write them, what is worthwhile to test and what isn't. These are concerns you have when test writing costs money, when it takes a lot of time—peak shading in. Now it's easy to get to 80-90% coverage and it costs basically nothing. Finally, we're free! No one enjoyed that work. No one wanted to do it. Now, no one has to. We can zoom out and worry about questions we didn't have the bandwidth to think about before.
In a recent 3Blue1Brown video, Grant Sanderson touched on a similar idea. He drew the distinction slightly differently: proving theorems vs. theory building. I think this applies far beyond mathematics and software, but I'd expect software development to focus more on erecting guardrails, writing documentation, and verifying results. In other words: it'll be about theory building (documentation) and verification (proving results). If a discipline can determine how to do those two things, then I'd expect it to quickly become revolutionized. However it's a very open question if that is actually possible. What does it mean to theory-build and verify the working of a manufacturing process?
The Words Belong to Us
I say all this because I think we're in the middle of a shift in the way humans will participate in the advancement of knowledge. It could be that A.I. models like LLMs will simply improve our ability to search the space of existing knowledge: basically better web search. However we've already seen many other emergent use cases, especially in mathematics and sofware, that challenge this idea.
A.I. has the potential to improve every single part of the wave speed formula above, and so dramatically improve our ability to spread novel innovations and discover those latently sitting in our existing whitepaper hoards.
It's important to remember that these algorithms depend on words as we've defined them. This is what I mean by drawing boxes. We have decided which concepts deserve a name and we've defined our terms to describe things we think are important.
We give names to stuff, and if they catch on we put them in dictionaries with the word noun next to them. But are all of these nouns an inventory of the Universe or an inventory of things we made?
– Vsauce
As we continue to accelerate the pace at which we can implement technologies and shade in the boundaries of human knowledge, it's important to remember that, ultimately, we're the ones in control of the system because we define the boundaries of discussion. We make up the words and thereby impose our definitions on the world. That is the irreplaceable value we provide that no model can ever hope to replace.
It might feel like a very abstract role to us now, but so would be modern formal logic to the scholars of early-modern Europe who worried that a calculator would replace them. It didn't. Instead they went on to focus on more important things.
Have thoughts? Shoot me an email.