Top
Best
New

Posted by systima 3 hours ago

Claude Code sends 33k tokens before reading the prompt; OpenCode sends 7k(systima.ai)
This started based off of a hunch. We usually use OpenCode, but were 'forced' to use Claude Code for a while due to issues with Meridian. In that time, we saw the usage meter rise much, much more quickly than when using OpenCode.

This was the initial anecdotal evidence, but we undertook this small study to collect empirical data:

We added logging between the agentic coding tool (Claude Code and OpenCode) and Anthropic's endpoint, and captured all requests (and the returned usage blocks).

With one caveat (toward the end of the post) we found unambiguously that Claude Code was far more inefficient in terms of its cache strategy and its harness token usage than OpenCode.

324 points | 184 comments
mcv 2 hours ago|
What really burns tokens is sub agents. I once gave Claude Code a pretty big task, and it immediately launched 7 sub agents which burned through my budget before even one of them was finished. Tried again 5 hours later: same result.

If I let the main agent do the same task sequentially, it was no problem at all. I don't know if it's really just communication and orchestration that makes sub agents so inefficient, or if Anthropic figured that most people using sub agents pay per token on a big corporate account, so this is an easy way to make more money from tokenmaxxers.

btown 2 hours ago||
As a counterpoint: in a complex project, Fable's "curiosity" may be exactly what you want for an exploration and planning stage - not just for the orchestrator that turns your prompt into different angles with which to explore, but for each subagent whose task is to search the codebase for one of those "angles." If you truly want no stone unturned, letting those subagents spawn their own discoveries, and recursively grow the surface area of the inquiry, then it's quite reasonable to want Fable throughout.

That said, if your project is "do this well-planned thing on a bunch of things in parallel" then you should absolutely be instructing to have subagents "step down" to less curious models. Their output may well be more cohesive as a result!

adastra22 1 hour ago|||
The curiosity is inefficient though. So many times I have to stop the agent and tell it to just fucking write the code and try compiling it. Otherwise it will fill its entire context tracing through the program logic to derive from the code itself whether the thing it is about to do would work. It completely fails to notice it can just… try.
CSMastermind 39 minutes ago|||
Everything about LLMs is inefficient. They have their benefits but watching them reason over things that are painfully obvious, that they've literally investigated before (before a memory compaction), never take a step back aand be like 'this is going too slow let me look for a better way', etc. is painful.
ACCount37 41 minutes ago|||
It's tuned for the kinds of tasks where "just try" doesn't get good results.

A major complaint with AI code was that AIs struggle with complex codebases, don't respect existing conventions, reinvent functionality multiple times over, etc. So, newer high end AIs are tuned with the "explore/exploit" dial turned towards "explore".

You could probably get it to do things "quick and dirty" with prompting, but that, of course, requires prompting for it.

giovannibonetti 10 minutes ago||
Perhaps what is missing is a better memory/caching layer to avoid doing the same for explorations over and over again.
qpricjalcbeu 23 minutes ago||||
But how is that better than a single agent searching those "angles" sequentially?

Unless they are orthogonal they most likely require similar context anyway so multiple sub agent is just wasteful.

cyanydeez 1 hour ago|||
[dead]
wongarsu 2 hours ago|||
Sub agents each have to read part of your code base again to get enough context for the task. And if they take too long, your orchestrator's context is no longer in cache so you pay full price for that again once the subagents finish

If you do it sequentially you only read those files approximately once, and everything hits the same prefix cache

EMM_386 1 hour ago||
Yes but one of the key things about subagents is they keep all of their tool calls and exploration out of the parent context.

If you plan on continuing on in the parent, and aren't going to necessarily be touching the systems the other agents are exploring, it can be worth it.

It's useful in certain situations where the parent context may need the "10,000 foot" view of something without going back in there. But subsystem-specific AGENTS.md/CLAUDE.md files are still superior and accomplish the same thing. The problem with those is they can become stale.

a_c 2 hours ago|||
Every subagent send the same ~30k system prompts. If you are using fable/opus, that's easily 30% of a 5-hour window for 7 subagent, before doing any work
micw 2 hours ago|||
I recently did a few tests. And always the same prompt has been cached properly.
ricardobeat 1 hour ago||
Cache is usually not shared between agents - they can have different base prompts, tools, and be an entirely different model.
megous 2 hours ago|||
If it's always the same prompt, can't they have it pre-cached globally for all?
a_c 28 minutes ago|||
The system behaviour is totally up to anthropic's discretion. Its current behaviour is verifiable. In claude code, spawn a subagent with

1. Agent("Test")

2. look at your token usage

3. Repeat a few times

I didn't check again as I type this message but am somewhat sure subagent doesn't cache system prompt as of maybe last week

erikus 2 hours ago|||
I'm pretty sure the system instructions are a function of your environment and not the same universally. That said, there should be a finite number of branches so still cacheable.
joshcartme 23 minutes ago|||
They did recently change it so the default explorer agent inherits the session agent (capped at Opus). Before Explore was always haiku. I had Claude write a skill that extracts the built in Explorer agent skill, and then writes an identical Explore agent that uses Haiku
duxup 52 minutes ago|||
It’s funny too because I’ll ask fairly simple things and it’s fine, similarly simple question might spin up a bunch of sub agents and I don’t know why….

I feel like maybe it could have asked for clarification or something rather than go and try to calculate all the digits of pi all of a sudden.

qpricjalcbeu 2 hours ago|||
And in my experience the sub agent performance is usually worse than just a single agent.
tudelo 2 hours ago||
I find it useful for code reviews (spawn a subagent with minimal/no context to review X commit). Of course, this is more or less a shortcut that could be done with a seperate agent. Another use is multiple reviews at once if tokens are not an issue, with seperate "personas" or focuses. As far as implementation goes I have not seen any major usecase.
viccis 12 minutes ago|||
Same for me. I never use them. I use Fable on highest effort to plan things and then record the plan in tickets. I use Kata, which is CLI and agent oriented, but I suppose Jira or other systems would work too. I tell it to put enough context in each ticket to on-board a fresh coding agent to implement it. Then I just do /goal, telling to to run `kata ready` to get new tickets to work and continue until they're all closed according to acceptance criteria or until they're blocked on actions from me. I need to play around with getting it to switch to smaller models (or spawning 1 subagent) to do ticket implementation and then auto compact after each. Either way, it results in really easy workflows and uses very few tokens compared to the built in subagent flows that doing this completely avoids.
xhrpost 1 hour ago|||
For a while everyone was saying sub agents is how you save tokens, use lower quality models with limited context to do simple parts of the job after a smart planning agent has put it all in place. Is that no longer true or is this just the result of sub agent being used at the wrong time?
alansaber 41 minutes ago||
No, you can definitely configure low cost search and apply subagents. CC and Codex do not. Not sure if this is to improve the reliability of their subagents, or just a play to increase user consumption.
beezlewax 1 hour ago|||
Spawning a bunch of agents seems to happen randomly. I almost never want this.
kadoban 1 hour ago|||
I think there's some setting to restrict the number of them, or maybe turn them off. Doesn't happen for me ~ever and it's not my $$ (work) so I haven't really looked at it much.
alansaber 40 minutes ago|||
Such is the nature of tool use
ValentineC 2 hours ago|||
> What really burns tokens is sub agents. I once gave Claude Code a pretty big task, and it immediately launched 7 sub agents which burned through my budget before even one of them was finished. Tried again 5 hours later: same result.

Probably because the general purpose subagents inherit the parent model.

I tell Claude explicitly to use Explore subagents, which use Haiku only, now.

CjHuber 1 hour ago||
> Probably because the general purpose subagents inherit the parent model

only if you don't specify which model should be used

thejazzman 2 hours ago|||
for subagents to be cheap/effective, you have to specify the size of those subagents; i.e. right now by default 5.6-sol spawns many 5.6-sol subagents. 5.4-mini as subagent saves me tons of tokens. 5.6-sol audits the work before accepting it, so there's not really a quality issue.
reinitctxoffset 1 hour ago|||
Subagents with a fat tailed latency distribution completely masks the trough filling that puts the most downwards pressure on per-token COGS.

This is why the subscription plans are forced through the harness (the "OpenClaw Wars"): it creates a false equivalence in the minds of many customers between API tokens (latency sensitive, easy to measure) and Claude Code tokens (remnant backfill to stay to the right of the roofline, marginal cost often zero).

Selling sausage as sirloin is a great business if people go for it. And there's nothing inherently wrong with spot pricing, as long as you're honest about it...

onlyrealcuzzo 1 hour ago|||
This is why I happily use Codex.

I run it basically 24/7 on a ~500k line repo, and only rarely run out of quota before the end of the week.

My experience with Claude Code was very good until about 2.5 months ago, and then it suddenly turned unbelievably terrible for me.

I have not and will hopefully never look back.

I still have PTSD from how ungodly terrible it was that last week of using it.

rendx 1 hour ago|||
> I still have PTSD from how ungodly terrible it was

Please, for the sake of everyone suffering from actual PTSD: Don't. It's hard enough already for victims to communicate what difficulties they are facing without people watering down terminology like that.

adaml_623 50 minutes ago||
They have Coder PTSD or CPTSD.... Is that a better acronym???

Sorry just teasing.

throwaway7783 1 hour ago||||
This has been my experience as well. Something happened 2-3 months ago with Claude Code. It got slower, starting spinning and getting stuck more and more. I gave codex another shot out of my Claude frustrations, and have never looked back again.

Just tried Claude Code yesterday, and nope, it's the same old bad.

peterlk 1 hour ago|||
Can you be more specific about what “unbelievably terrible” means?
retired 2 hours ago|||
Did it deploy five AWS m8g.12xlarge instances?
adastra22 1 hour ago|||
--disallowedTools Task
leptons 1 hour ago||
It's in the best interest for AI companies to gobble up tokens. I feel like every new release - Fable, etc - is just a way to extract more tokens/money.
temp7000 52 seconds ago||
But Claude Code in my experience results in more tool calling for smart efficient file reading. Meanwhile Opencode pulled an entire 500kb file (GPU assembly dump) at once. Kilo is better than both, as it uses indexing.
korrectional 2 hours ago||
My opinion is that claude code uses more tokens simply because Anthropic makes more money that way and forces people into their subscriptions. This is supported by the fact that they won't let you use your sub on a different coding agent. I use pi btw.
claw-el 2 hours ago||
Once I realized that Anthropic is a token merchant, I start to understand Anthropic’s decision more. They are always finding reasons for you to use more tokens through them unless the users revolt or demand some guardrails.
nijave 53 minutes ago|||
I've done a couple side by sides on web chat with the same prompt on Opus 4.6, 4.7, and 4.8 and the output gets longer/more verbose on version increment. The enerr variants are definitely much wordier.

On the other hand, the newer variants also tend to benchmark higher so it's not quite a clean argument of "hey the new version eats more tokens"

cmiles74 40 minutes ago||
I think both things can be true: new models benchmark higher and eat more tokens.
jbvlkt 28 minutes ago||
From my experience new models are slower and use more tokens even on questions which gpt 4 answered correctly. It is mostly because newer models tend to be more verbose (even with prompt requesting short answers).
athrowaway3z 1 hour ago||||
I bailed on Anthropic the moment they started blocking alternative harnesses like pi on their subscription plans.
stefan_ 1 hour ago||||
But they gave us double the tokens! Then a limited time more usage! Then even more tokens "off peak" times! Then some new model released but apparently it inherently used 1.69x tokens! Then Fable is here but "it uses much more usage". But only until ~~the US banned it~~ ~~7th July~~ ~~19th July~~ who even knows.

At this point I think Dario is just in his wellness retreat adjusting a revenue/profit dial.

lkbm 1 hour ago||||
Seems unlikely they'd be this dumb. The way to get us to use more tokens is to make those tokens more useful, not less. Anthropic is full of people (including higher-ups) who know this.
crewindream 50 minutes ago||
But it is much much simpler to make it consume more tokens.

It’s like that saying “What Andy giveth, Bill taketh away”, but in this case it is one company.

There is definitely a conflict of interest.

cyanydeez 54 minutes ago|||
now reealize that LLMs are trained to produce tokens and like the halting problem, cant be trained not to produce tokens and youll realiE the AI labs are the perfect essential capitalist and like cancer, will keep growing useless tokens until it kills its host.

no amount of alignment will stop aomeone drom just shutting up.

toddmorey 2 hours ago|||
I thought I read somewhere that according to filings for going public, subscription revenue is tiny… like 5%.

Edit: consumer Claude subs are the 5%. I’d bet most all of CC subs lump in under enterprise.

  - API & Enterprise: 75% to 85% of total revenue.
  - Business Subscriptions: Roughly 10% to 15%.
  - Individual Subscriptions: About 5%.
Quot 2 hours ago||
The vast majority of my company's enterprise plan use is through Claude Code even though we have access to the API and could be using OpenCode instead.

I don't fully agree with the premise that they intentionally increase system prompts, but the enterprise plan usage is going to make that a huge income for Anthropic.

paxys 2 hours ago|||
You're making the opposite argument. Anthropic is incentivized to use less tokens in Claude Code because people are paying a fixed monthly fee for subscriptions.
FuckButtons 2 hours ago|||
Nope, that’s not true, because they want you to pay for the higher subscription bracket.
paxys 13 minutes ago|||
That strategy only makes sense if there's an abundance of tokens, but that's not the case. AI companies are spending a ton of resources on improving token efficiency because they are all severely GPU constrained. Anthropic instead nudges you to move to a higher tier by setting rate limits.
jchook 2 hours ago||||
Can confirm — they got me paying $100/mo this way.

Also I think it’s well known that OpenAI is the much less expensive option (in tokens and $$). For the same $20 you get a lot more mileage.

Curious if folks have strong opinions about the overall UX of OpenCode vs CC…

erikus 2 hours ago||
For me as well, at least this month to use more of Fable. We'll see if they extend Fable access because of people like me.
tokioyoyo 44 minutes ago||||
Generally, companies with >150 people can’t use subs. So yeah, it’s mostly a funnel for devs/small companies to eventually vet for the product and convince their enterprise to use it as well.
tjoff 2 hours ago||||
Well since what you get for your subscription is unknown it would be trivial to get that result without burning tokens.

Especially since compute is such a scarce resource.

bpodgursky 2 hours ago|||
If they wanted to play games with sub tiers they would just change the rate limits rather than wasting inference.
crewindream 43 minutes ago||
Flip side is customer psychology. Choosing a more expensive tier leaves better emotion.

Also i doubt there was jira ticket with “make llm more verbose”, rather ticket with “bug makes llms too verbose” gets prioritised taking revenue impact into account.

VulgarExigency 2 hours ago|||
Enterprise users are not paying a fixed fee, though
whazor 2 hours ago||
Yeah, I strongly recommend against Claude Enterprise, it is ridiculously expensive and hard to control costs.
hobofan 2 hours ago|||
> I use pi btw

Not sure if intentionally meant as a reference, but it gives "I use Arch btw" vibes.

diurnalist 1 hour ago||
Pi is one of the ways out of this problem (OpenCode another) so I took it as an intentional reference as it is highly relevant. I also use Pi as my daily driver and I think it's a wise choice to figure out how to decouple yourself from lab-specific harnesses that you have little control or observability over.
lanthissa 2 hours ago|||
the amount of system prompt wastage going on in orgs is insane. we identified 400k in annual burn for zero value in just one section of our large company.

and the interesting thing about system prompt wastage is its a cost that scales non linearly with subagent use.

ntcho 30 minutes ago||
The non-linearity is interesting. Is the default behavior for subagents in CC/OpenCode loading the same full system prompt (or AGENTS.md)?
hvb2 2 hours ago||
> This is supported by the fact that they won't let you use your sub on a different coding agent

I mean, that's a very weak argument? Isn't a much more plausible explanation that with your tooling you'll have more of a lock-in than with just your model?

notnullorvoid 1 hour ago||
Neither is mutually exclusive.

They get lock-in, and through that lock-in are more effectively able to inflate token usage.

systima 2 hours ago||
UPDATE:

After reading PUSH_AX's valid comment: ``` This is like saying contractor (A) asked for $33,000 to undertake the work and contractor (B) asked for $7,000 Are we measuring and caring about the right thing? ``` We will update the post to include:

1) A more in-depth task. 2) Qualitative results comparison. 3) As soon as possible, a reproduction of the inputs and outputs.

Schiendelman 2 hours ago|
Thanks, I'm looking forward to this!

I wonder if a lot of the 33k is context, like from recent conversations.

jakozaur 3 hours ago||
This isn’t limited to large system prompts. Coding-agent harnesses are also becoming more aggressive about using tools, even for trivial requests. In our tests, prompts such as “Hey” or “commit” sometimes triggered 30+ tool calls:

https://quesma.com/blog/the-true-cost-of-saying-hi-to-an-ai-...

Tokenflation seems very real: the number of tokens consumed by simple tasks keeps increasing.

prymitive 2 hours ago||
I often find myself annoyed when Opus fixes a typo in a comment and decides to run tests, lints and whenever else it can find to run. Often it will start by stashing current changes just to preemptively check if all tests were passing before. And I can blame myself a bit because my rules do say: verify all changes with tests. But as there is that I in AI that is hyped which you’d think means it knows not to put tomatoes into fruit salad …
mh- 2 hours ago|||
> [..] my rules do say: verify all changes with tests

I am a bit surprised that you're disappointed that it does exactly what you told it to - people usually have the opposite complaint.

If you're using it interactively and watching what it changes, I'd trigger the tests when you think it's needed. And if you want to go more hands-off, why not add try to encode the same nuance you'd use into the rule?

iamflimflam1 31 minutes ago||
Rather than bake that into the prompt - wouldn’t it be better to just set up a pre commit hook that runs tests and linting?
mh- 28 minutes ago||
Maybe, depends on their workflow. In my human workflow, I tend to use commits as checkpoints and then squash before pushing. I'd usually only run time-consuming tests before squash+push.

But yes, anything you want to ensure really needs to be a hook.

edit: realizing with "precommit" you probably meant a git hook not one in their harness. I'd have written the same response more or less though. :)

iamflimflam1 13 minutes ago||
Oh yes - definitely the git kind of hook. Also, I always forget that there’s a pre-push hook as well. So you don’t need to do things every commit.

But then you could just be storing up a lot of problems…

mh- 11 minutes ago||
Indeed. That's why I think it depends on the individual's workflow where it should live.
redox99 2 hours ago||||
Following rules like "verify all changes with tests" down to a tee is usually a desirable trait in LLMs. Personally I'd leave that behavior there (just like with humans for some tasks like aviation you have them go through checklists even if some stuff you can infer is not needed). But otherwise just make it "always run tests unless you're absolutely sure they can be skipped".
dymk 2 hours ago|||
Add "... unless the changes are trivial, docs-only, or typo fixes" to the "always verify with tests" instruction and see how that does
what 9 minutes ago|||
Why are you asking the LLM to commit? Can’t you do that yourself?
Chris2048 2 hours ago||
> prompts such as “Hey” or “commit” sometimes triggered 30+ tool calls

I read that this is because it wastes time looking through past conversations and other context to figure one what you might want it to do - a less ambiguous prompt would be better.

eigenblake 21 minutes ago||
We should discuss cache performance if we haven't already. That 33k tokens may be a cache hit (I am not certain it's automatically a cache hit) but after the first call, it should certainly be a cache hit. Cache hit tokens are billed at 1/10th the price of cache misses. This is quite opaque, but it's necessary when you're asking "is the system prompt worth its stay" if you can save 33k tokens worth of dynamic discovery across the next few turns, the break-even point is quick and if the system prompt makes task performance increase and/or makes the system more autonomous so that it can string together more cache hits in a row, it becomes way way better. On a personal note, I think of things as aa function of 'supervised time to desired result' and 'cost'. because I find it harder to reason about tokens. I do think they could introduce a "minimal" mode (something like this is probably doable with the Claude agent SDK today)
striking 18 minutes ago|
Anthropic's cache expires after 1 hour when using subscription endpoints, and for those cached tokens cache reads are free. It's generous (compared to API pricing) but it's not 100% free.
estetlinus 2 hours ago||
Recently switched to Codex after 6m in Claude. Codex seems more open, it’s easier to follow what the model is doing and the approvals have a better UX. Overall, it just feels more transparent. Cost of switching was close to 0.

I don’t like that Claude became more opaque around February, including the system prompts. 33k feels way too much.

erikus 1 hour ago||
I use both now and agree they're basically interchangeable.

I appreciate that Codex is open source and OpenAI has explicitly said using the subscription with other agents is ok. OpenAI has been much more consumer-friendly recently.

edot 1 hour ago||
And OpenAI didn't try to silently degrade performance of their top model if its (extremely sensitive) safety sensors went off ...
estetlinus 1 hour ago||
Anthropic is the silver lining keeping p(doom) below 1.0
Schiendelman 2 hours ago||
What settings have you tried since it "became more opaque"? They've got a lot more settings now.
estetlinus 1 hour ago||
CC went from sane defaults in late 2025 to feature scope creep early 2026. So more features might be good, but sounds like an ick for me. But I have zero prestige, I might switch back.
bel8 3 hours ago||
And pi agent is even less.

The entire agent system prompt can be seen here:

https://github.com/earendil-works/pi/blob/main/packages%2Fco...

mft_ 2 hours ago||
Maybe related to this minimalism, Pi doesn't come with most of the tools an LLM needs to function efficiently or effectively. I get that a blank slate is the paradigm, and you can add whatever you want, but it's too blank IMO.
arcanemachiner 2 hours ago|||
I have a functional Pi config, mostly self-made (it has everything I want, incl. subagents, web search, a /btw command, and other misc. addons), and my system prompt is ~3k.
mft_ 2 hours ago||
Would you mind sharing?
rurban 42 minutes ago||||
Oh-my-pi has more tools than claude and opencode, and uses them much more efficiently. my favorites are /collab and the gortex mcp
EspadaV9 5 minutes ago||
I tried using omp, and really like the interface, but I found it used tokens much much quicker than the Claude cli. Some simple tasks would use all the session tokens in less than an hour, as where I could get easily get 3-4 hours with Claude. Both set to use opus 4.8 auto effort. I tried tweaking the models for agents down to haiku and sonnet in omp, but didn't notice any real difference in the speed tokens were being used.
bel8 2 hours ago||||
It's easy to add using plugins.

What do you miss? I ask because I do some heavy work with pi + GLM 5.2 (using opencode Go subscription) and my workflow is plan -> implement.

mft_ 2 hours ago||
> It's easy to add using plugins.

Sure, but you have to add almost everything, no? It deliberately only comes with read, write, edit, and bash. My point wasn't that you can't add stuff, but that I'd just rather use an harness that's a bit more full featured from the start.

(Pi is a bit like old 3D printing where fettling the printer to work is a central part of the hobby. I'd rather just buy a Prusa.)

agentdev001 1 hour ago||
I'd like to understand what features you're referring to that are missing from base-install Pi CLI.
mft_ 3 minutes ago||
The main ones missed immediately were web access/search. Then the to-do list features (it was a nice surprise to try OpenCode and see this working immediately.). There were a couple of other niggles but it was a few months ago. Also, this may not be common, but it seemed to struggle to edit effectively (driven by Qwen 3.6 35b/27b) and often rewrote whole files instead.
azuanrb 2 hours ago|||
[dead]
ppeetteerr 2 hours ago|||
Read through it an I'm curious whether setting the date and cmd on every system prompt call will cause the cache to invalidate.

I guess the cache would only be invalid if the day changed or the root directory, which would technically happen infrequently enough.

anonym29 2 hours ago|||
If you really want a minimal agent that you heavily customize, just skip pi (130+ transitive dependencies on the "minimal" pi-coder package) and write your own. You learn a bunch, and it's not hard. You can even ask another LLM to help you get started.
tmalsburg2 2 hours ago|||
I wrote my own harness in Emacs and it’s completely ridiculous how well it works. Auto-compact is the only missing feature on my list. Claude‘s approach, if I understand it correctly, invalidates a lot of cached context, and I‘m thinking about a more cache-friendly strategy.
Bolwin 36 minutes ago||
Claude is very cache friendly, however there have been some inconsistencies with non anthropic endpoints that led to cache breakages
novaRom 1 hour ago||||
Exactly! I just vibe coded (with GPT Sol and Claude whatever-number) my own agent, it's trivial to add now any feature I want - simply ask more powerful model to do it for you. I am happy with end result, however it looks indeed these tools are trained to increase token count - they do quite stupid token-spending steps while making code, but the code itself is also a bit weird - it's like they intentionally do code which is hard to modify on your own without using exactly those authoring models. Interestingly, when I am using DeepSeek with OpenCode, I don't see that - it understands my intent well enough and overall code quality is not bad. I recently switched to local Gemma 4, and I often switch (in opencode) to just that less powerful model, because it understands my intent and has enough skills to provide good quality solution although it's rather for small size projects, and for not coding from scratch, but it's also free and private. It feels slower than any big cloud model, so my model switching is probably most quickest path to robust end result :)
wolttam 2 hours ago||||
This is a truly underrated approach IMO
amunozo 1 hour ago|||
Any tips on how to get started?
anonym29 1 hour ago||
At a minimum, you need an inference endpoint: either cloud or local.

If going local, llama.cpp is going to be the more beginner friendly local inference engine that supports more processor types (AMD GPUs, Intel GPUs, CPUs, anything that supports Vulkan, not just Nvidia). LM Studio is a nice wrapper for this if you'd rather avoid cloning repo and compiling yourself, provided you don't mind closed source software; it's much less enshittified than Ollama.

If going local, you will also need model weights in the right format for your inference engine, and with a model that can fit on your hardware. This is going to be .GGUF files if you're using llama.cpp or a wrapper for it like LM Studio.

From there, pick a language, go look up the OpenAI /chat/completions API format (or Anthropic's "Responses" API format), create a DS or array or slice to store messages, and build a loop that accepts user input, formats it according to the API format, sends it to the inference server, retrieves and parses the response, adds the response to the DS/array/slice, and repeat.

There's a lot more beyond this - tool calling, other API formats (optionally), MCP servers, transport layers besides terminal stdin/stdout, permission models, starting with a system message, clearing your message stack correctly (hint: don't reset it mid tool-call), message compaction, web searching and page fetching, semantic search RAG over embeddings, memory layers - way too much to cover exhaustively in a single message.

AndreiCalazans 1 hour ago||
I was here looking for this comment = )
arjie 28 minutes ago||
I'm surprised most of that isn't cached token usage. It's true that increasing length is a problem on its own because the model needs to attend to it all, but with caching it should be pretty fast anyway. My system prompt is quite large and I haven't noticed much of a generation penalty in the range from 5k to 10k.
alex7o 2 hours ago|
I am forced to use cloude code at work but a good solution is to just use --system-prompt "" and be done with it. I wish they allowed for other harnesses.
cube00 2 hours ago||
> --system-prompt ""

Doesn't the model need at least a basic system prompt to understand what tools are available?

dezgeg 23 minutes ago|||
No, tool definitions are provided via some other mechanism.
lanyard-textile 1 hour ago|||
The flag name is overloaded. It won't affect the tools available, just the other system instructions.
AndyNemmity 2 hours ago|||
Yep, have been using this for a long time now. No idea why everyone doesn’t.
al_borland 1 hour ago||
Does it have any negative impact? If not, I’m not sure why this wouldn’t be the default behavior. It feels like Anthropic is just putting their foot on the scale to drive up costs or for the enterprise, or push consumers to higher subscription tiers.
tyleo 2 hours ago|||
I didn’t know you could do this. Is there any analysis of the impact, before and after? I’d love to see some charts of efficacy in real world usage.
alex7o 2 hours ago||
It shows up in /context, but never spend time validating it much. Some people run a proxy to modify their messages.
venusenvy47 2 hours ago||
Do you start Claude with this option? Or do you send this with every prompt?
alex7o 1 hour ago||
yep I pass it to the CLI, I also pass --model
More comments...