← Back to context

Comment by stainlu

8 days ago

[flagged]

> Where it breaks down is any task where you discover the requirements during implementation

Often you can find these during design. Design phases felt like a waste of time when you could just start coding and find the issues as you go. Now I find it faster to do a detailed design, then hand it over to agents to code. You can front-load the hard decisions and document the plan.

Sometimes the agent might discover a real technical constraint during dev, but that's rare if the plan is detailed. If so you can always update the plan, and just restart the agent from scratch.

This is my (cheesily named) process: https://github.com/scosman/vibe-crafting

I find it quite useful to work out, plan, and refine ideas with agents. An agents ability to call out approaches you haven't thought of is really powerful. I find it useful to steer their feedback and proposals to the exact constraints you have or give yourself a confidence check on if you are leaning toward a solution for the right reasons. The best is when you can test 2-3 avenues and being able to come back and evaluate the results. Normally you would commit to one and spend all your time on that approach, make an assessment it was bad enough to try something else and move on. I find agents completely flip the script on research and planning. I find I am better able to work on hard problems then ever before with these tools. I think people severely limit themselves if they are only using them at the "build it" phase.

Honestly? I've been playing with using LLMs specifically for that reason. I'm far more likely to make prototypes that I specifically intend to throw away during the development process.

I try out ideas that are intended to explore some small aspect of a concept, and just ask the LLM to generate the rest of whatever scaffold is needed to verify the part that I'm interested in. Or use an LLM to generate just a roughest MVP prototype you could imagine, and start using it immediately to calibrate my initial intuition about the problem space. Eventually you get to the point where you've tried out your top 3-5 ideas for each different corner of your codebase, and you can really nail down your spec and then its off to the races building your "real" version.

I have a mechanical engineering background, so I'm quite used to the concept of destructive validation testing. As soon as I made that connection while exploring a new idea via claude code, it all started feeling much more natural. Now my coding process is far more similar to my old physical product design process than I'd ever imagined it could be.