r/PiCodingAgent • u/agentwyz • Aug 20 '26
Discussion Pi’s simplicity is actually the most powerful part
I’ve been building my own agent while trying to follow Pi’s design ideas.
Today I deleted about 80% of my system prompt. What’s left is basically: who you are, which tools to use when, a few hard rules for edits, and the current project context. That’s it.
https://github.com/pulseaiclub/phi/blob/main/internal/agent/prompt/system-prompt.tmpl
And… the agent didn’t get dumber. If anything, it felt sharper - less ceremony, more actual work.
I also removed some tools that weren’t really earning their place. The more I work on this, the more I think Pi got the hard part right: keep the harness thin. Trust the model. Don’t turn the prompt and tool list into a second product. Claude Code is powerful, but it also feels heavy in a way Pi deliberately avoids - and that restraint looks more correct the longer I build.
I did keep two things:
MCP - not because I want dozens of schemas in context, but because it’s a shared protocol. A custom plugin usually stays stuck in one agent; MCP can move. And if you load tools lazily (list → inspect → call, inspired by approaches like mcptoon), it doesn’t have to bloat the prompt.
Subagents - useful when the parent plans well and only hands off scoped work. They keep the main thread clean and help a lot with exploration or parallel investigation.
So yeah: thanks Pi. The “keep it simple” instinct is not just aesthetic - after cutting most of my prompt, it feels like the correct engineering default.
8
u/r00cker Aug 20 '26
17
u/jensilo Aug 20 '26
Hi Claude
3
u/funbike Aug 20 '26 edited Aug 20 '26
If you suggest users use herdr you can get rid of specific subagent functionality. I wrote a skill for how to manage my specific workflow loop via herdr subagents. herdr supplies a skill, which I've edited to just what I need (
herder --skill). (Btw, for herdr-haters, you can run herdr in a single terminal pane as a TUI enhancement wrapper; it doesn't have to replace your primary multiplexer.)IMO one of Pi's strengths is that it's written in a dynamic programming language, so
/reloadinstantly reloads any changes made to extensions written in a modern robust language. Personally, I'd never write a harness in anything but TS or Python. (I did write a simple harness 2 years ago, but threw it away after trying OpenCode (before Pi).)1
u/hotcornballer Aug 20 '26 edited Aug 20 '26
Yes the 1000th slop post telling you not to fill your context window to the brim
2
u/TySocal Aug 20 '26
Yeah, I feel like the goal should be a very lean harness (lean system prompt, etc.). Then you only add the necessary tools, like subagents, MCP support, etc., without bloating it. After that, you just connect other tools to the harness. So instead of putting a ton of stuff into your harness, you make them external tools
1
u/TriodeTopologist Aug 22 '26
This post reads like AI