The L in "LLM" Stands for Lying(acko.net)
173 points byLorenDB6 hours ago |25 comments
raincole1 hour ago
> Video games stand out as one market where consumers have pushed back effectively

No, it's simply untrue. Players only object against AI art assets. And only when they're painfully obvious. No one cares about how the code is written.

If you actually read the words used in Steam AI survey you'll know Steam has completely caved in for AI-gen code as well. It's specifically worded like this:

> content such as artwork, sound, narrative, localization, etc.

No 'code' or 'programming.'

If game players are the most anti-AI group then it's crystal clear that LLM coding is inevitable.

> This stands in stark contrast to code, which generally doesn't suffer from re-use at all, or may even benefit from it, if it's infrastructure.

Yeah, exactly. And LLM help developers save time from writing the same thing that has be done by other developers for a thousand times. I don't know how one can spins this as a bad thing.

> Classic procedural generation is noteworthy here as a precedent, which gamers were already familiar with, because by and large it has failed to deliver.

Spore is well acclaimed. Minecraft is literally the most sold game ever. The fact one developer fumbled it doesn't make the idea of procedural generation bad. This is a perfect example of that a tool isn't inherently good or bad. It's up to the tool's wielder.

trashymctrash1 hour ago
If you read the next couple of paragraphs, the author addresses this:

> That said, Steam's policy has been recently updated to exclude dev tools used for "efficiency gains", but which are not used to generate content presented to players.

I only quoted the first paragraph, but there is more.

theshrike791 hour ago
Also "AI" has been in gaming, especially mobile gaming, for a literal decade already.

Household name game studios have had custom AI art asset tooling for a long time that can create art quickly, using their specific style.

AI is a tool and as Steve Jobs said, you can hold it wrong. It's like plastic surgery, you only notice the bad ones and object to them. An expert might detect the better jobs, but the regular folk don't know and for the most part don't care unless someone else tells them to care.

And then they go around blaming EVERYTHING as AI.

delaminator33 minutes ago
"I hate CGI video"

"So you hated the TV Series Ugly Betty then?"

"What? that's not CGI!"

This video is 15 years old

https://www.youtube.com/watch?v=rDjorAhcnbY

lxgr17 minutes ago
> I don't know how one can spins this as a bad thing.

People spin all kinds of things if they believe (accurately or not) that their livelihood is on the line. The knee-jerk "AI universally bad" movement seems just as absurd to me as the "AGI is already here" one.

> Spore is well acclaimed. Minecraft is literally the most sold game ever.

Counterpoint: Oblivion, one of the first high-profile games to use procedural terrain/landscape generation, seemed very soulless to me at the time.

As I see it, it's all a matter of how well it's executed. In the best case, a skilled artist uses automation to fill in mechanical rote work (in the same way that e.g. renaissance artists didn't make every single brushstroke of their masterpieces themselves).

In the worst (or maybe even average? time will tell) case, there are only minimal human-made artistic decisions flowing into a work and the output is a mediocre average of everything that's already been done before, which is then rightfully perceived as slop.

fzeroracer14 minutes ago
> Yeah, exactly. And LLM help developers save time from writing the same thing that has be done by other developers for a thousand times. I don't know how one can spins this as a bad thing

Do you ever ask why you're writing the same thing over and over again? That's literally the foundational piece of being an engineer; understanding when you're reinventing the wheel when there's a perfectly good wheel nearby.

tovej1 hour ago
An LLM has never saved me time. It has always produced something that doesn't quite work, has the rough shape of what I want, but somehow always gets all the details wrong.

I can type up what I want much faster and be sure it's at least solving the right problem, even if it may have bugs.

There are also tools to generate boilerplate that work much much better than LLMs. And they're deterministic.

dntrshnthngjxct3 minutes ago
If you do not plan out the architecture soundly, no amount of prompting will fix it if it is bad. I know this because my "handmade" project made with backward compatibility and horrible architecture keeps being badly fixed by LLM while the ones that rely on preemptive planning of the features and architecture, end up working right.
vntok26 minutes ago
> An LLM has never saved me time. It has always produced something that doesn't quite work, has the rough shape of what I want, but somehow always gets all the details wrong.

This reads like a skill issue on your end, in part at least in the prompting side.

It does take time to reach a point where you can prompt an LLM sufficiently well to get a correct answer in one shot, developing an intuitive understanding of what absolutely needs to be written out and what can be inferred by the model.

Jooror10 minutes ago
I’m curious about how you landed “git gud; prompt better” and not “maybe the domain I work in is a better fit for LLM code”. Or, to be a bit less generous, consider the possibility that the code you’re generating is boilerplate, marshaling, and/or API calls. A facade of perceived complexity over something that’s as complex as a filter-map or two.
hwers8 minutes ago
Its unfortunate that there’s mode collapse around what the consensus “best way” to use these things are. It’s too bad we didn’t have a period where these things were great teachers but didn’t attempt to write code because in my opinion the ideal way to use them is not by agents mass producing sloppy buggy disorganized code, but to teach you things way faster than the old alternatives, rubber duck, and occasionally write snippets of functions when your brain is too tired or it’s throwaway cli code or some api you’re not familiar with.
utopiah1 minute ago
> to teach you things way faster than the old alternatives

I'm not sure if you ever had a teacher or instructor that you didn't trust, because they were a compulsive liar or addiction or any other issue. I didn't (as least not that I can remember) but I know I would be VERY on guard about it. I imagine I would consequently be quite stressed learning with them, even if they were brilliant, kind, etc.

It would feel a bit like walking on thin ice to get to a beautiful island. Sure, it's not infeasible and if you somehow make it, it might be worth the risk, but honestly wouldn't you prefer a slower boat?

simianwords2 hours ago
What the author and many others find hard to digest is that LLMs are surfacing the reality that most of our work is a small bit of novelty against boiler plate redundant code.

Most of what we do is programming is some small novel idea at high level and repeatable boilerplate at low level. A fair question is: why hasn’t the boilerplate been automated as libraries or other abstractions? LLMs are especially good at fuzzy abstracting repeatable code, and it’s simply not possible to get the same result from other manual methods.

I empathise because it is distressing to realise that most of value we provide is not in those lines of code but in that small innovation at the higher layer. No developer wants to hear that, they would like to think each lexicon is a creation from their soul.

vjerancrnjak1 hour ago
Libraries create boundaries, which are in most cases arbitrary, that then limit the way you can interact with code, creating more boilerplate to get what you want from a library.

Abstractions are the source of bloat. Without abstractions you can always reduce bloat, or you can reduce bloat in your glue, but you can't reduce glue.

It takes discipline to NOT create arbitrary function signatures and short-lived intermediate data structures or type definitions. This is the beginning of boilerplate.

So many advances in removing boilerplate are realizing your 5 function calls and 10 intermediate data structures or type definitions, essentially compute a thing that you can do with 0 function calls and 0 custom datatypes and less lines of code.

The abstraction hides how simple the thing you want is.

Problem is that all open source code looks like the bloat described above, so LLMs have no idea how to actually write code that is without boilerplate. The only place where I've seen it work is in shaders, which are usually written to avoid common pitfalls of abstraction.

LLMs are incapable of writing a big program in 1 function and 1 file, that does what you want. Splitting the program into functions or even multiple files, is a step you do after a lot of time, yet all open source looks nothing like that.

auggierose33 minutes ago
Yep, people not understanding the value of abstraction is exactly why LLM coded apps are going to be a shit show. You could use them to come up with better abstractions, but most will not.
shinycode14 minutes ago
No I don’t agree. Just because it’s « boilerplate », that does not mean it’s worthless or doesn’t carry novelty. There is « boilerplate » in building many things, house, cars etc where to add real new stuff it’s « always the same base » but you have to nail that base and there is real value in it. With craft and deep knowledge and pride. Every project is different and not everything can be made from a generic out-of-shelf product
eucyclos1 hour ago
I wrote a book a while back where I argued that coding involves choosing what to work on, writing it, and then debugging it, and that we tend to master these steps in reverse chronological order.

It's weird to look at something that recent and think how dated it reads today. I also wrote about the Turing test as some major milestone of AI development, when in fact the general response to programs passing the Turing test was to shrug and minimize it

gampleman11 minutes ago
Actually I think this is one of the more tragic outcomes of the LLM revolution: it was already hard to get funding for ergonomic advances in programming before. Funding a new PL ecosystem or major library was no mean feat. Despite that, there were a number of promising advances that could have significantly raised the level of abstraction.

However, LLMs destroy this economic incentive utterly. It now seems most productive to code in fairly low level TypeScript and let the machines spew tons of garbage code for you.

Papazsazsa1 hour ago
This is actually quite an insightful comment into the mindset of the tech set vs. the many writers and artists whose only 'boilerplate redundant code' is the language itself, and a loose aggregate of ideas and philosophies.

Probably the original sin here is that we started calling them programming languages instead of just 'computer code'.

Also - most of your work is far more than mere novelty! There are intangibles like your intellectual labor and time.

heavyset_go22 minutes ago
Books are just simple theses and themes with hundreds of pages of boilerplate
simianwords2 minutes ago
lot of people are saying this
silon421 hour ago
Abstraction isn't free... even if you had the correct abstraction and the tools to remove the parts you don't need for deployment, there is still the cost of understanding and compiling.

There is also the cost reason, somebody trying to sell an abstraction will try to monetize it and this means not everyone will want/be able to use it (or it will take forever/be unfinished if it's open/free).

There's also the platform lockin/competition aspect...

otabdeveloper456 minutes ago
Programmers aren't paid to code.

FORTRAN ("formula translator") was one of the first programs ever written and it was supposed to make coding obsolete. Scientists will now be able to just type in formulas and the computer will just calculate the result, imagine that!

zorked37 minutes ago
Is this claim historical? As in, it was actually made at the time?
tovej1 hour ago
We already have tools to generate boilerplate, and they work exceptionally well. The LLM just produces nondeterministic boilerplate.

I also don't know what work you do, but I would not characterize the codebases I work in as "small bits of novelty" on boilerplate. Software engineering is always a holistic systems undertaking, where every subcomponent and the interactions between them have to be considered.

wonnage1 hour ago
Boilerplate has been with us since the dawn of programming.

I still think LLMs as fancy autocomplete is the truth and not even a dig. Autocomplete is great. It works best when there’s one clear output desired (even if you don’t know exactly what it is yet). Nobody is surprised when you type “cal” and California comes up in an address form, why should we be surprised when you describe a program and the code is returned?

Knowledge has the same problem as cosmology, the part we can observe doesn’t seem to account for the vast majority of what we know us out there. Symbolic knowledge encompasses unfathomable multitudes and will eventually be solved by AI but the “dark matter” of knowledge that can’t easily be expressed in language or math is still out in the wild

teaearlgraycold1 hour ago
Time to learn design, how to talk to customers, and how to discover unsolved problems. Used right LLMs should improve your software quality. Make stuff that matters that you can be proud of.
lisper1 hour ago
> why hasn’t the boilerplate been automated as libraries or other abstractions?

Cue the smug Lisp weenies.

theshrike792 hours ago
> This sort of protectionism is also seen in e.g. controlled-appelation foods like artisanal cheese or cured ham. These require not just traditional manufacturing methods and high-quality ingredients from farm to table, but also a specific geographic origin.

Maybe "Artisanal Coding" will be a thing in the future?

flohofwoe4 minutes ago
The 'Handmade Network' is essentially this (in a good way though) - and long before LLMs got good enough for code-generation - instead as a counter philosophy to the soulless "enterprise software development" where a feature that could be implemented in 10 lines of code is wrapped in 1000 lines of "industry-best-practices" boilerplate.

Programming via LLMs is just the logical conclusion to this niche of industrial software development which favours quantity over quality. It's basically just replacing human bots which translate specs written by architecture astronauts into code without having to think on their own.

And good riddance to that type of software development, it should never have existed in the first place. Let the architecture astronauts go wild with LLMs implementing their ideas without having to bother human programmers who actually value their craft ;)

boxed2 hours ago
This geographic protection is extremely bogus in many cases, if not most cases, which imo undermines his argument.
theshrike791 hour ago
Not really, it's a matter of protecting heritage.

Like you can still make Karelian pies[0] anywhere, but unless you follow the exact recipe, you can't sell them as "Karelian pies". It's good for the heritage and good for the customers.

You can also make any cheeses and wines and whatever you like, it's just how you name them and market them that's regulated.

[0] https://en.wikipedia.org/wiki/Karelian_pasty

DavidPiper2 hours ago
> This stands in stark contrast to code, which generally doesn't suffer from re-use at all ...

This is an absolute chef-kiss double-entendre.

GaryBluto52 minutes ago
I think it says a lot about this opinion piece that the people agreeing with it are posting short comments saying "So true!" and "Great!" whilst the people criticizing it are writing paragraphs of well-spoken criticism.
richardjam732 minutes ago
Verbosity doesn't equate to correctness.
Underphil37 minutes ago
Hardly surprising. Counterpoints are obviously going to be more detailed.
plasticeagle2 hours ago
Acko.net remains the best website on the internet.
Copenjin2 hours ago
I instantly remembered the page header, I probably visited this site last time 10 years ago or something.
einr3 hours ago
This rules. What a good, sensible, sober post.
anilgulecha2 hours ago
>If you ask me, no court should have ever rendered a judgement on whether AI output as a category is legal or copyrightable, because none of it is sourced. The judgement simply cannot be made, and AI output should be treated like a forgery unless and until proven otherwise.

Guilty until proven innocent will satisfy the author's LLM-specific point of contention, but it is hardly a good principle.

emsign2 hours ago
You are missing the point of the author. He literally said no court should have rendered a judgement, that's the exact opposite of guilty until proven innocent. Guilty means a court has made a judgement.

He is proposing to not make a judgement at all. If the AI company CLAIMS something they have to prove it. Like they do in science or something. Any claim is treated as such, a claim. The trick is to not even claim anything, let the users all on their own come to the conclusion that it's magic. And it's true that LLMs by design cannot cite sources. Thus they cannot by design tell you if they made something up with disregard to it making sense or working, if they just copy and pasted it, something that either works or is crap, or if they somehow created something new that is fantastic.

All we ever see are the success stories. The success after the n-th try and tweaking of the prompt and the process of handling your agents the right way. The hidden cost is out there, barely hidden.

This ambiguity is benefitting the AI companies and they are exploiting it to the maximum. Going even as far as illegally obtaining pirated intellectual property from an entity that is banned in many countries on one end of their utilization pipeline and selling it as the biggest thing ever at the other end. And yes, all the doomsday stories of AI taking over the world are part of the marketing hype.

anilgulecha3 minutes ago
sure, no "court" should render it, but then

>AI output should be treated like a forgery

Who's passing this judgement this? Author? Civil society?

kombookcha3 hours ago
What a wonderful read.
emsign2 hours ago
> It's not a co-pilot, it's just on auto-pilot.

Love it. Calling it "Copilot" in itself is a lie. Marketing speak to sell you an idea that doesn't exist. The idea is that you are still in control.

_flux2 hours ago
Well initially it was a lot less capable. Someone might describe it auto-complete on steroids.

Someone might call LLMs that today, except they've stepped a bit up from steroids.

emsign2 hours ago
Then MS is conveniently keeping the old name.
est2 hours ago
I won't call that forging, but commission.

btw you can make git commits with AI as author and you as commiter. Which makes git blame easier

vladms1 hour ago
> Whether something is a forgery is innate in the object and the methods used to produce it. It doesn't matter if nobody else ever sees the forged painting, or if it only hangs in a private home. It's a forgery because it's not authentic.

On a philosophical level I do not get the discussions about paintings. I love a painting for what it is not for being the first or the only one. An artist that paints something that I can't distinguish from a Van Gogh is a very skillful artist and the painting is very beautiful. Me labeling "authentic" it or not should not affect it's artistic value.

For a piece of code you might care about many things: correctness, maintainability, efficiency, etc. I don't care if someone wrote bad (or good) code by hand or uses LLM, it is still bad (or good code). Someone has to take the decision if the code fits the requirements, LLM, or software developer, and this will not go away.

> but also a specific geographic origin. There's a good reason for this.

Yes, but the "good reason" is more probably the desire of people to have monopolies and not change. Same as with the paintings, if the cheese is 99% the same I don't care if it was made in a region or not. Of course the region is happy because means more revenue for them, but not sure it is good.

> To stop the machines from lying, they have to cite their sources properly.

I would be curious how can this be applied to a human? Should we also cite all the courses, articles that we have read on a topic when we write code?

Otterly991 hour ago
Art in general is a bit weird like that.

The value of a piece is definitely not completely tied to its physical attributes, but the story around it. The story is what creates its scarcity and generates the value.

It is similar for collectible items. If I had in my possession the original costume that Michael Jackson wore in thriller, I am sure I could sell it for thousands of dollars. I can also buy a copy for less than a hundred.

Same with luxury brands. Their price is not necessarily linked to their quality, but to the status they bring and the story they tell (i.e. wearing this transforms me into somebody important).

It can seem quite silly, but I think we are all doing it to some extent. While you said that a good forgery shouldn't affect one's opinion on the object (and I agree with you), what about AI-generated content? If I made a novel painting in the style of Van Gogh, you might find it beautiful. What if I told you I just prompted it and painted it? What if I just printed it? There are levels of involvement that we are all willing to accept differently.

oreally38 minutes ago
> I would be curious how can this be applied to a human? Should we also cite all the courses, articles that we have read on a topic when we write code?

Yea this is the kind of BS and counter-productiveness that irrational radicals try to push the crowd towards.

The idea that one owns your observations of their work and can collect rent on it is absurd.

jesterswilde1 hour ago
Regarding art, what do you feel about museums? Why would you go see an original instead of simply looking at a jpg.

Even if you aren't in the group, there is clearly a group of people who appreciate seeing the original, the thing that modified our collective artistic trajectory.

Forgeries and master studies have a long history in art. Every classically trained worth their salt has a handful of forgeries under their belt. Remaking work that you enjoy helps you appreciate it further, understand the choices they made and get a better for feel how they wielded the medium. Though these forgeries are for learning and not intended to be pieces in their own right.

vladms1 hour ago
> Regarding art, what do you feel about museums? Why would you go see an original instead of simply looking at a jpg.

I go to a museum to see a curated collection with explanations in a place that prevents distractions (I can't open a new tab) and going with people that might be interested to talk about what they see and feel. It's as well a social and personal experience on top information gathering.

> there is clearly a group of people who appreciate seeing the original,

There are many people interested in many things, do you want to say that "because some people think it is important, it must be important"? There were many people with really weird and despicable ideas along history and while I am neutral to this one, they definitely don't convince me just by their numbers.

> simply looking at a jpg.

Technically a jpg would not work because is lossy compression. But a png at the correct resolution might do the trick for some things (paintings that you see from far), but not for others. Museum have multiple objects that would be hard to put in an image (statues, clothes, bones, tables, etc.). You definitely can't put https://en.wikipedia.org/wiki/Comedian_(artwork) in a jpg - but the discussion surrounding it touches topics discussed here.

xg151 hour ago
> An artist that paints something that I can't distinguish from a Van Gogh is a very skillful artist and the painting is very beautiful.

There are a lot such artists who can do that after having seen Van Gogh's paintings before. Only Van Gogh (as far as we know) did paint those without having seen anything like it before - in other words, he had a new idea.

vladms1 hour ago
So, if we apply to software, should we quote Dijkstra each time we use his graph algorithm?

Should we also say "if you can implement Dijkstra's algorithm" it's irrelevant because "you did not have the idea"?

It's great to credit people that have an idea first. I fail to see how using an idea is that "bad" or "not worthy", ideas should be spread and used, not locked by the first one that had them (except some small time period maybe).

wonnage1 hour ago
Even the mechanical skill of painting gets a lot harder without an example to look at. Most people can get pretty good at painting from example within a year or two but it’s a big leap to simply paint from memory, much less create something original.
GuestFAUniverse3 hours ago
And "lazy".

Claude makes me mad: even when I ask for small code snippets to be improved, it increasingly starts to comment "what I could improve" in the code I stead of generating the embarrassingly easy code with the improvement itself.

If I point it to that by something like "include that yourself", it does a decent job.

That's so _L_azy.

gck11 hour ago
Enforce this with deterministic guardrails. Use strictest linting config you possibly can, and even have it write custom, domain specific linters of things that can't happen. Then you won't have to hand hold it that much
emsign2 hours ago
LLMs are cheaters because their goal isn't to produce good code but to please the human.
js82 hours ago
That's a problem with any self-improving tools, not just LLMs. Successful self-improvement leads to efficiency, which is just another name for laziness.
feverzsj3 hours ago
More like Lunatic.
Mordisquitos3 hours ago
In can be both. There are two L's to pick from.
phendrenad227 minutes ago
Sigh. Another one standing on the train tracks giving the approaching train a good scolding. First this article tries to equate AI-generated code with "forgery". Please, tell me how you "forge math". Next, it makes a little dig at senior engineers who use LLMs, because they must not realize that "every line of code is a liability". No no, senior engineers realize this, but they are also adept at observing successes and failures and coming up with a mental model for risk. That's part of keeping an application running, otherwise we'd all still be using jQuery and leftPad. We made the jump to react because we recognized that these NEW lines of code were far more valuable than their "liability". Somehow the author decided to store "liability" in a boolean. Oh, was AI involved, or is that a genuine human error..? Next the article makes a tired appeal to the fact that LLMs are trained on open-source code and are therefore "plagiarizing" this code constantly. This is where the train comes around the mountain. So when the AI generates Carmack's Reverse, is it plagiarizing Carmack or the book that he got the idea from? In what percentages? And what do I do with this valuable insight? Send Carmack $0.01 in an envelope for the privilege? In short, I don't know what the author wants, but I hope writing this helped.
baq3 hours ago
Lying implies knowing what’s true
hsbauauvhabzb2 hours ago
Oh sorry my mistake! you’re right I don’t know what’s true.
barcodehorse3 hours ago
Lovely lizard machine.
wilg2 hours ago
LLMs are pretty cool technology and are useful for programming.
emsign2 hours ago
If you check the code afterwards. You do check the code yourself, don't you?
malka19861 hour ago
Hello, I am a single dev using an agent (Claude Code) on a solo project.

I have accepted that reading 100% of the generated code is not possible.

I am attempting to find methods to allow for clean code to be generated none the less.

I am using extremely strict DDD architecture. Yes it is totally overkill for a one man project.

Now i only have to be intimate with 2 parts of the code:

* the public facade of the modules, which also happens to be the place where authorization is checked.

* the orchestrators, where multiple modules are tied together.

If the inners of the module are a little sloppy (code duplication and al), it is not really an issue, as these do not have an effect at a distance with the rest of the code.

I have to be on the lookout though. It happens that the agent tries to break the boundaries between the modules, cheating its way with stuff like direct SQL queries.

PunchyHamster39 minutes ago
No, that would limit our velocity, we can't check code, that eats into the LLM gains
EugeneOZ1 hour ago
I do, 100%, every line.
wilg1 hour ago
eyeroll
chromehearts3 hours ago
Incredible website
Meneth2 hours ago
That's a lie.