One AI conversation is not a workflow. Give each conversation a job and it does that job well. Mix them and everything gets worse.
Running everything through one AI chat is like one meeting where the chef, accountant, and marketer all talk simultaneously. The chef forgets tonight's specials because someone brought up tax filing. Give each department its own meeting.
Three conversation types. Each with a specific job.
Architecture, trade-offs, priorities. The AI pushes back on your assumptions. No code here. The brain.
CLI reads files, writes code, runs commands. Precise instructions in, working code out. The hands.
Single-purpose. "Build this page with these specs." Full context, one task. The specialists.
Mixing roles produces worse results for all of them. Separation isn't overhead — it's how you get quality from each conversation.
By default, AI is agreeable. You suggest an approach and it says "great idea!" — then costs you days when the approach was flawed.
Tell the AI: "Challenge my ideas. If you see a better approach, say so." This turns a yes-machine into a thinking partner.
The worst conversations are ones where it does exactly what you ask without question.
Five components. Include all five and output lands first try.
"You are the CTO of a language startup" produces different output than "You are a copywriter."
What's built, what constraints exist, what decisions are made. Load your documentation.
"Write the Stripe webhook handler" beats "help with payments."
Code? A list? A document? Tell it what the output looks like.
"Don't change existing functions. Don't add libraries." Boundaries prevent over-engineering.
50 users don't need microservices. Push back on complexity you don't need yet.
AI doesn't know your full context. Remind it of constraints when suggestions conflict.
AI handles the happy path. Always ask: "What happens when this fails?"
Never let AI build something significant without confirming the plan first. The alignment check takes sixty seconds and prevents hours of rework.