Two rules keep an LLM from pasteurizing your writing: never take a word it suggests, and never let it encourage you. Then hand it all the tedious work.

769 points•joeriddles•13 days ago•420 comments•

420 comments

semiquaver13 days ago
This would sound insane to me from two years ago but I have recently started insisting on writing all my own commit messages and pull request descriptions. I do usually have an agent review them for factual accuracy, but not rephrase them.

It slows things down a bit, but in the best possible way. It has helped immensely to improve the depth of my understanding of the agent-generated code. When agents are doing everything its way too easy to “skim” diffs and not really absorb them.

I always prided myself on my technical writing, and commit messages and PRs were a great place to hone that skill. I found that I missed it and my work is better now I’ve reclaimed that part of my old job back.

LeafItAlone12 days ago
A big win of LLMs in my book is the absolute reduction of commit messages with just “fixes” or “updates”. Commit messages have become more meaningful and useful, even if far from perfect.

We have one dev who uses LLMs to write the code, but still commits by hand. Most of his messages are of the type above, and none of them are useful.

vova_hn212 days ago
I think that the idea of generating a commit message based on the content (diff) of the commit is fundamentally wrong.

Even before coding harnesses become mainstream, a lot of tools offered to automatically generate commit messages based on the diff (I think JetBrains IDEs started to offer it very early) and I always cringed when I've seen it.

The reason why I don't like diff-base commit messages is because they are redundant. If I want an LLM-generated summary of the diff, I can easily generate it myself, there is absolutely no reason to put it in the commit message.

What I would like to see in the commit message is some additional context that is not a part of the diff. I don't need to read what has changed, because I can already can see it in the diff (or get an LLM to summarize it for me). But I often do need to understand why this change was made. What were they trying to achieve? That's the important part that is not contained in the diff itself. And this is the part that diff-base commits rarely contain.

I think that even something simple like a link to a Jira (or other bugtracker ticket) is much more helpful than diff summary. Maybe instead of "fix" or "update" you could write just a couple of words about what are you trying to fix and why does it need updated. Still better, than a diff-summary.

this_user12 days ago
I'm not sure that Claude's "Realigned the shape of the load-bearing ownership gate to reduce the blast radius of the design contract; confirmed, not assumed" is more meaningful than "fix".
zmmmmm11 days ago
Commit messages as you describe ("fixes", "updates") are inappropriate in any professional context and some coaching should occur to the people doing them.

I have the opposite issue - some of my team members now submit mini-essays generated by the LLM. Like 300-500 word commit messages with everything from the essence of the change up to philosophical design trade off discussions.

Like most writing, what is left out is as important as what is included.

aprilthird202112 days ago
You've gotta be joking. Every AI commit message, summary, and test plan is full of extraneous garbage I didn't need to read (and a lot of it is not understandable)
FooBarWidget12 days ago
I can relate to that. Most human commit messages aren't good because the author can't be bothered to write a good one, or doesn't know what a good message is supposed to be, or is bad at writing.

But AI commit messages are still bad. Way too verbose and focused on the wrong level: that of code mechanics. That's just wrong. Messages should focus on the level of intent and design, with the primary purpose being to aid human review. They should include a high level overview of the change, decisions, caveats, information not obvious from reading the diff.

So I wrote a skill that captures these principles and allows the agent to even research past related commits and to ask focused questions in order to uncover the intent rather than guessing and writing a bad one.

Now the AI writes better commit messages than it used to, and even writes better than most humans (who can't be bothered to write a good one). Not better than a good manual message, but you can't have everything.

But sometimes even the good writers are tired or didn't think things through. Being able to compare with the AI's version is still useful.

Here is the skill for anyone interested: https://github.com/FooBarWidget/ai-skills-and-principles/blo...

Depends on my "documentation principles" skill: https://github.com/FooBarWidget/ai-skills-and-principles/blo...

solarkraft12 days ago
I still manually edit almost every word for utmost precision in anything I expect a human to read since LLM prose is hard to read and often subtly wrong or misleadingly worded (those false contrasts ...).

Commit messages are not exactly in this category for me, I view them mostly as a work log to be later inspected by another LLM to gather context. I do usually review them before approving a given plan, so I do care about their structure and content, but find the LLM sufficiently competent at writing them.

Terr_11 days ago
For me, the use-case of commit messages is to help a human discover when some kind of thing might have changed, as distinct from the commits before and after it. Importantly, the human is doing a subjective scan for something that sounds relevant.

If they already knew what function or detail is involved, they would be already be doing a "all commits that touched this line" filter, and my comment about affecting $thing would probably be superfluous.

I also don't need to tell them such details in the commit, because that is better expressed by the actual diff.

So in a sense, I'm trying to provide good keywords, about transactions, errors, logging, button color, whatever.

initsecret12 days ago
same. also—from the reviewer end—LLM generated PR descriptions are loooooooooooooong.
BeetleB12 days ago
At work, I simply don't allow LLMs to make commits. :-)
jdkoeck12 days ago
Two years ago? I don’t get it, coding agents have been compelling for barely a year.
adastra2211 days ago
Cursor and aider were definitely compelling two years ago. Nothing compared to now, of course, but still better than raw dogging it.
holoduke12 days ago
I would say from march this year.
S-E-P13 days ago
I fear in the future people will read even less because of how often people cheap out and use AI to write. I know the author of this article tells you never to use a single word it suggests, however I still, while reading, am checking for any amount of AI used. This makes reading less enjoyable, and even a bit stressful.

If you can't spend the time to write it, why should anyone read it?

Everything I post is from my own finger tips, only to get a reply from someone using a bot. I'm tired.

jakeinspace13 days ago
Excessive generative AI output devalues all communication media unfortunately. As a greater and greater portion of text, imagery, audio, and video come to be synthetic, I don't see why anybody would be motivated to do deep reading, or listening, or analysis of said media. It's frightening to think what that might do to our civilization, almost like putting us back into a weird version of the ancient past when nobody was literate, save the priest.

Maybe humans can adapt to care about generated content and treat it with the same emotional weight that human communication has. I don't know if that's good or not.

Insimwytim13 days ago
You can't even watch funny animal compilations anymore!
sixtyj13 days ago
There is a recent PISA research that students slowly decline in understanding the long reads.

E.g. in one country, 21% of high school students do not even achieve “sufficient reading literacy”…

So the question should be - what are we going to do with this? LLM can produce texts but we as people will not be able to understand anyway…

About PISA research for example here: https://www.edweek.org/leadership/reading-ability-craters-on...

UltraSane12 days ago
Drowning in AI output will make people value in person communication far more.
incognition12 days ago
A Tower of Bable phenomenon
TeMPOraL13 days ago
You're skipping any causal connection between the "as greater and greater" and "anybody would be motivated" parts. What is it in "excessive generative AI output" that "devalues all communication media"?

Not that I disagree much, but for myself I have an actual cause connecting the two parts, and it's not something inherent to AI.

Basically, synthetic content is like those fancy desserts - they look nice and the top layer possibly has an exquisite flavor (probably on purpose), but once you cut deeper, it's some weird fruit or nut or other foodstuff that belongs next to potatoes and meat, not in a cake. So I learned to avoid such desserts and stick to basic stuff I know are good entirely, like IDK a cream pie or cream-filled chocolate stuff or such.

Same is with content. My problem isn't that it's AI, but that it's wrong, full of mistakes human authors don't make. Hallucinations mid-text that make half of it convincingly argue bullshit. Or the uncanny or repetitive factor in art that kicks in after few seconds of looking.

Like with desert, I'm avoiding disappointment and wasted hopes. When synthetic context gets better, I'll be consuming it just like "vanilla" one, for the same reasons.

siscia13 days ago
> If you can't spend the time to write it, why should anyone read it?

Because the value of writing are not the words on a piece of paper but the idea they convey.

Politicians speech are not worth listening too because they have a copywriter polish them?

Teacher assistant homeworks are not worth to do, because they are made by a TA and not by the course professor?

Of course there are writing as: "Hey ChatGPT write me a piece around coding with LLMs" and yeah, those are not worth reading.

But most of the writing is usually, these are the ideas, this is how the idea are structured together, now let's review them and then let's get a nice prose out of it.

Planktonne13 days ago
> But most of the writing is usually, these are the ideas, this is how the idea are structured together, now let's review them and then let's get a nice prose out of it.

I know lots of AI-enabled writers believe this, but I've never actually seen it be true.

graemep13 days ago
"Politicians speech are not worth listening too because they have a copywriter polish them?"

It often makes them less informative and a lot less sincere.

RugnirViking10 days ago
> let's get a nice prose out of it.

what do you think this process is? why don't we just write lists of ideas to each other, in the raw format you presumably started with? is there any value in it?

my opinion is that the process is literally nothing more than thinking deeply about the ideas and trying to phrase them in the clearest possible way such that you lead someone else into understanding them.

LLMs have awful, terrible judgement of what other people know, or are likely to infer from a piece of text.

boplicity13 days ago
> If you can't spend the time to write it, why should anyone read it?

That's actually a legitimate question, and one I've been thinking about, as I've been using LLM tools to compile factual information based on various search tools it uses. The workflow gets sources, fact checks them, filters them according to my needs, and gives me clean urls for source information to hand off to an editor for writing a short listing. It's very hard for the editor to do a much better job at this type of writing; the real benefit of the work was in the research, which was handled by the LLM. The rest is basically just putting the facts in the right order, with some guidance on style, preferred word choices, etc. I'm not comfortable with this at all, as giving work to an LLM that a human could do strikes me as wrong. But using LLM tools gives me a big competitive advantage (for now), in the space I'm doing this in.

derektank13 days ago
>I'm not comfortable with this at all, as giving work to an LLM that a human could do strikes me as wrong

Where does this feeling come from? Is it just because the work is complex? We’re all (excepting maybe the amish) comfortable with using at least some automation, be it mechanical or digital, elsewhere in our lives

loloquwowndueo13 days ago
> compile factual information based on various search tools it uses. The workflow gets sources, fact checks them, filters them according to my needs, and gives me clean urls for source information to hand off to an editor for writing a short listing.

What’s preventing the editor from using one of your prompts/tooling and replacing you entirely?

There’s zero value in sharing ai-generated output unless your ai has access to something nobody else’s does on which to base things. If all it’s doing is web research you should share your prompt instead. That way people don’t have to deal with ai-written walls of text.

iqp13 days ago
> If you can't spend the time to write it, why should anyone read it?

100%. We're producing more content, faster, than ever before but ... most of it is just click-producing garbage that won't stand the test of time.

CuriouslyC12 days ago
The thing is, that was the internet before AI. In fact, generative AI almost certainly raised the AVERAGE quality of stuff on the internet, human slop was/is absolute trash, whereas AI slop is just bland and meandering.

The problem here is that the volume of low-mid content is making it harder to find the best content.

JimDabell13 days ago
> If you can't spend the time to write it, why should anyone read it?

This isn’t your thought; you are merely regurgitating a sentence we have all heard many times before, practically word for word.

Presumably you think there is value in posting yet another copy of that other person’s thoughts in this discussion, despite having spent no time or effort in thinking it up yourself.

Why is that? Is it because you think there is inherent value in the sentence you transcribed, in spite of the near zero effort you spent creating it? If you think anybody here should read it, then you have undermined your own point. If you don’t think anybody should read it, then you shouldn’t post it.

sm-silversight13 days ago
How do you know it's not his/her thought? Just because others have had it does not mean he/she did not put effort into considering it.
dofm13 days ago
There is critiquing an idea using pointed Socratic critique, and there’s coming across as a bit of a dick, Jim.
andrewflnr12 days ago
Some things are worth repeating, so the community knows that many people share the belief. Often they're slogans, sometimes they're just plain good arguments.
bigmadshoe10 days ago
There's a big difference between reintroducing this unoriginal point in the context of this thread and presenting an entire piece of LLM writing as your own. That phrase from this comment isn't pretending to be an original piece of writing.
phrotoma13 days ago
Agreeing with a person is not the same thing as agreeing with a robot.
thombles13 days ago
Even if you don't want style advice from an LLM (I generally don't, not for blogging), for a technical blogger "please check this post for factual accuracy" is a good way to not look like an idiot. Often it complains about hyperbole, which I tend to ignore since there's no point blogging unless you have some firm opinions, but on at least one occasion it pointed me towards some documentation that undermined my entire post - and led to a much better one a week later once I'd processed and applied that new information. Thanks, LLM.
simonw13 days ago
I do this all the time. It's shocking how well it works. A year or two ago suggesting that someone use LLMs for fact checking would get you laughed out of a room, but today the good ones (Fable, GPT-5.6/6) with a search tool enabled are genuinely excellent at this.

They can even retrieve articles you link to and check that you aren't misrepresenting them.

geraneum13 days ago
This is bad advice for anything serious that can be subtly wrong. I’ve had Fable being consequentially wrong about what a certain, rather small, code block does in our codebase. Not even on something very complex which wasted a lot of time and effort from the team until we checked the code ourselves. I think these tools are still useful and one should learn to use them but blind trust for anything of importance is misguided IMO.
benoau13 days ago
I do something like this with code all the time, “is this idiomatic <foo>?”, I find it very helpful.
ralphington13 days ago
Hyperbole = strong opinions? If you're stating your 'strong opinions' as fact, then you deserve the push back. If you're stating your strong opinions as strong opinions, then fair game.
ferngodfather13 days ago
You say this but fact and opinion are very similar and not at all easy to distinguish.

For instance, if I said the grass is green vs if I said the grass looks nice vs if I said the grass is doing well and looks how it should vs if I said in my opinion the grass is healthier than its ever been.

dan-robertson11 days ago
If a model complains about hyperbole, that doesn’t mean the text is hyperbole, and this can be because of the context of the text or because of the hedging the models are wont to do
matheusmoreira13 days ago
> If you're stating your 'strong opinions' as fact

Is there anybody on this site who isn't?

thombles13 days ago
If I want to say that iOS is useless for developing Bluetooth 5 features then this is true for all practical purposes and doesn’t deserve elaboration in my text, even if Apple’s API technically exposes one or two tiny pieces.
nirava13 days ago
I've found the only good way to write with LLMs is to absolutely not use it for the first few drafts, the using it as a tool to list specific kinds of problems in text (word repetition, unnatural hard to read sentences etc) and approaching those points with caution and skepticism. Even copy pasting a single sentence, I've found, is a slippery slope.
bsenftner13 days ago
Just write, write your own words, then create an effective communication persona within your LLM's non-reasoning (non-Chain-of-Thought) capabilities and have it critique your writing after describing your target audience. Then, write your own revision following the critique. Using this, it is not possible to write "AI slop" unless your own writing is already in the style of LLM output. Which I get accused of when I write using my formal voice, but fuck that sorry for being well educated.
bovermyer13 days ago
This is close to my approach. I'll use LLMs as a read-only editor for my writing. Sometimes I follow its advice. Sometimes I don't. Other times, it discovers things I want to change, but not in the way it describes.
brap11 days ago
One thing that sort of worked for me is to write the skeleton myself, i.e. the general ideas and how they fit together, the overall “flow” of what I want to say, then have an LLM fill in the blanks (I either point it at some context.md or have it ask me questions when details are missing).

It’s kind of like designing the high level software architecture yourself and have the LLM write the code for each component.

Not bulletproof, requires some iteration, but miles better than what it would produce on its own.

CuriouslyC12 days ago
Try using them to have a long discussion and provide it input data, then have it emit a concise bulleted outline given the points you want to make. Then you can rejigger the outline efficiently as needed and write the text yourself.
alansaber13 days ago
Exactly- without constraining the input, you're guaranteed to get slop. First-draft AI copy is usually 95% to-cut, 4% to re-sequence, 1% to keep. Use it to think about iterating, not sweep the solution space blindly.
Retr0id13 days ago
> Present the original and new writing to the model and ask it which is better.

LLMs have absolutely terrible taste when it comes to writing. I don't find their feedback useful at all, beyond trivial spelling/grammar mistakes, which you don't really need an LLM for in the first place.

Proofreading is all you need.

Edit: I do sometimes ask an LLM for a fact-check, though.

ttctciyf13 days ago
Yeah, the best advice is: Don't. Write it yourself; make judgements; learn.

In general use today, AI primarily functions as a stupidity amplifier: it empowers dumb people to do dumb things more pervasively, with less effort, and at unprecedented scale.

We're moving into an era of artificially enhanced stupidity.

tptacek13 days ago
That’s what this is: it’s mechanical proofing.
Retr0id13 days ago
As a "proof" of their poor judgement, take a paragraph you like. Ask the LLM to rewrite it to make it better (which I think we both agree will not make it better), and then in a fresh session ask it which it thinks is best. It'll almost always pick its own writing, even when it sucks.
Retr0id13 days ago
I don't think it's a useful substitute for actual proofreading though, unless you're truly in a time crunch. When I proofread I don't just look for mistakes, I try to put myself into the position of a prospective audience member. LLMs seem to have absolutely no concept of "theory of the reader's mind". If I'm going for extra high effort, I have friends read it, usually asking them to identify anything that was unclear or hard to follow.

Read the full thread on Hacker News →

Related stories