9 ms·
The Coming Loop
- deleted 4mo ago[deleted]
- camillomiller 4mo agoShow me the billion dollar solopreneur startup, or the profit increase for companies and at that point I’ll start thinking that this tasteless high level wanking might make sense in some way
- soulofmischief 4mo agoWe've just invented the car and you're upset it hasn't achieved Mach speed yet.
- camillomiller 4mo agoI was literally quoting Sam Altman
- soulofmischief 4mo agoNo, you mentioned his discussion of the "billion dollar one person startup", which we can both agree is a fanciful idea and more of an eventual "possibility" that will of course not occur as once anyone can be a billionaire, the whole system is going to change. However, your "tasteless high level wanking" is not a quote from Altman, it's a vague and directionless insult that manages to sweep quite a lot of legitimate discussion about the future of automation and professional work under its thumb. It's wrong because you're saying, "where are the billion-dollar one-man startups?" in the same way that I might look at a Benz Velo and go, "But it's so slow! Horses can go faster than that! Everyone saying cars are going to change the fabric of society are just tasteless wankers!" The point is that you are applying future aspirations on the present-day relatively brand-new model space and getting upset that we aren't there yet.
- camillomiller 4mo agoThe amount of brain energy spent on justifying the mediocrity machines is astounding.
- soulofmischief 4mo agoWhat you just did is called deflection. You failed to address my comment wholesale and instead opted for a back-handed insult on my intelligence. Do you actually have something substantial to say?
- bee_rider 4mo agoOne car went Mach 1, ever, apparently. Anyway, I don’t think the analogy fits. Ford or whoever didn’t loudly and frequently predict Mach 1 cars, right? The situation is more like: Altman & co are predicting their new car will replace all vehicles: horses, trains, planes, motorcycles, there’s a real possibility the concept of vehicles will not exist other than cars, in the future. Meanwhile it hasn’t really done highway speeds yet. It does some impressive runs on curated tracks, and people use it around their farms (it seems to work ok for some of them). We’ll see, I guess.
- camillomiller 4mo agoIt is a terrible analogy that shows terrible thinking. After all, there's one thing we can bet with more confidence on: delegating thinking to this mediocrity machines is affecting the ability to do the same in scores and scores of previously smart people.
- bee_rider 4mo agoFunny enough it is a great analogy if you think these modes will never really “get there” at scale.
- soulofmischief 4mo agoTerrible thinking? Delegating thinking to mediocrity machines? "Previously" smart people? I don't think you can project your own limited and malformed understanding of the world any harder. Please go touch grass and learn how to engage with others on the internet without being so negative.
- camillomiller 4mo agoTerrible thinking: yes, it's just bad thinking. It's a malformed comparison that misunderstands the conversation. Delegating thinking to mediocrity machines: Based on the statistical nature of their underlying math, LLMs are by definition mediocrity-producing machines, especially if you understand the etymology of mediocre. Previously smart people: Cognitive atrophy in people overrelying on LLMs and agents seems to be inevitable: https://www.media.mit.edu/publications/your-brain-on-chatgpt/ https://www.media.mit.edu/publications/your-brain-on-chatgpt... Maybe my understanding of the word is limited and malformed, or maybe you could try to develop one that takes into consideration the humanities, art, the sublime, love, emotions, and everything that makes humans human, instead of looking at the world through the small, mechanistic lens of the hyperengineerization of everything.
- deleted 4mo ago[deleted]
- ianm218 4mo agoThis company got valued at $250M https://polsia.com/ https://polsia.com/ and is a one person startup. Lots of people think its more or less a hype job but given "ai agents" have only really existed for a year or two now it's sitll early days.
- camillomiller 4mo agoThe website is unclear about what it does, but the about page is rad. Took me a minute to get the reference. :)
- JodieBenitez 4mo ago> For now I have not moved past the point of comprehension being important to me. Ah ! This is me too... at least for what I have to ship at work. Not so much for my toy/weekend projects. But it turns out agents are also good at explaining.
- jazzypants 4mo agoI think it's insane to suggest that software developers should ever get to the point where they don't even comprehend their code. Before someone else says it, no I don't read the assembly code that is produced by my compilers. However, I can generally predict what kind of assembly will be produced, and the result is deterministic unlike LLMs. It seems like most vibe coders scoff at the idea of even looking at the code, and it just seems untenable to me when we're working with (usually correct) stochastic parrots.
- fartcoin67 4mo ago[dead]
- fc417fc802 4mo ago> the result is deterministic Well the result generally matches the input specification, something that an LLM is much less consistent about. I don't think it's deterministic in the sense of being able to predict a priori what the compiler will generate for a novel and nontrivial code block.
- ramon156 4mo agoQuoting the creator of CC holds little value in my opinion. I too call my product good. > opting out of this fully machine-driven future may not be an option. I am contemplating whether I want to stay inside this rat race. I completely agree with the conclusion of this blog post, by the way. I feel uneasy, and I do not enjoy the work I deliver using LLMs. I think OP did a really good job on capturing at least my current state.
- Devasta 4mo ago> I feel uneasy, and I do not enjoy the work I deliver using LLMs. I have basically stopped writing code in my spare time since the advent of AI. Before I felt like I was working on a classic car. Was it a practical use of my time? No. I could go out and download software that did what I wanted. Did I have fun doing it? Yes, the act of working on it was important, I felt I was still learning and improving as I did. Nowadays I see people doing far more in a month than I could in a year and I feel like its all a waste, like I just spent the past few years transcribing a phonebook while standing next to a photocopier. I don't know if that'll ever change. I can't even pretend I was doing something prestigious and artisan like watchmaking because I wasn't a good programmer beforehand.
- fartcoin67 4mo agoI'm the opposite, couldn't be bothered to work on code outside of work. Barely did at work because I was more focused on wrangling a small army of shitty contractors (thanks strategic partner initiative for firing all of our small shop contractors and replacing them with morons from "offshore"). Now with LLMs I find myself doing small projects that interest me or have some utility for me outside of work, and doing a lot more development in the codebases at work outside of just review/docs/arch than I was before. Also making small tools that I find pleasant/useful but were not important enough to spend time on before.
- foobar10000 4mo agoAgreed - there was always a set of things I wanted to do that I knew the magic core for, but wanted a team of implementers for the curft, the 100k of actual testing harnesses, hyperparameter exploration, etc.. . I now have that team of implementers. All the problems seem research-y though - optimal binary transport systems that are zero-copy and compatible with languages, fast physical simulation optimizers, etc etc... So, things that all had a _LOT_ of busywork around the magic core.
- gcanyon 4mo agoI'm a software developer from way back, using tools and languages that coding agents are far less familiar with. So when I use an agent to write code, it's in languages I'm less familiar with, and often using libraries I know nothing about. All to say, my part of the process often ends up being: 1. "Here's what I'm looking for, in detail" 2. "That's not right. Here's one way it's not right, and a specific example. Please fix that." 3. Sometimes I give suggestions for how what is going wrong might be happening, or conceptually how to work around the issue. 4. And iterate on 2-3 until the result is close enough. That's a loop I'd love to automate.
- handfuloflight 4mo agoHave you tried SKILL.MD files encoding your nuanced domain knowledge?
- timmytokyo 4mo agoSounds like a great way to avoid learning anything new about the languages you don't already know.
- topce 4mo agomy experimental looping build on top of pi and zx mostly pi deep seek and some skills ;-) https://github.com/topce/pizx https://github.com/topce/pizx
- piker 4mo agoWe used a “loop” before it was called that to drive MS-DOC support into Tritium. Based on that experience, I take issue with this: “There are already impressive examples of large automatic porting efforts, including the reported work around moving parts of Bun from Zig to Rust.” (Emphasis added.) It will be impressive if/when the Bun team is able to pick up and continue extending and supporting Bun. For us, MS-DOC remains read-only and probably perpetually buggy until we reimplement with a better understanding. Until then, it’s definitely not “impressive”. Functional? Maybe. Impressive, no.
- mccoyb 4mo agoLoops work when you spend the proper amount of time to understand what you want ahead of time. The prerequisite is clarity — enough clarity that you could write a careful specification that you could hand off to a junior colleague. Often, it takes 5-6 broken crappy versions of a thing until you understand that. There is no accelerating the 5-6 broken crappy versions - there’s no agent tech that’s going to help your meat brain avoid thinking time. So most of my time is iterating between these two phases: I don’t understand what I want, I need to read and write and play with code, okay it’s been long enough I think I know what I want (it is extremely easy to deceive yourself) … okay now I do actually know what I want and I can write a loop. Many people think they can jump ahead with agents. You cannot fake understanding or clarity. It is painfully obviously when someone skipped that meat brain understanding phase.
- athrowaway3z 4mo agoI had codex write a tool to extract all my pi sessions. (Had to filter out my prompts from the agents talking to subagents). Then I had it analyze the patterns i was making and turned that into the flowchart for the outer guidance-creating-prompt. I didn't have to spend too much time thinking what i wanted. I wanted it to do that. The result is still mixed, and i'm not trusting it with delicate code bases, but for a game i've been building i dropped my check-in time to 1/5th i was previously spending on it. Thats not a good thing per-se. I'm sure i'm missing good ideas by _not_ spending time with it. But previously I really had stagnated with my prompts becoming mechanical #now-do-this and #now-review-that with 90% of its suggestions being correct. Just need to (automatically) remind it to "do the hard stuff first, clean up & refactor as you go" as well as a "reflect on your work" after its first return to get it to spill the beans on any crap left behind, and then process that in the guidance-creating-prompt to dish out new work.
- cyanydeez 4mo agoI'm having it build the software to run a raspberry pi and using a local llm and opencode. the display code is fugly, and i regret nothing about how it'll look inside nor do I want to know all the stupid requirements. We improved it'd render speed by finding a github example using numpy. It uses jinja to render user generated templates for the ui. The only problem it runs into is the bizarre BGRA or RGB or whatever color mapping between screen and frame buffer; it absolutely has no idea what it does when it's right. It also thinks there's some magic around the bits per pixel. I do not really care, as this thing won't ever be extended beyond display some text and a few graphics. So why do I need it taking up space in my brain. A lot of little projects are a lot easier now, but corpos who think this will be a magic want to their largesse of badly maintained code are gonna have trouble.
- nfcampos 4mo agoMy own thoughts on this, with examples https://github.com/nfcampos/loop-dev/blob/main/README.md https://github.com/nfcampos/loop-dev/blob/main/README.md
- losvedir 4mo agoAre those your own thoughts? Or Claude's? I tried to read but had to stop a few paragraphs in because of Claude's annoying authorial voice.
- nfcampos 4mo agoNo, they really are my thoughts, I've been doing this stuff pretty much every day for the past 6 months
- jazzypants 4mo agoNo offense, but this sentiment is diluted by commits like this: https://github.com/nfcampos/loop-dev/commit/e28b1fce0078e6056ddf1aa926f8273dd6ca3d0b https://github.com/nfcampos/loop-dev/commit/e28b1fce0078e605... I assume that GP was just saying that they would prefer to read these thoughts written by a human author (preferably you). I agree.
- nfcampos 4mo agoThat commit happens to be a find replace because i usually write for my company’s blog (we)
- Calavar 4mo agoI would be more willing to believe you only used Claude for minor editing tasks if you disclosed your usage of Claude upfront.
- zipy124 4mo agoThis commit seems to mostly be grammar fixes? If someone used a spell/grammar checker it might produce a diff similar to this. Why does the fact it was Claude and not Microsoft Word or other matter in this case?
- codeDruid 4mo agoYeah I don't know. Don't get me wrong, the article points makes sense. But sometimes I think that we're going to stay near this current point of productivity for a little while. Currently my org of 8 people use around 1000 euro worth of tokens per month. We've recently had a discussion near the water-cooler, that if the cost climbs 5x-10x it may be just more worth it to get more developers (we're EU based). While the tools work and are definitely nice, even in our little org with our little budget, using Opus 4.8 we've noticed code quality going down. If I had to bet money, I'd bet that the models will get 30-50% more nice, around 2x more expensive and we will settle into some mode where we'll use llms for some tasks, manually doing others and calling places focusing on speed at any cost some funny name like "gulags, 996, sweatshops, etc" and collectively try to somewhat avoid those places, which will need to offer a premium to attract talent. Wishful thinking.
- erispoe 4mo agoHow do you control code quality?
- baw-bag 4mo agoThe way I answer this question is, I don't because my boss is saying to basically accept whatever LLMs spit out which is fine by me because I have explained the risks of doing this to our only product and it was shrugged off. I am both disgusted and excused and just take the salary.
- hakanderyal 4mo agoI think this is a common sentiment among heavy users of AI that also still cares about code quality. I've built up a skill harness and review flow that makes Opus generate slop-free code 90% of the time. But the remaining 10% requires me to stay at the helm. Especially in the early stages. I would love to use loops to automate more, but I couldn't do it with the current generation models. And on the back of my mind I'm still evaluating the possible future where we are forced to API pricing. I'm currently paying $400 for Opus, and use around 1.5-2 billion tokens per day. This will cost around $20k/m with API pricing. And I don't want to even imagine the possible scenario of getting locked out of frontier models because of politics. Will the models get better to cut me out of the loop completely? I believe so. Will the open source models catch up tho SOTA models, and diversify from China-only? I hope so. Otherwise 2 superpowers will wield a soft power that can cripple the tech industries of all other countries.
- yanis_t 4mo agoI keep thinking about at which point I should not force myself into the loop. As a developer I really like working on the code structure, making it clearer, thinking about good abstraction, breaking into modules, etc. I really take pleasure in it. At the same time I understand that at some point I am becoming the limiting factor. If the point of the software is benefit people, should I still care about how the code looks. Right now, I still think that the answer is yes, but in 3 years? in 10 years?
- cadamsdotcom 4mo agoYou will always be able to ask the agent to do refactors for you - and it can do mega ones that exhaust you to think about!
- datadrivenangel 4mo agoAgentic refactoring is very questionable if you want to maintain quality, as it will rewrite all your code to be more average.
- zahlman 4mo agoI've found that if you look over the code and notice and describe a specific problem and solution, the agent can apply a refactoring for you well enough; and that's often faster than editing the file yourself even if you already know exactly what to do. The idea of setting up an agentic loop to review code and propose and implement refactorings still seems pretty awful to me, though, yeah. Maybe cut that off at the first green-bar revision, and then apply some actual taste and judgement.
- yanis_t 4mo agoTwo problems: I will not get my pleasure, and I will still not know how the code works.
- goatlover 4mo agoOr you can do it yourself. Use AI as a prototyping tool or for boring throw away tasks. There's no reason everyone has to succumb to vibe coding.
- m0llusk 4mo agoOne of the biggest problems with LLMs has turned out to be the cost of actually running them and this strategy functions as a usage multiplier.
- CraigJPerry 4mo ago> My current status is that I have not had much success with this way of working for code I deeply care about If something is judgement heavy, "code i care deeply about", then i don't really agree with the direction of travel here. Don't try to delegate decisions you care deeply about. I do like the framing of agent loop vs harness loop, but only delegate stuff that you can accurately specify in advance, that usually means stuff that's repeatable in my case ("hey go see how i did X, do that but for Y"), and that inherently means stuff that's predictable. For stuff where lack of my judgement as input is just going to cause me to say "no", we're down to collaborating in the "agent loop" as Armin puts it. And that's totally fine. It's fast, but also safe. Remember before AI coding assistants, sometimes you'd get an engineer join your team who was SUPER productive, your peers would be jealous "oh yeah but you guys only got all that done because you have X on your team!" - they didn't live the curse of having that kind of person around - if you don't have them PERFECTLY aligned, then they run off at break neck speed in the wrong direction.
- zahlman 4mo ago> Don't try to delegate decisions you care deeply about. > they didn't live the curse of having that kind of person around - if you don't have them PERFECTLY aligned, then they run off at break neck speed in the wrong direction. Exactly. If you wouldn't outsource it to people you considered highly skilled, why would you outsource it to a machine?
- otto-riz 4mo ago> Don't try to delegate decisions you care deeply about. YES. Or find a deterministic way to insert them :D
- sohilladhani 4mo ago[flagged]
- joenot443 4mo agoWe've had great success with agents thus far at my job. A year into Clauding and all our dev metrics are up while our downtime has remained steady. Being an iOS engineer, much of my engineering cycle these days is going from Figma/PRD → spec → code. After being handed off to QA, we handle the bugs and product slips as they come through, while we simultaneously build/spec the upcoming addition. This is basically the same agile style that's been popular for 20y, just super-powered with agents. How might someone accomplish the same goals using loops instead?
- camillomiller 4mo agoWould you have a breakdown of costs/benefit? Can you say with certainty that this workflow has increased productivity so much that you are seeing profit increases that you wouldn't have otherwise noticed just by hiring more people? Asking with no ill intention, I just crave for actual business cases that make sense, and yet no-one seems to be able to reliably produce that.
- ianm218 4mo ago> Can you say with certainty that this workflow has increased productivity so much that you are seeing profit increases that you wouldn't have otherwise noticed just by hiring more people? Has the bar raised so much that coding agents need to be even better than any human could do? If the coding agent lets you get done with 1 person what would've required a team of three and you are not going crazy "token maxxing" spending thousands of dollars a week that would be beneficial for a business.
- camillomiller 4mo agoFirst of all, I don't accept a discussion where humans are placed on the same level as bots or agents. Even if the cost is the same, humans MUST be the choice. They have emotions, families, sons and daughters, they are a what makes society a society. And yet we've been already instructed and hypnotized by the Altmans and Musks and Bezos to only see it through the lens of profit and revenue. That said, is what you're suggesting even happening? Because certainly that is not what we're hearing from companies that fucked up their budgets with AI tools. Also, trillion dollars valuations are really justified by random solo-devs creating automatic companies of one that could be companies of four? Because what I hear from the AI-accelerationist is "this technology creates productivity gains for each and every company by enabling automation at scale that would make replacing human profitable". Where is THAT?
- sandrello 4mo agoThis is a very fatalistic take. While I understand where it's coming from, I try not to share the same mindset: engineers getting increasingly distant from how things are getting built is not something that will "undoubtedly happen, whether we like it or not". Also: > Now there is obviously a question if this desire to understand the code is one that I will still have a few years from now. I do not think we should be having doubts like this. Either you consider understanding the code you ship and allowing your future self to be able to work on the system you're building to be a value, or you don't. I, for one, do, and I do not think using LLMs and coding agents will affect my point of view on that.
- mattchew 4mo agoThis is the best essay on agentic coding I've read. Clear thinking and writing, pragmatic about the future of agent-led coding. If you usually skip straight to the comments, you might want to actually read this one.
- duendefm 4mo agoI honestly wonder if this kind of stuff really brings something to the table. Like I use opus for sometime and certainly I can put it to good use and optimize some parts of my day to day job (programmer). But it fails so hard in such simple tasks that it seems to me that putting it in loop can't just magically make everything better, unassisted. Does anyone actually uses agents and loops to create new software, new technology? Has anyone created with those systems, software they couldn't produce otherwise technologically wise? Or is it at best just an accelerator, cutting off on the building time?
- galoisscobi 4mo agoAs much as I like Claude Code, Boris has done a lot of harm by encouraging software engineering practices that lead to slopware. We have two camps of people at work, the first camp are the agent goes brrr. They don't understand the code they write. They have loops running, agent orchestrators or agent hype du jour. The second camp is people who are inundated with PRs, are holding the line on quality, and just exhausted. We've also had some management pressures where they think people are wasting time looking at code. Perhaps because some podcast they might be listening to, somebody says coding is largely solved. > I don’t prompt Claude anymore. I have loops running that prompt Claude and figuring out what to do. My job is to write loops. This is going to be a net negative on software quality for people who take this up, in my opinion. I call out Boris but I also don't think he's being malicious. He's at the center of an important technological revolution and it would be hard not to get excited. I just wished he advocated for a more balanced and a realistic perspective.
- NamlchakKhandro 4mo agoLike Mario tried to do... But no one listened
- skepticATX 4mo agoYes, I am exhausted. Most of my company is obsessed with agents, because everyone wants to be seen as AI first. There is little thought going into usage. No care for long term maintainability and quality. Our product is actively worse by many metrics, but no one cares because we marketing can say “agents”. The sad part is that this technology is incredible. It’s us choosing to turn it into a slop cannon (and the labs sure seem to encourage this). I want to leave the industry as soon as I can.
- Imustaskforhelp 4mo agoThis too shall pass. The journey was as important as the destination if not more because it gave confidence in oneself, it made us grow. I mean to suggest, coding for the sake of coding "I wish to code for myself, nothing else": (I had written this somewhere else on HN): https://news.ycombinator.com/item?id=48609962 https://news.ycombinator.com/item?id=48609962 If I may ask you and others, I assume that you are at a relatively decent position within your company and have somewhat say in it. Why aren't employees more honest about AI and concerns regarding it? I'd imagine that people must chalk it up as saying that there is push from investor side into using AI and management is forcing it but couldn't more effort be also redirected towards the fact that agents are still finnicky sometimes and that the sustainability of projects moving forward is going to be a major issue to investors given that they want sustainable growth. It is my opinion that there's more hidden power in engineers that even we fail to realize and instead some of us like you are wanting to leave the industry, what a sad tail of tragic events, when the tech behind AI is good and could be helpful but oh holy, we are butchering it up so badly in some/so many regards perhaps even under the influence of AI companies and their messaging surrounding it.
- intended 4mo agoI'm willing to be persuaded otherwise: Looping seems to (currently) be a side effect of token subsidies. If token costs are nil, then you can afford to run verification and generation through the same models. If token costs are high, then you will go broke verifying code sprawl. Currently costs are (mostly) absent from the conversation, even though costs are what decide the limits which shape experience. Also: Firms can be held liable for the products they sell, so if code cannot be reviewed then that code is essentially a law suit waiting to happen. I believe this is what customers will be demanding in the future: someone to hold accountable when things go wrong.
- jwpapi 4mo agoThe issue is that whilst the loops will initially lead to good results they will be less and less as context gets bigger and bigger and tougher to understand for human and AI. So it depends really on the size of your project.
- rcarmo 4mo agoThere's _way_ more than one way to do "loops". I just asked one of my superviors/auditors to document how it's been working while monitoring a few other agents that have long-term goals: https://gist.github.com/rcarmo/4922b550ab48bf0b4246c77e606a5508 https://gist.github.com/rcarmo/4922b550ab48bf0b4246c77e606a5...
- rcarmo 4mo agoI'm glad HN prefers downvoting actual work/demos to discussing them.
- mmillin 4mo ago>Yet even with a lot of manual steering, that type of code does not come out of LLMs naturally, and even if the code comes out naturally like that, they will still attempt to handle now impossible errors. This is something I’ve struggled to fight against in many PR reviews. Especially once already written, convincing someone that their excessive null checking is harmful is an uphill battle. Short of better modeling (and languages that allow for sum types to enable it), I haven’t been able to come up with a universally convincing argument against this kind of “shotgun parsing.” Maybe it really just isn’t that big of a deal? But when actually reading through and refactoring a codebase I’ve always found it frustrating to manage these unnecessary checks. Sometimes they’re nearly impossible to delete safely once present without first adding some kind of logging or broad investigation.
- datadrivenangel 4mo agoAnd AI code reviews encourage overly delusional defensive paranoia. triple null checking deep inside a function is technically a real risk, but in practice should never be hit because you've checked for nulls in every function that calls or could call the function in question and is thus not necessarily worth guarding against.
- zelphirkalt 4mo agoAre LLMs too dumb to understand the type system? Or is the type system too bad, to represent non-nullable? Even in Python with its meh-ish optional typing system something that can be None is different from something that cannot be None.
- handoflixue 4mo agoHow impossible are we talking? I tend to be a fairly defensive programmer - maybe nothing currently sends this function a negative value, but how hard is it for a future code change to alter that assumption? I always figured a clear error was best. It lets even someone unfamiliar with the code know what assumptions are being made about the valid range of inputs, so they don't have to consider impossible outliers.
- boscillator 4mo ago> the right fix is not "handle every malformed case." ... [LLMs] will still attempt to handle now impossible errors. This is the number one code smell from LLMs and I don't know why they are so obsessed with it. In python, it often comes as `hasattr` checks on types that are defined to have that attribute, in a code base that is fully type-checked. Why do they do that? Is it from pre-training or re-enforcement? If that latter, can the labs please fix this?
- rzmmm 4mo agoLikely just that they err on the unnecessary error handling than missing error handling. They likely penalize runtime errors harshly in the training
- skywhopper 4mo agoIt’s because it matches the patterns they are trained to follow. They don’t understand the code. They can’t reason about the actual logic flow. They can only work with patterns.
- jerf 4mo agoI suspect it's mostly the training data. I am also on team "make illegal states unrepresentable". It may get talked about a lot on HN, but I'm still at the point that I'm surprised when I see a code base that I didn't write in the wild that does a really good job of it, either open source or at work. Most programmers still think in terms of picking up pieces and fixing errors at the point where the error message pops out rather than making it so the error can't happen and the data reflects that. I say "mostly" because I think there's also a problem with AIs thinking this way in their current state. That last level of human understanding of a code base, where the human holistically understands the flow of those guarantees, is a challenge to give them right now. On the raw code level, this sort of thing often involves enough code to easily blow out their context window. Trying to summarize it in memories-style files has its own problems; just because there is text written down about the guarantees doesn't mean that the AI is going to get the right info out of it, any more than a human might from just reading the code. I won't say it's "impossible" to give an AI this understanding because I'm not sure it is, but it is a level of understanding of the code that even if you get them to have it, their practices tend to fight against it. My own solution to this problem has largely been to give up on them getting this. I prompt a solution to the problem the way that most people do, then if I want to make bad illegal states unrepresentable I prompt the AI through the process of the necessary refactorings, unless it's so small that I just do it myself. Given a lot of code that uses maps/dicts and arrays and strings and ints, if you prompt it through making those more thoroughly typed, it's actually pretty good at it. I've not had a lot of luck getting good designs out of single prompts, even when I get detailed. Treating it as two separate tasks seems to work out well. And watch the diffs on the types carefully; AI loves to sneak past a ".JustSetItAndIgnoreAllThePreAndPostConditions(string)" method. After all, I suspect there's plenty of training data of "types that are nicely structured to make error states unrepresentable and then a later maintainer came along and added a 'JustEffingDoIt' method that broke everything" in the field. One of the best defenses is to make sure that the type implementing these things is in its own file and you can easily look at all the methods it adds on those types and smack it when it does that. I've tried slathering warnings about not doing this and explaining the pre- and post-conditions being maintained in the docs but the change seems marginal.
- aabdi 4mo agoThe post suggests fear about a surge of increasing amounts of code by loops and loops of agents. I don’t know if I like the current world without it though. 80% of different teams code the code is poorly tested. The code doesn’t handle data consistency or asynchronous code properly because the engineers don’t know better (and frankly don’t care enough). Dependency handling is poorly managed leading to low quality operations with improper dashboards, alarms, and ops. Badly managed processes leads to people doing monkey work signing off checklists rather than automation. Frankly… why is keeping any of that good? It really pisses me off seeing people accept any of that low quality but that standard is the default and not the outlier.
- wiseowise 4mo agoA friendly reminder to just do 9 to 5 and touch lots of grass. None of this shit represents industry trends, majority of people still use chat interfaces and copy blocks of code. There’s zero early adopter advantage here, only FOMO and lots of anxiety.
- jsw97 4mo agoIn my own ham-fisted experiments with coding loops, one pathology I have noticed is that the LOC just spirals out of control. That's likely because of the layers of defensive fixes, etc., that get built. That inevitably causes context bloat (or at least navigational friction) and results in quality decline. I wonder how many loop-related issues could be addressed by simply fixing a LOC budget, or assigning a cost in some way. Unclear how you would dial in the right numbers, though.
- trjordan 4mo agoI think there's 2 important, but separate, ideas in this post: - Models are not good at or getting better at creating strong invariants, which his fundamental to good software - It is unclear how to keep tabs on what the agent is doing, so you, a human, can intervene. These are related, obviously: one of the highest-leverage things you can do is force you agent to use a strong, minimal set of types or data invariants or other constraints. They get much better when your codebase broadly supports this! I do suspect they're separable, though. If you had the right levers and visibility, you should be able to get the model to produce code that doesn't feel like slop. But every time I've had a model try to keep me in the loop, it inundates me with irrelevant decisions and busywork. Its inability to see what's structurally important still shows up, just differently. [If the models get better at defining and respecting invariants, maybe there's a new flavor of slop, that's less obvious today.]
- knivets 4mo agoThese new AI trends are very tiresome, very similar to 2021 crypto mania - both trigger a lot of FOMO. If we have loops that write code and we don't need to verify anything, why are the devs still here? What's point of even learning this new trick as a dev if you truly believe that this can be used without any intervention? If loops work then it follows that a loop of loop works too - why hire any people at all? Just run a bunch of loops and build a profitable business, but then what's your moat? Any person can now launch loops on top of loops.
- deleted 4mo ago[deleted]
- noodletheworld 4mo agoTheres a deep insight in this post about the value of looping for throw away code to explore a problem space, rather than brute force a problem by just applying more tokens and hoping. The more I play in this space, the more I’m drawn to the idea that some kind of back tracking constraint solver is a better solution than then the current naive while loop / brute force approach here. The results I see are similar to what you get from a greedy brute force constraint solver; solves trivial problems, sometimes solves harder problems after a long time, takes too long to solve really hard problems; solutions are increasingly non optimal on average as complexity goes up. We have so much existing knowledge about building good constraint solvers, if we could just figure out how to apply it here somehow.
- 2001zhaozhao 4mo ago> back tracking constraint solver We'd need a LLM back tracking constraint solver and I think the bottleneck will be good grading rules on whether a direction is actually architecturally clean or extensible. I'm not sure how one would approach that problem
- contagiousflow 4mo ago> You Cannot Quite Opt Out I am so over this. I cannot take anyone seriously that claims inevitability of their ideas, and how you must adopt them without "being left behind". If these tools are so good and so capable the result should be able to speak for themselves rather than this FOMO inducing, emotional language.
- Lambdanaut 4mo agoIn my experience, some language like this is the result of witnessing it speak for itself.
- dvogel 4mo agoI couldn't agree more. Thus far I'm still objectively more productive than all of the AI enthusiasts I've worked with. I think a lot of the activity with these tools is coming from people who just enjoy using them more than they enjoyed coding. They feel more productive not because they are producing more but because they are producing somewhat less with much effort. It takes them roughly the same amount of time even if it changes the distribution of time spent on each task. > and in recent weeks it has started to dominate the Twitter discourse. As a general rule, I don't waste my time with the advice of people who still think Twitter is a source of wisdom.
- unknownfuture 4mo agoYou're being uncharitable. I don't read it as intentionally FOMO inducing. I read it as the exhausted sigh of resignation from someone who sees where the wind is blowing whether they like it or not. I see it as someone watching tech management and execs listening rapt as Boris pours the poison of AI maximalism in their ears. I read it as someone who sees developers around them either drinking from that same poisoned well or bowing under the pressure from those leaders to adopt AI or lose their livelihoods. It is true that the author is incorrect: you can certainly opt out, but you won't be opting out of AI, you'll be opting out of the industry.
- contagiousflow 4mo ago"the industry" is not some monolith, and treating it as such is no productive. There are all types of software and many ways in which it is created. If the companies that are "AI enabled" are so much better we should see some big changes soon. But I'm still waiting for products I use from "AI enabled" companies to start churning out features at unprecedented speed.
- abathologist 4mo agoGenerally interesting reflections here, yet I see the same kind of myopia and fatalism that is rampant in our (fashion) industry: > yet I have no doubts that this looping future is going to be our future despite the fact that I presently resent it Why would anyone concluded this? LLMs are just one kind of application of MLs to software production. There is a vast solution space for automating parts of software production. The idea that slop loops are the inevitable future because they happen to be accelerating output at the moment just seems profoundly short-sighted and lacking in vision.
- CuriouslyC 4mo agoPart of the problem is that models don't have a strong sense of taste, part of the problem is that the context in which projects exist is incompletely represented in the LLM context, and part of the problem is that LLMs tend to be myopic. The lack of taste can be mitigated to some degree by improved training, though taste is not a stationary distribution in humans (see trends/fads/etc), we can at least better track the cutting edge. I think this area still has low hanging fruit but frontier labs are more concerned with being able to solve problems than the style of the solution right now (for evidence of this just look at the Opus 4.5 -> 4.8 arc). The problem of incomplete context is partly a human problem and partly a harness/interconnectivity problem. LLM Myopia is a harder problem to solve just by virtue training models on question/answer pairs. Countering this requires emphasizing RL on solution paths rather than just prompt/response, which is doable but harder.
- zahlman 4mo ago> The lack of taste can be mitigated to some degree by improved training, though taste is not a stationary distribution in humans (see trends/fads/etc), we can at least better track the cutting edge. The point of "taste" is not to copy from others, even if you can somehow filter out the trends and fads. And really, that filtering comes from personal experience anyway.
- relaxing 4mo ago> Present-day models tend to produce code that is too defensive, too complex, too local in its reasoning. They avoid strong invariants. They add fallbacks instead of making bad states impossible. They duplicate code, invent bad abstractions, and paper over unclear design with more machinery. Worse though: I so far see very little progress of this improving. It’s almost as though these models were trained on a vast corpus of largely mediocre code. They will never outperform the median Github user - it is all they know, it is all they can do.
- artisin 4mo agoThis. > Present-day models tend to produce code that is too defensive, too complex, too local in its reasoning. They avoid strong invariants. They add fallbacks instead of making bad states impossible. They duplicate code, invent bad abstractions, and paper over unclear design with more machinery. Worse though: I so far see very little progress of this improving. Context-smithing can help to a degree and cyclomatic-like complexity rules tend to make matters worse. So, you either roll up your sleeves or close your eyes and hope for the best. I've had limited success with the latter.
- handoflixue 4mo agoI was really surprised by this part! I've run into the issue a lot; I know it happens. I handled it manually for a while by just having a fresh instance inspect the code - "review this for DRY violations" and "how would you re-write this into a global architecture instead of a bunch of local code". Eventually the list ended up long enough that I've got an agent that handles it. You've just got to treat "write code that works" and "write elegant code" as two separate tasks - either a fresh instance or an Agent will work
- draginol 4mo agoThis is really terrible advice right now for most people. I've had to rip out a lot of pretty terrible code made by engineers who have tried this. I don't disagree that eventually, "loops" when combined with unlimited tokens and amazing models in the hands of people who know how to set them up right will be amazing. But for the typical Claude Code user, it's disaster. The problem is not that loops write bad code once. Humans do that too. The problem is that loops apply local pressure repeatedly: add a fallback, add a guard, special-case the failing input, quiet the exception, satisfy the test. Over time that selects for code that is more survivable in the short term but less intelligible in the long term.
- Multicomp 4mo agoCode is part of a shared and built understanding of an information system. If these loopers mean we all have to move at this continuous wave of software happening, then we get to the highest levels of logical information system design and its all human judgement and balancing of business requirements to fit a given niche in a company or market. So all the programmers have to become business analysts/market researchers/businessmen...except the specific niches where AI tooling can't really clank well...or the end of the subsidized AI token era makes all this looping too expensive to continue. This feels like expert systems and symbolics lisps machines redux, where we briefly ran into the fact that its not so much the code itself not being able to do stuff, it's that your company's org always gets shipped, so if you can't change your company org, your software only has so much flexibility. Dataflow diagrams and domain knowledge / domain modeling / ubiquitous languages may become the metalanguage that we start to use and set the standards for quality, functional, and non-functional standards and conventions. We make the "looper clankers" ensure that they fulfill that data / behavior / performance contracts before saying what "done" is, because "done" is no longer just code that compiles, code that builds, code that deploys, or even code that sits in production; it's code that fulfills all of the user requirements, operator requirements, and maintainer requirements. So, the language used may be required to make us all turn into business analysts and software architects more than syntax knowers. The revenge of UML and the return of declarative / logical design / BDD triumphing? (Typo scan by gemma4-12b but I didn't let it alter my message)
- wolttam 4mo agoI am 100% for fully agentic loops... for tasks other than engineering. I'm not willing to outsource the understanding how things work part of myself. That part of myself is what got me into computing in the first place. If this work becomes simply a matter of describing intent to a machine (probably through an Issue, like a user), and going to check on the result when you get the 'done' notification: I'm done. It's possible to use the tools to do awesome things without letting go of full system understanding of the parts that you look after.
- charly187 4mo ago> If this work becomes simply a matter of describing intent to a machine What is it that you think you are doing when you are writing code if it isn't describing intent to a machine? Whether you are doing it imperatively vs declaratively isn't a new thing.
- deleted 4mo ago[deleted]
- ilaksh 4mo agoGreat article and good description of LLM code quality problems and problems that derive from that. And fair to not want a tidal wave of slop to displace your entire craft. But this article is strangely lacking in foresight in terms of rapidly evolving model capabilities and output. One visual way to see this is to compare levels of SOTA video generation models. Look at outputs from Sora, to Veo, to Seedance 2.0, and now just released Seedance 2.5. Or compare LLMs/VLMs as they have progressed: GPT-2, GPT-3, GPT-4, Opus, Fable/Mythos. You can see the level of sloppiness or poor world understanding progress from comical nonsense to junior to senior with a few holes in their brain to an engineer you can actually almost trust to produce clean code if you mention the right guidelines in your instructions (such as avoiding overly local code). As the model size/complexity increases, the intelligence increases, and so does code quality. We will also start specifically putting more high level code quality tasks into training datasets and training harnesses. I mean, Karpathy will probably see this article and make a huge dent in the issues without even larger models. One thing people may not be aware of is that there is still a lot of room for hardware efficiency improvements and model size to grow. The compute-in-memory paradigm is just getting started in a way. Look at companies like Tensordyne and Mythic AI, but they are going to get blown out of the water by fully in-memory approaches. For example look at the recent wurtzite ferroelectric nitrides breakthrough from the University of Michigan team (one of them tragically jumped from height after intense interrogation regarding national security concerns). The military is providing significant funding to move this towards development and scaling out of the lab. That type or level of truly new paradigm system is going to boost efficiency by multiple orders of magnitude. I know there are people who think Fable 5 was the end of the public LLM/VLM frontier moving, or that it is impossible to scale models further due to energy consumption. But there is zero chance that every high level VLM/LLM research team on the planet is going to stop publishing models or that the rapid progress in compute efficiency will stop. Point being, within a year or two, the code coming out will be much cleaner. And within five or six years what you may see is that the leading models are 100+ trillion parameters and have sophisticated persistent context management etc. and they do not even produce application source code. Instead, the database is in the context and is neurally rendered at 24 fps into whatever UI, schema and business logic you prompt it with in a broad way. The whole application is just precise thinking in an artificial brain ten times the complexity of an equivalent human brain. And if you are disturbed by the current level of outsourcing for thinking to AI, it is just getting started. In a way it will be incredible, from another perspective horrific, but what I think we are seeing is the evolution of an ExoCortex. There will be an AI glasses stage where the integration is closer but still somewhat low bandwidth. But sooner than later we are headed towards high bandwidth brain computer interfaces that make AI into an actual new cognitive layer. So the waves of slop might make you feel sick, but that is nothing compared to the transhuman cyborgs powered by superhuman AI that are around the corner.
- mikgp 4mo agoWas everyone collectively lying over the past fifty years of software development when they repeatedly said more != better? For specific use cases, performance and security and all sorts of tuning it could be truly amazing. But maybe loops should be like a tool we make a choice to use when optimal. I just wonder if in the future we’ll come to realize that we don’t have to throw the baby out with the bath water. That you can take a beat to understand your code and do change management, and choose the right tool for the job, and curate and say no and have agency. An observation might be - no one writes code like Google “you’re not google” is something that gets thrown around in software shops all the time. Why is it we all think we’re going to be writing code like Anthropic?
- deleted 4mo ago[deleted]
- sunir 4mo agoDear Abby, I am torn. I have fallen in love with vibe coding but I still am in love with the software I’ve used for decades that works reliably. Vibe coding gives me what I need and want right now. Its fast. Fun. Always makes me feel validated. My older software never changes. It’s constantly telling me no. When it gets mad, it throws errors at me sometimes! But I can’t leave it. It runs my life and I know it will take care of me for years to come. And the vibe code it’s so flaky… and expensive. It sucks up endless amount of my time, compute, and money and never gives anything back. But it’s so fun. I tell all my friends about it and they’ve become so jealous they sought out their own vibe coder. We’ve all found our vibe coders are a bit kinky. It’s become a social thing amongst my friends to talk about building cooler harnesses to control our vibe coders. I don’t know what to do. My old software pays the bills but she keeps threatening to dump my ass on the curb and replace me with her own vibe coder. I know she can’t really do it. She needs me too. And I need her. Can we ever patch up our diffs? — just some git with uncommitted changes
- simonreiff 4mo agoAI infrastructure/tools developer and researcher here (hic-ai.com). I fully agree with Armin's concerns. I wrote an article recently (https://hic-ai.com/blog/tool-response-engineering https://hic-ai.com/blog/tool-response-engineering) in which I argued that AI tool-engineering is the new frontier beyond prompts, and it talks about the agent loop and engineering loops, but boy I have a completely different perspective than Boris's. Rather than contending that prompts are no longer relevant because we can simply have AI think for us by having loops "prompt Claude and figuring out what to do", like what Boris claimed, I believe we have to think much harder now. Why problems require human judgment and can't just be offloaded to an AI agent is simply this: AI agents lack durable, long-lasting, unique identities forged by real-world memories and experience, and they therefore lack judgment. There is no well-defined notion of having AI agents communicate to each other because they can't even tell the difference between talking to their future self or talking to another agent! They certainly don't reliably weigh whether a proposed fix to a failing unit test will subtly introduce new fallback logic that was never requested or otherwise alter the functionality of the system under test in some manner, or whether now is the time to refactor or now is the time not to refactor or whether to abstract more or less or anything like that. Most importantly, from a practical perspective: AI agents lack legal person status, and they therefore cannot own property or money, sue or be sued, be hired or fired, or otherwise be held financially responsible for their errors or other harmful acts they commit. Clearly, AI agents cannot even arguably qualify for legal personhood status in the future, unless and until they first are capable of assuming a unique and durable long-term identity, which in turn requires solving auth, memory, communications, and many other technical issues that are neither resolved nor standardized today. These facts combine to ensure that AI agents cannot be held liable and financially responsible when things go wrong, meaning that humans alone bear the costs of AI errors until further notice, and thus, human judgment remains the vital commodity that AI cannot replace. So many problems arise from abdicating judgment to AI agent in 2026! Now, if all the above items were in existence, built, well-settled, etc., maybe I'd have to rethink things. But unless and until AI agents have unique identities and attain legal person status with bank accounts that can be sued and garnished in case of error, I don't think AI agents can seriously be trusted. Good human judgment and approval of all important decisions will remain the most important resource for any successful enterprise, for the foreseeable future. I think it's a very serious mistake to assume that human judgment can be swapped out safely by AI and certainly advise against taking Boris literally. Anyway, great article.
- agumonkey 4mo agoI can't help but be tired of the LLM trendy, where people bang at loops until they hope the model sculpts something. It feels so empty mentally to just have results without constructing it. That said the idea of loop has always been there (iteration, V cycle etc) but I'd be glad to find people with more theory and less agents swinging blindly so to speak.
- furyofantares 4mo agoI have had some success with /goal for long tasks that can be set up in a way that the agent can do good work for an extended period of time. A lot of tasks aren't amenable to that, and the ones that are still need a lot of care to be set up correctly. The default vibe coded codebase won't be. I've come to think of the activity of choosing the right technology, the right architecture, the right testing setup, the right context, and the right /goals to use as programming the agent.
- kakugawa 4mo agoHow much does /goal actually help? In auto mode, I've tried using and not using /goal and I haven't felt a difference. https://code.claude.com/docs/en/goal#how-evaluation-works https://code.claude.com/docs/en/goal#how-evaluation-works > /goal is a wrapper around a session-scoped prompt-based Stop hook. Each time Claude finishes a turn, the condition and the conversation so far are sent to your configured small fast model, which defaults to Haiku. The model returns a yes-or-no decision and a short reason. A “no” tells Claude to keep working and includes the reason as guidance for the next turn. A “yes” clears the goal and records an achieved entry in the transcript. > The evaluator runs on whichever provider your session is configured for. It does not call tools, so it can only judge what Claude has already surfaced in the conversation. Apparently, it uses Haiku (by default) to evaluate every turn to determine if the goal has been achieved. However, it only relies on the transcript itself (including the reasoning of the main model). It can't independently verify if the goal has been achieved. So, if the main model thinks the goal is or isn't done, how often does Haiku disagree (in a productive way)? That's not clear to me.
- furyofantares 4mo agoI've mainly used the feature in codex, where I've been able to get it to work for 5 straight days (with breaks when rate limits are hit -- which was surprisingly only thrice) on a massive port. I don't know how well it works in claude code, but I wouldn't be worried about Haiku getting it wrong and don't see a problem with it relying on the transcript. I always set these things up to maintain a checklist of subtasks to do in a file and check them off, and to always implement with red/green testing methodology, where it writes and commits failing tests, then writes the feature/fixes the bug and commits with passing tests and with an updated checklist file. So the model should always know from the transcript whether the current task is done by whether it shows the tests passing, and it should always know if there's more tasks left from the checklist file being updated before the commit.
- nurettin 4mo agoI just tell it "you have until morning to work on this, be careful not to use too much ram and don't burn the cpu" and then it goes off to do its thing and hopefully rngesus is with us.
- wseqyrku 4mo agoFor some reason pro-ai blog posts feel like paid ads, I might be wrong.
- shikshake 4mo agoTo me there’s usually an undercurrent of manic zeal that makes them feel that way.
- tfrancisl 4mo agoI can't blame you when the first few sentences almost always evoke one of the "creators of XYZ" (I don't know how you can say a model or model harness has a singular creator when the model was trained on everyone's data and the harness was built by a whole team?) and treats their word or experience as gospel. Who cares what Cherny thinks? He is selling his product, and he will probably cash out soon enough while his credibility is as high as it is.
- rolisz 4mo agoArmin is very nuanced and balanced. He spells out clearly in the blog post that bad parts of AI
- wseqyrku 4mo agoI'm saying if you are a writer and this is what you write about, you better get paid.
- weego 4mo agoWhat does any of that mean in practice? it's just rambling about abstract concepts that seem to be designed to hint at a bigger picture, when it's just getting AI to write code for you. Is this where it's going? Having to mystify our roles so it seems like we're still the thought leaders when actually we're just becoming pseudo-teachers that try and herd our group of AI idiots to the right conclusion for us so we don't have to, without ever giving away that it's just all techno-babble?
- SimianSci 4mo agoWhen someone is expected to be wizened and does not have the knowledge to keep up with the needs of those around them, they in turn become Shamanistic in their practice. The speed of improvement on these models has been incredible and has outpaced the learning speed of humans and put many experts into these Shamanistic roles. I think the operative means of addressing this is to recognize that we can only learn so quickly, but we are still called to improve our knowledge and understanding to a higher level. Since the improvement of these models is neither logorithmic, nor exponential, we currently occupy a space in time in which the models are currently smarter on average than we are as a collective whole.
- watutalkinbout 4mo agoAlgorithms and data that emulate responses aren't smart. A 5 year old knows if you want to wash your car, you need to take it to the car wash.
- coldtea 4mo agoCan a 5 year old write a substantial program on spec, that passes the requirements and given tests, in a few minutes? If not, then perhaps this comparison is not the be all end all. "A ship is useless, it can't drive over land..."
- dominotw 4mo ago5 year olds and ai both have jagged intelligence. also its AI not "artificial code generation intelligence" . Ship is your view of the product to shoehorn into something specific.
- dataviz1000 4mo agoI’m having awesome success working with recursive agents. I discussed my experience with them. [0] > Claude's attention doesn't distinguish between "instructions I'm writing" and "instructions I'm following" -- they're both just tokens in context. It takes a little human help in the first iterations but after a while it will start to iterate and improve unsupervised. [0] https://github.com/adam-s/agent-tuning https://github.com/adam-s/agent-tuning
- johnwheeler 4mo agoWhat is a loop in simple terms?
- wartywhoa23 4mo agoThe Loop. The Singularity. The Nobody who runs The Show. The Acceleration toward inevitable Transcendence. Revere, repent and obey! Compute is Destiny.
- zahlman 4mo agoPretty much the same with LLMs as in other contexts. You set up a system where LLM output is used as input (a new prompt) as well. Or you have an external system that repeatedly prompts an LLM to "continue" with what it was doing before, perhaps examining some test results to massage the context window first, etc.
- wartywhoa23 4mo ago[flagged]
- sixhobbits 4mo agoI have huge respect for Armin but all of the concerns about agents producing more code with less competent supervision from senior engineers doesn't seem that different from the status quo to me. A vast majority of all software I've ever professionally worked with has been terribly structured, hard to work with, full of bugs, etc, produced by mediocre to bad engineers and run by semi technical product owners or managers who basically promot the software into existence by making jira tickets on 2 week cycles to hold it together. Yes it's awful, but it kind of works and has worked for a very long time. Agents are already improving a lot of open source software. Yes they're producing a lot of slop too, but having beautiful code, understanding how the system works and being able to delegate to a competent engineer you trust is reserved for the very few right now and I think we have all the systems and experience in place to deal with "bad" but working software so personally I am not concerned
- TehShrike 4mo agoYes, a lot of software shops have produced equivalent slop, but I've worked on teams that aimed higher, and they were much more productive over the long haul – not just in fewer bugs, but also in straight up ability to add more features as the software got complicated.
- inline_always 4mo agoThe bottleneck has always been the 'verification' and 'trust', that's why we have senior engineers, same way you need a head architect sign-off on a blueprint, because when things go bad you need a human agent to be the responsible party. Even if we manage to teach a herd of dumb AIs to produce massive amount of code, who's going to trust that output with their life?
- wahnfrieden 4mo agoThat's the entire topic - loops are not just infinite output, they require automated verification and progress evaluation steps. The game is to find ways to automate that. Not fully but yes to reduce what's required from humans. Seems like you're questioning the entire premise rather than pondering how far it can be taken and how.
- stuartaxelowen 4mo agoThis blog post pints to the fact that you need information across scales to make really insightful products and software. You need to understand fundamental mechanisms, strengths, and risks of your software to know where to make bets next. You need to know about the “how” of your optimization system to know which customer asks to deny. Using layers like the loops described here to abdicate your work is you decoupling from the joint market/engineering value you originally provided.
- lifeisstillgood 4mo ago>>> For now I have not moved past the point of comprehension being important to me. I see software as new form of literacy, even in the AI world, so yeah in my world view, comprehension will be something we always cling to. I might comprehend some code the way I comprehend the newspaper article on the second page, others I comprehend like a Dylan Thomas poem. My attention might be different but I still need to understand it.
- tmshapland 4mo agoThank you for writing this thoughtful post, Armin. I find it deeply comforting that the developer of Pi, an agent harness, does not remove himself from the loop, like me. Maybe if I started thinking of codebases as biological organisms I could get comfortable with getting the human out of the loop.
- galaxyLogic 4mo agoI think what is going to happen is revival of "Methodology". "Methodology" was a big thing in the past just before we got into "Agile Extreme Coding", instead of trying to model the big picture of SW development projects just jump into coding agilly. Implement it feature-by-feature Granted the methdologies proposed ( See: https://www.ibm.com/docs/en/rational-soft-arch/9.7.0?topic=migration-rational-rose-model https://www.ibm.com/docs/en/rational-soft-arch/9.7.0?topic=m... ) may have been too heavy and not flexible and not improved enough. But now with the rise of Agents I think we need to revise and perhaps re-invent them for AI agentic development.
- whazor 4mo agoYes, I believe in reinventing methodologies for the rise of agents. Before even discussing with my team whether something is a good idea, I can have a full prototype in a new branch within one morning. But then use it as a proof of concept and delete the code. Another example: agents can generate full test coverage. Including mocking external dependencies and user behavior. Also all in one morning. Why reinvent methodologies? The cost functions have changed. And agents add new problems, such as hallucinations and tech debt. I think reinventing is a good word since these processes already exist. But the emphasis would shift toward particular parts, making some of them much more mandatory.
- sarracin0 4mo ago[flagged]
- raidicy 4mo agoHilarious that Jeremy Howard and Rachel Thompson have been saying you need a human in the loop from the beginning. And now finally we discovered that we need to put a human in the loop.
- firefax 4mo agoI haven't been this confused by a headline since Keir Starmer declared himself a "gooner". I think a big issue with a lot of AI enabled coding is that tokens are currently heavily subsidized, and that refusing to learn how to write psudocode and pound out bugs in shell scripts is a fundamental step a lot of programmers are skipping... a stance that I find ironic considering that when I was being told as a preteen to "read the fucking manual" by the 90s internet, I was led to believe if I'm not churning out zero days in C by senior year of high school I might as well abandon all hope of ever understanding anything about computers. (Flash forward, and the immortal words of the rapper Jay-Z: "I ain't passed the bar, but know a little bit... enough you won't be illegally searching my shit.")
- stillpointlab 4mo agoMy experience is that I am bottle-necked on specs. The agent loop is less of a thing for me now. If I can get a clear understanding of what I want to build, communicate that to Claude Code in planning mode with the goal to write an actionable spec (not code, plan to write the spec) then I tend to get very good results once the agent goes to implement. But this strategy, while effective, puts a big load on me to write the specs. The agent tends to knock each one out of the park (usually 2 to 3 follow ups based on code review) but then I'm back at the stage that requires the spec. Another issue for me is that when I step away, if the agent finishes a task and could technically start on an existing spec (no overlap on files so no conflict possible) it doesn't know it can just create a new branch and start. Before I go to bed I'll often say "do task X and once done and pushed start on task Y". But I haven't had luck beyond that. Often I find that it starts on Y and has a question and then the agent is idle the rest of the time. The final issue is dependency coupled with the above. For example, today I was writing a background job processor. Obviously, the jobs that are in subsequent tasks require the system. That happens with some frequency. Even the specs need to be refreshed after the implementation to take any details that were resolved at coding time into account. But I am just on the cusp of wanting the outer loop. The gate is almost entirely on spec creation and PR review. In places where those gates don't matter, I want the agent to keep chugging away. As an aside, I strongly believe we need to start using tools that are better for LLMs even if they are worse for us. For example, Rust is annoying because the compiler is so strict. Bad for me, great for LLMs.
- chairmansteve 4mo ago> I tend to get very good results How do you define the good result? Does the definition of success include clean, maintainable code? I am finding I need to be in the loop. My code ships to thousands of users, so any issues get amplified.
- stillpointlab 4mo agoYes, I review every PR (which is part of the bottleneck) and give strict feedback (as I mentioned, averaging 2 to 3 fixes per task). What I'm saying is that there are some higher-level loops (as described in this article) that are outside of the bottlenecks I mentioned (spec creation and PR review). For example, I may have 3 written and ready to go specs that are totally unrelated (don't touch the same files, each can go to PR stage with no conflict) but it isn't easy to keep the agent moving on them unless I do so manually. Having an outer-layer orchestrator that can move that along makes a lot of sense. But when there are dependencies between tasks, it has to wait for my PR. And once I run out of good specs, it has to wait for me to write them.
- baddash 4mo agotitle describes my life in a nutshell
- knowl_guide 4mo ago[flagged]
- deleted 4mo ago[deleted]
- deleted 4mo ago[deleted]
- otto-riz 4mo ago> Ideally all of that was also well documented. Where that understanding was lacking, it was generally regarded as something to improve upon. In my experience, this was always an unrealized ideal. Too much pressure to ship, not enough to learn. To me the fact that I can interrogate Claude about this stuff is almost as valuable as the speed. (And I think it helps Claude too.)
- illuminator83 4mo agoI think a lot of people here have either not read the article fully or are misapprehending it. Neither this author nor most other sane people I know claim that the code or architecture these "loops" produce is great. In fact, the author explains how it is not great. His point is rather, that we'll increasingly see a world in which code quality and maintainability by humans will cease to matter for a lot of codebases. There might be many software companies in the future which successfully sell software products which were created without a single software developer being involved in its development or maintenance. The code might be bloated and bad - but it doesn't matter because machines can still create and maintain it cheaper and faster than people can. I already see this happening at a small scale at the place where I work. Product managers with zero coding ability are attempting to create entire new product features on their own using Claude or Codex. We do not let them merge this stuff unsupervised but in some corners and in new repositories they are publishing stuff that they have barely spoken about with a developer. They are just doing it. We'll see more of that.
- pjrog 4mo ago[flagged]
- livingsoft 4mo agoThe author is spot on about the paradigm change of software as a lifeform. Living things provide us with genuine interactions and experiences of learning and growing, without forcing us to understand the code - You can learn to work with animals and plants without understanding their genetics at all. I believe this is how our relationship with software must develop, and in order to get there, we'll need to learn to design and develop software in a completely new way. I've been testing this hypothesis in my spare time, hacking together a server-browser system I call Mycelium. It's a bit like OpenClaw, except you can use it to create private local Webs, and print custom 2D Electron browsers to view and work in these webs.
- andai 4mo agoInteresting, could you share a link? (Your submissions appear to have been nuked.) Edit: woah! https://www.youtube.com/watch?v=NGgve4L2zY4 https://www.youtube.com/watch?v=NGgve4L2zY4
- livingsoft 4mo agoYes, you found it. Blancs is the browser prototype for non-technical users, but the full system, Mycelium, I'm currently working on towards demos and distribution. I'll be sure to update the YT channel, if you want to follow the progress. I'm also on Twitter @livingsoft_
- dirtbag__dad 4mo ago> the code it produces is slop, but that’s more the fault of the model than the harness not being a good judge on if a step in the workflow resulted in a net improvement or completion. I don’t know. I’ve invested heavily in building internal tools that scaffold code and lint the filled in architecture/code design. That with a ratchet pattern, to allow for new rules that have errors across the existing code base, but to asymptotically fix them, is working pretty well. Example - all modules have tightly scoped design primitives (I’m using hexagonal architecture for the backend, for example). And all code has BDD tests, which is what I spend much of my time reviewing, since cases written in human sentences is easier than looking at so many files of code. There is a relentless upkeep to draft rules that respond to the workarounds the agents come up with to adhere to the design I want, but it’s slowly approaching perfect. What has helped here tremendously is I use hooks to llm as a judge the decisions the llms make, and then have them review/raise the questionable ones after a first pass is completed. In general, this is snuffing out the slop effectively. All to say, someone asked me recently what model I prefer. In this approach, the model doesn’t really matter to me because the code is consistently what I want. I’ll choose a model because it has better mcp speed (codex), or a more thorough scope (Claude code). Where this IS true is when we’re building a net new pattern. The agents are not great at it. BUT most code can fit into the few patterns I’ve created, and what can’t you lock down a new pattern to enforce over a couple iterations of it. Almost everything, at least in SaaS, follows a template.
- miki123211 4mo agoThis ties into something I have been saying for months: LLMs are great at finishing tasks, but bad at aesthetics and taste. There are two kinds of work: One is goal-driven work, where we have a goal to achieve, and we care very little about how we get there. Security is a perfect example; if you want to exploit a system, you rarely care about how beautiful the exploit is, all you want is access to those super secret nuclear plans. Research is also like this; "research-quality" code was famously terrible, even before the age of AI. The other kind of work is taste-driven work. People think that, when they're adding a feature to a large codebase, their goal is to add that feature, but that is often not the case. Keeping the codebase amenable to future changes is often far, far more important than this specific feature, and that requires taste. Note that maintainability and code quality aren't synonymous, code quality is just a means to an end, and that end is maintainability.
- jr3592 4mo ago> Note that maintainability and code quality aren't synonymous, code quality is just a means to an end, and that end is maintainability. Many orgs are quickly moving to a world where code quality and maintainability are not a priority, at all. If claude is just going to write the code, does it matter "maintainable" or "quality" it is? No. It just matters if it works, and if its fast, is how the perspective goes.
- throwaway7783 4mo agoI think we have to wait and see if long term maintainability will be any different from human coded software. Every single long surviving human written codebase I have worked with, has significant amounts of tech debt and large pieces had to be rewritten from time to time. This is of course anecdotal and I'm sure clean and elegant old codebases exist somewhere.
- jongjong 4mo agoThe worse designed the code, the more frequently it has to be re-factored. I've worked on long running projects which required essentially no refactoring when implementing new features and I've also worked on projects which had to be re-written multiple times to accommodate requirement changes.
- nullbio 4mo agoIt's marketing... You can't take anything Anthropic says at face value.
- NichoPaolucci 4mo agoMan - what a ride this last year and a half has been. I feel for the juniors or newer developers, who really haven't had time to get into the seat. I don't see a great place to really "settle" into right now, as the field is unfolding rapidly. I wonder what things will look like in 10 years. If I give an agent a sufficient spec, and it can one shot it, I imagine we won't need to loop, especially if we assume the tech is going to meaningfully improve in the coming years. In 5 years, "make no mistakes" and "add tests + review this code" will be baked into the agent or completely unnecessary, right? Maybe I'm out of the loop.
- gavinh 4mo ago> We may create codebases that are not merely hard to maintain by humans, but that assume machine participation as part of their maintenance model... People more and more merge code they cannot fully explain. People lose their ability to create issue reports or discuss things in chat, without augmenting or rephrasing their messages with the context provided by a clanker. Too many people increasingly rely on a machine to summarize or contextualize it. More and more do I encounter people who converse with me through the indirection of an LLM. I experience this daily now. It find it discouraging and concerning. I believe we're merging more code we can't fully explain because we are now relying on code review to build the mental model that was previously built by writing code and collaborative technical planning. I don't think code review is fit for this purpose. I do think we can extend code review with structured exercises, informed by pedagogy, that strike a better balance between friction and understanding. (I'm looking for help testing these exercises).
- devin 4mo agoI'll help if I can.
- gavinh 4mo agoThanks, I'd be happy to chat. gmh283@nyu.edu.
- jongjong 4mo agoAnd this code is often full of security vulnerabilities. It's just hacks on top of hacks on top of hacks. You end up with 100K lines of code full of weird fallbacks, doing something which could have been done more reliably with just 1K lines of code. I think author's comment about preferring systems which make invalid edge cases impossible rather than implementing fallbacks is hugely important. With the fallback approach; you end up implementing fallback on top of fallback on top of fallback... Each fallback seems to increase the amount of code exponentially and somehow it always creates new problems. This should almost be a 'General law of system design.' Fallbacks reduce the risk of failure but make failures more complicated and harmful when they do happen. As a software engineer, like the new coding environment which is being created by AI. Big tech companies have created infinite work for me. The human developer has become a critical component of code execution. The human needs to always be present to handle the nearly infinite number of difficult unhandled exception cases which are guaranteed to occur from time to time. The software engineer is no longer like a laborer, but more like a security guard who sits at his desk drinking coffee most of the time and only steps in on rare occasions when something goes wrong.
- jongjong 4mo agoI feel like what should have happened with AI is that teams should have started to put more effort into planning and pre-implementation discussions. Second thing, team leads should have felt more comfortable to reject large Pull Requests. When I see a large 10k-lines PR, I feel a sense of panic. In a corporate setting, I also feel a kind of pressure to approve; the more work was done, the more pressure there is to approve the PR. This is why I think up-front pre-implementation discussion and alignment has become essential. You really can't have people going rogue and weaponizing their AI-generated lines to gain control of a project through the duality of brittleness + complexity. Brittleness + Complexity = Control
- jongjong 4mo agoOne thing that I'm certain of, is that there are always costs to writing more lines than what is necessary to solve a specific problem. I've experienced this before AI, and I've experienced this, magnified, with AI. For a well-designed project written by hand, you will work faster writing the code for new features by hand than the same project written with AI from scratch, using AI to write the new features. But... If you have a well designed, human-written codebase, you will be faster if you generate the code for new features using AI than if you do it by hand... And you can maintain that speed for long periods of time if you use fine-grained prompts. What matters most is the quality of the codebase. You can achieve the same degree of maintainability using AI from the beginning but you would have to make fine-grained prompts. The gap is about making good engineering decisions. It just so happens that the value of good decisions compounds over time.
- blurbleblurble 4mo agoReally sharp perspective. Agentic engineering is software engineering with inertia. We're growing stuff now, not knitting it link by link.
- randomuser558 4mo ago[flagged]
- lhysdl 4mo agoAndrej Karpathy says, “You can outsource your thinking, but you cannot outsource your understanding.” The catch is that we need to think in order to build understanding.
- theahura 4mo agonot to be dismissive, but isn't this the same as the ralph loop thing everyone was talking about 6 months ago?
- jongjong 4mo agoReading the comments here, I'm struck by how many people seem to view code quality as an optional thing. It's almost as if software can function correctly without it. But it can't. Code quality is not a nice-to-have, it's a must-have. For any moderately-complex offering. There's a certain level of complexity that you can never reach without a well designed codebase. Cannot reach no matter how many humans or AI agents you throw at the problem. The idea that it's a 'nice-to-have' is an illusion. It's like if you borrowed a lot of money to fund your startup and you still have some cash in the bank; at that point, a viable business model might seem like a 'nice to have'. It's only when the lender comes knocking and you don't have enough money to pay them that a viable business model suddenly becomes a 'must-have'.
- casey2 4mo agoThe most important part of working with agents is removing tools, especially tools they like to use. Do not let them use cc, make, git etc until it's a necessity 90% of changes introduce a bug? ok you can start using gcc/clang/rustc whatever. Tools generate too many tokens, and it can't be fixed by '| grep' since they just start spamming cli calls. At least this is true for antigravity it tried to used git a few times and I gave in and then I discovered there was a token limit. Velocity plummeted. If you want git before it becomes a requirement best to mirror the directory into a separate git repo.
- bonigv 4mo agoThis is a fascinating thought. I agree. It is one thing to let it write a prompt. Prompting, Generating, Judging and going till it is satiated is gluttony. Every week I ship 4-5 sprints' worth of work that improves features, simplifies code, adds maintainability while delivering value to my end users without feeling I butchered a software hand-engineered over 10 years. This is one product. Mentioning it as an example because it got built over the years starting 2010. It has ~7000 paying customers and works in the B2B space. The B2B SaaS space is brutal since the defendable value should be delivered with margins two levels deep. I wouldn't be able to do it w/o coding agents. BUT I will never do it with LOOP ENGINEERING. Not in 2026 and not in 2036. Software Engineering as such is not going to be much different in 2036 than it is now. What stops me is the accountability that lies with me in delivered software. Setting lofty goals, a few guardrails and then letting harness and agent rip it overnight can (and have) created slop. I did not find LLMs systematically generate poor code. What is poor? Poor in traditional handcraft coding days is defined by - Poor performance - Verbosity - Complexity - Hardcoding - Poor maintainability These are guardrails that the models understand. However it cannot understand all these upfront - when building new. It always needs a retrospection cycle and a token budget to refactor. This is tech debt which we all carried and solved. It is just at an exponential scale because - well, the generation is happening at a super human scale. So, either build the harness with the tech debt coverage cycles or take on ourselves to add that cycle triggered by human judgement. A few things that are working for me and I trust are: Forge CLI - the harness I use with a built-in engineering philosophy for everyday work [https://github.com/Entelligentsia/forge-cli https://github.com/Entelligentsia/forge-cli] A few patterns that I have known to trust for building software that can be maintained - expressed as skills [https://github.com/Entelligentsia/skillforge/tree/main/design-patterns https://github.com/Entelligentsia/skillforge/tree/main/desig...] A few patterns for the new probabilistic constructs we build with in 2026 LLM Patterns [https://github.com/Entelligentsia/skillforge/tree/main/design-patterns https://github.com/Entelligentsia/skillforge/tree/main/desig...] Harness Patterns [https://github.com/Entelligentsia/skillforge/tree/main/harness-engineering https://github.com/Entelligentsia/skillforge/tree/main/harne...] The harness gives me a process. Patterns give me architectural guardrails as I could enforce (with a prayer). But still read code. We gotta.
- davidpapermill 4mo agoThere's a major problem with evaluating the result of agentic coding, and "loop engineering" exacerbates it. Like many crafts (painting, music, etc) the true test of great software is time. Not because of taste, but because software is a living artefact that must evolve. Only over time does a human developer realise they have "painted themselves into a corner" and chosen the wrong abstractions. And it will be the same with vibe coding (i.e. where code is not architected and reviewed exhaustively by a human). Because companies won't surface their internal codebases, the most likely signs of such problems with be the reliability of applications and services. I don't know if recent outages are indicative of changes in code practice, or just coincidence, but we'll find out over time. Agents aren't yet strong general reasoners - they are good at reasoning in the shape of their training corpus - so it's essential that important code is reviewed by human experts.
- MajorLettuce 4mo agoIn my experience I could never leave the agent off and go on its own. That is while I also use them extensively for all my work. I still cannot wrap my head around people who spawn tens and sometimes thousands of agents hoping for the best and then saying how little token limits are. The only way that is possible is when your work is superficial and you have no idea what you are doing (or it’s a hobby project).