An AI agent can be an exoskeleton. Or it can be a robot from Čapek’s R.U.R. The first lifts your team up. The second replaces it. This talk is about building the first one.
Download the slides: exoskeleton_vs_RUR.pdf .
Exoskeleton vs R.U.R.
The core contrast. Exoskeleton – you are inside, it moves when you move. Its ceiling is the wearer, so you invest in people. R.U.R. – it moves on its own. Its ceiling is the architect, and accountability gets nebulous. Čapek gave us the word robota: forced labour.
Four priors for everything that follows. LLM software is not deterministic. LLMs are geniuses and idiots at once. Only a human can be held accountable. So build what is good for humans, and make agents use it.
Coding Agents
Code, reflect, refine. The agent can drive the coding. The reflecting and refining stay in your brain.
Understanding the problem used to be required before you could implement it. Now it is optional. Choose deliberately.
Building the Bot
Start with a plain GitHub/GitLab Actions workflow. An explicit trigger, a narrow tool allow-list, one review comment.
Slack, Jira, and Sentry don’t run your Actions. A tiny web app turns their webhooks into workflow_dispatch. Keep the bot stateless and let concurrency serialise the clashes.
Bot Working with the Team
Run on explicit triggers – a mention, an assigned issue, a bug for triage. Stay quiet on everything else. Fire on every event and the team learns to ignore it.
Five hedged lines versus two plain ones. Tune every prompt for brevity. ASD-STE100 Simplified Technical English is a good rulebook.
The team changes the prompts and flows. One detailed prompt per trigger. Every run is linked to real work.
Don’t anthropomorphise it. Not Dave, but NibblerBot. Give it a human name and blame will find it. Blame is not accountability.
Your context already lives in RFCs, tickets, docs, Slack, and people’s heads. Don’t let the bot grow its own opaque memory layer. Make it participate in the knowledge humans already keep.
The exoskeleton writer thinks, sweats, and writes. The R.U.R. writer prompts, pastes, and forwards. Don’t be a meat proxy.
Going Proactive (≠ Unprompted)
A scheduled prompt that proposes a single incremental improvement against the coding handbook. Small, reviewable steps. No sweeping AI refactors.
A daily run that keeps docs, AGENTS.md, and bot prompts in sync with the last 24 hours of commits and tickets. At most one PR.
More jobs for the bot: release notes, cross-channel issue spotting, QA for tagged tasks, a code archaeologist, and Slack thread to ADR.
Harden the Bot Infrastructure
The bot runs in a microVM with no credentials and no network. Egress goes through a filtering proxy. Services are reached only through sidecars that hold the tokens. The exoskeleton has guards on the pinch points.
Čapek, 1923: “as the author I was much more interested in men than in Robots.” So am I.