If this just added skins or something I wouldn’t be arguing against it.
https://developers.openai.com/api/docs/guides/latest-model#u...
I would like to migrate away from Claude Code and use Pi as my "peimary" harness. I really like in particular how it manages conversation trees and branches.
But I think I didn't do a good job in customizing it for my work. While nothing dramatic, I think the LLM I was using did a better job on Claude Code than on Pi a couple of time when I tried giving it the same work.
I was not sure how to improve on it though.
https://github.com/gitsense/pi-brains
which is designed around the Pi philosophy of less is better by focusing on ondemand context/guidance. I won't bloat the context unless the LLM needs to do something I know it will need better guidance with. I have a demo repo for this at https://github.com/gitsense/gsc-rules-demos
One of the examples is, if I know the agent is reading a specific file, I will inject additional context. So if the agent never needs to do something in a certain file or directory, I don't need to pollute the context with "what it may need to know".
I was using LLM collaboratively to help me setting up and document a home server. I was using DeepSeek for that matter. I tried some tasks on Claude Code and some on Pi.
Subjectively, I felt that it was marginally "smarter" on Claude Code. It would figure things out better, that sort of thing.
I am still using Pi btw. My current set up is using MiMo on Pi as a planner, ans DS in Claude Code to validate/execute the plan.
I may try moving it all to Pi, but I wonder if I should learn how to better configure the things there.
Honestly if the difference was marginal, I would move to Pi. I just tried layzpi and I had the agent write/compile a hello world in c and it required 20k in tokens. My minimal setup required 5.3k in tokens.
People will say the cost is minimal since this is cached but 15k is a lot since that needs to be reasoned by the LLM. I haven't looked at Claude Code but I read somewhere the system prompt is like 20k so I can see how Claude Code might have seem smarter as what you are working was probably addressed in the system prompt.
For me the bloat is not worth it since I am more interested in the LLM being able to reason better.
At least I am learning to build modular so I can reuse parts like image gen, audio gen (STT/TTS), knowledge management. I have probably built 4 of these systems in the last year, each one gets better and lasts longer until I brick the crap out of it. Super fun.
Genuinely curious, how MCPs can suffocate the context? And what exactly do you mean by this?
I have probably more than a dozen of MCPs enabled in my Claude Code (slack, jira, github, many internal ones), and I have never seen model calling into them unnecessarily unless it’s explicitly needed for a task. And in the latter case, well, it cannot do much without the right tools access (MCP in this case).
Skills and plugins are a bit of grey zone, yes, but even there it heavily depends on what you put there. Just plugin loading always takes infinitesimal portion of the context in my experience
For example, the M$ 365 MCP occupies several thousands of tokens, and there's currently no way to disable it entirely in Claude Code...
I'm using oh-my-pi with gortex MCP, context7 and LSP servers. Plus tons of skills. Without that enhancements it's almost useless, missing all the file edits, git amend or fixup strategies, or github api calls.
People really need to try out “less is more”. The new models are quite smart, so suffocating their context with dozens of MCPs and skills isn’t necessary like it used to be. A cli tool with good built in help and good errors is amazingly easy for the model to figure out.
If Pi is too minimal for you and you don’t want to dig into it, OpenCode is pretty good out of the box. I use it for general work I haven’t setup Pi for. The only thing I add to OpenCode is some commands that are shortcuts to save me typing frequent prompts, and a subagent with a fixed model for implementing changes.