Understanding in the Age of AI

Understanding in the Age of AI
Photo by Theo Crazzolara on Unsplash
Chop your own wood and it will warm you twice.
— Henry Ford

Last weekend, I gave my talk at Conjecture Con 2026 in Philadelphia. Watch it here:

Hard to Vary or Hardly Usable? My presentation at Conjecture Con.

Titled ‘Hard to Vary or Hardly Usable’, it’s based on a previous blog post and Veritula discussion of the same name. It’s about some problems with physicist David Deutsch’s epistemological work, specifically about rational preferences. I also wrote a brief summary.

For details, watch the talk or read the linked resources. Here, I’ll focus on the main conclusion from my talk, which is that…

Serious epistemologists are programmers.

In the 21st century, writing books or blog posts – in short, prose – is not good enough. Whenever an epistemologist refers to a computational task, he must program that task. This standard is based on Deutsch’s razor that, to claim you’ve understood a computational task, you must be able to program it.*

Epistemologists often refer to computational tasks. For example, the objectivist concept of integration is obviously a computational task, but from what I’ve seen, nobody has even tried to program it. So nobody has understood it. (I give some pointers here.) Talking about computational tasks only in plain English is sloppy. It’s like trying to be a mathematician without writing any equations or proofs.

I said in my talk that our job as epistemologists is to create beautiful user interfaces that help people make rational decisions. Epistemology presentations at conferences like Conjecture Con should essentially be product demos. That’s the standard I want to set.

Preference formation is a computational task. Given several rival solutions to a problem, you need a way to rationally prefer one of them over the others. You could, in principle, write down the steps to make the decision in the form of a computer program.

I’m not aware of any epistemologist ever stating his method or principle of preference formation in terms of computation. Again, I think that’s sloppy. William of Occam, for example, said to prefer the simplest theory. That was long before there were computers, so he can be forgiven – but today’s advocates of his method should either program or reject it. The same goes for preferring the more ‘likely’ theory, or the best corroborated (Karl Popper), or the one that’s hardest to change (“vary”) without breaking it (Deutsch). Popper can also be forgiven since he did much of his work before personal computers even existed.

Beyond Deutsch’s razor, there’s also the sheer number of ideas we deal with, and the discussions we have about them. We can’t track the state of all those discussions in our head. It’s too error-prone. We need a computer to tell us how the effects of a new criticism, for example, percolate through a discussion; which ideas are affected. Try being an accountant without Excel spreadsheets – it’s just too hard. You need to see in real time how changes to one idea affect your other ideas. And the computer should save that state so you don’t have to remember any of it.

That’s basically an epistemologist’s job: to build an Excel spreadsheet of ideas. It need not be table-based, but it needs to track the rational adoptability of ideas in real time.

After my presentation, some people asked me: now that ‘artificial intelligence’ is getting pretty good, is it fine if they just ‘vibe code’ such a tool?

My answer is twofold.

First: ‘vibe coding’ is not good enough to meet Deutsch’s standard of understanding. As I wrote before:

… I expect aspiring epistemologists to be at least somewhat competent programmers. ‘Vibe coding’ isn’t good enough – you need to actually understand software and write it by hand. It’s common knowledge among programmers that learning to code has helped them think.

If you want to make any contributions to epistemology, specifically to rationality and preference formation but also to the field of artificial minds/AGI, you need to learn how to program. For rationality, you need graph theory in particular. There’s nothing like writing a program by hand, running into issues, tracking them down, fixing them, then running into the text, until you run out of issues and tentatively accept the program as written.

I get that large language models make that process easier, but the whole point of going through yourself, by hand, it is so that you understand it. Going back to my math analogy: using a calculator does not a mathematician make. Or in Ford’s words: Chop your own wood and it will warm you twice. As in: learn to code and use it to build products, and you’ll benefit twice.

Second: ‘vibe coding’ may be good enough to create epistemology tools. Though it wouldn’t meet Deutsch’s razor, it would meet mine, at least in part. If you use an LLM to create a beautiful UI for people to make more rational decisions, more power to you.

Would that alone make you a programmer? No. Would it make you an epistemologist? Well, maybe half a one. Not a theoretician, but an applied epistemologist. What matters is that you create value for people.

I’ve come to embrace vibe coding since the recent launch of Claude Opus 5.5. But I hand-coded for 15 years before that, and expect to continue doing so at least partly for the foreseeable future.

Need inspiration? You’ll find the product I demo’ed on refute.us (fully ‘vibe-coded’). It’s part of a larger project I’ve been working on called Veritula (95% hand-coded at the time of writing). Watch the trailer:

refute.us trailer


* Deutsch, David. 2011. The Beginning of Infinity: Explanations that Transform the World. Penguin Publishing Group. Page 154.