Rendered at 04:06:31 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
schainks 20 hours ago [-]
It takes true corporate dedication to publish technical thought leadership on a page that actively fights your ability to read it.
larodi 14 hours ago [-]
"The seat license isn't what hurts, it's the tokens."
not X, but Y... so this is very likely Opus 5 text, given timing and how it reads. has all the marks of it, one being very weird wording which makes it so hard to read the text.
ssivark 13 hours ago [-]
...the remaining 10% of their Claude usage ;-)
> modes are the load-bearing piece:
Okay, this write-up is filled with Claudisms.
6 hours ago [-]
andrew_mason1 7 hours ago [-]
I don't get why all your replies are on the AI language. Yeah the AI-isms suck and are obvious but is no one else bothered by how this page scrolls?
schainks 3 hours ago [-]
Custom scroll implementation just screams AI schlop on top of the schlop that's on the page.
thirtygeo 9 hours ago [-]
AI;dr
HPsquared 9 hours ago [-]
Too LLMy; didn't read
hotelsacher 9 hours ago [-]
Corporate dedication has been replaced by slop generators, as promised. They did say they'd make all the jobs obsolete.
schainks 3 hours ago [-]
"schloperators" for short, right?
ricardobeat 14 hours ago [-]
No mention of correctness or task success rate. This only works if the subagent model is much cheaper than the one running your session, which means it will probably be mistaken a lot more often [1] about what the code does. Routing purely on size tells you nothing about code complexity.
On top of that, saving 90% of input tokens != saving 90% "of tokens", output is wildly more expensive.
[1] especially if it's a really old model like Gemini 2.5!
solenoid0937 1 days ago [-]
So this is just delegating certain work to dumber models? I certainly wouldn't use Gemini 2.5 Flash (!!?) for code writing as suggested.
I've never had an issue with Codex or Claude reading massive files, they're really good at precise greps.
jampa 1 days ago [-]
> I've never had an issue with Codex or Claude reading massive files
Reading files isn't a problem they want to solve. The idea seems to be using a cheaper model to "scout" for the intended code, instead of an expensive one that reads all the things (and spends more tokens / thinks about them).
I think this might be useful because Opus 5 especially tends to over-read. So this looks like an "LLM Bloom filter", telling "hey this is the code you might want to read".
johnnythujone 13 hours ago [-]
I have a stage-gated workflow that prioritizes “premium” token efficiency (Fable.) and getting the most out of my subscription services. (Which boils down to Fable running carefully prompted deepseek-flash agent teams that defer back to the managing agent for any design decisions in most work.) As part of that workflow the manager uses cheap reconnaissance agents to burn their tokens in order to build relevant repo context, instead of the managing model’s. I’ve been doing this since they released Opus and it occurred to me that most of my pre-implementation phase token use was going right into the garbage bin with file reads that have to be done to find the relevant code, but are very wasteful.
There’s an added benefit that the manager’s focus on strategy and task decomposition before actually handling the user’s prompted task directly seems to be a very good way to interact with Claude’s Fable safeguards, and I haven’t had any refusals doing this.
And while I haven’t ran any numbers, I can get orders of magnitude more out of my claude subscription doing this, especially with deepseek-v4-flash being as good as it is for as cheap as it is.
jwillmer 10 hours ago [-]
I also currently run multiple Claude sessions with Fabel as the brain coordinating the manager sessions which in turn spawn sub agents.
astrange 10 hours ago [-]
> I have a stage-gated workflow
This is a Claudism, right? I feel like I never saw "gated" used this way before it.
gopher_space 2 hours ago [-]
A normal person would say “my workflow has stages” and their normal coworkers would say “no kidding”.
The community edition was open sourced when the creator got hired by OpenAI a few months ago.
jimmySixDOF 15 hours ago [-]
The creator (Eric Provencher) worked for Unity before that and he is exploring game development tooling etc (with an open token budget) its fun to see where things are heading in the on-demand future of handsfree blender output and animation
hankbond 23 hours ago [-]
> "LLM Bloom filter"
very good way to put it.
lxgr 17 hours ago [-]
It's not a great analogy, since Bloom filters are guaranteed to not have any false negatives, only false positives.
That property would be very useful here, but I don't see how it would be achievable using LLMs.
dominotw 13 hours ago [-]
still a great analogy even if not techincally equivalent
maxboone 7 hours ago [-]
"a filter" is an even better analogy because it is also technically correct
dominotw 6 hours ago [-]
thats not a analogy, its just a description
ramraj07 23 hours ago [-]
Pretty sure claude code already delegates reading a large codebase to haiku subagents.
Artimus 22 hours ago [-]
As of July, the explore agent inherits the parent model, capped at opus.
So fable and opus use opus to explore. Sonnet uses sonnet.
I replaced my built in explore agent with one hardcoded to sonnet low effort.
Im now fascinated by how exactly Bcherny generated that message using claude. Like is the entire issue resolution automated, or still guided in someway?
re-thc 19 hours ago [-]
It did used to use Haiku but that model is now too too far behind…
17 hours ago [-]
phoghed 8 hours ago [-]
GH copilot as well, explore subagent is configurable.
shubhamjain 1 days ago [-]
> So this is just delegating certain work to dumber models? I certainly wouldn't use Gemini 2.5 Flash (!!?) for code writing as suggested.
Why not, though? I started using OpenCode + GitHub Copilot, but I burned through my Claude Sonnet quota in just three days. I switched to GPT-5.4-mini, which uses far fewer tokens, and it’s often just as good as Sonnet. I think optimizing token usage is a good exercise. We often assume a model will be terrible, when it really isn’t.
solenoid0937 20 hours ago [-]
My code being correct 99% of the and costing 5x more tokens is vastly preferable to my code only being correct 90% of the time and using fewer tokens.
CuriouslyC 15 hours ago [-]
This is true, but with the newer generation of models you don't want to do this yourself, they're really good at orchestrating and triage. Run Fable or Astra on low/medium, and tell them to come up with a plan then direct subagents using a weaker model (I like GPT 5.6 terra medium) to implement and verify, and review their work.
jurgenburgen 22 hours ago [-]
> and it’s often just as good as Sonnet. I think optimizing token usage is a good exercise. We often assume a model will be terrible, when it really isn’t.
“Often” doesn’t sound great. If the smaller model fails then I just wasted a lot of time and tokens.
bensyverson 1 days ago [-]
Yes, this makes little sense. It looks like it's a way to avoid having Claude read or write your code.
And why stop at 90%? I have this one weird trick to reduce Claude Code token use by 100%: use a different harness and model!
fy20 7 hours ago [-]
This is basically exaclty what Cursor started doing when Composer was first released.
The app would start using it for exploration tasks, and then as it improved it became the default for writing code and tests too. You can change it of course, but I find it does a pretty decent job if you have a large model directing it.
The parent model of course checks the work, but most of the time the handoff is good enough that no edits are needed.
It's also pretty fast and cheap, firing off a bunch of sub-agents to explore different parts of the codebase is a regular occurrence for the way I work.
zxspectrum1982 6 hours ago [-]
IME Composer 2.5 is too dumb for any serious coding. Grok 4.6 is twice as expensive (but still much cheaper than Claude Opus) and it does a much much better job.
lxgr 17 hours ago [-]
I wish I could say this explains a lot about the state of Spotify's apps, but they have been that way since long before AI.
1 days ago [-]
14u2c 1 days ago [-]
This does seem to just be a subagents implementation.
phreack 18 hours ago [-]
Thank you, the article was so verbose I couldn't get the point just by skimming it. And it was this simple...
jrm4 17 hours ago [-]
Am I missing something? Unless you have infinity money, would it not be very stupid to pay for "precise greps?"
solenoid0937 11 hours ago [-]
It's a few hundred tokens. If you are worried about a few hundred tokens you are in trouble, forget about "infinite money."
steveBK123 15 hours ago [-]
What great productivity gains are Spotify achieving in making their product worse?
Jtarii 14 hours ago [-]
The spotify desktop app is one of the worst pieces of software by a major company I have ever used.
steveBK123 13 hours ago [-]
I timed how long it took to open Spotify and play a song on a $2500 Mac on low latency gigabit fiber internet.
15 seconds.
Incredible stuff.
SebaSeba 9 hours ago [-]
I had to test because I didn't recollect ever experiencing such issues with Spotify.
And no, the problems you described are not there.
On my Windows 11 laptop it takes about 2sec to start and basically any song starts in less than a second.
Maybe it's Apple making Spotify crappy on Mac to promote iTunes?
bigyabai 11 hours ago [-]
It opens and plays music in less than 3 seconds, on my x86 NixOS box.
I wonder if the macOS build has a bunch of static libraries it has to load first.
hotelsacher 9 hours ago [-]
Static libraries don't need to be "loaded first". They're part of the executable. That's why they are called static.
Tistron 10 hours ago [-]
Try it on a flaky connection. Every menu (maybe any action of any kind?) makes a roundtrip to the server before displaying, with a very slow timeout.
It's crazy how bad it is.
LiamPowell 9 hours ago [-]
Not just that, some actions spawn an entire Chromium instance. For example, any time you click on a music video (not a new thread, an actual full Chromium instance).
steveBK123 9 hours ago [-]
I’m sure more agentic coding loops will improve these inefficiencies
hotelsacher 9 hours ago [-]
Are you joking? Inefficiencies like that are a typical tell for LLM-generated slop.
And I'm sure their prompt whisperers are proud of their work.
steveBK123 7 hours ago [-]
Yes I was joking
wging 9 hours ago [-]
I think they've gotten worse about this as an organization over the last few years(?). Earlier this year an update to their mobile app introduced loading time, and resulting slowness, for opening menus that used to be ~instant. To me that smacks of once having known not to do that, but that knowledge having been lost (or priorities having shifted).
More specifically, I'm talking about tapping the '...' on a track for the options menu. That should be latency-free, and used to be.
Tistron 6 hours ago [-]
That specific thing hasn't been latency free for me for years.
Though I agree it should be.
hasteg 13 hours ago [-]
My favorite part about the desktop app is the 1 second delay between when I click a playlist and when it actually loads.
SaltyBackendGuy 13 hours ago [-]
You just need to have a M5, 128gi setup to get sub 1 sec playlist loads /s
autotune 12 hours ago [-]
Their web app functions perfectly as a replacement, however.
remus 11 hours ago [-]
Maybe it is different for you, but for me the web app is flakey at best. A bug which has been a pet peeve of mine for the last 6 months: if you leave the page open for half an hour with nothing playing, sometimes all the play buttons just stop working and you have to reload the whole page before you can play anything again.
shimman 12 hours ago [-]
I've gone back to the high seas and bandcamp myself. Spotify stopped having humans curate their playlists back in like 2016 or 2018 and the subsequent ML algorithms always recommend the same sounding stuff, nothing ever new or interesting. I'm back to getting recommendations in real life and literally talking to bands after their sets on who they listen too.
Never been happier listening to music ATM.
subscribed 11 hours ago [-]
Remember their new algorithm also prefers and promotes Spotify's own tracks they don't have to pay any royalties for and the slop.
I’ve noticed sometimes my wife puts on a playlist and it’s almost like weird covers or remixes I can’t quite put my finger on. Like it has a melody of a real song but the style / tempo / vocals are changed.
samtheprogram 13 hours ago [-]
I desperately miss their old XULRunner app. No longer worked through the API as of ~3 years ago and was a sad day for me.
bitwizeshift 11 hours ago [-]
It sounds like you have never used an Atlassian product, lol
Do you pay for Spotify? If so, I hope you never have to experience the dumpster fire that is their free version. Half the time you select a song to play it'll just start playing related tracks.
stavros 12 hours ago [-]
Yeah but that's by design for the free version, it's not a bug.
bigtex 15 hours ago [-]
They released some AI related product for the desktop that was probably vibe coded and will not be installing
steveBK123 14 hours ago [-]
They are in my top-3~5 list of "actively & aggressively getting worse" software products.
I wish websites would stop messing with the scrolling behavior.
landr0id 17 hours ago [-]
I used to date a girl who was a designer and had to plead with her that breaking behaviors I'm used to is not a positive UX.
"But it adds motion" was the classic reply.
bluGill 15 hours ago [-]
The question is, are we doing this page for the sake of art or are we doing this for the sake of spreading and sharing information? These are two different domains with different requirements as to how the page works.
There is nothing wrong with art. It is a great thing, I hope to see more art in the world. However, if the goal is sharing information, which is supposedly the goal of a fairly large number of websites, art needs to be secondary to sharing that information. And then those things that add motion, whatever: you're adding art and harming the real purpose.
PinkSheep 14 hours ago [-]
Allow me to put it more bluntly: if you are feeling like an artist, don't meddle with UX.
The comment above shows this type of people don't understand it. Yet they are the ones getting hired due to formal qualification. Those who do are at the intersection of design, engineering and computer science. The latter give you enough experience to understand the culture to recreate familiar _look and feel_.
ssl-3 9 hours ago [-]
That's exactly what I want from a website that's full of static information: Motion.
dotancohen 16 hours ago [-]
After seeing a few comments about scrolling on that page, curiosity got the better of me and I dared open TFA.
I found no problem scrolling. Either Firefox on Android doesn't support whatever trickery they are doing, or they reverted it.
retsibsi 15 hours ago [-]
On desktop, it's basically forced heavy smoothscrolling, with an attempt to replicate real motion by gradually slowing to a stop. Horribly laggy for those of us sensitive to such things.
PinkSheep 14 hours ago [-]
It's still there when Javascript is enabled. Firefox/154.0 on desktop.
nosioptar 11 hours ago [-]
If I said what I really think should happen to designers and "devs" who fuck with scrolling, dang would have to delete it and ban me.
Ublock on Firefox mobile seems to keep scrolling unfucked on this page for me. (Designer/"dev" of this page still sucks wet hobo socks.)
amsterdorn 18 hours ago [-]
+1, this bothers me more than it should.
jnwatson 1 days ago [-]
It cuts token usage because they are using a different service with a different token budget for the reader/code writer tasks.
You can also just delegate this to subagents with Claude Code (though you have a more limited choice of models unless you swap the cheaper models via OpenRouter).
I'm OK using a dumb model as a smart grep, but the whole point of using the frontier models is using their intelligence for the hard stuff like coding.
CaveTech 1 days ago [-]
You can also use hooks to force the use of subagents for this. The stack here is entirely unnecessary
spockz 22 hours ago [-]
I’m currently on codex can it also this? I find it hard to make accurate benchmarks in token use for these kind of changes because I don’t keep repeating the same tasks.
Basically I run in luna high or extra high continuously with a terra subworker dedicated to planning and difficult research questions. Then I end with a final review in Terra or Sol depending how big the feature is.
donavanm 11 hours ago [-]
yes, and you can do it entirely in developer instructions (AGENTS.md/SKILLS.md). No hooks or other executables needed. Check out `codex-subagent-router` for an example. Its overly complicated, and has a few things wrong, but it mostly works. In short:
- Write ~1 paragraph of developer instructions (AGENTS.md): Use subagents for tasks that can be decomposed, worked on in parallel, or delegated. Describe common examples. I put a reference to a "how to use subagents" skill for more details. The "skill" isnt' always read (as subagents arent always useful) which saves some tokens. But you pay the once-per-session read-skill cost when its relevant.
- Describe how to use subagents in ~1 page or less (SKILLS.md): use them for sub tasks. select model size/quality based on task ambiguity, scope, unbounded work, or conflicting requirements. Use reasoning effort for complexity, interdependence, or ambiguous success criteria. How to evaluate complexity & common subtask examples across the spectrum. give tasks a relevant name like "model-family_version_reasoning-effort_task-description" so you can actually understand what theyre doing by name.
- in dev instructions (SKILLS.md) provide a table of agent names (low complexity summarizer, bounded implementation, complex implementation), model+effort (gpt-5.6-luna medium, gpt-5.6-luna high, gpt-5.6-sol medium), and short description of 2-3 task "types" for each.
- Explain they can use "default" or specify their own custom model settings if needed.
- Define your list of subagent profiles in ~/.codex/agents/ which matches names (low_complexity_summarizer.toml) from previous. In each you'll need to set model, reasoning, and `developer_instructions` that describe *how* to do a task, *not what* to do.
Details to know:
- IMO subgent profiles are "task centric" because `developer_instructions` are required. You can't just specify model & reasoning, you also have to give valid developer_instructions that will be merged in to every session/prompt. I address this by defining a few different agents for tasks that are commonly encounted like summarization, synthesis, planning, implementation, etc. The different agent profiles (~2-5 per category) will "scale" the model + reasoning based on the complexity and ambiguity. This work pretty well in practice. And you don't need to over due it, the harness/agent can still launch a "custom" profile that uses the parent sessions developer instructions.
- You need to use agent profiles with codex because "v2" models (terra & sol) can't launch "v1" models (luna). There are a couple of code paths to avoid this, the agent profile is the simplest.
Anyways, write you skill & subagent profiles and it basically "just works".
alastairr 15 hours ago [-]
Does anyone even review these blog posts before they get published? If nobody in the company can be bothered to review it, I don't know why they expect anyone to persevere with the AIphorisms
shikck200 23 hours ago [-]
Side note: PLEASE DONT hijack scroll. Its just a bad bad thing to do. Please dont.
faangguyindia 1 days ago [-]
It doesn't work well in practice.
Try it yourself, use a big model like Opus or Sol to implement everything by first making a plan using plan mode.
Then try distributing the task to a cheaper models like Luna Max or Gemini Flash 3.8.
During planning, the big model already reads the relevant files in context, while giving a smaller model a slice of work itself requires the big model to reason about the task distribution, review, etc.
So do you really save on tokens?
majormajor 23 hours ago [-]
When I've tried it using API-rate billing I've saved on $$ on the tasks where I split planning+execution into Sol+Terra or Terra+Luna even. I wasn't paying attention to the token count, I was paying attention to the spend.
klodolph 1 days ago [-]
> Try it yourself, use a big model like Opus or Sol to implement everything by first making a plan using plan mode.
When I do this, I can have it use cheap subagents with models like Luna to read the relevant files.
MPSimmons 1 days ago [-]
Do you have the cheap models summarize the files? How do they get the relevant information to the bigger models?
mceachen 13 hours ago [-]
"Use subagents as applicable. Use sonnet/luna for finding relevant code references"
This should have been the entirety of TFA.
donk8r 20 hours ago [-]
[flagged]
skybrian 1 days ago [-]
Maybe not, but I like to review the plan anyway so that I'm less surprised by what it actually did.
sognetic 21 hours ago [-]
There are a bunch of approaches that do this kind of thing to reduce token usage ("semble" came to mind, technically different but functionally similar) but their performance is usually mixed because the models haven't been RL tuned to use them as they have the default tool suite. Combine that with the incentive by Anthropic et al. to make you actually burn through as many tokens as possible and I don't see these kind of things becoming mainstream yet. Maybe once we reach a point where consumers actually care about cost (because LLMs have become commoditized) these cost-reduction approaches become relevant enough to actually finetune the model with them.
dominicl 4 hours ago [-]
I definitely had the situation before that a large file read would suddenly make the context size of my session explode. But I didn't get the need for a cloud component here. So here is a cursor edition of this with no external dependencies: https://github.com/dominicletz/cursor-shunt/
(fully vibe coded)
Banditoz 1 days ago [-]
Oh dear, why does this website override scrolling behavior?
orliesaurus 1 days ago [-]
glad im not the only one that enabled screen reader mode to scan the article for some goodies
tobinfekkes 24 hours ago [-]
My first thought too! I couldn't put up with it. Left quickly.
khaki54 14 hours ago [-]
The downside of reading posts about the practical application of AI is that the practioner often uses AI to write it. I don't know why AI prose is so hard to read in the browser. I don't have any problem when reading off my TUI
gruez 1 days ago [-]
>The benchmarks
>Tested against a Java monorepo across four scenarios, measuring tokens Claude would consume reading files directly vs. consuming the bulk-reader's summary or writing code via the code-writer. Mean bulk-read savings were around a whopping 90%.
>The code-write scenario is harder to measure in tokens because without shunt, Claude both reads the reference files and generates the output as expensive output tokens. With shunt, the code goes straight to disk, Claude never sees it.
So nothing about accuracy or actual performance? At least run against DeepSWE bench or something.
gilmtz 1 days ago [-]
> The worker model found surface-level patterns but missed a subtle thread-safety bug in my testing. Claude spotted it in seconds once given the right context.
So the actual performance was bad.
It might be an acceptable trade off tho. If token costs become prohibitive, then using a meat engineer to actually debug could be cheaper.
nektro 1 hours ago [-]
this page hacks the scroll behavior so i exited immediately
tolugenius 1 days ago [-]
Isn't this a somewhat standard multi-model setup? there's nothing ground breaking here, just delegate claude to plan -> smaller model for implementation.
CharlesW 1 days ago [-]
Very standard in all coding harnesses/models I've worked with, with the bonus that everything listed in the "What doesn't work in Portal by Spotify" section still works. I've been watching Opus spin off work to Fable and Sonnet as appropriate all day.
spockz 22 hours ago [-]
Do you have specific instructions that cause this or did it come out of the box? Is it also when using normal prompting or only when you set a goal?
In codex I don’t see this behaviour despite having added the instructions to do so to my agents file. I also let that agents file be reviewed by Sol to come up with the right phrasing but no luck so far.
florians 23 hours ago [-]
Can you name some harnesses?
CharlesW 4 hours ago [-]
As I type this, my main is Claude Code and my secondary is omp. Both of these seem to do a pretty good job of choosing an appropriate model for subagent tasks, especially if I ask and/or save it as a guideline in project memory.
andai 15 hours ago [-]
So it's giving summaries to the main agent instead of source code? Is that it?
> If Claude needs to make edits based on the analysis, it still has to read the specific section directly.
Yeah iirc the sysprompt tells it that it must always (re-)read a file before editing it. I noticed this because I customized Claude Code to just read all source at startup (if the project was only a few thousand lines of code). And it would still read the stuff it had already read! Because the system prompt explicitly told it to...
ellessarr 10 hours ago [-]
Read tokens are the cheap place to optimize — input is ~¼ the price of output. The money's in write-side re-reads/retries, and nobody put a dollar number on that.
wejick 14 hours ago [-]
There are many ways simpler to achieve this, easier if the coding agent support sub-agent (which mostly do out of the box).
Eg. On opencode there's explorer subgagent that we can set to use lower level model. Many people even use haiku level model for this.
doubleorseven 8 hours ago [-]
i remember in 2015 when vaadin change some architecture things and introduced changes to the ui grid and other components like they didn't just reinvented dotnet framework 4 but for java.
fable already calls subagents (hoping not opus), so i don't really see the gain here
ryuuseijin 1 days ago [-]
Here is another technique to save tokens: allow the model to read a skeleton of the source code before reading the code, to give it an index into the code so it can read targeted chunks.
There is a tool that uses ripgrep and treesitter that does this [1], adapted from the maki coding agent.
I want a local model that I talk to, and that delegates work to whatever model it deems adequate, simplifying and perhaps even anonymizing the prompts/data as it goes.
FelineStateMach 1 days ago [-]
I sometimes get jumpscaped at the thought of older or less proven models used in enterprise settings. I understand the devex ergonomics argument; I'm not a fan of profiles concepts typically if trodding into delegation.
ig0r0 8 hours ago [-]
Kind of bullshit, instead of cutting Claude Code token usage by 90% it is cutting Claude Code file read token usage by delegating reads to Gemini flash (with its own usage) and trusting the summary of files it provides is not crap.
sandos 20 hours ago [-]
Isn't this already done in harnesses? I mean I see Terra or Sol uing Luna all the time for tasks when using copilot.
blopusai 8 hours ago [-]
Well... time to run it locally =]
andrethegiant 10 hours ago [-]
Spotify has a Java monorepo!? Why
krzys 9 hours ago [-]
So it's like the built-in Explore subagent - that runs on Haiku, is restricted to read-only tools, exists specifically for codebase search, and the docs list cost control via cheap-model routing as an explicit reason it exist - but with 30s latency over some externally hosted tool?
And it's just the execution, I'm not even going to comment on the idea itself, as it's even worse.
How this slop-post landed on the front page...?
claiir 15 hours ago [-]
AI-written page, and it gets worse as it goes on:
> The modes are the load-bearing piece:
lol
jokethrowaway 21 hours ago [-]
If you want an expensive model to reason on your files, you need to give them your files.
If you think a cheap model is smart enough to filter information to give to your expensive model, you can save some money. If you think your cheap model is smart enough to format your expensive output, you can save some money.
In practice, this didn't work well until Qwen 3.8.
Qwen 3.6 and (abliterated) Gemma 4 were almost there but still making mistakes.
tetrisgm 1 days ago [-]
This is just offshoring but for models
9 hours ago [-]
avazhi 1 days ago [-]
Dang, not even Spotify care enough to not write AI slop articles.
We’re fucked.
kristianp 19 hours ago [-]
They should use their portal to de-claude the writing.
stephbook 23 hours ago [-]
I could only read one sentence, then skipped to another paragraph. Sure enough the scroll bar revealed a suspiciously long article. No human would ever write this much bland bullshit.
Next sentence was also an AI juxtaposition. Done.
pmontra 21 hours ago [-]
I noticed
> The modes are the load-bearing piece:
Why do people write like LLMs? Maybe they delegate all the work to a LLM and don't have the time or the will to edit the copy. How about telling another LLMs to replace at least the most common LLM patterns with something human looking?
eterm 18 hours ago [-]
I don't feel like this was a piece by someone who has used LLMs too much.
I'm fairly confident this is just LLM writing the majority, possibly tweaked by a human.
Opening line is a form of, "It's not X, it's Y": ".. isn't thinking. It's I/O".
Then the start of the second paragraph is that weird breathless kind of writing:
> Reading five files to answer a question about one method. Generating a test file that follows the exact same pattern as the twenty test files next to it.
More "It's not X, it's Y": The seat license isn't what hurts, it's the tokens.
The softly pressed insistence that AI is worth it, really: "The tooling pays for itself but only if..."
blehn 1 days ago [-]
To be fair, Spotify was a slop factory long before LLMs started doing it
vagabund 23 hours ago [-]
Yeah, stopped reading after the first paragraph. It's really so disrespectful to your audience.
florians 23 hours ago [-]
It‘s someone from R&D probably not so official
lowbloodsugar 23 hours ago [-]
Spotify? The company pushing AI “music” into people’s feeds to save money on royalties? That Spotify?
prmoustache 23 hours ago [-]
They are in the business of selling audio slop streams, why are you surprised?
florians 23 hours ago [-]
True
hexo 16 hours ago [-]
What a "smart" website that steals mouse wheel.
addedlovely 15 hours ago [-]
Honestly would expect claude do be doing this automatically, seems like a low handing optimisation just sat there.
bakugo 22 hours ago [-]
I cut my Claude Code token usage by 100% by writing the code myself.
dotancohen 16 hours ago [-]
That saves on the monetary budget. How do you see it affecting your time budget?
Zambyte 15 hours ago [-]
I cut my Claude Code token usage by 100% by writing the code with Qwen 27B on my own GPU.
m3kw9 13 hours ago [-]
An openai/claude engineer would come in and douse this crap
3371 21 hours ago [-]
codegraph + context mode are all I need.
thewhitetulip 16 hours ago [-]
Are such things really helping reduce tokens? I see graphify being suggested as a graph db for avoiding greps
kotaKat 17 hours ago [-]
So they're using this to finally implement AirPlay 2 support, right?
Right?
Rules for thee...
shevy-java 17 hours ago [-]
> By 2028, AI coding costs are expected to blow past the average developer's salary. A quarter of engineering leaders already burn $200–$500 per developer per month on tokens.
Wasn't the AI promise to save costs? So it was a lie.
bluGill 15 hours ago [-]
We can't know if it's a lie or not until we know what the productivity difference is.
Measuring productivity is, of course, a hard problem and I'm going to leave this completely out of this comment.
simianwords 22 hours ago [-]
Not only does this study not control for quality of output, it doesn't even show a cost reduction. Its a very low signal article.
cute_boi 1 days ago [-]
STOP hijacking my scroll. I don't know why chrome even allow such behavior?
And, I can't believe this is from official spotify.... What a joke.
throooooo 23 hours ago [-]
Smooth as butter with Firefox on Android. As for why scrolljacking is "allowed", web devs will always find new ways to do annoying things and work around browser constraints.
pmontra 20 hours ago [-]
I confirm that. Then I opened the page in Chrome on Android and it scrolls nicely there too. So maybe they broke only desktop browsers.
1saadcodes 21 hours ago [-]
I swear. Put me off so bad I didn't even bother reading the rest of the article. It's even more infuriating that this is by a company this big
guluarte 12 hours ago [-]
in my experience doing something like this is either the results are trash or the main agent is like: "this does not sound right let me look into the file myself" and then spending more tokens working on bypassing the limitation
m3kw9 13 hours ago [-]
input tokens are cheap, is most of your task reading? And can flash 2.5 compress that read and give you a reliable output?
dominotw 13 hours ago [-]
xirp , chirp, portal blah blah just use what everyone is using opencode, pi , claude code whatever.
imagine working at these shitty companies with their shitty wrapper tooling.
jing09928 3 hours ago [-]
[flagged]
bizcalclab 11 hours ago [-]
[flagged]
shledery 9 hours ago [-]
[flagged]
16 hours ago [-]
manganate06 16 hours ago [-]
[flagged]
fif7y 1 days ago [-]
[flagged]
Buoylog 1 days ago [-]
[flagged]
nirmeet011011 23 hours ago [-]
[flagged]
BottieZimmie 1 days ago [-]
[flagged]
malinono 19 hours ago [-]
[flagged]
jens_tlb 23 hours ago [-]
[dead]
ahmedelsama 14 hours ago [-]
The Bloom filter framing is right. What made it work for me: the cheap model is only allowed to point, never to decide. Once it stopped judging anything and just returned file paths and line ranges, the quality complaints disappeared. The expensive model still does all the reading that matters, just on 10% of the bytes.
lxgr 12 hours ago [-]
Unlike an actual Bloom filter (which does not return false negatives), the cheaper model is still trusted to correctly recognize synonyms, equivalent functional constructions etc.
One is strictly a performance optimization, the other is a speed/quality tradeoff. It might well be a very good one, but it’s a tradeoff nevertheless. The framing is misleading.
not X, but Y... so this is very likely Opus 5 text, given timing and how it reads. has all the marks of it, one being very weird wording which makes it so hard to read the text.
> modes are the load-bearing piece:
Okay, this write-up is filled with Claudisms.
On top of that, saving 90% of input tokens != saving 90% "of tokens", output is wildly more expensive.
[1] especially if it's a really old model like Gemini 2.5!
I've never had an issue with Codex or Claude reading massive files, they're really good at precise greps.
Reading files isn't a problem they want to solve. The idea seems to be using a cheaper model to "scout" for the intended code, instead of an expensive one that reads all the things (and spends more tokens / thinks about them).
I think this might be useful because Opus 5 especially tends to over-read. So this looks like an "LLM Bloom filter", telling "hey this is the code you might want to read".
There’s an added benefit that the manager’s focus on strategy and task decomposition before actually handling the user’s prompted task directly seems to be a very good way to interact with Claude’s Fable safeguards, and I haven’t had any refusals doing this.
And while I haven’t ran any numbers, I can get orders of magnitude more out of my claude subscription doing this, especially with deepseek-v4-flash being as good as it is for as cheap as it is.
This is a Claudism, right? I feel like I never saw "gated" used this way before it.
The community edition was open sourced when the creator got hired by OpenAI a few months ago.
very good way to put it.
That property would be very useful here, but I don't see how it would be achievable using LLMs.
So fable and opus use opus to explore. Sonnet uses sonnet.
I replaced my built in explore agent with one hardcoded to sonnet low effort.
https://github.com/anthropics/claude-code/issues/72940
Why not, though? I started using OpenCode + GitHub Copilot, but I burned through my Claude Sonnet quota in just three days. I switched to GPT-5.4-mini, which uses far fewer tokens, and it’s often just as good as Sonnet. I think optimizing token usage is a good exercise. We often assume a model will be terrible, when it really isn’t.
“Often” doesn’t sound great. If the smaller model fails then I just wasted a lot of time and tokens.
And why stop at 90%? I have this one weird trick to reduce Claude Code token use by 100%: use a different harness and model!
The app would start using it for exploration tasks, and then as it improved it became the default for writing code and tests too. You can change it of course, but I find it does a pretty decent job if you have a large model directing it.
The parent model of course checks the work, but most of the time the handoff is good enough that no edits are needed.
It's also pretty fast and cheap, firing off a bunch of sub-agents to explore different parts of the codebase is a regular occurrence for the way I work.
15 seconds.
Incredible stuff.
And no, the problems you described are not there.
On my Windows 11 laptop it takes about 2sec to start and basically any song starts in less than a second.
Maybe it's Apple making Spotify crappy on Mac to promote iTunes?
I wonder if the macOS build has a bunch of static libraries it has to load first.
And I'm sure their prompt whisperers are proud of their work.
More specifically, I'm talking about tapping the '...' on a track for the options menu. That should be latency-free, and used to be.
Though I agree it should be.
Never been happier listening to music ATM.
Related: https://bedrocknews.com/article/technology/2026/apr/11/ai-im... and https://www.headphonesty.com/2025/01/spotify-ghost-artists-c...
Just skip Spotify at all.
I’ve noticed sometimes my wife puts on a playlist and it’s almost like weird covers or remixes I can’t quite put my finger on. Like it has a melody of a real song but the style / tempo / vocals are changed.
"But it adds motion" was the classic reply.
There is nothing wrong with art. It is a great thing, I hope to see more art in the world. However, if the goal is sharing information, which is supposedly the goal of a fairly large number of websites, art needs to be secondary to sharing that information. And then those things that add motion, whatever: you're adding art and harming the real purpose.
The comment above shows this type of people don't understand it. Yet they are the ones getting hired due to formal qualification. Those who do are at the intersection of design, engineering and computer science. The latter give you enough experience to understand the culture to recreate familiar _look and feel_.
I found no problem scrolling. Either Firefox on Android doesn't support whatever trickery they are doing, or they reverted it.
Ublock on Firefox mobile seems to keep scrolling unfucked on this page for me. (Designer/"dev" of this page still sucks wet hobo socks.)
You can also just delegate this to subagents with Claude Code (though you have a more limited choice of models unless you swap the cheaper models via OpenRouter).
I'm OK using a dumb model as a smart grep, but the whole point of using the frontier models is using their intelligence for the hard stuff like coding.
Basically I run in luna high or extra high continuously with a terra subworker dedicated to planning and difficult research questions. Then I end with a final review in Terra or Sol depending how big the feature is.
Try it yourself, use a big model like Opus or Sol to implement everything by first making a plan using plan mode.
Then try distributing the task to a cheaper models like Luna Max or Gemini Flash 3.8.
During planning, the big model already reads the relevant files in context, while giving a smaller model a slice of work itself requires the big model to reason about the task distribution, review, etc.
So do you really save on tokens?
When I do this, I can have it use cheap subagents with models like Luna to read the relevant files.
This should have been the entirety of TFA.
(fully vibe coded)
>Tested against a Java monorepo across four scenarios, measuring tokens Claude would consume reading files directly vs. consuming the bulk-reader's summary or writing code via the code-writer. Mean bulk-read savings were around a whopping 90%.
>The code-write scenario is harder to measure in tokens because without shunt, Claude both reads the reference files and generates the output as expensive output tokens. With shunt, the code goes straight to disk, Claude never sees it.
So nothing about accuracy or actual performance? At least run against DeepSWE bench or something.
So the actual performance was bad.
It might be an acceptable trade off tho. If token costs become prohibitive, then using a meat engineer to actually debug could be cheaper.
In codex I don’t see this behaviour despite having added the instructions to do so to my agents file. I also let that agents file be reviewed by Sol to come up with the right phrasing but no luck so far.
> If Claude needs to make edits based on the analysis, it still has to read the specific section directly.
Yeah iirc the sysprompt tells it that it must always (re-)read a file before editing it. I noticed this because I customized Claude Code to just read all source at startup (if the project was only a few thousand lines of code). And it would still read the stuff it had already read! Because the system prompt explicitly told it to...
Eg. On opencode there's explorer subgagent that we can set to use lower level model. Many people even use haiku level model for this.
fable already calls subagents (hoping not opus), so i don't really see the gain here
There is a tool that uses ripgrep and treesitter that does this [1], adapted from the maki coding agent.
[1]: https://github.com/ninjaxtools/treesitter-index
And it's just the execution, I'm not even going to comment on the idea itself, as it's even worse.
How this slop-post landed on the front page...?
> The modes are the load-bearing piece:
lol
If you think a cheap model is smart enough to filter information to give to your expensive model, you can save some money. If you think your cheap model is smart enough to format your expensive output, you can save some money.
In practice, this didn't work well until Qwen 3.8.
Qwen 3.6 and (abliterated) Gemma 4 were almost there but still making mistakes.
We’re fucked.
Next sentence was also an AI juxtaposition. Done.
> The modes are the load-bearing piece:
Why do people write like LLMs? Maybe they delegate all the work to a LLM and don't have the time or the will to edit the copy. How about telling another LLMs to replace at least the most common LLM patterns with something human looking?
I'm fairly confident this is just LLM writing the majority, possibly tweaked by a human.
Opening line is a form of, "It's not X, it's Y": ".. isn't thinking. It's I/O".
Then the start of the second paragraph is that weird breathless kind of writing:
> Reading five files to answer a question about one method. Generating a test file that follows the exact same pattern as the twenty test files next to it.
More "It's not X, it's Y": The seat license isn't what hurts, it's the tokens.
The softly pressed insistence that AI is worth it, really: "The tooling pays for itself but only if..."
Right?
Rules for thee...
Wasn't the AI promise to save costs? So it was a lie.
Measuring productivity is, of course, a hard problem and I'm going to leave this completely out of this comment.
And, I can't believe this is from official spotify.... What a joke.
imagine working at these shitty companies with their shitty wrapper tooling.
One is strictly a performance optimization, the other is a speed/quality tradeoff. It might well be a very good one, but it’s a tradeoff nevertheless. The framing is misleading.