Why it matters: The data shape an AI model gives you on the first request becomes the foundation every later prompt builds on, and nobody notices until a two-day refactor is the only way out.
The Details:
- AI iteration is additive, not corrective. A human writing a rough draft plans to rewrite it; a model treats whatever is on screen as fixed truth and only extends it. Ask for a new field and it gets bolted onto the existing structure rather than reshaping it, even when reshaping is the right call.
- The parallel arrays failure shows the pattern clearly. A list of completed lesson IDs looks fine until "also track when" arrives, and instead of becoming a list of objects it becomes a second list indexed to match the first. Add a score and an attempt count and you get four arrays that must stay in lockstep, unwound with
zip() calls at every read site.
- Certain words flag danger before you hit send. Verbs like "track," "store," or "model" introduce a new noun the system will inherit; the word "just" almost always precedes a decision people didn't realize they were making. Naming the next two features you expect, even in a throwaway clause, changes the shape the model returns.
- The fix is not slowing everything down. Most prompts, renaming a variable, adding a log line, deserve no extra thought. The leverage comes from spotting the roughly one-in-ten prompt that sets a shape and spending twenty extra seconds asking what data structure the next five prompts will inherit.
Bottom Line: AI coding tools did not remove architectural thinking from software; they moved it to the moment you type the prompt instead of the moment you write the code.