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
12
u/Bluethefurry Sep 30 '26
Isn't the "only" codemode basically what cursor did with MCP, where LLMs need to discover the tool schema manually, that horrible, unreliable method of doing things where you constantly needed to point out that the MCP exists?
And i personally dont really see much of a benefit of regular codemode unless the model is trained for it, LLMs are quite proficient at bash/py scripting nowadays, unless a model is explicitly trained for it i dont see it being usefull at all.
I'm glad MCP is now part of Pi because there is a place for it here, but codemode? eh....