Rendered at 16:44:21 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
Jdstanhope 24 hours ago [-]
I have been using Claude to build a clone of Bash in Rust (https://github.com/jdstanhope/huck). It has been goin going on now for 81 days, 2600 commits and I have covered a good chunk of the features such that I can source by .bashrc with a number of extensions. It has been doing pretty good but it will sometimes spend hours to do few line fix and other times pushback on making big changes despite have over 3000 tests.
That being said, I am still guiding it on a regular basis and only recently let it run open ended trying fixing small to medium size bugs. The next stage will be try let it run in a loop trying to fix the 100 issues it has identified as well as getting most of the bash test suite to pass.
rco8786 23 hours ago [-]
> it will sometimes spend hours to do few line fix and other times pushback on making big changes despite have over 3000 tests.
you ever worked with human engineers before? :D
Jdstanhope 23 hours ago [-]
I was going to say that it's pretty much exactly like working with an experienced software engineer ... except it never seems to take a step back and look at the bigger picture. It will happily fix the same class of bugs over and over without realizing a bigger change is required.
SwtCyber 6 hours ago [-]
That’s a direct result of how they’re fine tuned. RLHF and other mechanisms reward quick, locally correct answers that solve the user’s immediate problem. A reward for a solution like "take a two-day pause, rip out half the modules, and rewrite the core" just straight-up doesn't exist in training datasets
francoisdevlin 17 hours ago [-]
Wait, are you talking about llms or people?
boothby 17 hours ago [-]
It's sad that LLMs are learning to devalue human life from people like you.
doc_ick 14 hours ago [-]
I was about to say as well, I don’t think I’d be interested in ever using this project but now I definitely never will. I wonder if they are vibe coding this for humans but have disdain for humans, why make it for humans?
andai 17 hours ago [-]
Step 1: Develop human-like minds
Step 2: Dehumanize them constantly
GPerson 16 hours ago [-]
LLMs don’t have human-like minds in any perceptible sense though.
boothby 16 hours ago [-]
Do. Not. Anthropomorphize. The Woodchipper.
inigyou 8 hours ago [-]
Are you referring to Larry Ellison?
LoganDark 16 hours ago [-]
"Not everything needs to be an anime girl"
Tade0 7 hours ago [-]
Funny how that never made it to the rules of the internet.
LoganDark 7 hours ago [-]
The rules of the internet are for things that are true.
23 hours ago [-]
justincormack 23 hours ago [-]
I find most of the time it would be fine on its own, but every now and again you avoid a really bad degradation through guidance. Some kinds of big change definitely problematic.
khazhoux 23 hours ago [-]
Very cool, but I'm skeptical. Over the last year, every Cursor/Claude/Codex project I've worked on devolves into shitty, grafted-on, duct-tape and bandaid'ed architecture, with "fixes" just working around broken code, and tons of duplication that lead to whack-a-mole. The system works at first, but then bugs start piling up and eventually take over. Everyone I talk to shares the same experience. Not to mention that if I, human overseer, don't course correct it many times a day, it goes off into Neverland.
Yet I see comments and articles like above every week, where someone says "Yeah, I just left my agent run for a few nights, and then it made this awesome tool."
There is a huge gap here, but I can't pinpoint it yet. Either I (and everyone I talk to) is Doing It Wrong, or your code is actually flawed at its core and bugs will take exponentially longer to fix and never converge, or... I just need to let my agent run for 3 months??
StableAlkyne 2 hours ago [-]
> Over the last year, every Cursor/Claude/Codex project I've worked on devolves into shitty, grafted-on, duct-tape and bandaid'ed architecture
I've noticed this pattern as well when people decide to vibe code a large project.
They usually get their MVP quickly, but as soon as they want a new feature or to fix a bug, the LLM takes the shortest possible route to a solution. The problem is that after about a dozen rounds of "the honest fix" and "load-bearing code" (insert your favorite claudeism) it's a tangled mess of enterprise-grade spaghetti.
I think it's because the people full-on vibe coding just don't have the experience or time to design large scale systems and anticipate what might cause problems if they want to change something later.
IMO coding agents can be useful, but the only safe place is the manageable changes you would design up and hand off to a junior anyway (but can't because your company decided to outsource years ago).
vishvananda 23 hours ago [-]
I've been doing a lot of experimenting with this with a c++ compiler project[0]. I definitely experienced a lot of challenges, but I do believe it is possible to end-up in a consistent space by putting in some very careful guardrails. I covered some of the things i learned in the follow on blog posts. My more recent runs have been producing better code after continuing to improve harnesses, tests, and prompts. New blog post coming soon on v2 and v3 reruns. I'll be kicking off some v4 runs soon. Here is a teaser showing the later runs: https://storage.googleapis.com/ralph-run-viewer-zippy-960/in...
If you just say “implement this” you’re going to have a bad time after a certain point.
You really need to add yourself as a human in loop to be in the middle of design choices. That is, ask the model for a plan, what the trade offs are, should parts of the code be refactored before the next feature, etc.
Also, there’s an element of reading the code and ordering refactors. I’ve noticed that for embedded code codex loves to to do everything in a main.c and too many compiler defines. Asking it to propose a refactoring into modules helps a lot.
It’s just like writing real code, if you don’t do design up front and don’t aggressively refactor as the requirements change, it becomes a mess.
Jdstanhope 23 hours ago [-]
Please check out the code and let me know what you think. I have driven a few large refactorings that I don't think Claude would have done on its own. The two big ones were related to handling tokenization and parsing (Claude's original code had circular dependencies and would scan forward in the lever instead of using the parser to determine structure) and the second was for using subshells for command substitution instead of inline and having dual FD and buffer handling.
GrinningFool 23 hours ago [-]
The only way I've found to make it work on long term AI-code-only projects is to have it constantly refactor, with the axes of refactoring usually provided by me.
cyanydeez 17 hours ago [-]
Yeah, i basically guide it by writing docs, tests, then code. Then try to get it looping that way. It occasionally happens reliably. If it can reliable prune context itd be pretty close to autonomous. If it achievef that, id sit down and plan out much larger scopes but for now, its just feat->docs->tests|code->loop till done.
akd 11 hours ago [-]
> Not to mention that if I, human overseer, don't course correct it many times a day, it goes off into Neverland.
Doesn't that happen to a human engineering team if you don't course correct it many times a month (which in code output is similar to an LLM in a day)?
program_whiz 4 hours ago [-]
Can't tell if this comment is serious. No, there are individual people who are capable of writing operating systems, browsers, source control systems, complex video games, and programming languages with no external guidance, design reviews, or anything. They are fully autonomous intelligent beings with good taste, powerful programming ability, and the vision to set long term and short term goals, craft plans, and execute without outside supervision.
There are also small teams of experts who need little to no supervision, and will NOT devolve without constant correction. They will do things like look for an existing function before writing a new one, or use good judgement when trying to find a library, rather than reinventing the wheel.
deaton 23 hours ago [-]
The current project I am developing with AI is so bloated that I've spent more time and tokens cleaning up the repo (to the tune of tens of thousands of lines removed) than actually creating it in the first place. AI is very very happy to create a mess.
Jdstanhope 23 hours ago [-]
As few people have mentioned you have to guide the AI to clean up stuff, it doesn't seem to choose that on its own. If prompted it can come up with a lot of things to clean up.
logickkk1 23 hours ago [-]
Yeah, it always wants to add another layer or append another fix. It almost never goes back and fixes the original thing in place.
khazhoux 20 hours ago [-]
My experience exactly. I think we’re doing great, but about 3 weeks in I realized it’s an unworkable mess that keeps breaking, and I spend the next two weeks cleaning it up or rebuilding it
antonvs 22 hours ago [-]
IME you can get good results if:
1. You have very good tests. The agent can write them, but you have to prompt it to do that, and some human input may be needed here.
2. You have a good, modular architecture. Again, this is something that needs to be prompted and/or developed up front. Agent work can scale if you divide and conquer, so that any given task has a well-defined scope, limiting the amount of context needed to handle it well. If you let an agent just build a big pile of code, you’ll have issues.
Once you have the above, you’re more likely to be able to just let the agent run.
This is why you hear about things like SQLite being ported to Rust (by multiple groups!) It has a comprehensive unit test suite and a good existing architecture. Such porting projects are benefitting from already having done the upfront work that I mentioned, plus they have the original source code as a reference implementation.
Because of that, most of what I do involves a lot of interaction with the agent. That’s because I’m typically working on complex existing systems, that don’t necessarily have the above properties, and agents aren’t at the point where they can handle that autonomously.
Jdstanhope 22 hours ago [-]
This is exactly the case for "porting" Bash to Rust. There is a huge amount of existing tests that can be leverage and when in doubt you can run the same code in bash and Huck and compare the result and then fix the issue.
twister2920 22 hours ago [-]
[dead]
peder 23 hours ago [-]
> tons of duplication that lead to whack-a-mole
The future is duplication. Code is no longer meant to be read by humans but by machines.
discreteevent 22 hours ago [-]
> Code is no longer meant to be read by humans but by machines.
That isn't true. Everyone knows it and you know it. So why would you make a statement like this? Does it make you feel like a "thought leader"? This isn't X or LinkedIn. Bulshitting here just makes you look like a fool.
accidc 23 hours ago [-]
How near/far is that future ?
Cuz what if a human has to intervene as the LLM can’t get it right?
Assuming a human then has till be able to comprehend it?
khazhoux 19 hours ago [-]
It’s not human readability I care about. The problem with duplicate code is that the agent will fix one instance, but leave the others buggy. Hilarity ensues.
peder 2 hours ago [-]
That doesn't happen with a proper test suite. Give guardrails and it's not an issue.
goatlover 21 hours ago [-]
If that's true (I very much doubt it), then have the LLMs generate something like WASM binary and run that everywhere instead. No need for human readable languages. Or if LLMs are not that good at binary format, then some textual representation optimized for LLMs instead of humans that compiles to WASM, the JVM or Rust binary.
No need for multiple programming languages anymore. But again, doubt that happens.
trolleski 7 hours ago [-]
Let them. I want to see the faces of middle management when the machine stops doing 'beep', and starts making expensive sounds instead. ;)
gipp 24 hours ago [-]
"Reproduce an existing piece of software" doesn't seem like a problem that generalizes well to "develop a new piece of software," for a fair number of reasons.
dougSF70 23 hours ago [-]
I agree...if there is a manual that documents well specified software including edge/corner cases i would kinda consider it a waste of tokens unless the aim is to build a better version of the software
jph 24 hours ago [-]
I'm experimenting with large-ish software projects using Claude Fable. The results are surprising to me.
- Project portfolio management software. Good results so far. This is unguided experimentation: Fable researches feature ideas and plans them, then Opus 5 implements them, without me in the loop. The features include things such as an auth server, full-text search, audit logging, resource leveling, HA/DR, IaC, and more.
- FHIR & SNOMED medical software experimentation in demo-only environments. This has mixed results so far. This is guided experimentation: the FHIR specifications and SNOMED specifications are thorough and I'm in the loop. Fable plans OK, but Opus 5 is thrashing a lot, going down many rabbit holes.
sreekanth850 23 hours ago [-]
We (Team of 3) built a retrieval engine from scratch in .NET for investigative search, with AI doing most of the backend implementation while humans handled the design and architecture and front end. It was developed using a task based, incremental approach. Includes more than 3,000 tests and extensive documentation, and is optimized for asynchronous ingestion using NATS and a disk backed WAL.
It includes a custom WAL, structure aware semantic chunking, ingestion and indexing pipelines, hybrid (rrf), text and vector retrieval, ACL aware filtering at query level, query classifier, citation tracking, and a CrateDB backend that performs fused retrieval over a single table.
total LOC: 180 K.
Status: evaluation by State agencies for investigative search on legacy documents.
tool used - Codex, Luna, and earlier codex 5.3, and gpt 4 mini.
AlotOfReading 16 hours ago [-]
How long did it take you to review things for correctness? Like an incremental query engine is a few thousand lines of reasonably difficult code on its own, a reliable WAL is another few thousand, etc, and each of those might take me days or weeks of thinking to have any serious confidence in them. I guess you can get provenance and ACL tracking "for free" from a query engine, but it still seems like a very ambitious project.
sreekanth850 10 hours ago [-]
It took about four months. Correctness was reviewed continuously rather than only after implementation. We built the system incrementally in small slices, with humans handling the architecture, and review while AI performed much of the implementation and front end is fully doe by humans.
The ingestion side includes durable asynchronous processing, recovery and replay, idempotency, strict ordering, structure aware segmentation, parent child relationships, and batched local embedding. The retrieval side includes hybrid (rrf), text and vector search, document versioning, collection and category scoping, document level ACL enforcement, parent expansion, provenance, and citation tracking.
Your estimate is fair. But, reliable WAL and retrieval layer are each substantial projects. We did not build the underlying database query engine from scratch, but the correctness work around ingestion, recovery, hierarchy, security, ranking, and provenance was still significant.
The project now has more than 3,000 automated tests, including coverage for recovery, concurrency, ordering, ACLs, versioning, and retrieval behaviour. Tests are not proof of correctness, but incremental implementation, explicit invariants, failure testing, and continuous human review are how we built confidence in it. We also had script to automate live endpoint tests with real data samples, this help largely to mitigate issues after a refactoring or enhancement.
total production code is 80k LOC and rest is test coverages. One thing to say after seeing the results are, many of the RAG framework does it wrong. We got exceptional results and we also have agentic retrieval for answering complex queries. We designed it in our own way because government systems cannot afford false results, especially when the product is intended for crime investigation or compliance management in banks.
Edit: I forgot to mention that we also support PostgreSQL.
After building this system, we concluded that vector dimensionality is only a small part of retrieval accuracy. We use 384 dim embeddings and still achieve excellent results.
harrouet 4 hours ago [-]
"we have more than 3,000 tests"...
Great, but since no human has looked at them, how do you know that they are relevant and actually test undesired behavior?
Also, would you be able to point at which tests should be added in the future?
sreekanth850 4 hours ago [-]
The tests are based on actual expected outputs, not generated only to increase coverage. For every feature, we have a phase in TASK Ledger with scope, objective, goals and outcome. And the final part will be test coverage with expectations. I cannot claim that a human has reviewed every test line by line. However, humans defined and reviewed the expected behaviour, architecture, invariants, and feature outcomes against which those tests were written. Also, when a bug is reported, we add a regression and prove the bug and then fix and test should pass.
We also use a headless API with a fully decoupled frontend, and the frontend is written entirely by developers. This helps catch additional issues during integration because every endpoint is exercised and validated through the actual userfacing workflows.
I may not be able to convince developers about the process we follow, but we got it working, and tested for concurrency, load and fanout behaviour. This is our primary requirement, as this is targeted towards large scale government customers.
Regarding future tests, they will be added for new features, reported bugs, newly discovered failure modes, and regressions. This level of test coverage also helps us use AI without allowing significant drift in the codebase.
thisisauserid 24 hours ago [-]
I believe they can make ANY software project the largest it can be!
This solution should look for more problems.
linsomniac 23 hours ago [-]
You say that, but I asked Codex to build a Asteroids (but FPS) as a web app, and it wrote it in under 4K LOC, and a Tempest implementation in 6.5K LOC. Those seem like really reasonable line counts to me.
I also built a caching proxy server for apt packages, that's a bigger project, and that is 30.5K lines of golang, which doesn't seem bad compared to apt-cacher-ng which is 19.3K of C++ (my project does significantly more).
thisisauserid 22 hours ago [-]
[flagged]
linsomniac 21 hours ago [-]
I'm going to take it that you were being sarcastic.
However, in the case of the apt cacher, the DDoS of Ubuntu infrastructure showed that the existing apt cachers left a *LOT* of room for improvement, not to mention that apt-cacher-ng has regularly (over the last 13 years of use) gotten wedged and needed intervention.
This cacher understands Deb package repo structure, and when it finds new meta-data it grabs and checks the meta-data, downloads new version of any package you regularly download (configurable), and then makes a snapshot of that, which it then promotes for cache users to see.
I can shut down my Internet connection and then install a fresh Ubuntu from ISO, then "apt update; apt dist-upgrade" successfully via the cache.
If you are saying that AI isn't solving novel problems, you are waaaaaay off.
But you're also missing the point: This branch of the conversation is about AI tools writing wildly inflated code. Which I proposed a few data-points refuting.
marginalia_nu 24 hours ago [-]
Yeah came here to say the same thing. The Hard Problem of software engineering isn't making a complex monstrosity with millions of lines of code and endless feature creep, but not doing that. This was as true 20 years as it is today.
AlotOfReading 23 hours ago [-]
I apologize for such a big program — I didn't have enough tokens to write a small one.
- my coworkers
anothermathbozo 23 hours ago [-]
The benchmark does not reward producing more code.
eithed 17 hours ago [-]
I'm looking at these reports and then at my sessions with Claude. In latest one, it got stuck in a loop fixing one thing and breaking another for 10 iterations, until I've noticed and gave it the insight. Or where it started continuously writing "echo", I don't know for what purpose. And I ask how, how can you not be the driver; how can you let these agents roam free and actually accomplish things.
dnnehgf 13 hours ago [-]
we bomb schools and walk past beggars and devote our surplus time and money to scones and brain rot and gym memberships.
our c code probably looks at us and says: how, how can you let these agents roam free.
llms are not code and are incompetent and inefficient relative to code, but on the other hand you cannot roam without a little echo echo echo in your blood.
IncandescentGas 1 hours ago [-]
Thanks, your comment got this song stuck in my head. (I like my gym membership, thank you very much. I even visited the gym once several months ago.)
We wasted every second dime
On diets, lawyers, shrinks, and apps, and flags
And plastic surgery
- So long & thanks for all the fish, a perfect circle
manoDev 23 hours ago [-]
This actually proves the hardest part of software engineering is defining requirements.
wannabe44 7 hours ago [-]
That makes it sound like a PM problem. The hardest part is building the mental model which doesn't crumble. I have worked with humans who had the same failure modes as LLMs.
cyanregiment 5 hours ago [-]
Accurately? About a ~500 line React component or API endpoint given lots of very good context
Which is not bad
I don’t bother with the agentic stuff anymore than I would run a calculator on auto - what is the actual point if you think of what that really means
SwtCyber 6 hours ago [-]
I think the best part about this benchmark is that they finally stopped pretending you can evaluate a complex engineering task with $ 5 worth of inference. If a task takes a human weeks, you need to give the agent a comparable search space to find solutions
Terratrader 10 hours ago [-]
So I can not code. I just tell an AI the concept of what I want my software to do and execute in blocks. Most operations are well defined and depend on a central mechanism and that is where everything starts. The rest is like an octopus : the body defines the concept, the arms the consequences. This way there is no need for long code since every segment has a clear beginning and end. It is also quite efficient overall. My point is that long code can be circumvented by clever architecture.
harrouet 5 hours ago [-]
It is very hard to make sense of these benchmarks given that at least some of these models have probably been trained on the code base of these projects.
vivzkestrel 11 hours ago [-]
- I ll consider any of these models as god tier the day one of these 2 happen
- They build a browser engine from scratch that implements every whatwg spec for the last 15 yrs, fixes every bug chromium has and runs 10x faster than chromium
- they build a super highly optimized version of windows that runs much much faster than windows 11
inigyou 8 hours ago [-]
People who are 100x more productive than before should seriously consider doing one of these. Should only take a few months at 100x productivity.
It's smaller than an actualization of the Memex, that's for sure. It's been 80 years since it was seen as a good solution to the greatest problem facing science at the time.
80 years, yet we still can't mark up hypertext without copying and then modifications to the source.
guybedo 22 hours ago [-]
i've been working on several rather large projects these past few months, and i'm trying to write as little code as possible.
I don't think i wrote more than 10 lines of code in the largest project i'm working on. Lines of code: Java: 900_635, typescript: 725_418, C++: 180_445, Dart: 96_181.
It's been obvious from the start that no model, as good as it is, can do large(-ish) amounts of work by its own without supervision, control, criticism, etc ... If left unsupervised, models usually do half the work, leaving stubs and todos everywhere.
Quality comes from applying software engineering principles as much as possible, just like you would do with teams of junior devs: planning sessions and implementation sessions with adversarial critiques, specifying as much as possible upfront, planning unit/smoke/integration tests, etc ...
Many systems rely on swarm of agents to build software but i've found it very difficult to get good results without lots of overhead/token waste because of inter agent communications mostly.
So instead i built what is mostly a workflow engine to structure / organize processes into workflows with different agents assigned different roles. I've setup a basic landing page here https://kodfactory.com if anyone wants to follow along.
NewEntryHN 23 hours ago [-]
> without access to the original source code
All models in the leaderboard probably have had access to the original source code in their training data.
Seems like most of developers and humans vibecoding new projects with LLMs. But I can see they have problems in the codebase with AI generated code, or security breachs etc. Whats the limit of it? In other words, I'm curious about what the future holds.
Art9681 3 hours ago [-]
Given all of the CVE's being published for software that's been around decades and being tended to by the most talented businesses and individuals in the world, the least of my concerns are vibe coded projects that will never be used.
All software has problems. Most engineers spend their careers fixing issues caused by previous engineers. This was the case before LLMs, and it will continue to be the case for the foreseeable future.
muglug 23 hours ago [-]
> MirrorCode only covers programs with plain-text output. MirrorCode does not test AI abilities in software that is
inherently visual
It’s an interesting eval but this is a distinct limitation — most applications that consumers use directly are not purely text-based.
stared 24 hours ago [-]
I am curious how Claude Opus 5 fares - similar, better, or (my guess) worse than Fable 5.
linsomniac 16 hours ago [-]
I thought Fable 5 was pretty good, but with all the shenanigans (specifically the we're pulling it on X, j/k, you get it another week; too bad you burned all your Fable tokens)...
I decided to try Codex+gpt-5.6-sol-xhigh, and it's really good. It reminds me a lot of Fable 5, but it also is a LOT harder to use all your tokens with. Plus they give you a free reset a week right now. I'd even go so far as to say I think it's better than Fable 5. With an asterisk...
That asterisk: For anything very big, I'm having it do review loops using Claude Code + Opus 5.
For example, I gave it a few paragraphs describing a bi-directional rsync without the Unison database. It worked solo for 4-5 hours and in my testing it works great. I gave it a few small feedbacks (give me progress in human units not bytes, there's a bug syncing a specific file rather than directory, etc).
logicchains 23 hours ago [-]
For really hard problems (maths) it's far far worse than Fable 5, not even as good as Sol 4.6. Current benchmarks are inadequate as they fail to capture how much worse Opus 5 is than Fable 5.
I'm a bit suspicious of this as there are open source excel clones already.
It's impressive AI can put together it's own version, but I can't help but feel it's probably just relying on existing excel clones as it's a well trodden space.
Novel applications are what impress me. Not a clone.
swframe2 23 hours ago [-]
Agreed. Novel would be very impressive. AI tech is struggling with that.
It is important not to wait for today's AI tech to get to AGI. It is better to exploit the useful things it can do today while waiting for it to get better tomorrow.
Cloning existing software might be useful today.
It allows the model to
1) learn from its mistakes
2) mix known solutions (embed product A inside product B)
3) mine value (turn product A into a set of reusable libraries)
etc.
cobbzilla 17 hours ago [-]
whatever it is, it will be heavily skewed in favor of whatever there is a lot of examples of. AI could bolt together many cookie-cutter pieces into a very large YOLO system.
The trouble comes when you now want that system to do something unique for your business, and those ripple effects through the entire system you didn’t design become very painful.
andai 17 hours ago [-]
Would be nice if they also tested other models instead of several old versions of GPT.
mkagenius 23 hours ago [-]
Couldn't find what exact tests they are running. The GitHub repo is very obscure to be read by my human brain.
vcryan 14 hours ago [-]
It really depends on how you define "complete". It's possible the answer in "not large at all" if we're looking for high-quality, reliable, user-friendly software that works near perfectly after being written, tested, deployed completely by AI with no human intervention.
People who try to get AI to do a lot of un-manned work seem to have a bit of a bias toward viewing LLM work as "good" or "good enough" in a way that they wouldn't have accepted in the pre-AI era.
_doctor_love 22 hours ago [-]
What size project an AI can complete on its own is IMHO not an interesting question. The AIs and harnesses are getting good enough that quite large things can be built, primarily as a function of cost.
The interesting question in my view is what is the largest system an AI can maintain over a long time horizon -- while keeping a coherent architecture that adapts and responds well to change. All the while remaining performant, scalable, and understandable to humans. I am unaware of what is the currently longest-lived vibe coded project but it cannot be more than a few years old.
So to my mind, we don't have very much real data yet.
arstructinc 16 hours ago [-]
I think reproducing existing software and building a new product are quite different tasks.
In a benchmark, there are usually clear tests and a correct reference. In actual product development, requirements are often unclear, and we do not always know what the correct result is.
Passing tests is also not enough to confirm security, maintainability, or operability. I would like to see a benchmark where an AI continues changing the same product for several months. It would be interesting to see whether the architecture remains understandable and safe after many changes.
htrp 20 hours ago [-]
isn't this a harness engineering problem at its core (and the human equivalent being a product org problem)?
_doctor_love 19 hours ago [-]
I don't believe it is. If we think of AI-maintained software as automated gardening / automated agriculture, the harness is all the machinery that can plow, sow, water, monitor, harvest, etc. There still has to be a human stewarding the overall ecosystem and tending the garden. The human is 'on top' of loop rather than 'in it' but I don't think a harness by itself can be a good steward of architecture.
Product org problems also is very context-dependent. Product orgs can work significantly different, in some orgs humans desire to be deep in the details, in other orgs the product folks are happy to let engineering drive the boat beyond a certain level of complexity. So one size harness can't necessarily fit all.
colechristensen 23 hours ago [-]
I'm trying to build a competitor to Parasolid and... it's a struggle getting towards the end of the first 90% of the work. It's getting back to the point where I'm buying textbooks and reading papers because moderate domain knowledge is not enough to drive LLMs to completion here.
The space is too big and the code too extensive for a 1M context window and the capabilities of the current SOTA models.
looksjjhg 24 hours ago [-]
Why just the commercial ones !??
jdw64 1 days ago [-]
I'm curious about that too.
I'm building a language with AI, and when I leave the AI running on its own, it keeps generating code in strange directions. I wonder what kind of structure AI-only code would have.
lonelyasacloud 23 hours ago [-]
> I'm building a language with AI, and when I leave the AI running on its own, it keeps generating code in strange directions.
In the linked paper the researchers state "AI solutions must match the original program’s output exactly on end-to-end tests, including held-out tests. " And a bit further on "The AI agent is given execute-only access to the original program and a set of visible test cases, but does not have access to the original source code. "
At a guess, their agents are not going off into the weeds (like mine do occasionally) is because they have both access to a reference runtime implementation to use as a definitive end to end test to guide development. And also a relatively large token budget to run enough characterisation tests to allow them to home in on solutions.
onlyrealcuzzo 24 hours ago [-]
Also building a language with AI.
It's decent at design and implementation, but strangely terrible at language consistency - and expectedly architecture.
Steering it on language consistency is easy. Steering it on architecture has required me to learn a lot more about compilers than I wanted to do for this project (since that's a lot more than I wanted to take on for something that was supposed to be a "fun" "side" project).
jdw64 23 hours ago [-]
I have a similar problem.
I'm not sure about architecture. When I first implemented the slot system in my language, I designed it around that implementation, and in the end, the architecture suffered. There were quite a few cases where consistency was simply unavoidable.
It's not easy to create a completely new architecture with something that doesn't exist in existing languages. Consistency doesn't come together as easily as you'd think.
In that sense, I really admire the people who first introduced something new.
When I started implementing it, I focused on one killer feature and just went for it—with the feeling that if this succeeds, my language will succeed. But once I started building around it, it turned out to be very different from other compiler architectures.
With CRUD or other well-established domains, it's easier to maintain consistency. But achieving internal consistency in a program seems to be a different kind of challenge.
ivan888 24 hours ago [-]
Is it like self driving cars, where 100% non-human code would be arguably safer?
But then it always comes down to having some human who is accountable for verifying the behavior. I think ultimately we just need a better set of languages and frameworks to minimally encode the types of applications we want to build today, so that human comprehension and verification of the source code becomes easier.
LetsGetTechnicl 24 hours ago [-]
How would 100% non-human code possibly be safer?
micromacrofoot 24 hours ago [-]
well if driving is supposedly safer when automated, why not code
dd8601fn 23 hours ago [-]
The qualities of computation that make autopilots safer than human drivers aren’t the same qualities that produce better designed software products.
LetsGetTechnicl 24 hours ago [-]
Is it actually safer? If you can't understand the code you can't verify it's safety, and AI code often has bugs in it. You can't trust implicitly.
skeledrew 15 hours ago [-]
You don't need to understand code to verify its safety if you have a good QA framework.
ModernMech 24 hours ago [-]
It’s supposedly safer than the average driver, not safer than professional drivers.
jdw64 24 hours ago [-]
I've noticed that when only AI writes the code, there are cases where it ends up being unusable by humans. For small code snippets or function-level units, AI is often much better than me. But when I look at the whole picture, AI tends to perform poorly.
roncesvalles 23 hours ago [-]
Category error. Self-driving cars are still meticulously coded by humans.
fragmede 13 hours ago [-]
They use trained models in the system though, so I don't know if you can really claim that.
That being said, I am still guiding it on a regular basis and only recently let it run open ended trying fixing small to medium size bugs. The next stage will be try let it run in a loop trying to fix the 100 issues it has identified as well as getting most of the bash test suite to pass.
you ever worked with human engineers before? :D
Step 2: Dehumanize them constantly
Yet I see comments and articles like above every week, where someone says "Yeah, I just left my agent run for a few nights, and then it made this awesome tool."
There is a huge gap here, but I can't pinpoint it yet. Either I (and everyone I talk to) is Doing It Wrong, or your code is actually flawed at its core and bugs will take exponentially longer to fix and never converge, or... I just need to let my agent run for 3 months??
I've noticed this pattern as well when people decide to vibe code a large project.
They usually get their MVP quickly, but as soon as they want a new feature or to fix a bug, the LLM takes the shortest possible route to a solution. The problem is that after about a dozen rounds of "the honest fix" and "load-bearing code" (insert your favorite claudeism) it's a tangled mess of enterprise-grade spaghetti.
I think it's because the people full-on vibe coding just don't have the experience or time to design large scale systems and anticipate what might cause problems if they want to change something later.
IMO coding agents can be useful, but the only safe place is the manageable changes you would design up and hand off to a junior anyway (but can't because your company decided to outsource years ago).
[0]: https://medium.com/@vishvananda/i-spent-2-billion-tokens-wri...
You really need to add yourself as a human in loop to be in the middle of design choices. That is, ask the model for a plan, what the trade offs are, should parts of the code be refactored before the next feature, etc.
Also, there’s an element of reading the code and ordering refactors. I’ve noticed that for embedded code codex loves to to do everything in a main.c and too many compiler defines. Asking it to propose a refactoring into modules helps a lot.
It’s just like writing real code, if you don’t do design up front and don’t aggressively refactor as the requirements change, it becomes a mess.
Doesn't that happen to a human engineering team if you don't course correct it many times a month (which in code output is similar to an LLM in a day)?
There are also small teams of experts who need little to no supervision, and will NOT devolve without constant correction. They will do things like look for an existing function before writing a new one, or use good judgement when trying to find a library, rather than reinventing the wheel.
1. You have very good tests. The agent can write them, but you have to prompt it to do that, and some human input may be needed here.
2. You have a good, modular architecture. Again, this is something that needs to be prompted and/or developed up front. Agent work can scale if you divide and conquer, so that any given task has a well-defined scope, limiting the amount of context needed to handle it well. If you let an agent just build a big pile of code, you’ll have issues.
Once you have the above, you’re more likely to be able to just let the agent run.
This is why you hear about things like SQLite being ported to Rust (by multiple groups!) It has a comprehensive unit test suite and a good existing architecture. Such porting projects are benefitting from already having done the upfront work that I mentioned, plus they have the original source code as a reference implementation.
Because of that, most of what I do involves a lot of interaction with the agent. That’s because I’m typically working on complex existing systems, that don’t necessarily have the above properties, and agents aren’t at the point where they can handle that autonomously.
The future is duplication. Code is no longer meant to be read by humans but by machines.
That isn't true. Everyone knows it and you know it. So why would you make a statement like this? Does it make you feel like a "thought leader"? This isn't X or LinkedIn. Bulshitting here just makes you look like a fool.
Cuz what if a human has to intervene as the LLM can’t get it right?
Assuming a human then has till be able to comprehend it?
No need for multiple programming languages anymore. But again, doubt that happens.
- Project portfolio management software. Good results so far. This is unguided experimentation: Fable researches feature ideas and plans them, then Opus 5 implements them, without me in the loop. The features include things such as an auth server, full-text search, audit logging, resource leveling, HA/DR, IaC, and more.
- FHIR & SNOMED medical software experimentation in demo-only environments. This has mixed results so far. This is guided experimentation: the FHIR specifications and SNOMED specifications are thorough and I'm in the loop. Fable plans OK, but Opus 5 is thrashing a lot, going down many rabbit holes.
It includes a custom WAL, structure aware semantic chunking, ingestion and indexing pipelines, hybrid (rrf), text and vector retrieval, ACL aware filtering at query level, query classifier, citation tracking, and a CrateDB backend that performs fused retrieval over a single table. total LOC: 180 K. Status: evaluation by State agencies for investigative search on legacy documents. tool used - Codex, Luna, and earlier codex 5.3, and gpt 4 mini.
The ingestion side includes durable asynchronous processing, recovery and replay, idempotency, strict ordering, structure aware segmentation, parent child relationships, and batched local embedding. The retrieval side includes hybrid (rrf), text and vector search, document versioning, collection and category scoping, document level ACL enforcement, parent expansion, provenance, and citation tracking.
Your estimate is fair. But, reliable WAL and retrieval layer are each substantial projects. We did not build the underlying database query engine from scratch, but the correctness work around ingestion, recovery, hierarchy, security, ranking, and provenance was still significant.
The project now has more than 3,000 automated tests, including coverage for recovery, concurrency, ordering, ACLs, versioning, and retrieval behaviour. Tests are not proof of correctness, but incremental implementation, explicit invariants, failure testing, and continuous human review are how we built confidence in it. We also had script to automate live endpoint tests with real data samples, this help largely to mitigate issues after a refactoring or enhancement. total production code is 80k LOC and rest is test coverages. One thing to say after seeing the results are, many of the RAG framework does it wrong. We got exceptional results and we also have agentic retrieval for answering complex queries. We designed it in our own way because government systems cannot afford false results, especially when the product is intended for crime investigation or compliance management in banks.
Edit: I forgot to mention that we also support PostgreSQL.
After building this system, we concluded that vector dimensionality is only a small part of retrieval accuracy. We use 384 dim embeddings and still achieve excellent results.
Great, but since no human has looked at them, how do you know that they are relevant and actually test undesired behavior?
Also, would you be able to point at which tests should be added in the future?
We also use a headless API with a fully decoupled frontend, and the frontend is written entirely by developers. This helps catch additional issues during integration because every endpoint is exercised and validated through the actual userfacing workflows.
I may not be able to convince developers about the process we follow, but we got it working, and tested for concurrency, load and fanout behaviour. This is our primary requirement, as this is targeted towards large scale government customers. Regarding future tests, they will be added for new features, reported bugs, newly discovered failure modes, and regressions. This level of test coverage also helps us use AI without allowing significant drift in the codebase.
This solution should look for more problems.
I also built a caching proxy server for apt packages, that's a bigger project, and that is 30.5K lines of golang, which doesn't seem bad compared to apt-cacher-ng which is 19.3K of C++ (my project does significantly more).
However, in the case of the apt cacher, the DDoS of Ubuntu infrastructure showed that the existing apt cachers left a *LOT* of room for improvement, not to mention that apt-cacher-ng has regularly (over the last 13 years of use) gotten wedged and needed intervention.
This cacher understands Deb package repo structure, and when it finds new meta-data it grabs and checks the meta-data, downloads new version of any package you regularly download (configurable), and then makes a snapshot of that, which it then promotes for cache users to see.
I can shut down my Internet connection and then install a fresh Ubuntu from ISO, then "apt update; apt dist-upgrade" successfully via the cache.
If you are saying that AI isn't solving novel problems, you are waaaaaay off.
But you're also missing the point: This branch of the conversation is about AI tools writing wildly inflated code. Which I proposed a few data-points refuting.
- my coworkers
our c code probably looks at us and says: how, how can you let these agents roam free.
llms are not code and are incompetent and inefficient relative to code, but on the other hand you cannot roam without a little echo echo echo in your blood.
We wasted every second dime On diets, lawyers, shrinks, and apps, and flags And plastic surgery
- So long & thanks for all the fish, a perfect circle
Which is not bad
I don’t bother with the agentic stuff anymore than I would run a calculator on auto - what is the actual point if you think of what that really means
- They build a browser engine from scratch that implements every whatwg spec for the last 15 yrs, fixes every bug chromium has and runs 10x faster than chromium
- they build a super highly optimized version of windows that runs much much faster than windows 11
80 years, yet we still can't mark up hypertext without copying and then modifications to the source.
I don't think i wrote more than 10 lines of code in the largest project i'm working on. Lines of code: Java: 900_635, typescript: 725_418, C++: 180_445, Dart: 96_181.
It's been obvious from the start that no model, as good as it is, can do large(-ish) amounts of work by its own without supervision, control, criticism, etc ... If left unsupervised, models usually do half the work, leaving stubs and todos everywhere.
Quality comes from applying software engineering principles as much as possible, just like you would do with teams of junior devs: planning sessions and implementation sessions with adversarial critiques, specifying as much as possible upfront, planning unit/smoke/integration tests, etc ...
Many systems rely on swarm of agents to build software but i've found it very difficult to get good results without lots of overhead/token waste because of inter agent communications mostly.
So instead i built what is mostly a workflow engine to structure / organize processes into workflows with different agents assigned different roles. I've setup a basic landing page here https://kodfactory.com if anyone wants to follow along.
All models in the leaderboard probably have had access to the original source code in their training data.
All software has problems. Most engineers spend their careers fixing issues caused by previous engineers. This was the case before LLMs, and it will continue to be the case for the foreseeable future.
It’s an interesting eval but this is a distinct limitation — most applications that consumers use directly are not purely text-based.
I decided to try Codex+gpt-5.6-sol-xhigh, and it's really good. It reminds me a lot of Fable 5, but it also is a LOT harder to use all your tokens with. Plus they give you a free reset a week right now. I'd even go so far as to say I think it's better than Fable 5. With an asterisk...
That asterisk: For anything very big, I'm having it do review loops using Claude Code + Opus 5.
For example, I gave it a few paragraphs describing a bi-directional rsync without the Unison database. It worked solo for 4-5 hours and in my testing it works great. I gave it a few small feedbacks (give me progress in human units not bytes, there's a bug syncing a specific file rather than directory, etc).
It's impressive AI can put together it's own version, but I can't help but feel it's probably just relying on existing excel clones as it's a well trodden space.
Novel applications are what impress me. Not a clone.
It is important not to wait for today's AI tech to get to AGI. It is better to exploit the useful things it can do today while waiting for it to get better tomorrow.
Cloning existing software might be useful today. It allows the model to
1) learn from its mistakes
2) mix known solutions (embed product A inside product B)
3) mine value (turn product A into a set of reusable libraries)
etc.
The trouble comes when you now want that system to do something unique for your business, and those ripple effects through the entire system you didn’t design become very painful.
People who try to get AI to do a lot of un-manned work seem to have a bit of a bias toward viewing LLM work as "good" or "good enough" in a way that they wouldn't have accepted in the pre-AI era.
The interesting question in my view is what is the largest system an AI can maintain over a long time horizon -- while keeping a coherent architecture that adapts and responds well to change. All the while remaining performant, scalable, and understandable to humans. I am unaware of what is the currently longest-lived vibe coded project but it cannot be more than a few years old.
So to my mind, we don't have very much real data yet.
In a benchmark, there are usually clear tests and a correct reference. In actual product development, requirements are often unclear, and we do not always know what the correct result is.
Passing tests is also not enough to confirm security, maintainability, or operability. I would like to see a benchmark where an AI continues changing the same product for several months. It would be interesting to see whether the architecture remains understandable and safe after many changes.
Product org problems also is very context-dependent. Product orgs can work significantly different, in some orgs humans desire to be deep in the details, in other orgs the product folks are happy to let engineering drive the boat beyond a certain level of complexity. So one size harness can't necessarily fit all.
The space is too big and the code too extensive for a 1M context window and the capabilities of the current SOTA models.
I'm building a language with AI, and when I leave the AI running on its own, it keeps generating code in strange directions. I wonder what kind of structure AI-only code would have.
In the linked paper the researchers state "AI solutions must match the original program’s output exactly on end-to-end tests, including held-out tests. " And a bit further on "The AI agent is given execute-only access to the original program and a set of visible test cases, but does not have access to the original source code. "
At a guess, their agents are not going off into the weeds (like mine do occasionally) is because they have both access to a reference runtime implementation to use as a definitive end to end test to guide development. And also a relatively large token budget to run enough characterisation tests to allow them to home in on solutions.
It's decent at design and implementation, but strangely terrible at language consistency - and expectedly architecture.
Steering it on language consistency is easy. Steering it on architecture has required me to learn a lot more about compilers than I wanted to do for this project (since that's a lot more than I wanted to take on for something that was supposed to be a "fun" "side" project).
I'm not sure about architecture. When I first implemented the slot system in my language, I designed it around that implementation, and in the end, the architecture suffered. There were quite a few cases where consistency was simply unavoidable.
It's not easy to create a completely new architecture with something that doesn't exist in existing languages. Consistency doesn't come together as easily as you'd think.
In that sense, I really admire the people who first introduced something new.
When I started implementing it, I focused on one killer feature and just went for it—with the feeling that if this succeeds, my language will succeed. But once I started building around it, it turned out to be very different from other compiler architectures.
With CRUD or other well-established domains, it's easier to maintain consistency. But achieving internal consistency in a program seems to be a different kind of challenge.
But then it always comes down to having some human who is accountable for verifying the behavior. I think ultimately we just need a better set of languages and frameworks to minimally encode the types of applications we want to build today, so that human comprehension and verification of the source code becomes easier.