Remix.run Logo
spicyusername 9 hours ago

These are the perfect size projects vibe coding is currently good for.

At some point you hit a project size that is too large or has too many interdependencies, and you have to be very careful about how you manage the context and should expect the llm to start generating too much code or subtle bugs.

Once you hit that size, in my opinion, it's usually best to drop back to brainstorming mode, only use the llm to help you with the design, and either write the code yourself, or write the skeleton of the code yourself and have the llm fill it in.

With too much code, llms just don't seem able yet to only add a few more lines of code, make use of existing code, or be clever and replace a few lines of code with a few more lines of code. They nearly always will add a bunch of new abstractions.

cube2222 8 hours ago | parent | next [-]

I agree with you as far as project size for vibe-coding goes - as-in often not even looking at the generated code.

But I have no issues with using Claude Code to write code in larger projects, including adapting to existing patterns, it’s just not vibe coding - I architect the modules, and I know more or less exactly what I want the end result to be. I review all code in detail to make sure it’s precisely what I want. You just have to write good instructions and manage the context well (give it sample code to reference, have agent.md files for guidance, etc.)

OptionOfT 6 hours ago | parent | next [-]

> I know more or less exactly what I want the end result to be

This is key.

And this is also why AI doesn't work that well for me. I don't know yet how I want it to work. Part of the work I do is discovering this, so it can be defined.

xur17 6 hours ago | parent [-]

I've found this to be the case as well. My typical workflow is:

1. Have the ai come up with an implementation plan based on my requirements

2. Iterate on the implementation plan / tweak as needed, and write it to a markdown file

3. Have it implement the above plan based on the markdown file.

On projects where we split up the task into well defined, smaller tickets, this works pretty well. For larger stuff that is less well defined, I do feel like it's less efficient, but to be fair, I am also less efficient when building this stuff myself. For both humans and robots, smaller, well defined tickets are better for both development and code review.

cube2222 5 hours ago | parent [-]

Yeah, this exactly. And if the AI wanders in confusion during #3, it means the plan isn’t well-defined enough.

blks 3 hours ago | parent | prev [-]

Sounds like so much work just not to write it yourself.

pigpop 6 hours ago | parent | prev | next [-]

Or you can apply software architecture methods that are designed to help humans with exactly the same type of problems.

Once your codebase exceeds a certain size, it becomes counter-productive to have code that is dependent on the implementation of other modules (tight coupling). In Claude Code terms this means your current architecture is forcing the model to read too many lines of code into its context which is degrading performance.

The solution is the same as it is for humans:

  "Program to an interface, not an implementation." --Design Patterns: Elements of Reusable Object-Oriented Software (1994)
You have to carefully draw boundaries around the distinct parts of your application and create simple interfaces for them that only expose the parts that other modules in your application need to use. Separate each interface definition into its own file and instruct Claude (or your human coworker) to only use the interface unless they're actually working on the internals of that module.

Suddenly, you've freed up large chunks of context and Claude is now able to continue making progress.

Of course, the project could continue to grow and the relatively small interface declarations could become too many to fit in context. At that point it would be worthwhile taking a look at the application to see if larger chunks of it could be separated from the rest. Managing the number and breadth of changes that Claude is tasked with making would also help since it's unlikely that every job requires touching dozens of different parts of the application so project management skills can get you even further.

tzs 5 hours ago | parent [-]

Is vibe architecting a thing too, or is architecting to make your vibe coder work better something that the human needs to know?

pigpop 4 hours ago | parent [-]

Haha, actually yes. You can prompt them to be their own architect but I do find it works better when you help. You could probably get pretty far by prompting them to review their own code and suggest refactoring plans. That's essentially what Plan Mode is for in Claude Code.

mellosouls 7 hours ago | parent | prev | next [-]

Engineering code now is not just binary, it's a spectrum from vibe-coding through copilot-style (design and coding assistance) to your help-with-design-only to no-AI.

The capabilities now are strong enough to mix and match almost fully in the co-pilot range on substantial projects and repos.

aurareturn 8 hours ago | parent | prev | next [-]

  These are the perfect size projects vibe coding is currently good for.
So far... it's going to keep getting better to the point until all software is written this way.
HarHarVeryFunny 7 hours ago | parent | next [-]

Sure, but that's basically the same as saying that we'll have human-equivalent AI one day (let's not call it AGI, since that means something different to everyone that uses it), and then everything that humans can do could then be done by AI (whether or not it will be, is another question).

So, yes, ONE DAY, AI will be doing all sorts of things (from POTUS and CEO on down), once it is capable of on-the-job learning and picking up new skills, and everything else that isn't just language model + agent + RAG. It the meantime, the core competence of an LLM is blinkers-on (context-on) executing - coding - according to tasks (part of some plan) assigned to it by a human who, just like a lead assigning tasks to human team members, is aware of what it can and can not do, and is capable of overseeing the project.

__MatrixMan__ 7 hours ago | parent | prev | next [-]

It seems like it's approaching a horizontal asymptote to me, or is at the very least concave down. You might be describing a state 50 years from now.

aurareturn 5 hours ago | parent | next [-]

It seems like progress is accelerating, not slowing down.

ARC AGI 2: https://x.com/poetiq_ai/status/2003546910427361402

METR: https://metr.org/blog/2025-03-19-measuring-ai-ability-to-com...

__MatrixMan__ 4 hours ago | parent [-]

Improved benchmarks are undeniably an improvement, but the bottleneck isn't the models anymore, it's the context engineering necessary to harness them. The more time and effort we put into our benchmarking systems the better we're able to differentiate between models, but then when you take an allegedly smart one and try to do something real with it, it behaves like a dumb one again because you haven't put as much work into the harness for the actual task you've asked it to do as you did into the benchmark suite.

The knowledge necessary to do real work with these things is still mostly locked up in the humans that have traditionally done that work.

anthonypasq 7 hours ago | parent | prev [-]

sonnet 3.7 was released 10 months ago! (the first model truly capable of any sort of reasonable agentic coding at all) and opus 4.5 exists today.

rabf 5 hours ago | parent [-]

To add to this: the tooling or `harness` around the models has vastly improved as well. You can get far better results with older or smaller models today than you could 10 months ago.

croes 7 hours ago | parent | prev | next [-]

Successfully building an IKEA shelf doesn’t make you a carpenter.

exe34 6 hours ago | parent [-]

no, but I have furniture. it's important to keep sight of the end goal, unless the carpentry is purely a hobby.

whattheheckheck 5 hours ago | parent [-]

What's the job title and education requirements for designing the supply chain and engineering of the ikea furniture?

exe34 2 hours ago | parent [-]

I don't know, I don't work at IKEA. Sorry.

rvz 7 hours ago | parent | prev | next [-]

Air traffic control software is not going to be vibe-coded anytime soon and neither is the firmware controlling the plane.

aurareturn 5 hours ago | parent | next [-]

Sure it will. But they will be tested far more stringently by both human experts and the smartest LLM models.

A4ET8a8uTh0_v2 6 hours ago | parent | prev | next [-]

I will be perfectly honest. Given what I am seeing, I fully expect someone to actually try just that.

blks 3 hours ago | parent | prev [-]

Considering how much work at Boeing is given to consultants and other third party contractors (eg famous MCAS), some piece of work after moving through the bowls of multiple subcontractors will end up in the hands of a under-qualified developer who will ask his favourite slop machine to generate code he doesn’t exactly understands purpose of.

spzb 7 hours ago | parent | prev [-]

I've got a bridge to sell you

pranavm27 7 hours ago | parent | prev | next [-]

Reminds me of Ken Miles saying 7000 rpm quote. At what size do you think this happens? Whatever is the most relevant metric of size for this context.

wonderwonder 5 hours ago | parent | prev | next [-]

I think this limitation goes away as long as your code is modular. If the Ai has to read the entire code base each time, sure but if everything is designed well then it only needs to deal with a limited set of code each time and it excels at that.

solumunus 8 hours ago | parent | prev | next [-]

> make use of existing code, or be clever and replace a few lines of code with a few more lines of code

You can be explicit about these things.

auggierose 8 hours ago | parent [-]

Yes. It is called programming.

solumunus 7 hours ago | parent [-]

Using agents is programming. Programming is done with the mind, the tapping of keys isn’t inherent to the process.

batshit_beaver 6 hours ago | parent [-]

Unfortunately IDEs are not yet directly connected to our minds, so there's still that silly little step of encoding your ideas in a way that can be compiled into binary. Playing the broken telephone game with an LLM is not always the most efficient way of explaining things to a computer.

solumunus an hour ago | parent [-]

Of course not. It’s a tool.

dfilppi 7 hours ago | parent | prev [-]

[dead]