Remix.run Logo
coreyoconnor 2 hours ago

Everytime i read one of these vibe coded projects i wonder: Is AI capable of building well structured programs? Designs with strong separation of concerns. Clean code. Short, well defined functions.

This is not how I'd design much of this. Does that matter? AI and whatever training data used seems to differ.

esikich 2 hours ago | parent | next [-]

Yes, you just need to tell it to do that. Before I start I go back and forth talking about the architecture and making design docs. If you start with good bones, things go much better than stepping through adding things and ideas ad hoc.

oeidjwkdjwkfj an hour ago | parent [-]

> Yes, you just need to tell it to do that.

Indeed. All you have to do is say “and make it good”, and it will make it good.

password4321 2 hours ago | parent | prev | next [-]

I thought one of the tenets of vibe coding was letting go of code quality, perhaps even to the point of not looking at the code?

adam_arthur 35 minutes ago | parent [-]

The lower the code quality and less coherent the design, the poorer the agent will perform over time as the project grows.

Pure vibe coding pretty much limits the max scope of your project to the capability of the agent, and if you're trying to make something real and maintainable, you'll always end up with something worse than the person who guides it at a lower level.

That being said, there are certainly going to be systemic/built in ways to have coding agents generate coherent architectures. Just it isn't really baked in right now.

Probably an ideal model with current tech is the main coding agent thread that implements things, and a secondary thread that constantly compacts/prunes and cleans up according to specific style rules.

Problem with doing both in same context via AGENTS.md is the LLM often won't adhere to all rules if it's overloaded with many competing instructions. But you can scope the code styling agent prompt tightly and get much higher focus and adherence.

colechristensen 2 hours ago | parent | prev [-]

I've built very large structured programs with claude. Talking about the structure is indeed an important part of the exercise. It's also an important factor in success. Context is limited and separation of concerns is an essential part in the LLM being able to do it at all. The chunk of "what needs to be done" needs to be small enough for it to be able to recall and reason about. Bad architecture will result in spinning your wheels constantly changing spaghetti soup that never meets spec.

Building a CAD kernel one of the essential pieces in getting from vaguely working to closing an extremely large number of gaps was some rather strict separation of concerns – without it we were just stuck on perpetual rearchitecting switching from methodology to methodology opening new gaps with each attempt to close others.