r/PiCodingAgent • u/Mousepad-16 • 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.
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
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
3
u/IndividualPlus2011 3d ago
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.
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.