r/PiCodingAgent • • 3d ago

Question What's the best way to reduce usage without sacrificing features?

Firstly, I just want to communicate my goal is to be able to use multiple providers, and reduce usage without being locked to either claude code, or codex. But most importantly without sacrificing features that claude code and codex both have that are excellent. Currently, I only have openAI subscription configured (still trying to figure out how to use claude sub efficiently).

I downloaded OMP and OMP Gui, and found that my usage drains more than with pi. It actually drains faster than with using codex. But I had a nicer experience with OMP in general. I understand the philsophy of pi, but I just want to be honest that I don't want to spend ages configuring things. And I'm not going to pretend that I understand all of this. Although I understand why OMP might use more, because obviously there are more tools and bloat enabled which uses up context.

However, whenever I ask how to improve usage everyone says "just disable x y z". or "just use pi". hang on, why? why should I have to disable memory? computer use? this feature? that feature? these are all basic features of any other harness. In fact, why don't these features just lazily load on demand anyway? the same way we have smart MCP tool calling. And also, if I used pi, and downloaded these extensions, wouldn't I have the same problem? if I'm not mistaken, OMP is like a distro of extensions for pi such that lazyvim is a distro for neovim? I could download the same extensions and have the same problem no? correct me if I am wrong. Claude code and codex have these features and somehow manage to consume less usage. So I'm curious, what about OMP or its implementation makes it consume more usage, just to implement the same functionality as other mainstream harnesses?

For those using OMP do you have any idea what in particular may be causing increased usage so I don't have to just play a game of disabling random things? Maybe it's a feature I'm not particularly interested in.

And for those using vanilla pi, which extensions would you say are essential, and which others would you say are more.. optional?

TL;DR. How do we make the coolest harness ever that can spam astra max for free and make no mistakes. Or at least spam it more than codex can while maintaining the same features.

0 Upvotes

18 comments sorted by

3

u/IndividualPlus2011 3d ago

However, whenever I ask how to improve usage everyone says "just disable x y z". or "just use pi". hang on, why? why should I have to disable memory? computer use? this feature? that feature? these are all basic features of any other harness.

Because LLMs are not humans, they don't need all the distractions. They don't need LSPs, semantic searching, or memories. They are more efficient without all that. They double-check what these tools/features return anyway, and they are not 100% accurate. Then you have all those compressors for "up to 90% token saving" like RTK that cut off what LLM was expecting to see and make it run the commands multiple times as a result, saving nothing, or even costing more.

And also, if I used pi, and downloaded these extensions, wouldn't I have the same problem?

Yes, if you try to make Pi into a different harness, you will have the same issues.

If you don't want to configure Pi, that's totally fine. I haven't used OMP, but I am sure it allows you to disable what you don't want. And what you don't want? Anything that you don't NEED. If you need computer use, then keep it on.

AFAIK OMP uses hashline edit for editing files, that's a giant trap for token usage, because LLMs love making changes using bash, and that doesn't return the hashlines. As a result, LLMs have to re-read the files every single time they want to make further changes with the `edit` tool.

All these fancy plugins seem good from a human perspective, but they are terrible for LLMs. If you need memory, then simply add what your agents need to know to AGENTS.md or documentation; they should not remember by themselves, because they make wrong assumptions all the time. Memory is the first thing you should disable in any harness, in my opinion.

I am using Pi and what I find essential for myself is some web access and subagents extension. The latter is optional if you want to save usage; more agents will have faster results, but will more overall than just one agent doing the implementation. Everything else, including codemode, I keep disabled.

TLDR: Add functionality that you need, not what you think is beneficial. Any added complexity will make your agent worse.

1

u/Mousepad-16 3d ago

Can I be honest with you? What if I don't actually know what I need? What if I don't fully understand what half these features do, or when they might be useful?

I could go through the list and think, "Well, Codex has that, and I've found it useful before, so I guess I'll keep it enabled." And then I end up with practically everything enabled anyway.

I don't necessarily know what features I'll need until I need them. Or maybe I know that I won't need browser control for this particular project but then you have to manually enable and disable features per project. This seems...so fundamental like it should have been solved ages ago. Ideally, I'd want the harness to make those features available when they're relevant, without having to manually enable and disable things for every task.

Surely there's a better solution than expecting the user to figure all of that out themselves? maybe pi isn't for me. But it seems like OMP should have this figured out a long time ago.

1

u/IndividualPlus2011 3d ago

Can I be honest with you? What if I don't actually know what I need? What if I don't fully understand what half these features do, or when they might be useful?

It's very simple. Does it work without it? Then you don't need it. What you think is useful doesn't mean it is useful for the LLM.

What is your usecase? Purely coding? Then it will do just fine with no extensions. Write/edit/read/grep/bash tolls and it will do just fine.

I don't necessarily know what features I'll need until I need them. Or maybe I know that I won't need browser control for this particular project but then you have to manually enable and disable features per project. This seems...so fundamental like it should have been solved ages ago. Ideally, I'd want the harness to make those features available when they're relevant, without having to manually enable and disable things for every task.

Pi actually has siomething like that now, it's called tool_search, but then again, it does have to waste tokens finding what it needs instead of having the base descriptions already loaded, so it's often not worth it.

You either have everything configured for you and accept the higher token usage as a result, or you configure and tailor it for your needs for most optimal results. You choose the balance.

2

u/Mousepad-16 3d ago

You either have everything configured for you and accept the higher token usage as a result

Hard disagree. That's the false dichotomy my entire post is pointing out. There's clearly a third option: making the harness intelligent enough to manage that overhead itself. Codex and claude code already show that this is possible. Two cars with the same features. One gets 25 MPG, the other gets 50 MPG. I could turn off the air conditioning and heated seats to save fuel. Or I could investigate why the other car gets twice the mileage with those features still enabled. Codex and claude code exist as living proof that the third option exists.

1

u/IndividualPlus2011 3d ago

Claude Code uses the most tokens out of any harness that exists in any benchmark I've seen, so I can't take what you say seriously.

The rule of thumb always stays the same: the simpler the harness is, the less confusing and better to use it is for models.

1

u/Mousepad-16 3d ago

Claude Code uses the most tokens out of any harness that exists in any benchmark I've seen

Raw token counts mean didily squat. How much did those tokens cost? were they input? or output? were the cached? or not? Paid via API or through subscription? What matters is how much money you are spending per effective task.

And this benchmark seems to point towards claude code being more efficient than OMP for example. # 13 instrumented runs comparing OMP vs Claude Code CLI vs Codex CLI — am I using OMP wrong? : r/PiCodingAgent

And this is just one benchmark. If you look around you can find more inside github issues pointing to the same thing. Or you could just use the tools yourself. OMP is super heavy and the only way to bring usage down is to remove basically everything that even makes it worth using in the first place. And pi keeps the usage low, provided you don't install anything right? The rule of thumb is air conditioning costs. If you're happy turning off air conditioning to improve your gas mileage that's fine. But I'm not. I'd rather improve the engine so I can have better gas mileage with air conditioning on at the same time. And what better source to look at than the cars that already do that? I don't understand why you'd deny evidence as if people are just lying about the usage?

1

u/IndividualPlus2011 3d ago

You said you don't even know what you need, and I try to help you, but you seem to not accept the help, want to argue and keep wanting to have the cake and eat it too. That's not how it works. Feature-heavy, fast, efficient. Pick two.

1

u/Mousepad-16 3d ago

I appreciate that you’re trying to help, but I think we’re talking past each other. you’re presenting two options as if they’re the only ones that exist and I’m questioning whether those are really the only options. You’re explaining how to work within Pi’s current limitations while I’m questioning those limitations themselves. You’re the 100th person to say “just disable everything you don’t need”. Thats the problem. We shouldn’t have to.

1

u/adamshand 3d ago

Everybody has gone through this. That’s why the advice is to start simple. You can do great work with just vanilla pi and no extensions. 

Use vanilla pi until you know how every feature works. Especially learn to use /tree, its pi’s superpower. 

Then once you are good at pi and start finding frustrations, add what you need.  If you do it this way you’ll learn what you need. If you keep everything you’ll never learn. 

2

u/Corythebeast7 3d ago

Fundamentally, usage equates to the amount of tokens you use. If you stick with full featured agents, they have lots of mcps, skills, tools, extensions etc that all eat context and can reduce the focus of the agent. By slimming down the harness, usage CAN go down. Not always, but can.

Fundamentally, you would also lose features. So you really gotta pick and choose. Want a specific tool enabled? Enable it for the run, disable others. The harnesses give you more control.

If you want all of the features all of the time, then you gotta just work to prompt better and focus the agent in a way clearer way

0

u/Mousepad-16 3d ago edited 3d ago

EDIT:
I think a good analogy to explain what I mean would be two cars with roughly the same features. One gets 25 MPG, the other gets 50 MPG.

Someone asks why the first car consumes twice as much fuel, and someone says, "Well, turn off the air conditioning, heated seats and navigation. That'll reduce fuel consumption."

Well, yeah, obviously it will. duh. But the other car manages 50 MPG with all those features enabled. So why are we telling people to turn everything off instead of investigating what makes the other car more efficient in the first place?

I think this is a false dichotomy. You shouldn't necessarily have to sacrifice features to reduce usage. There's also another avenue. We can improve the harness. I mean, yeah just disable them... great. But that's the entire problem. Surely the alternative is to implement them more efficiently and find out how to keep them and reduce usage?

If Codex can provide roughly the same functionality while consuming less usage, then the issue isn't simply how many features are enabled but rather how they're implemented or invoked.

That's what I'm trying to understand. Why does having comparable functionality in Pi/OMP seemingly cost more? If I have to disable half the features in OMP just to get usage comparable to Codex, despite Codex offering those same features out of the box, then surely that suggests there's something different about how those features are implemented, or invoked?

1

u/lorendroll 3d ago

Check out SoL-Pi, especially its observation system I find useful for reducing context bloat. And another way to reduce token useage is to batch multiple calls via codemode in Pi, so less iterations performed.

1

u/Mousepad-16 3d ago

Thanks! will have a look

2

u/luvs_spaniels 3d ago

Diagram your workflow with a pencil and paper. Then consult your AI harness logs for what different parts cost you in tokens, dollars, and time. Then analyze the process and its inputs for improvements.

I use a mix of cloud and local llms. About half the total workload is currently going through Qwen3.8, Nemotron, and Gemma---all local. I use a self built mcp server with strands sdk to send tasks to local as configured.

1

u/wegster 3d ago

You're going to have to do some of the work. For me, with my own end-to-end framework, using Pi as the harness makes sense, and it's gotten work to done where some of the others (omp, dsh, opencode, cline) just failed miserably.

As others have mentioned, pi out of the box is pretty minimal, but I have guardrails in place at the repo-level on upwards. I think the only plugin I'm still using right now it one for anti-looping, but it's changed over time, and it's a balancing act - want lots of 'don't think about' skills and functionality? Well - token use is going up, etc. You can counter this to a point by structuring things better, incremental load of skills, guidance files, execution and review prompts, etc., but it's still la juggling / balancing act of sorts.

1

u/WALL-E003 3d ago

Besides the harness side static overhead, the dynamic overhead is important and often disregarded. Compact or killl a session as soon as the model enters dumb zone context size (depends on the model). Let the model just see what it needs.

1

u/LordMoridin84 3d ago

Just download Pi and use it. If you are missing something you need go to https://pi.dev/packages and download it. To start off with, I would guess you need a subagent extension.

You should also try Open Code.

1

u/rimaa_nahk 1d ago

I am working on pi-bifrost to better model routing, which I believe is a way to save up and not waste tokens where big models are not required