Also, the correct way to LLM is to constantly trial-and-error in new/branched contexts.

Remember the LLM is not a human employee. You don't have to say "yes and" to whatever crap they produced so as to not hurt their feelings or infringe upon their creative autonomy, nor do you have to defend the correctness of your original instructions so that they don't think less of you for asking them to chase the wrong goose.

I probably generate 20-50 lines of code for every 1 line that I keep.

This is also why I think harnesses and things like Claude Code and OpenCode are false efficiency. The only way I can maintain my pace of branched trial-and-error is by using claude.ai/chat and manually extricating code fragments to and from my codebase. The human is still the best harness for production-level code.

> The only way I can maintain my pace of branched trial-and-error is by using claude.ai/chat and manually extricating code fragments to and from my codebase. The human is still the best harness for production-level code.

That’s been the way I do it.

I suppose that it will be considered “quaint,” soon enough, but I have found it to be effective.

And the best part is, I don't spend more than $20 a month on LLMs. Going manual and constantly branching keeps the contexts super lean.

I’m likely to switch to the $100/month sub, but I want to finish this project on the $20 one first, as a “proof of concept.”

I think it’s valuable enough to justify the price, and I want it to use the better model, as much as possible.

This is the only way I've been able to get LLMs to produce code I will actually use. Manually selecting the context for them and asking for a specific piece or similar

I started using harnesses because they are good for when something breaks and it's not trivial to investigate so I'll have the agent tell me what's happening, then using that to produce my own change