Skip to content

Shipping AI features: patterns & anti-patterns

The decisions around shipping an AI feature — what to build first, which shape works, what not to build at all, and the anti-patterns that are attractive enough to cost you a quarter.

Most of what goes wrong with an AI feature goes wrong before anyone writes a retry policy. The feature is the wrong shape. It is the fourth thing that should have been built rather than the first. Its quality is assessed by whoever is looking at the screen. It has no way to stop spending, no way to be turned off, and no answer to the question of what happens when the model is confidently wrong in front of a customer.

These pages are about that layer. Half of them are patterns — shapes that recur because they work, written out with the arithmetic that tells you whether they apply to you. Half are anti-patterns, and each of those starts by taking the anti-pattern seriously, because nobody adopts one knowing what it is. They get adopted because they solve a real problem on day one and present the bill in month four.

The Demo-to-Product Gap

The four assumptions a demo is allowed to make, the mechanism by which each one stops holding in production, and a build order that attacks them cheapest-first.

5 min read

Anti-Pattern: Chat as the Default Interface

Why a chat box is the first thing everyone builds, what it costs the user in ways a bug tracker never shows, and four feature shapes that beat it.

5 min read

Anti-Pattern: The Unbounded Agent

Why the stopping condition is the last thing anyone writes, the three dimensions an agent runs away along, and the bounds that have to exist before it touches production traffic.

6 min read

Anti-Pattern: Trusting Output Without Validation

Why unvalidated model output survives review, a validation layer per output type, and the rule for what a failed validation should do.

5 min read

Anti-Pattern: The Prompt Nobody Owns

How prompt text ends up scattered, unversioned and unowned, the four ways that bites, and the smallest ownership model that fixes it.

5 min read

Anti-Pattern: Evaluating by Vibes

Why judging output by looking at it survives far longer than it should, the three specific errors it produces, and the smallest thing that replaces it.

5 min read

Anti-Pattern: One Model for Everything

Why standardising on a single frontier model is a defensible decision that stops being one, and the routing rule plus arithmetic that tells you when.

5 min read

Pattern: The Cheap Filter in Front of the Expensive Model

A cheap classifier that removes traffic before it reaches the expensive call, with the break-even inequality that says whether it pays and which way it should be biased.

5 min read

Pattern: Extract, Then Reason

Splitting one call that reads and decides into two that do one thing each, why the split stops two failure modes compounding, and how to measure the difference yourself.

6 min read

Pattern: Verify With a Second Call

When a second call that checks the first pays for itself, what independence has to mean for it to work, and the three verification shapes that are worth building.

4 min read

Pattern: Deterministic Rails Around a Stochastic Core

Putting the model where it can propose but not commit — the four rails, where each one goes, and the placement rule that decides how much freedom a call gets.

5 min read

Pattern: Human Review Queues That Scale

Routing by confidence so reviewers see only the items where their attention changes the outcome, with the capacity arithmetic and the feedback loop that keeps the queue honest.

5 min read

Pattern: Gradual Autonomy

Suggest, confirm, act — as four levels with written promotion criteria, a demotion trigger, and the instrumentation each level needs before the next one is allowed.

5 min read

Pattern: Cache the Expensive, Recompute the Cheap

A decision rule for what to cache built from cost, hit probability and how wrong a stale answer can be — plus the key design that decides whether the cache is correct at all.

6 min read

Pattern: Precompute Overnight, Serve Instantly

Moving a model call from request time to batch time, the eligibility test that says whether a feature can do it, and the coverage arithmetic that says whether it is worth it.

5 min read

When to Ship an AI Feature Behind a Flag

What an AI feature flag has to control beyond on and off, the rollout criteria worth writing down, and a kill switch that degrades instead of erroring.

5 min read

Deciding Not to Use AI for a Feature

A decision framework with two questions that kill a proposal outright, the deterministic alternatives that are usually better, and how to say no in a way that survives the meeting.

5 min read

Writing the Post-Mortem for an AI Feature That Failed

The failure taxonomy specific to AI features, a template that produces something useful, and the evidence that has to be collected before the failure — or the post-mortem cannot be written at all.

5 min read

Refactoring an AI Feature After Six Months

The three layers of an AI feature ranked by how fast each decays and why, a review that takes an afternoon, and the order to change things in.

5 min read

A Checklist Before You Ship Anything AI

Thirty items across cost, correctness, safety, operations and disclosure, each phrased so that the answer is a fact rather than an intention.

5 min read

Shipping AI features: patterns & anti-patterns · Multigrid