with-agents

Pi Building Pi, OpenClaw's Minimalist Coding Agent

The Modern Software Developer

This Build System episode features Mario Zechner demonstrating how he uses Pi, the minimalist coding agent behind OpenClaw, to maintain Pi itself and to refactor an agent-powered robot side project.

Key Points Covered

  • Minimalism is a product choice: Zechner explains that Pi stays small because frontier models already understand bash, files, tmux, GitHub CLI, and ordinary developer tools. Instead of baking every workflow into the harness, Pi exposes enough extension points for users to have the agent modify its own behavior [00:11:48]-[00:15:57].
  • Agents are powerful, but not a dark factory: He argues that fully unattended "dark factory" software generation still fails because unspecified details get filled in with average internet code and small mistakes compound. His preferred model is an agent that accelerates a responsible engineer, not one that replaces architectural judgment [00:06:45]-[00:08:17].
  • Human oversight depends on risk: Mission-critical, security-sensitive, or architectural work still needs close review, while lower-risk internal tooling can be delegated more freely. The dividing line is not whether an agent can write code, but whether the human is still accountable for the system boundaries and quality bar [00:08:44]-[00:11:14].
  • Pi can use Pi to fix Pi: The live workflow starts from a GitHub issue, asks Pi to reproduce and analyze the report, lets the agent use GitHub CLI and repository context, then has Zechner review the implementation before wrapping up with checks, changelog updates, comments, commits, and pushes [00:16:52]-[00:36:36].
  • Code review keeps complexity down: Zechner watches for agents introducing unnecessary helpers, duplication, or abstractions. Even when the agent finds the right bug, he uses senior judgment to keep the final diff smaller than the model might naturally produce [00:29:08]-[00:31:43].
  • Deterministic checks beat instructions alone: AGENTS.md-style guidance helps, but models may ignore style rules under pressure. Zechner relies on linting, type checking, smoke tests, pre-commit hooks, and other deterministic feedback loops so the system can reject bad output automatically [00:37:03]-[00:42:55].
  • Agent-built code still needs refactoring: The robot demo shows the other side of fast agent development: a working but messy WebSocket-heavy app. Zechner uses the agent to explore dependencies, propose module boundaries, and then refactor incrementally while he shapes the API design [00:48:27]-[01:09:37].
  • Large-codebase work starts with context control: For big systems, he either points the agent directly at the files he knows matter or uses the agent as a research intern to find entry points before implementation. Pi's branching/tree workflow lets him explore, summarize, and return to a cleaner implementation branch without trusting opaque sub-agent output [01:12:03]-[01:23:12].
  • Taste and boundaries are the real guardrails: The episode closes on a warning: teams that let people outside a subsystem freely agent-code into it can create unsalvageable slop. Keeping humans involved in module boundaries and API design makes even bad generated modules easier to replace later [01:24:04]-[01:30:17].

Full video: https://www.youtube.com/watch?v=DPgJjRdQWrg(opens in a new tab)