upvote
As someone who uses both, Astra was 100% the better model. I have yet to give 5.5 a spin so maybe that’ll be the new top contender.
reply
I prefer Astra for creative uses, Fable seems better for hardcore coding.
reply
Whoa, I'm exactly the opposite.
reply
Yes this is a big part of what has turned me off Opus 5 completely. The other (more dangerous) one is how often it gets assumptions wrong. These both (along with Astra) caused me to split my time 50/50 now between the two models.

Not a day goes by when I push back on something, to which Opus 5 very unambiguously say "You were right, I was wrong" - this never happened so often with past models, nor with Fable.

We'll have to see how much Opus's ability to communicate has improved. It's already giving me better summaries of where we are in the conversation.

reply
I did the same switch (that reason along with the newer models seeming more "lazy" and needing constant prodding to finish long-horizon tasks) but my issue with ChatGPT/Codex now is that it too roundabout and doesn't get to the point. I tried adding instructions and using the personalization settings to make it more efficient but haven't seen much change. Claude seemed to follow settings more closely. Has anyone had any success to make ChatGPT more succinct?
reply
Oh god yes.

Fable 5.1 is a lot better than Fable 5 btw (edit: in terms of writing style). Not sure about opus 5.5 yet since I’ve only got one session in so far.

reply
The writing style is insufferable but it’s not just that. https://opusfived.dev/
reply
I've been using Opus 5 since it was released and don't understand all the hate it gets. It very well could be something in my own local memories or Claude.MD files that prevents it, but I certainly have never experienced something like that site portrays.
reply
That’s funny but I don’t really recognise that issue. I’m very confident that Opus 5 would correctly change the colour of just one button.
reply
You are right and make an important insight. While well meaning and amusing, it did not reflect the entire spectrum of outcomes that could arise from the worktree.

Navigating the landscape of agentic levers certainly requires a more detailed approach than this and you were certainly correct to push back.

reply
Nice, captured the flavour of 5's writing exactly.
reply
Much better than Opus 5. prompt:

> hi, can you explain how the scheduler works. keep it brief, but include important correctness details

some excerpts:

>Flow: 1. Data arrives. The appender calls prepare/commit around the krolik write. The prepare step leaves a phantom row, so a write that is still in flight is tracked. The commit publishes STREAM_INPUT. 2. Poll. It first reclaims expired leases. Then it sweeps sdirty (a candidate index) in a rotating order, oldest since first, which prevents starvation. It re-derives the exact period and rewind for each candidate from snode_out/snode_in, then claims it: writes the sassign lease plus a per-edge sassign_edge snapshot. 3. Complete. Each edge's watermark is set to the snapshot taken at dispatch. Anything published after that gen stays dirty automatically. A failed or partial job writes nothing, so its dirt persists.

> - Folds are monotone single statements. gen only goes up, extents only grow, processed periods only union, rw_start only moves earlier. So replays, out-of-order writes, and concurrent writes can at worst hold a watermark back. The worst outcome is a spurious rerun, never lost work. There's no read-modify-write and no truncation of the dirty period, so a write that lands during a job can't be swallowed.

> - Rewrites are declared by the publisher, never inferred from overlap. An unflagged write that overlaps already-processed data means "unchanged", which makes retries and redelivered tasks free. Each publisher has its own reason for being sound (see the table in scheduler/CLAUDE.md). A new publisher needs a row in that table.

> - NULL means dirty, and DELETE is the fence. Every node and edge has a row from the moment it's created. A lost parent or a settings-only edit can't be derived, so both go through one forced-rerun path: capture_rewinds reads the processed span before the DELETE, and apply_rewinds publishes it as a rewrite on a config root.

All the non-standard programming jargon is stuff from the repo. I can actually read it and understand what it's talking about. I used Fable to handle Opus 5 as I just couldn't stand it. With this I'll probably go back to Opus.

reply
That's the standard annoying pattern though: "Rewrites are declared by the publisher, never inferred from overlap." and "NULL means dirty, and DELETE is the fence." - still the same LLMisms. I didn't expect them to disappear, but it's not a radical improvement either.
reply
This one is pretty terrible (right after “The worst outcome is a spurious rerun, never lost work.”). We’ve got lands, several "no X", hyphenation, strange noun/verb sentence order and an unnecessary analogy word (swallowed).

> There's no read-modify-write and no truncation of the dirty period, so a write that lands during a job can't be swallowed.

reply
It’s absolutely atrocious and has made the latest models unusable. Seems like I’ll have to stick with Opus/Sonnet 4.6 for a little longer.
reply
Oof thanks for sharing, that seems just as bad if not even worse than Opus 5 to me. Just about every sentence is painful. Particular standouts that a human would never write:

> Rewrites are declared by the publisher, never inferred from overlap

> NULL means dirty, and DELETE is the fence

reply
Hah! You independently picked exactly the same sentences I flagged (I know you posted this 11min before me but the comment only appeared after I had submitted mine).
reply
So still effectively nonsense.

> Rewrites are declared by the publisher, never inferred from overlap.

This style of writing is idiotic because it conveys no additional information. It's no different from stating

> Rewrites are declared by the publisher, never when moons collide.

The two sentences are actually logically identical. No idea why these models keep writing like this.

> Folds are monotone single statements. gen only goes up, extents only grow, processed periods only union, rw_start only moves earlier.

This is even more ridiculous.

reply
Yes, it's unbearable. Hopefully they've actuallu lly fixed it.
reply
Please update with your feedback
reply
I haven't heard it say "load-bearing" yet (I've used it for 30 minutes now), so that's a start.
reply
That's a sharp observation and you're hitting on something most people never even realize.
reply
That's a sharp catch, and I think it exposes a real bug.
reply
Worth flagging!
reply
Opus 5 has made me question my sanity on a daily basis, especially as all my coworkers started lobbing Opus 5 slop grenades everywhere. It had the worst and most infuriating writing style I've ever seen.

I hope Opus 5.5 is better, if for no other reason than all the Claude slop I have to read will be at least more tolerable.

One funny side effect of all of this: realizing that coworkers that use AI for almost all the text they generate at work have their writing style change every time a new model ships.

reply
I really wonder how it converged on its style. It's pretty unique and terrible. It's not like it's just mimicking something or it was purposefully design to be that way. I mean the reason may be diffuse and uninteresting... just the result of a lot of factors and lack of control over the writing style probably.

But oddly enough its still great at coding. Just like a lot of people it either interfaces well with people or machines but not both.

reply
I assume it’s largely a side effect from the final RL in post training?

That’s the step that causes the most significant gains in agentic performance.

But the RL doesn’t care about anything except maximizing the score, so if you only score based on coding benchmarks, anything can happen to the writing style (as long as it doesn’t hurt the coding performance).

That’s why it often gets worse on models that simply had more RL post training from the same base.

reply
Does Xiaomis approach help with this? They do all the post training steps at the same time instead of one by one, switch topics after a couple prompts so writing style is mixed with coding and tool use.

Apparently it helps generalize skills between areas, which makes sense when you compare it to how humans learn but I don't know if it's the same for LLMs.

reply
Reinforcement learning for specific use-cases like coding that degrade it's writing style... makes sense. Maybe it stands to reason later version of Opus were improved more by this sort of fine-tuning. Feels consistent with the observation of diminishing returns and worsening writing style. Wonder what changed (supposedly) in 5.5.
reply
It truly was bizarre. I've used every major model since 2022, and not a single one had a writing style as bad as Opus 5
reply
Fable 5 was pretty bad too, but they fixed it with 5.1. Now with Opus 5.5 it seems they fixed it as well
reply
Yes, it made me want to vomit. If the new Fable only changed the writing style to just sound like a human, same performance for everything else, I'd be pretty happy.
reply
Opus is only usable if you have a post-turn formatter that strips all comments from the generated source. I'm not even kidding it's that bad.
reply
It's not X, it's Y, not A, not B, not C, and he haven't even woken up yet! Here's the catch, the detail is in the devils and the twist is that it's designed!
reply
You're right to call this out, and what's more, it's not even solving the original problem. I overlooked this in pursuit of the load-bearing seams and finding the wedge needed to uptick engagement.
reply
Here's the X that Ys the Z:
reply
> especially as all my coworkers started lobbing Opus 5 slop grenades everywhere

People that produce slop have to be fired asap, they're just human relays anyway.

reply