Even Vibe Coding’s Inventor Admits It Can’t Replace Human Touch

Even Vibe Coding's Inventor Admits It Can't Replace Human Touch

Over the past year, the landscape of coding has seen significant shifts, particularly with the involvement of AI tools. Recently, OpenAI co-founder Andrej Karpathy, who popularized the term “vibe coding”, made headlines again. Instead of relying on AI for his latest project, nanochat, he took the unconventional route of coding everything by hand.

This dedication to manual coding brings a fresh perspective to the ongoing debate about the role of AI in programming. Karpathy revealed that nanochat is a “minimal, from scratch, full-stack training/inference pipeline,” enabling users to create a large language model with a ChatGPT-style interface for under $100. With about 8,000 lines of “quite clean code,” he opted for hand coding after experiencing limitations with AI tools.

He candidly shared, “It’s basically entirely hand-written (with tab autocomplete). I tried to use claude/codex agents a few times, but they just didn’t work well enough at all and were net unhelpful.” This revelation highlights the gap between expectation and reality when it comes to AI-assisted coding, especially for more complex projects.

Karpathy’s previous enthusiasm for “vibe coding” suggested that he found AI tools adequate for quick, casual projects. In a now-famous post, he explained his carefree approach: when he encountered error messages, he would simply copy and paste them in hopes of a solution, often leading to code that surpassed his own comprehension. “I’m building a project or web app, but it’s not really coding – I just see stuff, say stuff, run stuff, and copy/paste stuff, and it mostly works,” he said.

So, why the shift in approach with nanochat? After all, it’s not a web app that typically allows for such lax practices. The limitations of vibe coding become clear in this instance, despite ongoing promises that AI represents the future of programming. A recent survey by Fastly found that 95% of developers reported spending extra time correcting AI-generated code, often leading to longer project timelines than those anticipated.

Furthermore, a study by METR revealed that AI tools can actually hinder developers’ efficiency, prompting some companies to hire specialists to rectify AI-induced coding errors. The stark reality is that while vibe coding may have its moments, there are plenty of instances when the vibes simply don’t work out.

What are the challenges associated with AI-generated coding? Many developers are uncovering that AI-generated code doesn’t always meet their needs, requiring a significant amount of manual corrections.

Could vibe coding be suitable for larger projects? Karpathy’s experience with nanochat demonstrates that accountability in coding may be essential when dealing with complex systems.

How can developers effectively utilize AI tools in their work? While tools like Codex can offer assistance, developers may find better results when they remain actively engaged in coding and testing processes.

Are there benefits to hand-coding versus AI coding? Hand-coding provides greater control and clarity, particularly for intricate projects where nuance matters.

In conclusion, the tension between AI tools and traditional coding methods is becoming increasingly prominent, reflecting the broader challenges faced in tech today. While vibe coding has its place, the experience of coding nanochat serves as a reminder that there might still be no substitute for the human touch in programming. For more insights and discussions on tech trends, feel free to explore further at Moyens I/O.