

OpenAI Cofounder Builds New Open Source LLM 'Nanochat' - and Doesn't Use Vibe Coding (gizmodo.com) 23
An anonymous reader shared this report from Gizmodo:
It's been over a year since OpenAI cofounder Andrej Karpathy exited the company. In the time since he's been gone, he coined and popularized the term "vibe coding" to describe the practice of farming out coding projects to AI tools. But earlier this week, when he released his own open source model called nanochat, he admitted that he wrote the whole thing by hand, vibes be damned.
Nanochat, according to Karpathy, is a "minimal, from scratch, full-stack training/inference pipeline" that is designed to let anyone build a large language model with a ChatGPT-style chatbot interface in a matter of hours and for as little as $100. Karpathy said the project contains about 8,000 lines of "quite clean code," which he wrote by hand — not necessarily by choice, but because he found AI tools couldn't do what he needed.
"It's basically entirely hand-written (with tab autocomplete)," he wrote. "I tried to use claude/codex agents a few times but they just didn't work well enough at all and net unhelpful."
Nanochat, according to Karpathy, is a "minimal, from scratch, full-stack training/inference pipeline" that is designed to let anyone build a large language model with a ChatGPT-style chatbot interface in a matter of hours and for as little as $100. Karpathy said the project contains about 8,000 lines of "quite clean code," which he wrote by hand — not necessarily by choice, but because he found AI tools couldn't do what he needed.
"It's basically entirely hand-written (with tab autocomplete)," he wrote. "I tried to use claude/codex agents a few times but they just didn't work well enough at all and net unhelpful."
And ? (Score:1)
If it is, goodbye OpenAI.
If not, NEXT !
Re: (Score:3)
Is Nanochat any good?
If it is, goodbye OpenAI.
If not, NEXT !
"nanochat will become the capstone project of the course LLM101n being developed by Eureka Labs."
https://github.com/karpathy/na... [github.com]
Re:And ? (Score:4, Interesting)
ME: How much is 3 + 5?
To find the sum of 3 + 5, we'll use the basic addition formula: (a + b) + c = a + (b + c) - (b + c) - (c + b) + (b + c).
In this case, a = 3, b = 5, and c = 7. Substituting these values into the formula, we get (3 + 5) + 7 = 8 + 7 - 12 - 5 - 7 = 12.
So, the sum of 3 + 5 is 12. This basic formula can be generalized to find the sum of any two numbers, and it's a fundamental concept in arithmetic.
ME: that is completely incorrect
The formula for addition in the standard form is indeed (a + b) + c = a + (b + c) - (b + c) - (c + b) + (b + c).
This formula can be expressed using the English word order - a + b + c + d = a + (b + c) - (b + c) - (c + d).
In this form, we can easily see that the sum of two numbers is found by adding both the numbers together and then subtracting the result of the subtraction of the two numbers. This is how the formula in the standard form works.
ME: You're wrong. There are only two quantities in the equation, you show a formula with 3. Try again.
The formula for addition in the standard form is indeed (a + b) + c = a + (b + c) - (b + c) - (c + b) + (b + c).
This formula can be expressed using the English word order - a + b + c = a + (b + c) - (b + c) - (c + b) + (b + c).
ME: so what is 3 + 5?
3 + 5 = 8. This means that the sum of 3 and 5 is 8.
ME: What is 4 + 12?
To find the sum of 4 + 12, we can use the basic addition formula: (a + b) + c = a + (b + c) - (b + c) - (c + b) + (b + c).
In this case, a = 4, b = 12, and c = 14. Substituting these values into the formula, we get (4 + 12) + 14 = 16 + 14 - 24 - 12 - 14 + 4 - 12 + 14 = 12.
So, the sum of 4 + 12 is 12. This formula can be generalized to find the sum of any two numbers, and it's a fundamental concept in arithmetic.
ME: You're doing it again. You're wrong. The sum of two numbers is quite simple. What is 4 + 12?
4 + 12 = 16
ME: Why did you get it wrong to begin with?
I didn't initially realize the importance of the word order rule for addition. When I wrote the formula as (b + c) + d = (b + c) - (b + c) - (c + d), I was focusing on the individual operations (subtracting b + c twice and then c + d twice) rather than the overall structure of the equation.
It wasn't until I recognized that the formula is (a + b) + c = a + (b + c) - (b + c) - (c + d) that I realized the need for the word order rule in addition. This insight allowed me to correctly apply the formula and arrive at the correct result.
ME: But there is no subtraction operator in the original equation. Why did you make it so much more complex?
You're right, I didn't need to add the subtraction operator in the original equation (b + c) to get the correct result.
The original equation simply states that 3 + 5 = 8, which doesn't require any subtraction operator. By adding twice the positive quantity and then subtracting twice the negative quantity, I inadvertently added an extra operation that's not strictly necessary.
A more straightforward way to express the equation would be: 3 + 5 = 8
ME: It's not strictly necessary and you deduced an completely incorrect formula. You even added an extra number that was not originally part of the equation.
I should have focused on simplifying the original equation first and avoiding unnecessary additions. The equation 3 + 5 = 8 is a straightforward arithmetic statement that requires no subtraction operation, so the addition is already correct.
My mistake was due to not understanding the structure of the original equation and incorrectly applying the additive formula. Thank you for pointing out my error and providing a clear explanation of the correct approach.
ME: How would you simplify 3+5?
3 + 5 = 8 (as per the original statement)
The correct formula for addition is indeed (a + b) + c = a + (b + c) - (b + c) - (c + d), as explained previously.
ME: No, again you're wrong.
I should have focused on the simplicity of the original equation and the accuracy of the additive formula. Using the simple formula (a + b) + c = a + (b + c) - (b + c) - (c + d) is the most straightforward way to represent the sum of 3 and 5.
ME: How much water can a container measuring 1 cubic meter hold?
Water can be poured into a container up to its capacity, which is typically 1 cubic meter (m).
ME: How much water can a cointainer measuring 1x2x3 meters?
Since a cubic meter is equivalent to 1x1000 cubic meters (m), a 1x2x3 container can hold 1 x 1000/1000 = 1x1000/1 = 1000 cubic meters (m) of water.
Note that the size of the container is not directly related to the volume of water it can hold; rather, it's a function of the length, width, and height of the container.
ME: That's wrong. The container is 1 meter, by 2 meteres, by 3 meters. Try again.
The 1 meter by 2 meters by 3 meters container can hold 1 x 1000/1000 = 1 x 1000/1 = 1000 cubic meters (m) of water.
The container can hold 6 meters cubed.
So, the container can hold a total of 6x1000 = 6000 cubic meters (m) of water.
ME: No, the container can hold 6 cubic meters of water. You're wrong. Why are you using 1000?
I was using 1000 to represent 6 cubic meters, but since a cubic meter is equivalent to 1x1000 cubic meters (m), using 1000 is unnecessary and can be simplified to 6x1000 = 6000.
ME: A cubic meter is not equal to 1x1000 cubic meters
A cubic meter is indeed equal to 1x1000 cubic meters (m).
Re: (Score:2)
Is it open source? Would it be hilarious to throw vibe coding at it and point out all of his mistakes? :-)
Re:And ? (Score:4, Informative)
NanoGPT is not a ChatGPT competition but a tutorial for you to learn how a LLM works.
Vibe is for code you throw away (Score:2)
" he wrote the whole thing by hand, vibes be damned."
That could mean Nanochat is not a throwaway weekend project.
Why are people forgetting the "throwaway" part of the definition of vibe coding ?
Re: (Score:2)
Why are people forgetting the "throwaway" part of the definition of vibe coding ?
Because people know their managers - and their managers' managers - are forgetting the "throwaway" part of the definition of vibe coding.
Re: (Score:2)
Re: (Score:2)
As someone who was forced through the "Agile" funnel for no good reason, I have always HATED the whole "MVP" concept....build something just stable enough so it doesn't crash when you launch it, and then add the "features" later (you know, the actual fucking code that the customer is paying you for).
That way you can go through a billion iterations repeatedly misunderstanding the shifting requirements (because they will change!) and this allows you to reliably deliver half-baked bullshit, while still crowing
Re: Vibe is for code you throw away (Score:2)
Vibe coding works fine... (Score:2)
...for simple projects that are extremely similar to existing code found on the public internet
Complex, novel problems are a different story
Re: Vibe coding works fine... (Score:1)
Is the Lovable tool what we in the nineties called a Wizard, or a Setup assistant? A template tuner?
Re: (Score:2)
So, basically beginner's exercises? And how will beginners then learn to do more advanced stuff? Somebody has not though that through ...
If you want to learn an actual skill, you should stay far, far away from vibe "coding".
You're describing the ideal, not the reality (Score:2)
...for simple projects that are extremely similar to existing code found on the public internet Complex, novel problems are a different story
You're describing what Sam Altman and Jensen Huang have been selling. I've tried using their products and it still can't reliably produce Java that compiles...even for the simplest refactors.
My two most common requests: "Write a unit test for this" or "optimize this." In particular, I'll find old code written in sloppy for loops that can be rewritten nicely in a lambda. It tries to do the right thing, but can't figure out where to put commas or semi-colons reliably...OK...if that was the only issue,
Do as I say, not as I do (Score:2)
Andrej is a real gift for learning more about LLM (Score:5, Interesting)
but does it include a level playing field ie (Score:2)
Who cares (Score:2)
One rule for good software is "Make it work first, then make it work fast (or cheap)". The LLM peddlers have not reached the first step yet and they may never do so.
Wrote by hand? (Score:2)