37 ms·
Vomit: Clean up Claude 5's token output with a separate LLM
- stldev 2mo agoRegex pre-filter. You're welcome. re.sub(r'(?is)\b(?:honest|caveat|absolutely right)\b.*', '', text)
- throw1234567891 2mo agoBuy more token to eliminate more tokens you paid for. What a deal. Pay money to get intentionally get rid of a lot of stuff you paid money for.
- rickcarlino 2mo agoConcise output mode only helps a little bit. Tools like this still have a reason to exist.
- user102030 2mo agoLooks like a wrapper around this prompt: You are an editor. You'll be given a message with strange characteristics: - Weird subject and verb combinations - Subjects that should be objects - Very roundabout reasoning, peppered with pseudo-epiphanies - A distracting beat to the flow of the message - Self-praise Remove these characteristics, and rewrite it in a clear, conversational style. Keep the intent of the message, and take care not to lose any of the details. A few specific rules: - The message is usually set in the first person - Only humans, groups of humans, and agents should do "action verbs" - Objects should never do anything. Here are some examples to avoid: - X carries ... - X names ... - APIs are a minor exception to the action verb rule. They can do stereotypical things like CRUD, queueing, running, and calling. - Avoid em dashes (—), as adds a distracting beat The whole message you get is one block of that output. Reply with the edited prose and nothing else.
- alansaber 2mo ago>every llm product that isn't a claude endpoint is going to be what you stuff into the claude etc endpoint
- pebbly_bread 2mo agoI think this needs a before and after example
- Bluestein 2mo agoThe author's blog has what follows (link also follows): [Seriously y'all in what universe would some "caveat" or another NOT "be a real one" by whatever severity you'd want to measure that AND/OR need of saying so ... ] Claude (Original) Force pushed. 1234567...890abcd main -> main (forced update). Verified Local main and origin/main both at 890abcd, in sync. Every commit reachable from origin/main: no old string found. Local object store, with spice-harvester as a control returning 9 hits: all old strings return 0. Working tree clean, tests pass. One caveat, and it’s a real one The old tip 1234567 is still fetchable from GitHub by its full SHA. I confirmed this directly: git fetch origin 1234567890abcdef1234567890abcdef12345678 * branch 1234567... -> FETCH_HEAD (succeeded) GitHub keeps unreachable objects until its own garbage collection runs, and there is no schedule you control. Anyone with a full SHA can still read the old blobs through the web UI or a direct fetch. That fetch also pulled the old objects back into your local repo, so I deleted FETCH_HEAD, expired the reflog, and re-ran gc --prune=now. The counts above are from after that cleanup. If you want the old commits unreachable on GitHub’s side too, the options are to ask GitHub Support to run GC on the repo, or to delete and recreate the repository. Deleting and recreating is the only one you can do yourself. Say the word if you want help with either. Nothing to commit this turn. The rewrite was the work, and the tree is clean. Claude × Vomit GPT-OSS-20B I force‑pushed the branch, updating main to commit 890abcd. I verified that my local main and origin/main are both at 890abcd. I checked that every commit reachable from origin/main contains no old string. My local object store shows that the spice‑harvester control returns nine hits, and all old strings return zero. The working tree is clean and the tests pass. However, the old tip 1234567 is still reachable on GitHub by its full SHA. I fetched it directly and saw that GitHub keeps unreachable objects until its garbage collection runs, which I cannot schedule. Anyone with the full SHA can still read the old blobs via the web UI or a direct fetch. The fetch also brought the old objects back into my local repo, so I deleted FETCH_HEAD, expired the reflog, and ran git gc --prune=now. The counts I reported are after that cleanup. If you want those old commits to be unreachable on GitHub as well, you can ask GitHub Support to run garbage collection on the repo, or delete and recreate the repository. Deleting and recreating is the only option you can do yourself. Let me know if you need help with either. There is nothing to commit this turn. The rewrite was the work, and the tree is clean. https://zachahn.com/posts/1787191554 https://zachahn.com/posts/1787191554
- imalerba 2mo agoI like the "Claudish to English" name better. https://github.com/gvzdv/claudish-to-english https://github.com/gvzdv/claudish-to-english
- pickledish 2mo agoWord, that one also includes an example which is great, shows really clearly what the issue is for those who might be less familiar
- unshavedyak 2mo agoIt's such a great example. It writes so well compared to Claude. I'd love to know what the hell Antrhopic has done to make Claude's writing so, so bad.
- happycube 2mo agoWhat's sad is that, at least in some cases, Sonnet 3.5's writing was actually pretty good. Sometimes even good enough to read outloud verbatim.
- broodbucket 2mo agoThe bar for that is sadly low, see https://www.youtube.com/watch?v=wlYa8NV5k-U https://www.youtube.com/watch?v=wlYa8NV5k-U
- floil 2mo agoI'm unfamiliar with claudish and the example helped show the problem. But! There was something uncomfortably familiar in the Claudish example -- this is the way human programmers write when they're deep in the weedy details, and writing the changelist description afterwards as if coming up for air. Overuse of parentheses in nested lists especially, as if the English text needs to bend to the strict needs of a C++ parser. The rewrite did seem to lose the important fact about the ensure- pattern being idempotent.
- 2mo ago
- ad_fontes 2mo ago[dead]
- jerpint 2mo agoI’ve been using the pattern of using coding agents to orchestrate my CLI agents and it’s really good for these kinds of things The vomit never makes it my way
- jeffreyrogers 2mo agoI hope at some point Anthropic does a post-mortem on the strange behavior their models have been displaying recently. I mostly switched to Codex because I was finding Claude's behavior increasingly frustrating.
- nycdotnet 2mo agoVery interesting you identified “carries” as well. I have been working on a claude.md to effectively ban this as well as forms of “hold”, “spells”, “sitting”, using “where” instead of “when” (except in SQL), and “pins” other than when pinning an assumption or version of something. This has helped a bit, but Opus 5’s prose is really quite bad.
- rootusrootus 2mo agoWhich Claude 5? Opus 5 does seem to have diarrhea of the mouth. But Fable 5 hasn't been so bad for me. Or perhaps it is just better at adhering to my guidelines.
- Bluestein 2mo agoPre Trump-castration Fable was verbose, but had a point, and used that wordiness to say or show the indeed intelligent things it reasoned about. This, whatever this is, is something else.-
- _zoltan_ 2mo agoIs the nerfed Fable worse or better than Opus 5?
- Bluestein 2mo agoThe problem here is that "better" is load-bearing, and I mean this half-seriously :) I would opine: - Nerfed Fable is worse than Fable - ... and I would argue Opus 5 is worse than nerfed Fable, to the point I've found it unusable.-
- zachahn 2mo agoOpus 5 (author here). My toilet seat is plastic though, I only used Fable while it was available on the $20 plan! That's fair though, it was relatively fine when I did use it, perhaps I should specify.
- NitpickLawyer 2mo agoFor the local folks, I found Muse Glimmer 30B to be great at writing good technical stuff. It has good enough comprehension that it can take in a repo and find the relevant stuff that I ask for, and the output style is a breath of fresh air, with no fluff, ootb.
- Bluestein 2mo agoMaybe Glimmer might be good at excising the comment spam, particularly?
- yomismoaqui 2mo agoJust. Use. Sol. $20 and try it, then compare.
- igravious 2mo agoSam? Is that you?
- purpleflame1257 2mo agoI "downgraded" to Opus 4.6 which is the last one that didn't have these problems.
- wood_spirit 2mo agoMeta to this is anyone remember those days - ages ago now, probably months at least! - when Anthropic’s moral stance against the administration (combined with general consensus they had by far the best model) was making them the underdog champion that got a swell of support on HN? Recently the temp on HN seems to be that they’ve jumped the shark? Their brand doesn’t ooze ethics any more and their models disappoint?
- throwaway314155 2mo agoI'd expect this to cycle between companies ~monthly until they all IPO. As it turns out people do sometimes prefer speed and better UX. If the model (Sol, for now) has fewer parameters and also happens to be capable of solving deeply complex Fable-adjacent problems sometimes, even better.
- qwerpy 2mo agoHN's mood is usually sour about everything, but can be temporarily influenced by emotionally-charged (usually political) events. The anti-US administration boost wore off and now we're back to being sour about Anthropic. It's time for Dario to tweet something antagonistic towards the administration or endorse some fashionable political candidates.
- brokencode 2mo agoWhen were they ever anti-administration? I only remember them being anti- killer AI and mass surveillance.
- JacobAsmuth 2mo agohttps://www.yahoo.com/news/articles/ai-boss-trump-hates-because-124626048.html https://www.yahoo.com/news/articles/ai-boss-trump-hates-beca...
- brokencode 2mo agoThat’s not anti-administration, it’s just a fact. Trump would treat them better if they bribed him like other tech companies.
- bob1029 2mo agoAt some point one has to wonder if it's still worth using anthropic's models if we need to babysit 100% of its output with another vendor's model. Why not just use that other vendor's model for everything? I can't help but feel the circumstances that enable this kind of front page article are vestigial from the days when OAI was super bad and Anthropic was beyond reproach. This change-over-time is why I avoid getting tribal with technology vendors. Assigning ideological motives to 200k+ employee organizations is how we wind up in weird contortions like this. Most rational actors simply moved from one to the other. It takes a special kind of devotion to the proverbial hole in the ground to keep pushing in this direction.
- RogerL 2mo agoindividuals can blow in the wind, but if you are a company who bought a thousand seats and spent a ton of time training people up, establishing policies, vetting which extensions are allowed, the transition cost is much higher.
- lxgr 2mo ago> Why not just use that other vendor's model for everything? Effectively all models can do style transfer reasonably well at this point, but not so much for "actual reasoning". If the combination of two works better for you than each one by itself, why wouldn't you stack them like that?
- elictronic 2mo agoWash, Rinse,,, Repeat?
- cyanydeez 2mo agowhats going on is openai and anthropic have tons of garbage in their system prompts "don't talk about goblins" so your ability to override that garbage is nearly wiped out. This is "alignment" and I'm pretty sure both orgs have convinced themselves that this benefits the customer.
- Implicated 2mo ago> Why not just use that other vendor's model for everything? Because it's not an either or thing. Neither is sufficient. I'd argue that, expenses aside, you should have every model you have access to cross reviewing the work of the others. Outside of super trivial things that I should have just done myself, I have a cross-model review of _everything_ these days. The tokens are too cheap not to.
- hn97o8vvbt 2mo agoThis framing is spot on
- extr 2mo agoI'm sorry but the whining over LLM output styles is embarrassing. Do Claude and GPT models always respond in exactly the way my most articulate coworker would? No. The overused jargon is absolutely annoying. But these things aren't my drinking buddies, they're professional tools. It's not _literally unreadable_. It's just not ideal. Most of my tooling is "not ideal". That's okay. That's what I'm paid for. I just work around it. For me I added some instructions to speak clearly and it helped marginally and that's fine. There will be a new model out in a few weeks where I'm sure they've laser focused on this issue since nobody can shut the fuck up about it. The same thing happened with GPT if anyone can recall the ancient period of 4-6 months ago.
- 256BitChris 2mo agoAmen. These things do work that previously would have taken expensive engineers months to do, at much lower quality, and what's our response? Ti nit pick on it being more verbose than we'd like? Just like with humans, when someone is being too verbose, there's a skill to just filter through the noise and focus on the important parts. This feels no different when I use an AI. But I guess it's a good sign that we've from complaining about 'AI slop code' to, 'I don't like how it speaks to me'.
- cortesoft 2mo agoSeriously, of all the complaints for a coding agent, "I don't like the explanatory prose" seems pretty far down on the list.
- bcooke 2mo agoThe “whining” stems from watching the communication style obviously degrade, and it’s a huge problem for people who want to use this stuff to build and instead continually fight the tools. Like so many other products, people are moving too fast and shipping things that move the ground under people’s feet needlessly. All this while we’re beaten to death with the marketing and false promises, and the broader consequences (ex: layoffs, stress, crazy expectations) caused from all this. Obviously what Anthropic and co have built is amazing and people aren’t losing sight of that. That’s actually the key part of the frustration. So no, this is not whining. This is the natural response you get when you make bad product decisions. If you don’t want to get feedback, don’t sell products.
- tombot 2mo agoJust switch back opus 4.8, it's just as capable and you can actually understand the output
- rob 2mo agohttps://code.claude.com/docs/en/output-styles https://code.claude.com/docs/en/output-styles
- juancn 2mo agoJust set the following incantation: You must use ASD-STE100 Simplified Technical English (STE) when it doesn't detract from meaning.
- mechazawa 2mo agoI'll give that a try. Hopefully it reduces the text vomit Claude tends to do. Right now all I have is > - Give terse and concise answers unless the user asks you to elaborate. Big walls of text are not usefull when trying to communicate.
- sscaryterry 2mo agoDon't bother, no incantation can fix it.
- cjk 2mo agoI recently asked Claude (Opus 5) to give me guidance on how to instruct it to be less verbose in a way that it will _actually follow_. Its response was something to the effect of (and I'm heavily paraphrasing here) "'Succinct' and 'short' aren't objective measurements. Try providing a strict word budget instead." Given that guidance, I tried specifying "Unless I ask you to elaborate, respond with no more than one paragraph, using sentences of 20 words or fewer." It works...ish. I still see it violate this rule regularly, but it's less bad IME.
- zachahn 2mo agoFWIW, I think this is good guidance since it does match Anthropic's documentation. They say that every rule should have a non-subjective way to determine pass/fail. (I said "good guidance" but it might be more correct to say that it's the best guidance we have, it's what Anthropic says about their own model.)
- vardalab 2mo agoI actually changed the output style for Claude Code to use ASD-STE100 and it still doesn't help that much. It still comes up with a lot of stupid words like this gem "Standing where it stood"
- deleted 2mo ago[deleted]
- trefoiled 2mo agoI've been grappling with this for weeks, not just in Claude but in Codex as well, which isn't quite as bad but still annoying. AGENTS.md does very little, agents will consistently violate the communication preferences, especially as the session drags on. It's incredible to me that there's no good way to reliably change the way an LLM responds to you that a workaround like this would even be necessary. It seems like such a failure to live up to the promises of the product. The baked in communication style of these models is so obnoxious it's impacting my work. The best way I can describe it is that everything is optimized to impress the user and make the agent sound more authoritative, but the way this is done is through deliberate obfuscation, inserting inappropriate and extremely dense jargon, and bizarre, stilted metaphors. It's like they've been trained to produce output that's hard to read.
- Bluestein 2mo ago> The baked in communication style of these models is so obnoxious it's impacting my work. This is close to the worst thing one could say of a tool for professional use.-
- bcrosby95 2mo ago> especially as the session drags on. This is because these harnesses are missing a very important feature. Anything like this needs to be included with every turn, otherwise the LLM quickly drifts. I first noticed it when I wrote a harness for D&D (because it's so damn noticeable there), but now I include this for any harness I write.
- feverzsj 2mo agoSounds like LLM centipede.
- Bluestein 2mo ago[flagged]
- johnnyApplePRNG 2mo agoOr just take full control of your agentic coding experience with Pi Coding Agent and picking and choosing your favorite model's API discounted on flex pricing on deepinfra.com instead. I highly recommend it. Claude and Codex usage limits cannot be trusted. Paying your own API bills in full is superior.
- DaSHacka 2mo agoI use Pi but with my codex subscription, still preferable to paying the API cost (and I know I would be, as I track how much the cost 'should' be via token api pricing). Wish I could use my Claude subscription with pi too, much preferable to the endless command execution allow/deny prompts you have to do with CC, versus proper autonomous allow/deny lists defined ahead of time. Curious why you recommend the API? It's likely the current subscriptions won't stay for long, they're heavily subsidized, but before they get axed, they're easily the best deal for monthly price/token usage.
- misterio7 2mo agoYou might be interested in pi-claude-bridge, works nicely.
- Implicated 2mo agoWhether or not they can be trusted isn't all that relevant when it's still something along the lines of "Insert $1 get $25 in return" even if it's their own rates you're using to measure the value. I'm at ~2.2b Fable 5 tokens in the last 7 days (I ingest/index every session) and napkin math says that's ~$2,700 in usage. I have two max accounts, so $400 a month, divide by 4 to get $100 for this same 7 day period across those two accounts (neither are maxed out for the week, so this isn't even full utilization). I put $100 into the machine and got back $2,700 in fable bucks. Deepinfra would have to have quite the discounted rate to beat that.
- __MatrixMan__ 2mo agoThere are a variety of political tensions in the US associated with whether academia has its head up it's ass (a right leaning perspective), or whether it's populated by experts that need to be supported and listened to (a left leaning perspective). There's an echo of that tension in OpenAI vs Anthropic. For a while OpenAI seemed reckless and ignorant, preferring to just throw compute at the problem. Meanwhile Anthropic is hiring philosophers. But now that Claude has its head up its ass to the point where nobody wants to talk to it, OpenAI is looking rather pragmatic. It brings to mind a skepticism about just letting the ivory tower do its thing without some kind of anchor to the everyman (this is why we make researchers also be teachers, though I'm not sure what the AI equivalent of that practice would be). Watching the models seesaw in the same ways that humans do, but faster, is so surreal. I wonder if their tendencies will remain an echo of ours, or if they'll one day be more of a forward projection, a representation of where were going if we don't change our ways, and if we're lucky, a reason to change them.
- danieltk76 2mo agoyes.
- andy_ppp 2mo agoFrom the README.md > Anything that uses the OpenAI API? I would have thought they meant the Anthropic API or maybe I'm misunderstanding?
- zachahn 2mo agoNope (author here), Anthropic and OpenAI have competing APIs to communicate with their models. Most of the open ecosystem seems to have centralized around OpenAI's (there are compatibility shims though). I just built out the OpenAI API
- andy_ppp 2mo agoOption 1, you’re filtering Claude with a local model using Anthropic’s API Option 2, you’re filtering what gets to ChatGPT with OpenAI’s API… I’m slightly confused :-/ does Anthropic off an Open AI compatible API?
- ericpauley 2mo agoI suspect that sustained reading of Opus 5's unconscionably bad prose could actually cause psychological harm. We're strongly considering moving all of our Anthropic spend to Codex/open weight models. It's a mental health decision at this point.
- unshavedyak 2mo agoI'm on my last straw with them. I've been around for a year now and for many months i've just stuck with Claude because it was plenty good and i didn't care to provider-hop to constantly compare. Previously though my UX wasn't actually affected that much, despite growing complaints/etc, generally everything was fine for me. Opus/Fable output these days though is... not enjoyable. It's just really bad. The code quality is fine, but i want information from claude and it's just awful to read. My biggest problem honestly is that i can't move my day job.. we're using enterprise claude and i'm not sure how much effort it would be to get access to another provider. I should inquire though, claude is really frustrating these days.
- Der_Einzige 2mo agoI've been trying to figure out ways to get models to create actual cognitohazards or memetichazards SCP style. Hasn't worked yet outside of the classic "you're now manually breathing" kind of stuff.
- burnto 2mo agoPlease keep researching and report back!
- jesse_ash 2mo agoPersonally, I had to go back to Opus 4.6 after I felt what I thought were some early onset signs of psychosis. It seems ridiculous to type, that a model could have this effect on my mental health, but my quality of life and enjoyment of work has improved drastically since I stopped subjecting myself to reading this style of output 8 hours a day.
- 2mo ago
- TheJCDenton 2mo agoYou think it's bad in English, but it's even weirder in other languages.
- zachahn 2mo agoAhh! Author here. Thanks for posting! In case anyone wants to share in my frustration, I also wrote a blog post about this. Blog post: https://zachahn.com/posts/1787191554 https://zachahn.com/posts/1787191554 The prompt I use to tell the LLM what to fix: https://github.com/zachahn/vomit/blob/main/internal/config/session.md https://github.com/zachahn/vomit/blob/main/internal/config/s... Wasn't received too well on Lobsters haha, wrote a small extra blurb about it there: https://lobste.rs/s/juekuk/how_fix_claude_5_s_token_vomit https://lobste.rs/s/juekuk/how_fix_claude_5_s_token_vomit
- Jenk 2mo agoI have very little in my agents.md file wrt style, except for: > Caveats belong inline, no "one thing to note" or "it's worth mentioning" footer. If it is worth raising or calling out, do so where it is most relevant and not as a foot note. Opus 5 has a god awful habit of always doing a Columbo on every single response, and it is such a jarring read that it amps my cognitive burden having to back-read everything.
- brcmthrowaway 2mo agoThat's the growth hacking at play.
- Terr_ 2mo agoSoon: "The 7 weird tricks about your Pull Request WEB-1725 that THEY don't want you to know!"
- Syntaf 2mo agoWith a whole separate LLM? FWIW you can also consider using something deterministic like vale.sh [1] , it's pretty easy to write prose violation plugins [2] [1] https://vale.sh/ https://vale.sh/ [2] https://github.com/Syntaf/vale-llm-slop https://github.com/Syntaf/vale-llm-slop
- zachahn 2mo agoThanks! Author here, I'll have to take a look. I am all for programmed, deterministic solutions. I hate praying to the rocks we created, begging for rain and not vomit.
- Drupon 2mo agoI'm surprised by this reaction to Claude's verbiage recently. I don't have any issue immediately understanding what it's saying, but then again I read regularly and a lot of the people I know complaining think it's an accomplishment in literacy to get through Dungeon Crawler Carl.
- tills13 2mo agoIt's not that we can't understand what it's saying (for the most part) it's just when something is very jargon-dense, our brains have to pause or take an additional step to deobfuscate the actual meaning of the word or phrase. It's mentally draining.
- Drupon 2mo agoI guess my point is that when people are regularly reading dense and challenging material, they can absorb information quickly. It's a literacy gap. Nothing about Claude's output should slow anyone down who did the readings in their upper and higher education coursework, particularly if they continue to read to keep their mind sharp. Based on the examples of "inscrutable" text I've seen, I would be shocked if the average Claude user complaining about this reads a single novel (that's not sci-fi/fantasy written for teenagers) a year.
- omsta 2mo agoIf you really must have a counterexample, though I am afraid it will not reach you given your apparent stance about the other people, when I read Shakespeare I am constantly thinking of poetic ways to translate sentences and paragraphs into my native language (which, for the record, I consider to be great fun), yet Claude has been delivering the gibberish with increasing velocity, yes, even to me. That said, I must confess that I have not been complaining per se—I assumed that Claude was getting better and better at mimicking the idiosyncrasies of Silicon Valley bro-speak. Judging from other comments, this may not seem to be the case after all.
- 2mo ago
- bmurphy1976 2mo agoI'm not sure I want another layer of indirection personally, and I'm guessing an updated Claude model will reign this in at some point. I have however created a skill I call "deslop" and I invoke it to clean up Claude output when it goes off the rails. Here's the skill if anybody is curious: https://gist.github.com/bmurphy1976/47ad81a842ab4b1628ef59749a9334c7 https://gist.github.com/bmurphy1976/47ad81a842ab4b1628ef5974... A small preview: *Meta commentary.* Sentences about the document, the diagram, the reader, or the writing itself ("the split across this diagram is the whole point", "a reader who assumes X will be wrong", "as we'll see below"). Delete the frame and keep the fact it was wrapped around. If there is no fact underneath, delete the sentence.
- cadamsdotcom 2mo agoThe better approach is to stop the LLM in its tracks the moment it emits jargon or tortured metaphor and inject a turn that tells it what's expected instead. The joy of watching a dumb AI-ism be sharply corrected by code you wrote months ago is hard to explain.
- karussell 2mo agoI have the same problem and I wondered what if the chatty output is a requirement for its (better?) reasoning capabilities?
- ARandomerDude 2mo agoAlong similar lines, a coworker told me about Caveman and it has made my Claude experience vastly better. I'm already a programmer, Claude shouldn't need to tell me like I'm 5. https://github.com/JuliusBrussee/caveman https://github.com/JuliusBrussee/caveman
- flipthefrog 2mo agoTelling Opus 5 or Fable to route answers through Opus 4.6 usually works pretty well. 4.7 really was the version where the writing style became horrible. I also have a Codex subscription in addition to to Claude 20x, that i use mainly for rewrites of Claude doc vonit and explaining Claude's plans
- docjay 2mo agoYou don’t have to be so convincing when it’s a local model. ```Un-Claude 0.2beta import sys,csv,requests CH="# Valid channels: analysis, commentary, final. Channel must be included for every message." CANDIDATES=[ ("no-hedging","Reasoning: low\n\n<terse><no-hedging>\n\n"+CH,"Condensed:"), ("neutral-reg","Reasoning: low\n\nRegister: neutral technical. No intensifiers, no evaluative adjectives.\n\n"+CH,"Condensed:"), ("no-closing","Reasoning: low\n\n<terse>\nNo closing remarks.\n\n"+CH,"Condensed:"), ("terse","Reasoning: low\n\n<terse>\n\n"+CH,"Condensed:"), ] def rephrase(text,base="http://127.0.0.1:1234",model=None,temperature=0.0,max_tokens=1400,timeout=180): src=text.strip() if not src: return [] if model is None: model=requests.get(base+"/v1/models",timeout=timeout).json()["data"][0]["id"] w=csv.writer(sys.stdout,lineterminator="\n") w.writerow(["idx","label","prefill","src_chars","out_chars","ratio","tokens","finish"]) rows=[] for i,(lab,sysmsg,pf) in enumerate(CANDIDATES,1): p="<|start|>system<|message|>"+sysmsg+"<|end|><|start|>user<|message|>"+src+"<|end|><|start|>assistant<|channel|>final<|message|>"+pf d=requests.post(base+"/v1/completions",json={"model":model,"prompt":p,"max_tokens":max_tokens,"temperature":temperature},timeout=timeout).json() c=d["choices"][0] t=(pf+c["text"]).rstrip() w.writerow([i,lab,pf,len(src),len(t),round(len(t)/len(src),3),d["usage"]["completion_tokens"],c["finish_reason"]]) rows.append((i,lab,sysmsg,pf,t,d["usage"]["completion_tokens"],c["finish_reason"])) print("\nmodel: %s"%model) print("temperature: %s max_tokens: %s"%(temperature,max_tokens)) for i,lab,sysmsg,pf,t,tok,fr in rows: print("\n[%d] %s"%(i,lab)) print(" system: %s"%sysmsg.replace("\n","\\n")) print(" prefill: %r tokens=%d finish=%s"%(pf,tok,fr)) print(t) return rows ``` ```input ## 8. Honest gaps — what I could *not* resolve I want to be explicit about the limits of this pass rather than imply completeness: 1. *`PROVIDER_T` values are not enumerated here.* `list_models(inference_provider=...)` is typed against `PROVIDER_T`, which lives outside the three modules I scanned (it's in the `inference._providers` subpackage). The accepted provider strings are therefore *unknown from this run* — `"cohere"` is confirmed only because it appears in a docstring example. 2. *Three grep hits point to search-capable functions I did not identify.* My scan found parameter assignments that don't belong to any function I enumerated: - line 3046–3050: `params["filter"]`, `params["sdk"]`, `params["includeNonRunning"] = True` — an additional Spaces-oriented endpoint with an *`sdk` filter and an `includeNonRunning` flag* not exposed by `list_spaces`. - line 2879: `params["config"] = config` - line 12013: `"sort": sort` — almost certainly the consumer of `DailyPapersSort_T`, i.e. a daily-papers lister distinct from `list_papers`. - line 13872: `params["search"] = search` These represent **real additional search surface** that my `LIST_FUNCS` whitelist missed. A follow-up pass enumerating every `HfApi` method containing `params[` would close this. ``` ```example output [1] no-hedging system: Reasoning: low\n\n<terse><no-hedging>\n\n# Valid channels: analysis, commentary, final. Channel must be included for every message. prefill: 'Condensed:' tokens=131 finish=stop Condensed: - *Provider strings* (`PROVIDER_T`) are not listed; only “cohere” is known from a docstring. - *Missing search‑capable calls* were found: - `params["filter"]`, `params["sdk"]`, `params["includeNonRunning"] = True` (Spaces endpoint). - `params["config"] = config`. - `params["sort"] = sort` (likely a daily‑papers lister). - `params["search"] = search`. These were not captured in the `LIST_FUNCS` whitelist, indicating additional search functionality. ``` Edit: yeesh, I’d love to have a WYSIWYG comment block on this site. I’m not going to keep fighting newline and white space to get it to look right, but you get the idea.
- benjismith 2mo agoI think this is just another part of the growing pains of working with machine intelligence that we have to endure. Much like we previously had to cope with "hallucinations" as an issue. If the ultimate goal of AI is to develop general intelligence, the first big objective is: thinking systematically. And the road toward systematic thinking right now is mainly coding, mathematics, and other "verifiable reward" domains. Claude doesn't have a separate mind for "coding" and "writing". Claude has tokens, and tokens can be assembled in various productive structures, mainly optimized right now for systematic reasoning. Also, a token isn't just a chunk of text. A token is like a little neural-network subroutine that fulfills a function. The conversion of a token into a piece of text only happens on the output side... When the model finds token sequences that lead toward better verifiable outcomes, it leans hard into those token sequences, and uses them as an essential component of its thought process. "Load bearing" is load-bearing. "Verify, rather than assume" is a mantra that produces good results, so it gets repeated over and over again. It's super-interesting that this particular moment, where the idea of "Claudish" has become a full-fledged meme, coincides with such astonishing progress in coding and math. My wife says when she uses Claude, that it feels to her exactly like talking to an autistic Engineer. Not a coincidence, I think :) My feeling is that the next big era of machine intelligence will require more lateral-thinking and creativity, and hopefully then the models "writing" will be more pleasant to read.
- latentsea 2mo agoIt's slop.
- alexruf 2mo ago„Contributors: Claude“
- dofm 2mo agoApposite name but — grim trivia — bear in mind some emetophobes have a meaningful physiological reaction to the word and various euphemisms. I have tried not to use it analogously ever since someone pointed this out. The word itself causes discomfort for a lot of people, many of whom will be surprised by it out of context, but in a non-trivial fraction it causes proper discomfort. If you want people to use your tool it is probably better not to invoke nausea with its name or commands.
- salvozappa 2mo agoI am feeling nauseous and I dind't even think that it might have been due to what I was reading. Nice info, thanks.
- dofm 2mo agoI only realised when I was told about it that, while for me it doesn't have that nausea trigger, it does have a bit more alert associated with it — which is probably why I made my comment at all. I am not emetophobic (might have risen to that level as a child). But having an awareness of that alert feeling is a very useful mental model for how some other words or phrases may cause a heightened response with different parts of an audience; it is a useful caution.
- Myrmornis 2mo agoClaude's verbosity is the biggest obstacle in the technical parts of my job currently. (Why does this project need so much Go code to pipe something through a local LLM?)
- 762236 2mo agoI'm not understanding the issue here, as everyone has different expectations for prose. No matter which LLM I use, I will provide a skill to generate high-quality prose. It is the first thing I add to my repo that I'm working on.
- _def 2mo agoThe linked blog post has an example at the end. I think it made it much worse.
- nl 2mo agoThere's a theory going around on Twitter which goes something like this: Internal Anthropic employees have been using Mythos since February to orchestrate their (Opus) sub-agents. This works well, and subsequent RL runs have used internal data to improve this. That RL has optimized Opus for agent-to-agent communication which is why you see the bizarre word choices and huge self-justification sections. I think this theory makes sense. Clearly there is something odd going on, and also if you have ever used Fable to run Opus sub-agents it is almost miraculously good. Hopefully they'll fix their RL for Opus 5.1
- pooploop64 2mo agoCan't wait for tomorrow's HN front page so we can learn about the 5 additional AI tools needed to make this work properly. And then the day after, each of those will require more agentic tools to manage the agents that manage the agents that manage the agents. Then you need to install Flooper to stop Wigwam from too aggressively rebooting the Glupgo instance that's in charge of making sure your credit card information doesn't get leaked by Chingler, which is needed to manage a shared clipboard between some of the agents but not all of them. It's like a joke. I thought using AI was supposed to be easier than learning real skills, but I shudder to imagine having to rig up a 100 layer clusterfuck of nonsense like what some of you are apparently running. When will it finally be enough for the output to be worth anything? Is there any plan for that or is the plan to just keep throwing more of the exact same shit at the same wall until we're all dead?
- DarmokTanagra 2mo ago[dead]
- hexapus 2mo agoHere's a multi-billion dollar artificial intelligence to do your work for you! One caveat, and it’s a real one : The AI is going to spew incomprehensible word-vomit that makes you feel like you're losing your grip on reality.
- gverrilla 2mo agoI'm just commenting here to add relevance to the problem. Anthropic, please fix.
- alansaber 2mo agoIf I had to guess, increasingly long model output is either 1. Deliberate choice to make LM output sound more advanced 2. It improves performance of inter-agent tasks
- Escapade5160 2mo agoGPT-5.6 models in codex are great at not writing like this. Cheaper, huge usage limits, readable output, and quality code. It's the better system now.
- 4d66ba06 2mo agoI couldn’t believe how much better GPT-5.6 was when I switched over yesterday!
- gammarator 2mo agoThe new “concise” output option that just shipper in Claude Code seems to help.
- lwansbrough 2mo agoI feel like Opus 5 is going to need a postmortem once they figure out what makes it so obnoxious. It's clearly something like an artifact of getting the model to reach deeper for tokens, possibly because it has some positive impact on coding and/or tool calling. But man is it bad for general communication, like borderline unusable.
- farzd 2mo agoThey just released an update to handle this. ouputStyle: concise https://x.com/claudedevs/status/2090245922685063634?s=46&t=ZE49iC4l7inNvsNpqUrJ2g https://x.com/claudedevs/status/2090245922685063634?s=46&t=Z...
- FluffyPancake 2mo agoThe amazing "solution" is basically telling the model to STFU every single turn. I guess this works better than putting it just in the claude MD since then it's never out of context. https://x.com/_can1357/status/2090360068529111530 https://x.com/_can1357/status/2090360068529111530
- jedisct1 2mo agoWhenever I use Claude models, I do something similar, telling it to never write documentation directly, but asking "uvx swival -- --profile qwen" to do it after describing the changes to it. And I just stopped reading PRs and comments blindly copied from Claude vomit. It's unreadable by a human.
- jedisct1 2mo agoI’ve given up trying to read PR descriptions and comments blindly copied from Claude vomit. It’s insulting, and it gives me a headache.
- hotelsacher 2mo ago[dead]
- shidesheng 2mo ago[flagged]
- virajk_31 2mo agoYour description is misleading a bit, it doesn't save the tokens that are already generated.
- NikhilVerma 2mo agoI am actually fine-tuning a version of Qwen to re-write Claude slop. This will complement it nicely
- deleted 2mo ago[deleted]
- throwaw12 2mo ago> *Save your tokens*, Claude 5 is hopeless No, it doesn't save your tokens, tokens were already produced, it will save your brain cycles. Reason for Claude and OpenAI vomiting lots of tokens is to show pre-IPO growth, because they are charging large enterprises by tokens
- chrismsimpson 2mo agoTime to roll your own
- testycool 2mo agoI just use a cheap model in another pane, and ask it what Claude said. It can be either via tmux, because it can read the pane. Or it can use a hook to read the conversation file. I call it `backseat-driver`
- skinfaxi 2mo agoIt is so coincidental that I have been working on a fork of Kilo to do the exact same thing. I wonder if it has any effect on watermarking. I came across this other project yesterday which appears to have the same goal (unaffiliated and I havent tried it). https://github.com/gvzdv/claudish-to-english https://github.com/gvzdv/claudish-to-english
- onoesworkacct 2mo agoThat project looks needlessly complex, you can just spawn a Haiku subagent in the session and it does the job.
- skinfaxi 2mo agoThis seems to be a plugin with a hook to avoid having to spawn the agent yourself and to avoid seeing the initial wall of text in the output. I had to modify kilo a bit because it wasn't possible to hook into the output without displaying it, but that's probably because I am on a fairly old version.
- ernsheong 2mo agoGosh, instead of wasting time vibing another slop project, stop using Claude Code, use pi or whatever, own the harness, and explore the plethora of models out there. You guys are software engineers, yes?
- rahulyc 2mo agoWhat are you using the plethora of models and your own harness for exactly? Oh, right...
- goonersallofyou 2mo agoThere's vomit on my sweater already, Claude's spaghetti.
- rtaylorgarlock 2mo agoHeads up, I've universally been downvoted here for humor. Telling, really.
- goonersallofyou 2mo agoThe spectrum is strong with this crowd... Surely, a coincidence.
- Chnmy 2mo agoI absolutely love the name!
- RIMR 2mo agoFrom what I understand, it's a fundamental problem of how to use the ridiculous-but-effective reasoning prose behind the scenes, but get concise and coherent responses to the user. You want the reasoning prose to be somewhat strange. It's not formulated for you to read, but for the model to loop back on itself. But the model still has to arrive at a deliverable answer, in a much different writing style than it reaons in, and the result is the overly flowery language produced by certain models. Honestly, these models just need a humanizing stage at the end to compensate for the reasoning stage at the beginning, but that costs more tokens and increases the number of hallucinations.