On Writing, Speaking and Thinking
Have you ever observed someone try and demonstrate how they use a coding agent? The presenter will usually introduce the concept of an agent, discuss the idea of a software harness wrapping a language model, and then will show an example of how it works.
When they make the transition from explaining to demonstrating, a visceral change occurs. They begin dictating what they are typing into the agent chat window.
Create a React, Typescript application, using the Tailwind CSS framework …
Usually monotone. Usually with a slower cadence than their natural speaking speed. Usually completely different from how they were previously addressing the audience.
The communication style is completely different.
Frequently witnessing this shift in these presentations was what first gave me more insight into the differences between writing and speaking, and why I think I better understand this idea now, after being introduced to it by Paul Graham.
The tension of writing while speaking
The reason I believe it is awkward to type a prompt to an agent while presenting is because you’re stretching your mental bandwidth trying to perform two different activities at once. On one side, you’re presenting or performing. You’re trying to deliver certain material to an audience that they can follow and understand. You’re thinking about your tone, pacing, and ensuring you’ve mentioned all your talking points.
On the other, you’re attempting to craft a specific thought. Because you’re putting words to an idea, you now need to pick the words. Your mind shifts to considering which words you should choose.
It seems this mental shift also causes most people to downshift in speed. From what I have observed, it seems
- most people type more slowly than they speak
- putting words on a “page” invokes an inner critic in a way that is less common while speaking
But the disconnect is actually deeper than this.
As a presenter, you already know what you’re going to say, and the change in speed is due to typing more slowly than you speak. If you’ve preemptively come up with your prompt, writing it or pasting it into the agent is not really representative of the process you followed to create that prompt.
Witnessing either feels unnatural and confusing to an audience member. You are showing the final product of your thinking process, not the process itself.
A better version of this demo would be building an under-prescribed idea in real time and working through the ambiguities and clarifications required to get a functional result.
Effectively using an agent to help you accomplish tasks requires you to participate in the thinking process.
Thinking is refining unstructured ideas
Writing lets you spend time refining and organizing unstructured thoughts. We can think of unstructured thoughts as stream of consciousness. The type of things you say as a response in conversation or doing morning pages, where you just write and don’t edit or delete anything.
The words and ideas that come from these processes often contain the raw material you might use to refine your thoughts, but they are scattered and fuzzy, lacking coherence and consistency. If want to clearly communicate an idea, you need to refine these.
And how do you do that? You put them into words then edit and structure them.
The writing process brings clarity to thought. Writing is thinking.
Why speaking isn’t really thinking
Think of a time you were having a debate and felt like someone said something you didn’t quite have a good response to. You felt unprepared and maybe gave an unconvincing response or maybe tried to change the subject to deflect from that fact.
Later, you probably thought of a response that would have been better, you just hadn’t thought of it in the moment.
Speaking is linear.
If you want to go revisit something you’ve already said, you must pivot a conversation back to an earlier point. To reopen, revise, or revisit a matter that seemed settled. To bring your conversation partner or audience along to ensure they are following you through the change in topic.
Non-linearity in speaking is an illusion. You are always appending words to the transcript of time.
When speaking, you’re confined to the best you can do in the moment, given the constraints. If you can’t think of the perfect word, you might substitute a passable replacement. You might use several words to describe your idea. You likely won’t pause in silence while you think of the right word.
Speaking uses mental bandwidth you might have allocated to thinking. When you start saying words, you only have so much time before you need to say other words. That is just how speaking works. You’re freestyling your abstract thoughts. It’s hard to say things exactly as you want given these constraints.
If you need to communicate yourself clearly through speech, you probably will prepare and practice beforehand. You’ll structure and organize your thoughts. You will consider your argument, counterarguments, and your audience. When you speak your ideas, you will have already done most of your thinking and can focus on delivery.
In conversation, you never quite know what your conversation partner will say. You spend mental bandwidth listening and processing what the other person is saying. When it’s your turn to speak, you will have just finished hearing the thoughts of your partner and then you need to verbalize your own thoughts to respond.
How can you listen, think, and figure out what you’re going to say all at once?
At best, your mental bandwidth is split. In practice, you are reacting. With practice and the preparation of experience, you respond coherently and clearly. But it’s hard to imagine doing your best thinking under such tight mental constraints.
Writing is nonlinear
Your best idea is unlikely to be your first idea. Your clearest thought is unlikely to be your first.
It’s challenging and effortful to think things through. It’s often complicated, requires research, presents tradeoffs. Most things are complicated if you take the time to look at them closely.
Writing is a better fit than speaking for thinking because writing allows for nonlinear interaction with ideas. With thoughts laid out in words, you can fluidly jump between paragraphs, reorder how concepts are introduced, swoop in and change a single word or phrase for clarity.
You can sit with your work, take breaks when you’re tired, and return when you are inspired. You can evolve and define your ideas. You think.
Writing changes your ideas
Writing is thinking because when you write about something, your ideas change with the writing. You are a slightly different person at the end of writing a work than you were before.
Writing needs to be focused, in part, to ensure you can actually stop writing. To provide a reasonable spot to conclude work.
The writing that feels most worthwhile leaves me with as many new questions as answers.
Yet this always means a writer is cursed to spend forever chasing their tail, writing to think, writing to think.
Writing and agents
When working with agents, the most common difficulty I hear when someone feels they are not having success is that the agent is failing to do what they want it to do. Typically, this challenge results from not having done the necessary thinking about what is to be done.
Knowing what you want is the only way to collaborate successfully with a coding agent. These tools are trained to be instruction following. In a void of instructions, they often make median, flavorless decisions. In a void of context, they attempt to fill in the gaps as best they can.
Context engineering (a topic worthy of its own post) is a downstream application of knowing what you want.
You can only begin to know what you want by thinking about what it is you need to accomplish.
You write to do this thinking. As you write more, you think more and refine your approach.
So if you are struggling getting a coding agent to do what you want, think about what it is that you want to accomplish. Write it down.
Once you’re finished, you will have done your thinking and you will have written your prompt as well.