8 ms·
When it was Copilot tab-completing lines, people would say, "yea, but you still have to make sure you're the one writing the whole functions". Then when it was
by djeastm 5mo ago
When it was Copilot tab-completing lines, people would say, "yea, but you still have to make sure you're the one writing the whole functions".
Then when it was completing functions, people would say, "yeah, but you still have to make sure you're the one writing the logic around the functions"
Then when it was completing the logic around the functions, people would say, "yeah, but you still have to make sure you're the one writing the features"
Now it's completing features and people say, "yeah, but you still have to make sure you're the one writing the architecture"
I don't know if architecture is a solvable problem for these models, but it is interesting watching the expectations moving over time.
- hansmayer 5mo ago> Now it's completing features It's completing shit. Even if it does not implement some lazy stuff with empty catch blocks (i.e. happy path from programming 101 tutorials), it will either expose your secrets in a sensible place or do some other stupidity.
- dzonga 5mo agothe autocomplete can be shit some times.
- vrganj 5mo agoAs somebody with a colleague that is using AI agents to "complete features", let me tell you, it is not. It is taking that dude so much longer to prompt and reprompt and then prompt again until it is anywhere close to something that passes review than it would take any competent mid-level engineer to just build the whole thing with some autocomplete help. Have people's standards for quality just completely vanished in the pursuit of the shiny new thing? Is that guy doing something wrong? That has also been my experience with this sort of thing fwiw, which is why I gave up and do more of a class-by-class pairing with an LLM as a workable middle ground.
- raincole 5mo agoThe "people" in your hypothetical story have been wrong the whole time. The correct attitude is: When AI can complete lines, you still have to read and understand the code. When AI can complete whole functions, you still have to read and understand the code. When AI can complete features and tickets, you still have to read and understand the code.
- jstummbillig 5mo agoNot at all. Code is not important, intent is. The leader of a product/company does not have to read code. It doesn't matter if it is generated by humans or non-humans. It simply needs to be correct enough to be usable and then steerable towards better outcomes. Understanding of code never existed from the business perspective.
- throwaway173738 5mo agoIt does in safety critical industries. You can get grilled by regulators about your source code. And lawyers will use it as evidence in court.
- raincole 5mo ago> The leader of a product/company does not have to read code. Yeah, because they believe (sometimes wrongly) their subordinates read it. > Understanding of code never existed from the business perspective. It does, it's called organizational wisdom and domain knowledge, because you need those witty names to sell books to aspiring managers.
- contagiousflow 5mo agoCan you think of a good way to encode intent into a system?
- roncesvalles 5mo agoThe code codifies the intent and is the long-term source of truth for how your business actually operates. >The leader of a product/company does not have to read code. That's because he's paid a bunch of people 300k to read it and make sure it aligns with the company's objectives and interests. Part of the reason why devs are paid so much is because they're literal business administrators for some narrow slice of the company's operations. The devs are the leaders that you're referring to. Even in multi-hundred-billion-dollar companies there are so many mission critical things that are owned by just 2 SWEs.
- herdcall 5mo agoI'm no longer sure you have to, actually. I mean, we do trust the assembly that compilers produce without having to read it, don't we? We're rapidly getting to that stage with LLMs, IMO.
- bluGill 5mo agoThe models can do architecture. However they typically (at least currently) do a really bad job until you force them. I use AI all the time, it is getting better, but I still review every single line. Individual lines are no today are not better than tab completion of last year - sometimes really good and save my typing, sometimes really really bad.
- embedding-shape 5mo agoAnyone who understands the motivation, reasoning and goals can do the architecture. The crux is that hardly anyone actually understand those and even less is aligned on those, that's when misalignment happen over time, LLMs or not. Considering how fast we can poop out code now, I think this issue is just more visible than before, but it's been an issue for as long as I've been a developer. Almost no one knows what they actually want, and half the job is trying to coax out what they want to be able to do, so you can properly architect it.
- user34283 5mo agoI felt the same with: "it takes too much effort to get the output production ready" turning into "maybe long term the maintenance will be more expensive" I give it three months until people realize that you rarely need to review every single line and fully understand the code, like so many comments are claiming.
- camdenreslink 5mo agoIf you work on a product that has an existing user base that has an expectation that things will still work then you definitely still need to read the code. LLMs frequently break things or introduce subtle incompatibilities. Maybe on projects with no users you can yolo things.
- user34283 5mo agoIt's not about the number of users but the kind of software you develop. In a mobile app, do you think it's more important to test that your drag gesture works as expected on the phone, or to understand every line of the implementation?
- koumou92 5mo ago100% agree. Obviously AI is at a point where the developer has to do the architecture. Or at least be in control of what kinda of architecture the AI is implementing. You can't one-shot huge features in huge codebases with AI. You are bound to get strange decisions. But that does not mean they are not worth using. That's a silly take.
- wolttam 5mo agoThese models understand architecture perfectly well, but they're not trained to care about it when being asked to complex X or Y feature. They're trained to implement the feature in the shortest route possible. So it's not much of a surprise that this is the situation folks find themselves in with the current models.
- taytus 5mo agoNice Fiction story.
- the__alchemist 5mo ago> I don't know if architecture is a solvable problem for these models, but it is interesting watching the expectations moving over time. I think the solution is between the lines of this article. The author states the steps leading to this, but doesn't arrive at it explicitly. It has been obvious (With 50/50 hindsight) to me since LLMs started getting popular, and holds: LLMs are fantastic for software dev. If you don't let it write architecture. Create the modules, structs, and enums yourself. Add as many of the struct fields and enum variants as possible. Add doc comments to each struct, enum, field, and module. Point the LLM to the modules and data structures, and have it complete the function bodies etc as required.
- winwang 5mo agoYeah, I pretty much agree. Opus and GPT will both come up with the most "organically-grown" "designs" if you let them. They do slightly better when asked to design first, but they seem to avoid many important questions (and definitely skip asking the user much of anything at all). I can only say it feels they "want" to ship as fast as possible while assuming I'm not going to actually review the PR.
- keybored 5mo agoThere are always people who will disagree, no matter how amazing something is, and they naturally respond with concerns close to the locus of the LLMification. It would be absurd to respond to “AI autocomplete is great now” with “but you still need to architecture your code”. What’s people saving seconds writing code minutiae got to do with architecturing the code? This blob of people criticizing AI is just that, a blob. A gaggle of discrete people that your brain makes up a narrative about being some goalpost shifting entity. Of course there could be individuals who have moved the goalposts. Which would need a pointed critique to address, not an offhand “people are saying” remark.
- callamdelaney 5mo agoArchitecture is one of the easiest things in programming frankly.
- wiseowise 5mo ago> but it is interesting watching the expectations moving over time. While the salary stays stagnant or even reduced if you adjust for inflation.
- onlyrealcuzzo 5mo ago> I don't know if architecture is a solvable problem for these models, but it is interesting watching the expectations moving over time. At least with current languages, I think the primary problem is they are globally complex, and it's not scalable for them (and certainly for you to review a codebase they've mainly or completely generated) that the invariants you want are being withheld. No matter how many times you tell them - there is ZERO blocking allowed on the critical path, they will add blocking on the critical path. No matter how many times you tell them any time they do X, they need Y type of test, they will do X without Y type of test. They cannot follow directions 100%. Neither can people. But they are more random. The mistakes people make are less likely to do the exact polar opposite of what you wanted to do. People are less likely to see a critical invariant in the code, build themselves a loophole to get through it, write a test that the code fails successfully, and then tell you they did exactly what you asked for, and burry it in a 5k line commit, where 1000 lines are them changing comments that shouldn't be there in the first place. LLMs are great. I'm convinced they're the future. I'm building a language specifically for them: https://GitHub.com/Cuzzo/clear https://GitHub.com/Cuzzo/clear - and to make it easier for YOU to work with them. I think once we get around this language problem, that they need global context for things where they shouldn't, it will be a challenge to work with them. I've had success with them, but it's been so frustrating, that I question how much it's been worth my sanity.
- jayd16 5mo agoAre any of these steps actually solved? AI tab completion still kinda sucks. They can keep internal consistency so the more you let it write the more it can write with internal consistency. It still fails at all of these levels as soon as you are looking at each level of detail.
- snowe2010 5mo agoweirdly made up scenario. I'm the person in the very first sentence. Tab-completing lines is still dog-shit. The majority of the time it has no clue what I'm going to write. Just because it can now write a lot more stuff doesn't mean it isn't still just as incorrect. Also, you've set up a huge strawman here. Who are these people saying these things in this order and why is that the argument and not "You need to be reviewing every line of code that gets written and understand it." Your argument is nonsense.
- indoordin0saur 5mo agoIt's even farther along than you think. It's the one writing the comments you're responding to. So why are you still thinking up and typing out your HN comments?
- mdswanson 5mo agoI refer to this as "disposable architecture." Not that architecture doesn't matter, but that the architecture that worked yesterday doesn't necessarily need to be the architecture that works today.