A few small, composable patterns that make chat systems predictable:

  • Intent → Action: map user intents to deterministic handlers; treat the model as a classifier, not a brain.
  • Slot filling: gather missing fields step‑by‑step with explicit prompts and a short memory.
  • Tool use with guardrails: expose narrow, well‑typed tools; validate inputs/outputs before executing.
  • Dialogue state machine: model turns as states and transitions; avoid implicit, hidden state.
  • Fallbacks and handoff: detect low confidence, confirm, or hand off to a human quickly.

Start with one pattern, measure outcomes, and add complexity only when needed.