Why One Unix Command Tool Beats Dozens of Function Calls
A former backend lead at Manus who spent two years building AI agents has a counter-intuitive recommendation: forget complex function calling schemas. Use a single run(command="...") tool instead.
The developer, who worked at Manus before Meta's acquisition, shared their journey in a detailed Reddit post that has garnered over 1,100 upvotes. After building agents at scale and later creating their own open-source agent runtime (Pinix) and agent (agent-clip), they concluded that typed function calls are often over-engineered compared to Unix-style command execution.
The Unix Philosophy Applied to AI Agents
Unix made a fundamental design decision 50 years ago: everything is a text stream. Programs don't exchange complex binary structures or share memory objects—they communicate through text pipes. Small tools each do one thing well, composed via | into powerful workflows.
The author's argument is that this same principle applies to AI agents. Instead of defining dozens of specific function signatures like get_weather(location), send_email(to, subject, body), and create_calendar_event(title, time), agents can use a single tool:
run(command="curl -s weather.example.com/san-francisco | jq '.temp'")
Advantages of the Unix Approach
- Composability: Agents can chain commands with pipes, redirection, and shell scripts just like human developers
- No schema updates: Adding new capabilities doesn't require retraining or updating function schemas—just install a new CLI tool
- Universal understanding: Every developer knows how to use a terminal; agents trained on code naturally understand shell commands
- Flexibility: The same tool handles edge cases without requiring explicit handling in function definitions
When Function Calling Still Works
The author isn't entirely dismissing function calling. It works well when you need strict output validation or when the tool must return structured data that the agent absolutely cannot parse incorrectly. However, for general-purpose agent workflows, the Unix command approach offers more flexibility and requires less maintenance.
The post has sparked significant discussion, with 276 comments debating the tradeoffs. Some developers agree that the function calling "catalog" approach leads to brittle systems, while others argue that structured outputs are necessary for production reliability.