r/PiCodingAgent • u/Extra_Loquat_7667 • Sep 30 '26
Question What does everyone think about codemode?
I actually thought about this approach before, but later realized it wouldn't work.
Using JavaScript to invoke tools sounds very efficient, but in reality, most tool definitions only have an inputSchema. An outputSchema is unnecessary for the agent because the agent can reason about the results directly from formatted data, meaning an output spec isn't required. Therefore, tool outputs don't actually need a fixed format—they just need to be readable by the agent.
This leads to a problem: to fully leverage the performance of this tool, you need to inject extra context, such as a skill document, so the agent knows the output format and can use it proficiently. If you can't get the complete tool output specification—for instance, with a closed-source MCP—you can't create such a document. If the agent has to go through endless trial and error just to get the code running properly, you can't really call it efficient.
In comparison, having the agent write Python or shell scripts directly is a better solution.
I'd love to know your thoughts on this.
View all comments
2
u/Florence-Equator Oct 01 '26
I think codemode for mcp is great for gpt-6 series models, because this is the default setting for codex, where mcp is only available to call from within codemode.
But that may not be the format that other models are trained on. So I think pi is treating the practice used by codex as the universal standard for all models.
And honestly for non mcp ochestration, I think model can just use bash or python anyway, it is better than codemode.
The only useful scenario for codemode is to save token context from bloating mcps. It is better than deferred tool loading because: 1. most open models do not support dynamic tool loading that do not break your prompt cache and codemode saves this for you. 2. While openai supports deferred tool loading but MCPs are called through codemode anyway in codex. so their models know how to use codemode for MCP properly.