Started writing specs before prompting my AI agent. My "month two" problem basically disappeared.
For the first few months of vibe-coding, I did what everyone does: describe the feature in chat, let the agent write it, fix what broke, repeat. Worked great for week one. By week three, every "small change" was touching six files I didn't expect, and the agent kept re-deciding architecture choices we'd already settled two days earlier - because the only record of those decisions was buried in scrollback.
What actually fixed it for me wasn't a better prompt or a bigger context window. It was writing a spec before touching the agent at all - a short doc covering what the feature needs to do, the inputs/outputs, the constraints, and what "done" looks like. Then I have the agent work strictly against that doc instead of my memory of a conversation from three days ago.
A few things I noticed once I switched:
Way fewer "wait, why did you change that file too" moments, because the spec draws the boundary of what's in scope.
Reviewing AI output got faster - I'm checking against written acceptance criteria instead of re-explaining intent in my head.
Onboarding a second AI session (or a human collaborator) mid-project stopped being painful, since the spec carries context the chat history used to.
The tradeoff is real though - writing the spec takes upfront time, and for a genuine 20-minute throwaway prototype it's overkill.
Curious how others here are handling this: are you writing specs before prompting, letting the agent draft the spec first and reviewing it, or some hybrid? And has anyone found a workflow that keeps the spec and the code from drifting apart once you're a few weeks in?
Replies