Yeah, for me, that's what parsing huge volumes of LLM-produced text like "direct model calls as replaceable semantic workers" does to my brain. Maybe others don't really have this issue, but after any long output, I prompt the agent "Go back and decompress any LLM-speak in light of the higher level task goals. Eliminate deictic language."
The revised output documents are solely for my personal usage to expedite understanding. The LLMs can slowly converge on their own language for all I care; I retain raw agent output for future agent usage (to avoid the "lossy" problem the author mentions), but that doesn't eliminate the need for some intermediate translation I can use to actually help get my work done instead of spending hours attempting to understand what a "load-bearing pinned gate" is.
I've come to believe this is also a side effect of the desire for less (/goal: no) human in the loop on the part of the people driving all this capex spend. I think if you actually want to manually review output there will be a moment where you will actually want a separate interface to a stupider or "simpler" model. I suspect sometimes dealing with Fable 5 that this threshold has already been crossed. It's not that the raw code output is so good, it's that it just doesn't speak to me in a way I would like. Perhaps the verbosity is worthwhile when generating code as a sort of first pass some other model can auto or adversarially chop down. The best place for a human is probably outside of this part of the loop all together.
So I might as well just let it auto /goal it's own thing with sufficient constraints while myself and a model that can converse in parallel with less "deictic" (thanks for this word btw) volume as you put it for the areas of the code where I want to "frame" the vocabulary or where my personal understanding is of high value. I know people already do this in many ways, like use one company's model for planning and another for coding. It just feels inevitable at a certain point that the "natural language" output of LLMs writing the bulk of the code is not targeted towards humans. And really, why should it be?
Eschew obfuscation...
If I see a long paragraph and I know the author is Neal Stephenson I think “this is going to be dense but good.” LLM long outputs on a code base I know well just make me glassy eyed.
For some discrete skills I use, I include a final step on the the output that runs through 1+ subagents to de-slop the text and to actually simplify it, but so far nothing has worked as well I've hoped. Considering hopping off Anthropic's models to try out others to see if they're less egregious.
It is running up your bill.
I will say this again: LLM's tokens are just B2B Gacha.
I've probably read Jack Vance's Dying Earth Series 3 times; Even though I've only sat and read it once in reality. This also points out the problem of important details along side the fluff.
If only I enjoyed LLMs prose as much as I do Vance's.
Any recent work by William Gibson matches the description.
The way I managed to get claude to stop doing this is telling it "This document is for you for later use, no need to over explain things or extra verbosity"
"Answer impersonally, objectively and analytically, without undue friendliness or enthusiasm. Use an engineering style response: concise, factual, and complete. Do not speak in the first person. Do not promote engagement or an emotional connection. Do not use emojis."
There's an important point in the article, that forcing a style onto an LLM is lossy. Although he doesn't seem to mention it, forcing a style may result in the insertion of new blithering, possibly made up as a hallucination.
Now, the second example is the only thing that works. Power users have lost their powers with AI overview.
> That compression is lossy.
> You probably never notice what got dropped because the output still reads nicely.
> ASD-STE is a great example because it sounds so reasonable. It was designed to make documentation unambiguous for humans. But an agent isn’t a human technical writer, and the raw state is often the most information-dense representation available. Meanwhile the style rules sit on the same instruction list as: solve the task, use tools correctly, preserve abstractions, don’t break anything.
Author seems to have some misconceptions about LLMs. They already code-switch for us: the way they speak in chain-of-thought is completely different from the relatively normal language generated as human-facing output. You can observe this in any open-weight LLM, or in leaked CoT content from GPT5.x series etc: it's terse, barely follows sentence structure, lots of repeated checks and second-guessing.
On the next turn the model usually still has access to its previous turn's chain-of-thought, and I imagine that's what it'll use as reference, rather than the softer human-facing prose.
This being the case, asking the LLM to code-switch to an easier dialect for us doesn't seem that harmful.
For a more extreme example: if I talk to an LLM in Japanese then its response will be in Japanese, but its CoT will still be in either English or Chinese (depending on the model). These are two completely separate languages, but the LLM just kinda deals with it.
Not humanising it...
People want the terse, matter-of-fact output. Not the conversational chatty verbose and bloated nonsense with gray words and jargon and terms like "blast radius"
Is that a problem with https://code.claude.com/docs/en/output-styles?
> Output styles apply to the main conversation only: a subagent runs its own system prompt, so styles don’t change how subagents respond. A fork is the exception, because it inherits the parent’s full system prompt.
I'm sure you can make it to output the exact issue details as you want, but it starts with a human-like tone and waits for your requirement on depth and detail of the things. Another option is, just check the output of the traditional test runner (non-AI). It will give the full details.
Seems like something fixable with a simple two step process. Ask it the thing. Then ask it to summarise the answer in simpler terms. More tokens and time aside that would check both boxes
In other words, is there a way to keep the internal process intact up to the point of the formulation - and have only that vary.
It has worked great but i've spent more time beating LLM output into parseable output than I have reading and appreciating the prose it sends when i'm asking it something about some snippets of code.
This way workers still operate completely in their preferred linguistic space. And you can safely mold the output stylistically however you like.
It isn't deliberately unhinged like Steve Yegge's take: https://yegge.ai/essays/model-welfare/ In Steve's essay he starts with the assertion that agents are sentient... Whether or not that's true isn't really relevant, as his agent-flavored version of Pascal's wager actually holds water, especially for Anthropic models, as their system prompts already push the model in that direction, and it is better to work with them than try to prompt against the tide.
I don't think it's wise to take communication advice from someone so helplessly juvenile (and attention seeking) in their own communication attempts.
Would love to see some data backing how strong the effect is.
Yes, that's exactly what I want. I want to know what is done with a high level why, NOT a paragraph explaining each line of code modified.
A frequent tweak I've made on coding work with Claude in the last month is asking it to restrict its comment length to 1 line/sentence max. I just want `// This happens because XYZ upstream`, not `// Historically from ticket blahblah there was some dummy code where we discovered ancient runes and that led us to looking into your birth records and then triangulated an issue in XYZ upstream that we compensate for here`.
The model's "most information dense representation" is very similar to how we compress data in the first place: most of it is redundant or unnecessary for the purposes of storage. I'll "decompress" the 1-liner context myself when I read it again in 6 months. But I can't stand reading just so much slop commentary when we're all writing more code at once and having to review more than ever.
This is why /bro skill works.
https://github.com/backnotprop/bro/blob/main/skills/bro/SKIL...
If the author wants to read slop for hours, be my guest. Make it lossy, my job is not to read mimetic feelings, it's to make sure implementations get implemented.