Good AI-Assisted Development Happens at the Systems Level, Not the Task Level

A Reddit post by u/johns10davenport argues that the real leverage in AI-assisted development comes from changing the system, not improving prompts. The author recounts a common frustration: every time they add a new feature to their Phoenix app, the AI coding agent ships the feature but omits the menu item. The page exists, the functionality works, but there's no way for a user to get there.
The Problem with Task-Level Fixing
The first instinct is to tell the model: "add the button." That works, but the human is still doing the thinking—diagnosing the problem and prescribing the fix. The author calls this "pedaling the Peloton so Anthropic can give me free tokens." Prompt engineering just makes you better at telling the model what to do, but you're still working for the model.
The System-Level Shift
Instead of fixing the missing button, the author asked: how do I make this mistake impossible in the future? Their solution uses BDD specs and Phoenix LiveView test helpers. The test framework's navigate function lets the agent jump directly to any page, passing tests without ever touching the UI. So they wrote a linter rule that prevents the agent from calling navigate. Now there's an allowed fixture that drops the test on a known starting route, and the only way the agent can reach the new feature is by clicking through the UI—which forces it to add the menu item to make the test pass.
The result: the problem will never occur again, not because of a better prompt, but because correct behavior is the only possible behavior.
Key Takeaway
Stop fixing the model's output. Start constraining its environment so the right output is the path of least resistance. Every mistake is a chance to design out the next one.
📖 Read the full source: r/ClaudeAI
👀 See Also

How a /loop Command Burned $6,000 in Claude API Overnight
A developer's unattended /loop command running every 30 minutes on claude-opus-4-7 consumed $6,000 in one night due to prompt caching expiration and growing context — a cautionary tale for AI agent automation.

Multi-model routing reduces OpenClaw API costs by 50%
A developer cut OpenClaw API costs by 50% by routing different tasks through different models: Claude for complex reasoning, DeepSeek for file operations and test generation, and Gemini or GPT for mid-range tasks.

Reddit user shares prompt structure to reduce Claude Code output drift in complex tasks
A Reddit user found that using a structured prompt layout for longer Claude Code tasks helps prevent output drift. The approach involves defining specific elements like task scope, required files, success criteria, and avoidance parameters before execution.

Don't Just Paste the AI — Write Your Own Take
A direct plea to developers: stop copying AI chatbot answers verbatim. Use AI as a drafting partner, then rewrite the reply in your own words.