← Back to context

Comment by zmmmmm

3 days ago

Well the article went in a totally different direction to what I expected.

I do feel imprisoned by my vibe coded apps. But it's because I've lost control of them. I don't understand the code that was written well enough to work on it myself any more. So now I'm at the mercy of the AI to maintain it. When there's a bug to fix I just type it into the LLM and pray and hope that it will be able to solve it, because if it can't, I'm screwed.

It's actually a big reason I'm sticking with tools like Aider for things I care about and not going fully agentic yet. Having an agent do reams of work and then submit hundreds of lines of code for me to examine is counter productive to my longer term aims. I'm happy with the 2-3x improvement I get from lesser tools that still leave me in control.

> it's because I've lost control of them. I don't understand the code that was written well enough to work on it myself any more. So now I'm at the mercy of the AI to maintain it.

That's eerie. So basically this is the same walled-garden formula but this time directly targeting your intelligence, rather than your data like it has always been.

I recently tried out Copilot with Sonnet to implement whole C++ headers into .cpp files and it did very well making the implementation consistent, readable, and easy to reason about. Not having much C++ experience, it made the whole process much easier - some memory/etc errors in my own code would have been intractible to fix without it. It was also fantastic at turning a postgresql implementation file of that header into an sqlite implementation that worked/passed tests on the first try.

Overall, it seems like defining the structure to some extent yourself and letting the agent fill in implementation and suggest architecture changes is a good way to go to get a lot of useful work out of it without letting the structure of the overall app run away from you.

Isn't this the same problem as working on any large project you have no experience with? It takes time to understand the code base, but you can learn it by studying the source code. And LLMs can help you understand the code base, e.g. ask it to generate (mermaid) diagrams.

> I don't understand the code that was written well enough to work on it myself any more.

That's worse than you think. Maybe not for you though.

They are trying hard to push vibe coding in my work and they had one demo that stood out.

They showed how VC had created an app to analyse multiple logs. It worked, but when they showed the code it was using csv module in python and had created all its own functions. The app was 100's of lines long. The same thing could have been achieved in a few lines of code using pandas.

The person creating the app had no experience of python, nor how do to the work. So they could never tell whats wrong.

.. And that is what is going to happen as junior people come into the workforce, as the next line being pushed is you don't need an expert to VC.

  • Now imagine that tool in the hands of someone who knows how to build it the right way, and can instruct the LLM to generate the code in the right way. You get what you would have created yourself, but just much faster.

    • > You get what you would have created yourself, but just much faster.

      Faster but not same as an expert would have created.

      As an expert you have assumed knowledge on your area of expertise. For example I would assume that the system would know to use pandas and not csv module, because the latter would be a stupid thing to do outside of learning python.

      2 replies →