1. Tie every feature to a measurable job
Before code, write one line: “This reduces X or speeds Y.” If X is vague (“smarter experience”), you are decorating. If it is concrete (“tier‑1 tickets down 15%” or “onboarding copy drafted in one click”), you can judge whether the model, latency, and cost are worth it—and when to roll back.
2. One model call beats a chain until proven otherwise
Multi-step agents, reflection loops, and tool graphs are powerful—and expensive to debug. I default to a single well-prompted call with strict output shape, plus plain code for validation and side effects. Chains appear when metrics show the simple path failing in predictable ways, not when a blog post says agents are the future.
3. Defer RAG until the FAQ is exhausted
Retrieval-augmented generation needs chunking, indexing, auth filters, and reindex jobs. If the product’s knowledge fits in a few thousand tokens of curated text, static context in the prompt or a database lookup plus a short summary often ships faster with fewer moving parts. Promote to vectors when content volume, freshness, or personalization actually demands it.
4. Separate “AI for the team” from “AI for the user”
Using assistants for codegen, tests, and docs does not increase production risk the way a customer-facing chatbot does. I am generous with AI in developer workflow and conservative with runtime surface area: every user-visible AI path needs monitoring, fallbacks, and an owner when the vendor changes behavior.
5. Keep the critical path boring
Checkout, auth, billing, and data export should not depend on a model being up. AI belongs in adjacent flows: drafts, suggestions, search ranking, internal triage. If the LLM is down, the product should still degrade to the pre-AI path without data loss.
6. Red flags that mean “stop adding AI”
- More time on orchestration code than on the user problem.
- No one can explain monthly cost per active user at current usage.
- Quality issues are “fixed” by another model call instead of better data or UX.
Full-stack developers should use AI to ship smaller, testable slices—not to rehearse every pattern from the conference circuit. The best AI product is often the one where users barely notice the model, but the team notices the hours saved.