125 comments

[ 0.25 ms ] story [ 25.3 ms ] thread
Is there a reasonable way to run a representative subset myself?
Yeah and I started with subsets although I did not find them representative, eg I picked 6 challenges for a subset and fable scored 33%, while on the full challenge it landed closer to 14-15% range

The part II post linked in my top comment has a list of the challenges I used for that.

To run them, just point your model at the paper, it can find the repo, etc and with a key or sub, get it running

Thanks, that's helpful. Do you still have the full data of pass/fail for each test and model? It would be interesting retrospectively to see if there is such a subset.

I built some tools for personal research projects that could potentially help success rates on long dev tasks, empirically it seems to but I've never actually done a quantitative evaluation. SlopCodeBench looks promising for all the reasons you point out in your post.

I wish a company named human layer won't write their reports with so much Claudisms.
(comment deleted)
You expect an AI company to slow down and care about what they produce? How naive are you?
For most things I find medium to be the highest quality output. However if I want it to do spatial reasoning want it be funny / write something (not code) of almost-passable quality, then xhigh is where it's at.
Great benchmark!

I believe effort can mean both "solve harder problems" and "produce more stuff". I mostly don't want more stuff than I asked for, so a capable model at lower effort can indeed be the wiser choice. Faster response too.

The irony is the article is very sloppy. Can we at least write it and review it properly..
This is true. I was unfamiliar with this concept (I use codex/claude daily), and am trying to get to the "bottom line".

Oh, it's there at bottom under "my takeaway". But I still didn't get it initially.

Slop Code Bench? Need a Slop Writing Bench too

(comment deleted)
First of all, what happened to Max and Ultra?

Secondly, I’m mostly using Astra Ultra or Sol 6.1 when tight on quota. I pay $200/month and rarely if ever run out. Am I doing something wrong? Or perhaps I’m not that productive as you guys?

Same here. I’m feeling productive enough. If I was more “productive”, I wouldn’t be able to keep up with what I was producing. My attention and cognitive broadband is the bottleneck. I find it hard to believe that people are actually productive using 4 active chat windows simultaneously for 8+ hours a day.
Yep, the context switching let's me do 2 or 3 active agents, but I have to slow down if real issues come up.

Maybe the agent maxing dudes are doing their 12+ agents on a monster vibe project and all they say is "fix it", "make it work" all day

> If I was more “productive”, I wouldn’t be able to keep up with what I was producing. My attention and cognitive broadband is the bottleneck.

this is so damn important. none of this shit matters at all if your headspace is destroyed.

I have a coworker who is not yielding to these feelings and i swear to god he just isn't the same person anymore and i legitimately worry about the guy. He's one of those that saw AI as an opportunity to do the "massive, grand no-finish-line" type projects: super DUPER knowledge bases/wikis or for his personal projects some super grand encyclopedia of his family history and profiles on each person and it's just like exhausting to hear about, it's even more exhausting to see how exhausted he looks all the time. The only thing that gives him dopamine is stuff he's done with AI, and I have really tried a few times now to say hey man this stuff is.. addicting. And with all things addicting, moderation is key. He's seriously anxious all the time now.

I just took a 1.5 month break from work, and in that time I haven't touched Claude. It's been great I can't lie. I'm so much happier and ironically busier, away from my computer. Feels like I got a nice dose of life and I'm reminded what's important and that really isn't omega-maxing my productivity.

This tech can help ya do more with less effort, sure. But everyone's kneejerk reaction is to fill it with doing bigger, grander, and .. more. Seems a lot of people have lost sight of how much should one human brain feasibly manage, even if it's simplified through prompting there is assuredly a mental toll with the amount of things and the size of things people are now taking on.

Same I just leave 6.1 on Max. Don't touch that dial
max and ultra are so slow and tend to overengineer massively imo
Max and ultra are slow and overengineer, based on evidence from evaluations.
Ultra is not a thinking level I understand. Max is the highest. Ultra gets it to spawn more subagents.
Astra writes well, but it often produces code golf that's borderline unreadable, like completely omitting line breaks. I thought I had something funky with my config, but it seems to be a known issue.

Sorry for X https://x.com/tenobrus/status/2096636223414808719

The generated code certainly does what's asked of it, but it's as sloppy as anything else I've seen. I don't think this benchmark can control for that. Maybe if it had a metric for minimum diff to satisfy the new requirement with the existing constraints on dead code etc?

Don’t apologize for x, just don’t post x links.
(comment deleted)
I think it's the best possible approach. It lets you refer to content that's unfortunately stuck on the site, while still signaling clearly that it's something to avoid if possible and to apologize for if not. Omitting the link just removes information without influencing consensus on whether to use X.

edit: I wish it would let me view the darn screenshot tho :c

I removed it, but it's frustrating when the options are someone's (reasonable) post on X, or slop-spam aggregators. I don't really want to drive visits to either, but at least the X poster can get the views.
IMO just post the link, we are all professionals here.

Those who want the third-party aggregators can set up their browser to automatically use them. Others who are signed in on X can directly open.

X links are fine. People who don't want to visit the site can choose not to visit it.

This current situation where people get shamed for sharing the information until they edit it out and leave obscure "search for___ on X" is infinitely worse.

Or just upload a screenshot to a link sharing site and post it here
[delayed]
Beware NSFW: redirects to private instances that redirect to porn for monetization

Edit: disable JS to prevent click-jacking

I've noticed the line breaks issue. It's easily fixed with a formatter like prettier and, frankly, that kind of quality-of-life thing is best handled deterministically anyway.
Doesn’t this mess up the context though? I use ruff and my agents get confused if I edit and run ruff out of band. How do people deal with that? I’m always having to remind agents to re-read files because they’ve changed
I find it is okay if I tell the agent that running the formatting step is required before every commit.
I haven't used prettier much but this is what the prettier docs say about empty lines.

> It turns out that empty lines are very hard to automatically generate. The approach that Prettier takes is to preserve empty lines the way they were in the original source code. There are two additional rules: > > - Prettier collapses multiple blank lines into a single blank line. > - Empty lines at the start and end of blocks (and whole files) are removed. (Files always end with a single newline, though.)

The last time I used astra it wrote a lot of rust code where it would insert almost no empty lines at all. Not before functions, structs, impl blocks, etc., and not inside functions to group statements. Similar to prettier, rustfmt doesn't really insert empty lines.

Edit: hmm maybe I misunderstood your and the parent's comment. Are you talking about missing regular newlines after statements, i.e. multiple statements on one line?

I was talking about a function with 100 lines and no line breaks. Very difficult to read.

I use Black on a lot of projects and it will only touch standard-y things like docstring spacing, or spacing between methods and classes, import sorting etc. It doesn’t touch intentional/aesthetic user spacing. I don’t see how Prettier is any better here unless you really want everything to be deterministic; how could it possibly know when to insert a line? Aside from some more obvious cases like adding a gap before a loop declaration. Sometimes I group lines because they’re part of a mathematical formula or other operation and it makes sense to me, but Prettier doesn’t know that.

> a function with 100 lines

there‘s your problem right there

I use the frontier models only in plan mode; coding is held out to cheaper models.

I run Paseo as an orchestrator with agent profiles. "Distinguished Member of Technical Staff" -> Fable, plan mode. "End-User Customer Advocate" -> Astra, plan mode. A few others. Basically, these agents (with profile prompts) can only be "consulted" for input on design elements; it's OK if they produce a bit of verbosity here. This has worked fantastically for me, really awesome to see a self-constructed team own the work end-to-end.

A "Director of Engineering" (6.1 Sol or Opus 5.5) also in plan mode organizes the team for the task and then owns coordination and instruction. You can think of this in essence like a "model router".

Coding is handled by Haiku 5.5/GPT 6 Luna/DeepSeek v4.1 Flash. One "Principal Engineer" Sonnet 5.5 or 6.1 Sol for some tasks.

You are deep in it.

You may be larping for no additional benefit vs just using Opus 5.5 and just asking it to implement a feature.

Nah; I can use my token budget across both providers this way, use tokens more sparingly with smaller models for heavy text in/out (why pay Opus prices to babysit a PR? run tests?), and you'd be surprised when the agents talk to each other and "role play" how much this improves things like the UX as well as technical design which are more subjective. Distinguished Member of Technical Staff, for example, is asked to "expand the solution space" which I find has a strong effect on approaches considered.

This also helps with context growth since the sub-agents do the heavy lifting (e.g. search, read docs) and just provide the key bits back to the lead.

Is it "larping"? I ran an eval today on a contract ingest and extract agent I'm working on. Changing the <role> fragment of the prompt lifted the results by +7 points by simply changing the text to the effect of "You are a senior partner at a distinguished law firm that focuses on reading licensing contracts..." and some bits about the content the agent is reviewing + objective.

Claude docs explicitly say to LARP[0]:

    > Give Claude a role
    > 
    > Setting a role in the system prompt focuses Claude's behavior and tone for your use case. Even a single sentence makes a difference
My conclusion: the agents like to LARP so I'm happy to LARP with them.

[0] https://platform.claude.com/docs/en/build-with-claude/prompt...

I hate to be pedantic, but LARP stands for live action role playing.

Only mentioning it because LLMs are already taking over software development and everything online. Let's keep them out of our meet space peculiarities (1) while we can. ;)

1: https://epicarmoury.com/blogs/news/what-is-larp

> I hate to be pedantic, but LARP stands for live action role playing.

> Only mentioning it because LLMs are already taking over software development and everything online.

In our glorious future, you'll have your agent LARP for you, so you can spend more time watching ads on Instagram.

Why stop at "You are a senior partner at a prestigious law firm that focuses on reading licensing contracts..." why not "You are super programmer/developer that has been programming with Ada using punchcard, having Linus on quick dial, you can smell BS code from miles away and know exactly which question to ask".
Eval it and see.

You might be surprised.

(But also, this is more or less what I do with Paseo profiles)

You are correct, at least based on my experimentation. This subagent workflow really only delivers meaningful results when working across model families (ex: Opus asking Astra for a review) or when working across conceptual hardware boundaries (cloud offloading to local inference, etc). The planner / overseer model ends up reading all the output of the coder model anyway, at least if you want quality output, so there's not much benefit otherwise.

    > The planner / overseer model ends up reading all the output of the coder model anyway
I mean, even that's fine because output tokens cost ~5x input tokens. So that's still a win if the agent that does the heavy code reading and writing produces output that may be read again by the lead (not my observation of how agents in Paseo interact and of course, correctable to degrees with shared system prompt).

Here's a snippet of a sample prompt downwards from the lead for a piece of code I'm working on:

    From agent: 3ff73f80-9713-458c-8271-d275f03609c6

    <role>
    You are the Principal Engineer on Hg Dex (.NET 11 / Vue MCP server; read CLAUDE.md in your working directory first). ...
    </role>

    <lead_role>
    I am the Director of Engineering. The System Architect and the DMTS reviewed this approach ...
    </lead_role>

    <sniped ... />

    <comms>
    Run all gating commands in the FOREGROUND. End your turn ONLY with the final report: pass/fail per success criterion (a)-(i) with evidence, the branch tip SHA and `git log --oneline origin/main..HEAD`, lines added/deleted, the exact 0factor image digest and version you pinned, every deviation from this brief and why, risks you saw,...
    </comms>
The agent is given explicit "comms" instructions upwards and I find that both agents in this exchange stick to the contract.
> even that's fine because output tokens cost ~5x input tokens.

That's assuming you come in under a certain threshold of revisions, and excludes the tokens generated for all the exchanges. The later can be be significant, especially when there are significant issues to correct.

All I can say is give it a try. We can debate hypotheticals all day, but it costs nothing to try and see.

The Paseo harness/orchestrator is doing something right. I switched from TUI after trying it as a candidate for a non-TUI user.

It's not the same behavior as Claude starting a Claude sub-agent.

or someone could clone the SCB repo and make a fork that proves it one way or another
> The planner / overseer model ends up reading all the output of the coder model anyway, at least if you want quality output, so there's not much benefit otherwise.

Welcome to why the RLM paper does not explore recursive depths beyond 1. The game of context telephone as you ascend the call stack quickly falls apart.

He has to be deep in it because it’s the product he sells.
Paseo is open source (https://github.com/getpaseo/paseo, Apache 2.0) and not my project; not affiliated.

I have other products and I work for private equity (no affiliation with Paseo at all).

You've entirely missed the lede.

No "may be" about it. There is no benefit to having bad models write your code, and there's no benefit to "plan" mode. Plan mode is an outdated 2025 concept that should be removed from standard harnesses.

There are 2 scenarios for dumb builder agents:

1. Your "planner" actually implements the project almost completely, finds all the gotchas, solves all of the emergent problems, and fully plans the solution.

2. Your "planner" takes a half-assed first attempt, solving none of the major problems that will arise during implementation

In scenario 1 -- just pay cache output on a few more tokens to finish the project. No need to spend twenty minutes pumping a few million tokens through deepseek regardless of how cheap it is to do so.

In scenario 2 -- good luck getting quality output

I do think this "software team" LARPing is an engineering version of AI psychosis. You can get all of the little parts humming along, sending messages, and looking really cool. You can even convince yourself that all of these busy little bees actually make better product.

But a frontier model working alone can produce better output in a tiny fraction of the time. Just build the thing.

Try it. 3 weeks ago I was in the same boat. Single model, TUI. I only tried Paseo primarily to test multi-host orchestration and not even multi-agent, multi-plat behavior.

Output quality, especially subjective bits, has improved relative to my attention needed. Autonomous decision making is much, much better for me adding one profile that specifically is instructed to focus on UI/UX.

It costs you nothing to try except maybe 15 minutes of setup. Give it a solid, skeptical week.

I tried it and figured out the benefit was getting the agent to look at solving the problem from different perspectives. Now I just include those perspectives in the prompt to a single agent. Example: If I feel like the agent is going to just bolt on a feature without refactoring the core parts, I tell it to expand functionality of the core parts as needed.
In your comparison, did you previously use a review with a different model family?

Because that step is imo crucial, and it's unclear to me whether additional benefits of the roles are worth it over the basic review.

I can see how roles that ask the "planner" to explore other approaches automatically could be useful.

However, I don't have any interest in using small or dumb models for implementation when the subscription allowance permits using Opus 5.5 everywhere.

Yes, have done cross plat plan review. But why it works so well with Paseo is that it's automatic and multi-turn (agents kind of "discuss").

Work tokens are severely limited to the extent that if I used Sonnet 5.5 for implementation, I'd be out 2h into a session. +$400/mo. at API rates on OpenAI. So Haiku + Luna it is.

Personal accounts I run the $17 Anthropic plan + $100 Codex Pro + DeepSeek. It's insane how much this stretches with this setup.

It's automatic and multi-turn by default.

I've had an instruction to review the code with "claude -p" in place around the time GPT-5.5 released. I think it has served me well.

If I recall correctly it was before subagents were a thing. Even back then it was already automatic and would on its own request follow-up reviews or arbitrate a plan file if asked.

I have tried it, that's why I feel confident calling it AI psychosis! I'm watching premiere engineers in our space spend a quarter of a million dollars on tokens rewriting major libraries or managing entire linux distros from single, simple queries. No software factories of actor agents kayfabe-ing their way through simulated work. Just a simple query that fans out as it sees fit.

When they ported typescript to rust -- they didn't need a little CEO agent and a little Middle Manager agent all the way down. They just told a frontier model "port the thing".

When they solve major math problems that humans so far have struggled with, they didn't invent an Academia agent swarm with hundreds of little fake-people doing fake-jobs. They just told a frontier agent "solve the problem".

I notice in this thread all you talk about is your software factory, but none of the products coming out of that factory.

I apologize but you seem to be having a lot fun in the meta part of engineering, but I'm focused on shipping actual software!

It is watching Linux boot sequence all over again.
An obvious benefit to plan mode is that your model tells you what it's planning to do before it does it.
An obvious downside to plan mode is that without access to the edit tool, the model can't confirm its hallucinations.

Removing edit tool from your model is like lobotomizing your engineer.

Here's the secret: Just building the thing is the modern "plan mode". You don't have to keep what it made. But a completed, verified, and tested output is always more valuable to my planning process than a hallucinated sloppy guess.

My experience has been that building the thing is not modern "plan mode".

I do not use an explicit "plan mode" that tries to limit what the LLM can do. But I do tell it to explore and research and produce an artifact of what needs to happen to finish a large ticket and then use that as input to the actual implementation. I do have it even write small experiments to verify some-parts of the total design to connect it to reality.

The reason is that there can often be lots of decisions that need a large amount of context about the code base in order to reasonably determine what the right design and implementation is and this doesn't happen (in my experience) with the little Interview dialogue that pops up when it isn't sure. Or, even worse, Opus will just make decisions for you that are incoherent with the goals of the codebase.

So, I think, "plan mode" as an explicit mode is dead, but the act of planning is still a good thing to do.

In my experience Opus 5.5 is good but Opus very big picture plan mode to Qwen 3.8 code is so massively massively cheaper (I'm on API) that there's no competition. This is as of a week ago.
Yeah at the point that Opus has read enough context to hand off a detailed plan, implementing the plan may not be that many more tokens.

Also having spent the weekend with the supposedly great Deepseek Flash 4.1 1017, I wonder if the people singing its praises have used recent frontier models. DS Flash feels like maybe Sonnet 4.5-4.6. Absolutely falls apart at things Opus/Sol currently excel at with low reasoning, and even has basic problems with failing tool calls, which hasnt been an issue with Anthropic/OpenAI in forever.

Could be a configuration issue with the provider I tried but honestly, I didnt get much better out of GLM5.3-flash. GLM5.3 and Kimi3 are much better but since most inference providers cant take a loss they are more expensive than just using Opus/Sol on subs, which are almost certainly currently a loss leader for their respective API offeringss.

(comment deleted)
A plan-mode team under one director agent is a neat setup. When several of them run on Paseo at once, how do you see which one needs your input?
Astra is some of the worst code I've seen in terms of slop, so the benchmark is kind of surprising to me. Astra gets things right, but I need Claude clean up its slop all the time. Many times I've cut down Astra changes from 1000+ lines to ~100 lines.
astra is great for exploration and planning. once I have a plan, I usually delegate to deepseek flash. its quick and doesn't stray
6.1 Sol does this too. Like, line break after a function, but absolutely nowhere else. This solved it for me:

- Use paragraph-oriented formatting: give distinct logical steps room to breathe. Keep closely related statements together, but separate changes of purpose and a block's final result with blank lines. Prefer readability over vertical compactness.

I fear OpenAI models are collapsing on themselves (idk if it's because of loop transformers or too much RL etc), which I didn't feel with 5.6 Sol at all. Need a 6.1 Sol nor Astra really feel like full blown legitimate models. More like autistic genius individuals who are partially brain dead.

Which can sometimes work incredibly well when working in conjunction with another model. It's unbelievable how incredible gpt-6.1-sol even on medium reasoning is at reviewing Opus 5.5's work it will find incredibly weird, but legitimate, edge cases, yet if you actually use it as the main model, it just misses forest for trees so much. They are more like an organ which can do an incredible job at a specialized task that the brain cannot handle efficiently but the second you try to do brain's work with time, it all comes crashing down.

I hope they are able to recover with future models. If you could could somehow combine how Opus approaches a task with the autistic brilliance of Astra/6.1, you would have an incredible model far exceeding today's models.

Funny, I've been having the opposite nitpicky issue with astra and sol, where

they

constantly put

linebreaks

on

trivial things

in c#

like

string foo(

string bar){

throw new Exception(

"TODO");

}

Are the raw outputs published somewhere?

I am currently investigating SCB results and a larger, more representative dataset to work on would be really helpful!

This is interesting. Is nobody training LLMs to repeat resolving issues by patches from real projects where refactoring is required, judging the refactor similarity and not just tests passing?
I have a simplify skill built from a rich hickey talk that basically solves the erosion and verbosity metrics SCB flagged (i.e. erosion and verbosity are way better and improve over time). However, after running the SCB benchmark I cannot find any evidence that it actually improves test pass rate trajectories. Food for thought on maintainability metrics.
Wouldn't it be better to enforce pass via the harness and then measure cost/quality since that's more what people are likely to do?
GPT 5.5 on Medium is all I use lately, I don't understand why anyone would pay drastically more for slightly more, when Opus has been good enough for a year now to do most things.
You unknowingly substituted the name of another model when you’re otherwise talking about the competitor fwiw. Some if those in the reply chain didn’t even seem to notice.

That’s a little telling of the state of ai atm though isn’t it? It’s all pretty similar. The latest Opus/GPT/Gemini/Deepseek/Kimi on medium does indeed do the job

It would be a little strange but not that strange for someone to have an idiosyncratic preference for GPT-5.5. It's still available as a Codex model (I think? It's selectable in Pi, not Codex itself), and it might perform differently enough from later GPT models that someone prefers it.

To your point, though, I don't know if I've noticed that big of an impact going from 5.5 to newer GPT models. If I had to switch back, I'm not sure how much I'd miss the newer ones. People talk about e.g. Opus 4.6 similarly, I've noticed.

The bigger change in OpenAI-land IMO is the models got cheaper, generally.

You're right, I meant to write: Opus for all of the above. I do think a lot of it is roughly similar, for most use cases, anything after Opus 4.5+ is "good enough" basically.
Opus did better on medium? Can anyone confirm this somehow? What’s the sweetspot in your opinion?
[delayed]
it looks like the post has been removed here a blog post with the results deepu.tech/qwen3.8-flash-next-vs-claude-opus-showdown/
(comment deleted)
IMO slop usually comes from overly defensive programming from LLMs. They’re loath to remove code and simplify, because unless we humans tell them some code / use case is unimportant, they have no reason to not care about it.

So agents can make these overly complex solutions trying to make bulletproof implementations and prevent regressions.

They also seem to really bias towards tacking on new code to "work around" what's there, rather than breaking down what's there into smaller more composable bits that can serve the pre-existing use case and the new requirement elegantly.
LLMs write. It sounds glib but it's what they do, and so every problem they encounter they will try to write their way out of it without lots of hand holding.
they yearn to create content, generate more tokens, etc etc - agree
Yea I say something similar. LLMs have a tendency to add, because there are many more tokens than a stop token. They can remove, they can edit, but their bias is to add. My suspicion is that training them when to stop when it is best to stop is harder than training them to make a plausible sounding story.
It's like we took the worst behavior of our colleagues, and went and said "yes, let's automate _that_ part" and patted ourselves on the back.
It’s more likely emergent behavior.
Yes exactly. And I’m not sure we want agents with that level of autonomy to decide what functionality is important and what to leave in place.
No, but it would sometimes be nice if they sometimes raised questions about what is important and what isn't
This sounds like some people I worked with that were eternally attracted to making things more perfect and using all fancy features of w/e we were using.

I want to call this being terminally mediocre at programming.

These people were smart imo but they just didn’t have a hard enough problem at hand

Agree, and I am worried about what happens when that old code is written by LLMs, approved by a human who pretended to have read it, and now needs to be touched by another human who is completely reliant on LLMs to understand existing code.
Quick update here since a lot of folks asked about what slopcodebench is / where it fits in

Slop code bench is u pique among benchmarks in that it makes a model work against a progressively disclosed list of features (checkpoints) that it doesn’t know it advance, inheriting the same codebase through the lifecycle of a single multi-checkpoint challenge

I like this because it much more mirrors how real software dev happens, rather than most benchmarks with one off tasks where slop code doesn’t hinder future progress

The original post[1] and the SOL/fable follow up[2] went into a bit more detail on the benchmark and its challenges

1. https://news.ycombinator.com/item?id=49076391

2. https://github.com/humanlayer/advanced-context-engineering-f...

not suprising. i think we also tend to do better at things when we only expend medium effort.
what are the odds of as purely side effect of benchmaxing that the models get actually good because the benchmarkers the nittier they get the better the model has to become?

corrolary: just as cars evolved for worst because they were measured for "race numbers", what are the odds that the models just become "that uber nerd that degrades anyone who doesn't follow all his uber-rules for uber-code" and in the process start creating code that cannot be read or maintained?

Very interesting. If I’m honest with myself it could be very much a reality that I would be better off in only using for medium effor size tasked instead of trying to "offload" the necessary architecture thinking to "high" or even more.

They are good for inspiration though, but maybe I rather let me build a demo and then tell a medium model what I want from it.

It's Opus specific, but personally I'd never bother with Opus above High, CursorBench shows a clear inflection: https://cursor.com/cursorbench
Matches my subjective experience where Opus Extra likes starting sub-agents that burn tokens for little benefit. While High just does the work itself.