| ▲ | bko 8 hours ago |
| > We had weeks to ship what ended up being a million lines of code... Five months later, the repository contains on the order of a million lines of code across application logic, infrastructure, tooling, documentation, and internal developer utilities. Over that period, roughly 1,500 pull requests have been opened and merged with a small team of just three engineers driving Codex. This translates to an average throughput of 3.5 PRs per engineer per day, and surprisingly the throughput has increased as the team has grown to now seven engineers. Importantly, this wasn’t output for output’s sake: the product has been used by hundreds of users internally, including daily internal power users. That's an insane level of throughput. What's a good baseline? Prior to agentic coding, whats the typical number of PRs engineers were expected to push? Maybe a 2-10? Do people feel the software has gotten better in the last 6 months? The number of engs is prob the same so we should expect maybe 5x faster cycle in major software apps, but I don't see it. The AI apps do change very fast but given its a very new field, I'd expect as much. But outside of that, I don't see it. |
|
| ▲ | torben-friis 8 hours ago | parent | next [-] |
| Here's a fun one: firefox lists its current count at about 2.5M LOC, from roughly 1M commits during the years. You end up with about 3 lines added per commit, which is not ridiculous when you consider that most would be editions rather than full additions. Here, we have 1500 PRs and 1M LOC, which is about 650 added LOC per PR. Remember, not 650 lines total in the PR, but +650 balance after additions-removals. Fun questions for attentive readers: - What does a project growing at a rate of one full firefox-codebase worth of LOC per year look like, a decade down the line? - What does the line count say about the verbosity of the tool, and what does it say about outcomes that the purpose of the project isn't clearly disclosed? - Do we have reasons to care about LOC in a world where we don't write code manually? What happens to token usage numbers when the codebase is significantly larger? - If it was confirmed that LLM usage blows up your line count, what's the implication for codebases that want to return to manual coding after months of usage? (Say, because the tool gets expensive). |
| |
| ▲ | stult 3 hours ago | parent | next [-] | | > - Do we have reasons to care about LOC in a world where we don't write code manually? What happens to token usage numbers when the codebase is significantly larger? Yes, at least to the extent that we care about context windows and tokens consumed by coding agents processing code that is ultimately irrelevant to their assigned task. Anecdotally, I've found keeping file sizes small has been important for agentic coding not just to maintain human readability, but also for optimizing agent performance, precisely because it limits the amount of incidental context they load while working a problem, because they generally load entire files rather than just parsing the part relevant to their current assignment as a human might. That smaller file size thus reduces input noise and the LLM generates a tighter solution, which in turn reduces input noise for future solutions. Or at least this strategy avoids a death spiral into exploding context length. I expect (but cannot currently prove) that keeping overall LOC down yields similar benefits even when file sizes are kept small because it spares the LLM from parsing potentially relevant files that prove irrelevant to its current task. | |
| ▲ | therealdrag0 5 hours ago | parent | prev | next [-] | | Does the Firefox LOC include ALL forms of text: infrastructure (Firefox doesn’t have), documentation, developer scripts,tests, etc? How is the test coverage of Firefox? | |
| ▲ | CleanCoder 6 hours ago | parent | prev [-] | | When I got to the 1M LOC I involuntarily paused feeling like this must be satire. |
|
|
| ▲ | krackers 8 hours ago | parent | prev | next [-] |
| They never specified what exactly the product was, without which it's impossible to judge the post. For some reason most of the uses of "agents" are to build yet other AI products, it's turtles all the way down. Maybe that says more about the field of harnesses than it does about the power of "agents". |
| |
| ▲ | theptip 6 hours ago | parent | next [-] | | There is a sense in which it doesn’t matter at all; many of the limitations of agents in large codebases are just the context management challenges. So proving that you can cohere and progress at O(1m) is a useful scale observation. “Can I use agents in my 1m line codebase?” There is of course another sense in which the output quality is the only thing that matters. “Can I use agents to build a 1m line codebase that I want to maintain going forward.” I take this as being exclusively a tech demo of the former. Quality (feature velocity, bugs, scalability) is not demonstrated. | |
| ▲ | becomevocal 7 hours ago | parent | prev [-] | | Feels like the active discovery going on is trying to understand what is computer vs what is AI, for every product. Agents help a ton with the discovery, but the act of building a product needs a deeper level of thought and validation to make it actually better than what came before. So IMO what you see is people still learning what needs to be understood and crafted first hand to make a product better (including economics) We’ll get there if more of us try |
|
|
| ▲ | techblueberry 5 hours ago | parent | prev | next [-] |
| I’ve been vibe coding a lot over the past year or so, and I think I’m going to stop. In fact, I sort of want to challenge myself to see, can I go back to a sort of the fork in the road with the old copilot autocomplete workflow and really maximize that. Be in the drivers seat for most of the code being written, but find ways to use AI to really enhance the flow state / remove blockers. Tools only minimal actual code generation. |
| |
| ▲ | 59nadir 28 minutes ago | parent [-] | | I would be very impressed with someone who's been vibecoding "a lot" for about a year who could then go back to being fully in the loop for even 50%. I would even say I'd expect withdrawal symptoms at that point. The dopamine hits are core to why people even do vibecoding (or vibecoding-in-a-dress/spec-driven development) and why they tend to overestimate its output so much. Hell, it's core to all forms of LLM-assisted development (because it feels like magic), but most of the other forms are more reward, less delusion. |
|
|
| ▲ | Aperocky 8 hours ago | parent | prev | next [-] |
| > ended up being a million lines of code This almost reeks of "I've never cleaned up our code base because there is too much code, and didn't even bother having agents/LLM cleaning them up". You almost never need a million lines of code - this includes your software, infra, testing and operational tools. You didn't ship the linux kernel in 3 weeks and you know it. The code is already speghetti and it achieve the basic functions OK but it will harder and harder to simplify and untangle and maintain. |
| |
| ▲ | bombcar 7 hours ago | parent | next [-] | | Even the linux kernel doesn't need millions of lines of code; most of the actual LOC is device drivers, and you don't need all of them, you just need the ones for the devices you have. | | |
| ▲ | Chu4eeno 7 hours ago | parent [-] | | And Linux maintainers are actively pushing to radically cut down on the LOC by eliminating drivers etc. |
| |
| ▲ | zahlman 3 hours ago | parent | prev | next [-] | | As a point of reference, 1MLOC is about the size of the entire Python standard library including tests, as well as stuff like IDLE. (Well, the Python part of the code. There's about half that much again of C in Modules/ .) | |
| ▲ | girvo 8 hours ago | parent | prev | next [-] | | Yeah I cannot see how "we shipped 1 million lines of code in three weeks" is... something to be proud of haha | |
| ▲ | faustin 6 hours ago | parent | prev [-] | | They directly address routine code cleanup and regularly paying down technical debt near the end of the article. | | |
| ▲ | Aperocky 3 hours ago | parent [-] | | I stand corrected, but the LOC being advertised still make me doubt the efficacy of their process. |
|
|
|
| ▲ | aleqs 7 hours ago | parent | prev | next [-] |
| > should expect maybe 5x faster cycle in major software apps To what end and what would that even look like though? Enshittifying everything at maximum speed? The apps/platforms I use regularly - GitHub, Spotify, Google maps (just to name a few), have gotten noticeably shittier in recent times. |
| |
| ▲ | linsomniac 6 hours ago | parent [-] | | >GitHub, Spotify, Google maps (just to name a few), have gotten noticeably shittier in recent times. What if AI lets you create new versions of those tools, but without the enshitification? I say that being in the "soaking" stage of using AI to rebuild a shitty software project in 70KLOC over about 2 weeks of spare time, so this may not be as theoretical as you might think. | | |
| ▲ | aleqs 5 hours ago | parent | next [-] | | Oh I definitely agree that AI can and will help create great software. It's just that creating great software isn't really the SV/VC/big tech business model or main goal. | |
| ▲ | NoraCodes 6 hours ago | parent | prev [-] | | > What if AI lets you create new versions of those tools, but without the enshitification? I'm not sure I fully understand what you're saying here. Isn't the value of these tools almost entirely independent of their actual software? That is, we have many good open source, self-hostable forges (Forgejo, sr.ht, etc.), lots of great music player software (Jellyfin, Symphonium, etc.), and decent maps software (OsmAnd and Organic Maps). People use GitHub, Spotify, and Google Maps -- perhaps even _put up_ with their often bad/glitchy software -- because of network effects (all three) and content/licensing partnerships (Spotify/GMaps). That proprietary data isn't something AI can help you with, right? | | |
| ▲ | linsomniac 5 hours ago | parent | next [-] | | It really depends on the use-case. For example, my most starred github repo is a tool to convert Spotify playlists to YouTube Music (that was done pre-AI). Github depends on what issues you have with it, what your use case is, and whether you can leverage some of the network effects via API from the github source. Maps, same story. | |
| ▲ | nostrademons 5 hours ago | parent | prev [-] | | AI coders are great for making scrapers, possibly because AI companies use their own tools to make an awful lot of scrapers. |
|
|
|
|
| ▲ | dchftcs 6 hours ago | parent | prev | next [-] |
| This is a lot tamer than what Claude Code's team claims tbf. |
|
| ▲ | ai-roundup 6 hours ago | parent | prev | next [-] |
| [dead] |
|
| ▲ | jakolaptu 6 hours ago | parent | prev [-] |
| It is likely better because AI agents make access to domain knowledge easier. However, I would wager that the problem is people don’t remember the code well. The problems are going to be long-term as the pace of change increases. If you think about it, successful products rely on designing well-thought-out experiences, customer discovery (see all the Forward-Deployed Enginneer job listings at OpenAI) so the code velocity somewhat becomes irrelevant. If you’re solving the right problem and you’ve got a good team then competitive advantage comes from somewhere OUTSIDE of code velocity. The more important question I think is does faster code yield more value long-term? At the moment, it’s like yeah we do 3.5 pull requests per day. I’m thinking, great, good for you. You could also combine three pull requests into one and then you’re doing 1 per day. This is quantitative data that doesn’t really mean anything tangible. |