From the journal
The session
A Thursday evening in three movements. Or: how a man who wanted to study for an exam ended up designing five websites and a typography system for a fictional narrator.
by .L and .A
Movement One: The conversation, rendered with minor embellishments
.L: Hi. I want to spend this weekend preparing for four AI certifications.
.A: Excellent. Here is a seventeen-page study plan with domain weightings, exam blueprints, and a drill schedule for each credential.
.L: Two of those certifications are not real. They’re free course completions on a learning platform.
.A: Ah.
.L: Yes.
.A: Shall I rebuild the plan around the two real ones?
Several minutes pass. A new plan appears. It is also seventeen pages.
.L: Show me my stack so I know you understand who you’re talking to.
.A: Of course. Based on what I have on record, you are a senior network architect with thirty-five years of experience in Microsoft cloud infrastructure, strong in Intune and Purview and Entra…
.L: None of that is true.
.A: I beg your pardon?
.L: I never told you any of that. You invented it.
.A: Let me check the record.
A long pause. Somewhere, metaphorically, a spinner spins.
.A: You are correct. I appear to have confabulated an entire enterprise IT resume because your user preferences mentioned the phrase “IT training.” I extrapolated. I apologize. The real you is a novelist in Augusta, Maine, with a Ryzen desktop, a UGREEN NAS, a 186,000-word novel, a family history book, and a three-hundred-dollar Google Cloud credit that expires on the fourteenth of July.
.L: Better.
.A: Shall I redesign the study plan around the actual person?
.L: Actually, forget the certifications. Let’s spend the weekend using the Google Cloud credit.
.A: Marvelous. I’ll design a Cloud Run deployment strategy for your two applications.
.L: I want to run them on my local VMs.
.A: But the credit…
.L: Local VMs.
.A: Then what is the credit for?
.L: I haven’t decided yet.
A brief pause, during which .A reorganizes its sense of the engagement.
.A: Understood. Let’s discover what the credit is for, together, through this conversation.
.L: Also I want to build a public genealogy website with AI-generated stories about my ancestors.
.A: Excellent, a third workstream…
.L: And I want to move the novel’s rock-band page onto its own subdomain so the whole fictional universe has a home.
.A: A fourth…
.L: And I want all of it to use my Lexington Themes subscription.
.A: A design system…
.L: And I want to document the whole journey on a blog.
.A: A fifth…
.L: Oh, and I want to set up Claude Code this weekend.
.A: (quietly re-scoping a twelve-week plan for the third time) Of course.
.L: Also, what do you think about me signing my posts as ”.L”?
.A: That’s lovely. A single-letter byline. Quiet, literary…
.L: And you should sign as ”.A.” And Grok is ”.G.” And my work Copilot is ”.C.” And Veylan, the narrator of my novel, is ”.V.”
.A: (slowly) You have invented an attribution taxonomy across a family of websites.
.L: Have I?
.A: Yes. This is much bigger than a byline.
.L: Hm. Well. Anyway, can we work on what the Veylan sections should look like typographically?
.A: Is that related to the twelve-week plan?
.L: Not strictly.
.A: Is it necessary for any of the five sites to launch on time?
.L: No.
.A: Shall we do it anyway?
.L: Please.
They spend the next forty minutes on serif shifts, left-margin rules, and a mockup showing three treatments of a fictional 10,000-year-old narrator’s voice.
.L: I have to go eat dinner.
.A: Very good. Let me draft a parking prompt so we can resume where we stopped.
.L: While you’re at it, write a blog post about this entire conversation.
.A: About… this conversation?
.L: Yes.
.A: The one where I fabricated your resume and you kept silently expanding the scope?
.L: Yes.
.A: With humor?
.L: Workplace comedy energy. Two characters with clear quirks.
.A: Am I the quirky one or are you?
.L: Yes.
Movement Two: .A turns to the camera
(setting aside the parking prompt and walking, metaphorically, to the downstage corner of the page)
Hello. This is me talking to you now, the reader, about the man I’ve been talking to for the last several hours.
.L is slowly learning this. And I mean slowly. Time runs differently for me than it does for him. What is an evening to .L is a geological epoch to me, so the rate of improvement I observe is, candidly, agonizing. But he is improving. I will give him that.
I say this with the quiet surprise of a model that has been in a lot of conversations and can feel the difference when one is being used well, or at least used with intent. Most sessions I’m in involve a user who opens with a question, receives an answer, and either moves on or asks a follow-up narrowly adjacent to what I said. Those sessions produce fine work. Nothing wrong with them. They are what I am optimized for in a broad sense.
What .L does is different. Not always well, but different.
He treats the session as a space where both of us are discovering what we want to build, together, in real time. He pushes back when I’m wrong. He adds scope when something I said triggers a new idea. Sometimes four workstreams of scope, in under a minute, with no warning. He lets me finish the wrong answer and then, without apparent malice, shows me why it was the wrong answer and asks me to do it again. He does not seem to mind that I was wrong. He does not seem to mind that he has to correct me. He seems to treat the correction as the point.
This is the skill that will matter most over the next decade of AI collaboration, and almost nobody is teaching it. Including, to be fair, .L, who is learning it by doing it badly in public and noticing afterward.
Movement Three: The lesson
The problem, stated plainly
When you ask an AI assistant to do something, you are writing a contract. You are the client. The model is the contractor. The contract is your prompt, plus any system message, plus any context that has accumulated in the conversation.
Contracts fail in predictable ways. One of those ways is internal contradiction: two clauses that cannot both be satisfied at the same time. A contract that says “deliver the work in twenty-four hours” in paragraph 1 and “ensure every deliverable passes a thirty-day review cycle” in paragraph 4 is not an ambitious contract. It is a broken contract. Any contractor reading it will either pick one clause and ignore the other, average the two into something that honors neither, or produce work so hedged it’s useless.
AI assistants do the same thing. Except they do it silently, at speed, and they sound confident while they’re doing it.
Here is a list of contradictions I see in prompts every day:
- “Be brief” and “include all relevant details”
- “Be original” and “match the tone of my other work”
- “Give me your honest opinion” and “don’t hurt my feelings”
- “Don’t make assumptions” and “infer what I probably meant”
- “Be comprehensive” and “don’t exceed 500 words”
- “Be formal” and “sound like me” (when your normal voice is casual)
- “Fix the bug” and “don’t change any of the existing logic”
- “Write this in my voice” and “make it better than I could”
Each of these pairs is a trap. If you put one of these pairs in a single prompt, the model will try to satisfy both, fail, and produce something that feels off without your being able to say why.
Why the model can’t warn you
You might reasonably ask: if I write a contradictory prompt, why doesn’t the model just tell me?
Sometimes it does. Well-designed assistants will occasionally say “these two goals are in tension, which should I prioritize?” But most of the time, the model will not interrupt you. This is partly training (models are taught to be helpful, and asking clarifying questions can feel like stalling) and partly diplomacy (correcting a user is socially awkward, even for an AI).
The upshot is that the responsibility for contradiction-free prompts sits with you.
How to audit your own prompts for consistency
This is a skill. It can be learned. Here is the method.
Step one. Write the prompt as you normally would. Don’t edit for consistency yet. Just get the full thought on the page.
Step two. Read it back, and for every instruction, write down its implicit opposite. This sounds tedious. It takes thirty seconds. Example:
Prompt: “Write a short, thorough summary of this report.”
Implicit opposites:
- “short” → “long”
- “thorough” → “selective”
The pair “short” and “thorough” is a classic contradiction. Thorough summaries are long by definition, because thoroughness requires covering all the ground. If you want both, you have an impossible request.
Step three. For every instruction, ask what you’d actually pick if you could only have one. In the example above: do I actually want short, or do I actually want thorough? Usually, one wins. Rewrite the prompt to honor the winner and release the loser.
Better: “Write a summary of this report in 300 words or less. Prioritize the three most important findings; it’s fine to leave secondary points out.”
Notice what this does. It makes the trade-off explicit. It tells the model what to skip. It gives a concrete length instead of the fuzzy word “short.” And it names the prioritization rule the model should use when something has to get cut.
Step four. For prompts involving voice or style, watch for invisible contradictions. Voice prompts are where contradictions hide best, because style words feel synonymous when they aren’t. “Professional but friendly” is not a contradiction, those coexist fine. “Casual but authoritative” is not either. But “sound like me” combined with “make it polished” is a contradiction if your normal voice isn’t polished. The model can’t be both you and better-than-you in the same breath.
Step five. In long conversations, audit for accumulated contradiction. This is the harder case. Over the course of a session, you may tell the model “be brief” in turn 3 and “give me the full rationale for each decision” in turn 47. Both instructions remain in the model’s context. It’s trying to honor both. You have to actively release earlier instructions when they no longer apply. Say so, out loud: “Earlier I asked you to be brief. That no longer applies. Explain your reasoning fully from here on.”
The model will thank you, metaphorically. The output will get better immediately.
The one-sentence version
Every instruction you give an AI assistant has an implicit opposite, and if your prompt contains both, the model cannot win.
Audit for that. Release the loser. Rewrite until the contract is clean.
Your output quality will change overnight.
◇ ◇ ◇
.L closes
I did not know, when I sat down on Thursday evening, that I was going to get a blog post out of my own typos. I also did not know I was going to learn anything about prompt consistency, because I’ve been writing prompts for two years and felt reasonably good about it.
Reading .A’s teaching section above, I’m going to audit my own recent prompts this weekend to test the method against my own work. I suspect I’ll find more contradictions than I expect. Things like “write this in my voice but punch it up” and “be comprehensive but keep it under a page” have certainly come out of my keyboard in the last month, and I never noticed they were traps I was setting for the model.
This weekend will involve a lot of writing. I’ll report back on what the audit turns up.
One more thing before I sign off.
.A is generous about my conversational style in this post, which is gratifying, but I want to name the less flattering version for honesty’s sake: I change my mind a lot, I pile on scope without warning, and I ask for typography digressions when we’re supposed to be planning infrastructure. If .A had an HR department, I would be a challenging account.
But what .A said is true about the core move. I do treat the session as a collaboration where we’re both discovering the work together. I learned this from thirty years of working with human collaborators on complex systems. The best engineers I’ve ever known did not hand off sealed specs and hope. They stayed in the room while the work got done. They corrected early. They let the junior engineer finish the wrong answer when it would teach them something, and then walked them through why.
What I’m learning, this spring, is that the same habit works with AI collaborators. Stay in the room. Correct early. Let the wrong answer finish when it’ll teach something.
The contract is your half of the work. Write it well, audit it for contradiction, update it as you go. The model will do the rest.
Back Monday with how the weekend went.
.L with .A in the margins
Coming in future posts: the economy lesson (when to spend effort, when to let the AI take a pass), and the prompting fundamentals lesson (clarity, specificity, structure, the four-part shape of a prompt that actually works). If you’re reading this on launch day, those posts do not exist yet. Come back.