I built a "do-anything" agent.

It could search the web, edit files, send Slack messages, open PRs, query Postgres, and summarize PDFs. On the demo slide it looked like a junior engineer. In production it looked like one on three espressos and no ticket.

It booked the right meeting on the wrong calendar. It opened a PR that reformatted half the repo. It answered a support question with last quarter's pricing. Every failure had the same root cause: the agent had too many hands and no job description.

If your general-purpose agent keeps almost-working on everything and finishing nothing, this is the post I wish I'd read first. The fix usually isn't a smarter model. It's a narrower job.

Generalists are impressive. Specialists ship.