@geoffreylitt: Hot take: I think it's still i...
@geoffreylitt
3 views
Jul 02, 2026
Advertisement
4
Why? Why understand?
Aren't we supposed to be taking ourselves out of the loop now, and letting the agents loop themselves? As the agents get smarter, doesn't it become less important for us to be in the details..?
I think many people -- even those who are pro-understanding -- have a slightly incorrect answer to this question! 4/
Aren't we supposed to be taking ourselves out of the loop now, and letting the agents loop themselves? As the agents get smarter, doesn't it become less important for us to be in the details..?
I think many people -- even those who are pro-understanding -- have a slightly incorrect answer to this question! 4/
8
It's never just one loop! A project is many, many loops with the agent.
And the understanding you have of the system is part of your ability to come up with the next idea to evolve it.
You need a rich set of concepts in your mind to think creatively and fluently about how to move something forward. If you're lacking that fluency, your ability to participate in the project is meaningfully limited. 8/
And the understanding you have of the system is part of your ability to come up with the next idea to evolve it.
You need a rich set of concepts in your mind to think creatively and fluently about how to move something forward. If you're lacking that fluency, your ability to participate in the project is meaningfully limited. 8/
9
BTW, this relates closely to the idea of Cognitive Debt popularized by Margaret Storey and @simonw.
It's like tech debt: you can get away with not understanding what's going on in the short term, but it'll bite you eventually. 9/
It's like tech debt: you can get away with not understanding what's going on in the short term, but it'll bite you eventually. 9/
10
OK, so fine, understanding matters.
But this raises the next question: how? How do we build this human understanding when we're working with AI and moving fast?
Well, turns out this is not the first time anyone has ever thought about how to communicate understanding. I think we can look to education as an inspiration. Can we steal the best ideas ever invented for education and apply to this problem?? 10/
But this raises the next question: how? How do we build this human understanding when we're working with AI and moving fast?
Well, turns out this is not the first time anyone has ever thought about how to communicate understanding. I think we can look to education as an inspiration. Can we steal the best ideas ever invented for education and apply to this problem?? 10/
14
Here's one answer. I made a skill called /explain-diff, which I use every day and many coworkers have found valuable.
It outputs thoughtfully structured code explainers as HTML, markdown, or Notion docs. (Notion is a good place for collaborating on and discussing these explainers as a team)
Let's see what's in one of these explainers, using an example of editing the perspective of a video game.
14/
It outputs thoughtfully structured code explainers as HTML, markdown, or Notion docs. (Notion is a good place for collaborating on and discussing these explainers as a team)
Let's see what's in one of these explainers, using an example of editing the perspective of a video game.
14/
16
Second principle: intuition before details.
Before any code, it states the goal β "make the garden feel three-dimensional with 2D drawing tricks" β and explains related concepts, like what isometric projection is.
All of this builds my intuition for the essence of the change. It's catching me up as the human so I can be an equal participant in understanding. 16/
Before any code, it states the goal β "make the garden feel three-dimensional with 2D drawing tricks" β and explains related concepts, like what isometric projection is.
All of this builds my intuition for the essence of the change. It's catching me up as the human so I can be an equal participant in understanding. 16/
17
You can also build intuition with interactive figures.
Here I'm understanding the isometric perspective by dragging rocks around the garden and watching their coordinates move.
This is using a new feature Notion just shipped today actually, you can now embed interactive HTML inside pages. 17/
Here I'm understanding the isometric perspective by dragging rocks around the garden and watching their coordinates move.
This is using a new feature Notion just shipped today actually, you can now embed interactive HTML inside pages. 17/
18
We finally get to the code. But a typical diff is a pile of files edited in alphabetical order with no explanation.
A "literate diff" as I call it is structured as prose β walking through the changes in a sensible order, with surrounding explanation and embedded code snippets. Faster to review than a raw diff. 18/
A "literate diff" as I call it is structured as prose β walking through the changes in a sensible order, with surrounding explanation and embedded code snippets. Faster to review than a raw diff. 18/
19
The end result of all of this is a nice explainer packet. I still read the code diff but I always read this first.
Sometimes I'll print these out and take them to the cafΓ© β less distracting.
It's beautifully ironic: AI turns an interactive activity into a static paper report I can focus on deeply :) 19/
Sometimes I'll print these out and take them to the cafΓ© β less distracting.
It's beautifully ironic: AI turns an interactive activity into a static paper report I can focus on deeply :) 19/
20
There's only one problem: reading is hard work π
As @andy_matuschak says: "books don't work"! It's too easy to fool yourself into thinking you did the reading when you really didn't retain or understand.
How do we fix this? I took inspiration from Andy and @michael_nielsen 's work on embedding spaced repetition quizzes in essays. 20/
As @andy_matuschak says: "books don't work"! It's too easy to fool yourself into thinking you did the reading when you really didn't retain or understand.
How do we fix this? I took inspiration from Andy and @michael_nielsen 's work on embedding spaced repetition quizzes in essays. 20/
21
I do something similar with my code explainers now. At the bottom of an explainer there's an interactive quiz β five questions about the change β and I try to answer them.
My rule: I won't send code to others until I can pass the quiz, and I do the same when reviewing others' code. 21/
My rule: I won't send code to others until I can pass the quiz, and I do the same when reviewing others' code. 21/
23
OK, so that's explain-diff. Here's the skill if you want it: two variants that output either HTML or Notion page. 23/
gist.github.com/geoffreylitt/aβ¦
gist.github.com/geoffreylitt/aβ¦
25
Papert had this beautiful idea he called living in Mathland: if you want to learn math, live in Mathland β just like if you want to learn French, you go live in France.
Could we build an environment where children learn math naturally, as a consequence of their curiosity?
So how do we apply that to code? Can we make worlds you inhabit and naturally intuit how the system works and how it's changing? 25/
Could we build an environment where children learn math naturally, as a consequence of their curiosity?
So how do we apply that to code? Can we make worlds you inhabit and naturally intuit how the system works and how it's changing? 25/
26
(Apparently twitter has a 25-tweet limit for the thread composer. I'm just gonna keep replying here with more slides until I have to board my flight!! 26 and onward!)
27
Last year I was coding a Prolog interpreter and struggling to intuit what was happening inside.
I worked with an agent to build this debugger, which let me step through the execution of my logic language β scrub through time, see what's on the stack and which rules are evaluated at each step. I could even leave comments for myself ("nice, we correctly applied that rule").
There's a big difference between making a tool for me to debug and letting the agent debug β doing it myself is how I develop understanding along the way. 27/
I worked with an agent to build this debugger, which let me step through the execution of my logic language β scrub through time, see what's on the stack and which rules are evaluated at each step. I could even leave comments for myself ("nice, we correctly applied that rule").
There's a big difference between making a tool for me to debug and letting the agent debug β doing it myself is how I develop understanding along the way. 27/
28
Another example. I was migrating my personal website from one framework to another, and Claude wrote a script that did it β something like this. But it was very hard to review: I wasn't familiar with the new framework, and all I could say was "I guess that looks about right."
So I asked Claude to make me a video game β a command center where I do the port myself, step by step, watching the visible effects and the file tree evolve.
It produced a UI where I click buttons to run the port step by step, with my old site and new site running side by side.
In this command center I watched the new site come to life incrementally. That left me with a similar understanding to doing it by hand β but much faster, because the whole experience was laid out for me. 28/
So I asked Claude to make me a video game β a command center where I do the port myself, step by step, watching the visible effects and the file tree evolve.
It produced a UI where I click buttons to run the port step by step, with my old site and new site running side by side.
In this command center I watched the new site come to life incrementally. That left me with a similar understanding to doing it by hand β but much faster, because the whole experience was laid out for me. 28/
29
The point here is that agents can write bits of code that help us humans understand other code.
This is a big deal! 29/
This is a big deal! 29/
31
When you and someone else hold the same mental model, you can communicate efficiently. You have a shared vocabulary that evokes the same images. so you can jam and riff and have creative conversations. Without those shared structures, those conversations are much harder.
I'm really excited about creating shared environments where teams build that understanding together. It's kinda what Notion is all about too. 31/
I'm really excited about creating shared environments where teams build that understanding together. It's kinda what Notion is all about too. 31/
32
Recently in Notion we've been shipping tons of new features for humans and agents to work together, so your whole team develops a shared understanding instead of each working in a silo.
One tiny example: as of last week you can run Claude and Cursor agents in Notion. I do a lot of my coding that way now.
And when those agents makes a technical plan in Notion, it's in a collaborative page by default, so I can comment on it with my team and discuss immediately. Thinking together, not alone! 32/
One tiny example: as of last week you can run Claude and Cursor agents in Notion. I do a lot of my coding that way now.
And when those agents makes a technical plan in Notion, it's in a collaborative page by default, so I can comment on it with my team and discuss immediately. Thinking together, not alone! 32/
33
Alright, let's wrap up. Today we've covered some techniques that were about understanding code... but actually I think this is a much bigger issue.
It's still important for humans to understand how things work in general! Not just to verify, but to participate.
And surprise surprise, this is not a new idea. It harkens back to the very origins of our field of computing... 33/
It's still important for humans to understand how things work in general! Not just to verify, but to participate.
And surprise surprise, this is not a new idea. It harkens back to the very origins of our field of computing... 33/
34
50 years ago @NotAlanKay envisioned that computers could be a new medium, better than the book, for teaching people β especially kids β how to think about the world.
In this picture, it might look like these kids are watching YouTube on an iPad, but they're not. They're playing an interactive game and editing the code as they play it to get a better understanding of physics. This was 50 years ago!! 34/
In this picture, it might look like these kids are watching YouTube on an iPad, but they're not. They're playing an interactive game and editing the code as they play it to get a better understanding of physics. This was 50 years ago!! 34/
35
And now hopefully you understand this meme.
The point was always to augment, not just automate.
It's beautiful that AI now makes creating simulations so accessible... Having AI teach us is one of the greatest possibilities computing has ever opened up. 35/
The point was always to augment, not just automate.
It's beautiful that AI now makes creating simulations so accessible... Having AI teach us is one of the greatest possibilities computing has ever opened up. 35/
View Tweet
37
@NotAlanKay And for anyone who doesn't want to click through a 36-tweet thread, here is a blogpost version of the talk π
geoffreylitt.com/2026/07/02/undβ¦
geoffreylitt.com/2026/07/02/undβ¦

























