← ALL WRITING
MAY 2026/1 MIN READ

Shipping your first AI feature without losing the plot

Extraction, not magic. Treat the model like an unreliable function and wrap it accordingly.

aillm

The fastest way to ruin an AI feature is to treat the model like magic. It isn't. It's an unreliable function: useful, occasionally wrong, and best wrapped in the same guardrails you'd give any external call.

Extraction, not intelligence

Most "AI features" that actually ship are extraction. Pull structured fields out of messy text, validate them, and fail loudly when the shape is wrong.

const fields = await llm.extract(deal.notes, schema);
if (!schema.safeParse(fields).success) {
  return queue.retry();   // treat it as an unreliable function
}

Schema-validate the output. Retry on failure. Log the rejects so you can see where the model struggles. None of this is glamorous, and all of it is what makes the feature trustworthy.

Ship the boring version that works before the clever version that sometimes does.
← All writingReply by email →