Live data from Hacker News

Vibe coding and agentic engineering are getting closer than I'd like

simonwillison.net

911–920 of 958 posts

Re: Vibe coding and agentic engineering are getting closer than I'd like

#911

Earlier quoted context omitted.

This presumes that most of this stays encoded as words in our brains: the effort to translate some of these into words might be similar to translating it into code (still words, just very precise). It's like talking legalese vs plain English; or formal logic vs English. Some people have the formal stuff come more naturally, and then spitting code out is not a burden.

No, it really doesn't presume anything about brains or information encoding. Just points out that there is a level of mastery in which all the techniques and all the forms have names or adequate descriptions. Teachers often attempt to achieve this, to facilitate education.

It's no accident there is an adage from Aristotle in the vein of: "Those who can, do. Those who understand, teach."

So yes, there is a level of mastery that is beyond being able to do a good job of designing and evolving complex systems which enables people to teach others the same skill set.

However, this is a smaller number of practitioners, and most have learned through practice and looking over how more experienced engineers apply their knowledge.

Where I disagree is that this means everybody is equally capable of teaching with words, or that there are no experts who are bad at teaching (humans or directing AI) — this clearly indicates it is not encoded as words for said experts.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#912

Earlier quoted context omitted.

> it happened when we achieved a level of such constant stimulation (...) that we’re never bored and never engage the default mode network. I don't know... I don't disagree, but I think this has been repeated so much that I believe everyone, at least everyone that is actively participating in HN discussions is aware of this. So if we are aware of this and we consciously choose to keep engaging in dopaminergic activit…

You are pitting your randomly acquired will power and your in large part unintentional stumbling through life against all of human kind's psychology knowledge, against billions of dollars spent on advertising and advertising research. That is at this point tens maybe hundreds of millions of years of acquired human knowledge how to manipulate you versus your very randomly acquired 'will power'. Have you seen the quote…

So if you are helpless in a world dominated by the billionaires and the clerics of psychological research, what's the hope for the average person? Should we just accept our fate and waste away in endless Instagram feeds, alcohol, drugs, gambling and all forms of addiction? These need to be managed at society level, banning or taxing goods. But no amount of regulation can compensate for someone determined to destroy himself. So yeah, it's your fault. But it's also society's fault. And at the end of the day the most effective thing you have is your choice.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#913
post #501

Earlier quoted context omitted.

I have been building an iOS app that I had kicking around in my head for years but never had time to build. I have been a frontend UX engineer for the better part of a decade and went through a handful of tutorials on Swift. The project definitely sits in this uncanny valley for me. I have test suites for every aspect of the app and have the agent using TDD to avoid cheating - this has gotten me pretty far without ha…

The agents always do the best work IMO if you already know exactly what you want, but are too lazy to implement it. I like having the agent mock up a working solution before reimplementing it. To split the difference, I now try to hand code as much as I can from the beginning, leave TODO comments for the agent to mop up and I'll ask it to complete the issue with reference to the current diff. It reduces the surface f…

Yeah, I like the "get out of jail free" card approach. The thing I always used to hate before this era was getting stuck in a hole on something that would take days or worse to grind through. It's nice to drop a little plank bridge across those now

Re: Vibe coding and agentic engineering are getting closer than I'd like

#914
post #784

Earlier quoted context omitted.

Or at least, aware that this argument continues to be made with tenuous evidence and anecdotes. And yet, people are being more productive (actually productive) with AI. Release schedules are increasing, bugs are getting fixed faster, security issues identified and patched sooner, so on and so forth. I’m not denying (at all) that unused skills languish. I take issue with AI being characterized as a magic eraser that m…

Can AI make developers lazy in new ways? Of course! Why wouldn’t it? I don’t write things in ASM because I can be “lazy” and write 50x more useful instructions with a few lines of a modern language. I doubt I’d be able to write working ASM anymore without a serious refresher. Did newer languages erase my memory of ASM and make me “lazy”, or did my efforts evolve to make use of the newest technology regardless of “los…

No, but I’d certainly trust an engineer to use software with in-built algorithms to design a bridge instead of using a typewriter, calculator, and a pencil. What you argue is your perception that this means everything is vibe coded and an engineer doesn’t understand any of it. My thought would be that this sentiment seems more telling of your views or how you use it than someone else. I’m not saying it isn’t possible for you to be right in circumstances, but rather you seem to assume your view fits all circumstances.

That the point of the engineer is to know how all of it works? So one must know the specific details of how every hard disk driver is implemented, with the algorithms being used, and have checked all the math and inspected all that code, just to be able to “read file”? Do you also argue that million+ line codebases should be inspected through every dependency and every file, line by line, and run through a debugger, before making a single line change anywhere?

Seems more like an extensive exercise in self-flagellation on the company’s dime than would be appropriate, but that’s just my opinion.

We all have our domains. A person can absolutely use AI within their domain and understand its output perfectly as much as having written it themselves.

The need for knowledge in those domains also changes over time. The need to understand a domain at a depth is directly proportional to the depth of the changes you are making to a stack. I don’t need to know how the hard drive spins to write a program. I don’t even need to understand that hard drives exist to write most programs these days, because it is not an area of concern. All of the implementation and efficiencies happen at a level below, or another below that, or within a trusted dependency. The people working on all those things understand those domains better than I ever could have the time to.

Maybe you could better explain where vibe-coding significantly differs from the above as another “layer” of separation?

Look, I’m not arguing vibe coding is “good” in and of itself by any means, but just basically that it’s not all vibe coding, and those of us that understand that don’t really have as much need to argue about the inevitable or that things change.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#915
post #608

Earlier quoted context omitted.

Maybe you're the exception and are actually doing it right and actually getting good results, but every time I have heard this, it has been an ignorance-is-bliss scenario where the person saying it is generating massive amounts of code that they don't understand, not because they're incapable but because they don't care to, and immediately wiping their hands of it afterward. To give an example of where I hear this, i…

Yes and no I've seen productivity surveys of senior programmers that share the reverse, and that matches our experience. A common finding is that gardening projects are a lot cheaper now when they're just a few extra terminal tabs running in parallel - security, refactoring, more testing, etc. Non-feature backlog items that senior developers value around tech debt are less of a discussion now. They're often essential…

> do they really understand what they did? ...

I know you said you don't truly think that way, but to counter anyway since some people seem to legitimately hold this viewpoint:

I take issue with the implication that not necessarily having a full understanding of what the code/library/driver/compiler/abstraction is doing is somehow justification/permission to embrace and celebrate having basically no understanding of what any of the code is doing. The in-between space there is the vast majority of the surface area where nuance can and should exist.

>my point is to challenge basic claims of manual coding to be good to begin with and whether AI coding is being held to an artificial standard

That's fair, and I can only speak for myself here; I don't have any inherent philosophical issue with manual vs AI, but my personal experience is that AI coding is just straight-up a frustrating nightmare to deal with, IMO orders of magnitude worse than manual. It's faster, sure, but I end my rage-filled LLM debugging session walking away knowing I learned pretty much nothing and that there's no compounding knowledge or outcome that will keep me from experiencing the same thing tomorrow, and I hate that. I am Sisyphus rolling prompts into a terminal.

But I'm not gonna sit here and act like manual coding makes you morally virtuous or pure or whatever. IMO it's a great forcing function to better (even if not completely) understand what is going on in your system(s) and I think most everyone would agree with that. What's up for debate is probably whether that's worth the time tradeoff now that we have a magic time compressor machine available to us.

Maybe I only find that knowledge tradeoff valuable because I'm a lowly IC and not some super turbo chad 10x principal who built a distributed database in brainfuck 10 years ago for fun and has nothing left to learn, or a technical founder of 5 concurrent startups who is optimizing for business value. It's possible that a heavy bias for learning/skill acquisition blinds me here.

>we require developers by default to be responsible for knowing what the code does and having tested it. Every case of relaxing that rule has to be explicit

This sounds pretty reasonable tbh.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#916
post #858
post #831

Earlier quoted context omitted.

> You wouldn't trust an engineer a bridge that an engineer vibe-engineered would you? If it was as easy to stress test/battery test/materials test/etc a bridge as it is to test code - then yes. I'd trust an engineer who vibe-engineered a bridge. --- The problem with mapping digital problems into meat-space is that there is inherently a few orders of magnitude of cost automatically added to anything that happens in me…

Don't mechanical engineers do that with FEM simulations? Example: https://www.youtube.com/watch?v=tZspM_TvPKQ

Absolutely. These days engineers use AI and simulation to design new types of engines, jet nozzles, etc. Treating it not like a tool is the mistake, and the assumption many make is that “other people must be making that mistake too”.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#917
post #902

Earlier quoted context omitted.

Historically we almost entirely moved from ASM to C, a language with lots of undefined behavior, because precision is not the most valued feature of languages.

UB is about edge cases that a compiler should not be enforced to check against and an occurrence is always a bug. You don't necessarily need a precise description of the actual faulty behavior.

Right. The language has well-formed expressions with no defined meaning in terms of machine instructions. My claim is that this is a reduction in precision compared to assembly language.

Grandparent said:

> The single best feature of any programming language is that it is precise.

C overtook a more precise language family because it has features other than precision that people cared about. Perhaps a better tradeoff of expressiveness and readability with precision.

Grandparent could be correct, and precision is the best feature of C, despite being less precise than ASM. And its better expressiveness nets out to a better overall programmer experience. I just wanted to point out that precision is something we do trade away for other things we want.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#918

Earlier quoted context omitted.

No, it really doesn't presume anything about brains or information encoding. Just points out that there is a level of mastery in which all the techniques and all the forms have names or adequate descriptions. Teachers often attempt to achieve this, to facilitate education.

It's no accident there is an adage from Aristotle in the vein of: "Those who can, do. Those who understand, teach." So yes, there is a level of mastery that is beyond being able to do a good job of designing and evolving complex systems which enables people to teach others the same skill set. However, this is a smaller number of practitioners, and most have learned through practice and looking over how more experienc…

It's been pretty clear in my experience that experts tend to be capable of working with the same ideas in many different forms. That's what I would call mastery. It implies "complete" knowledge, which probably means several interrelated encodings with loci in different parts of the brain. Those interrelated encodings will be highly associated, and discerning in an expert. Which implies a high degree of usefulness and specificity in communication. This matches my experience.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#919
post #440

The disconnect for AI is that it is a jagged frontier and it only really shines when one of its jagged frontiers extends counter to one of your valleys. If you've been writing Perl for 30 years, you might not want to learn JavaScript just to make a little fun idea in your head to show your wife. Vibe code that shit man. Who cares? Your wife does not care about LOC or those internal design decisions you made. If you'r…

> Also, when did we stop liking to learn?

Says who? One of the most enriching things about coding with agents is I have them provide new information, tools, patterns, whatever as a follow up to every feature I work on. I’m learning a ton and it’s helping me build better with agents, too.

Re: Vibe coding and agentic engineering are getting closer than I'd like

#920
post #360
post #333

Earlier quoted context omitted.

An old comic I like: - I've taken a controversial new pill that accelerates my brain. -- So you're smart now? - I'm stupid faster! That being said, being stupid faster can work if validation is cheap (and exists in the first place). Turns out "eh close enough" for AGI is just stupidity in an "until done" loop. (Technically referred to as Ralphing.)

You mean this one: https://knowyourmeme.com/photos/1567852-shen-comix >

"I'm doing 1000 calculations per second and they're all wrong"
Post reply on HN