Monitoring AI in Production: A 90-Day Checklist for Engineering Leads
Monitoring AI in production is the practice of tracking model performance, latency, error attribution, cloud and AI costs, and output quality across live user workflows. It ensures that successful model requests translate into completed user tasks rather than silent application drop-offs.
A provider can return a successful response while a user waits too long, gets an answer that misses the point, and leaves before completing the task. That gap is where production AI product monitoring matters.
This 90-day checklist helps you connect technical signals to what users experience, then turn those signals into decisions. It is a review cadence, not a set of universal thresholds. Set thresholds from your product baseline, user expectations, and data-handling requirements.
Phase | Timeline | Core Focus | Key Milestone |
|---|---|---|---|
Baseline | Days 1 to 7 | Journey definition and baseline metrics | Request IDs and initial latency benchmarks |
Diagnostics | Days 8 to 30 | Error grouping and alert testing | Provider vs application error separation |
Tuning | Days 31 to 60 | Cost tracking and quality checks | Cost per task and answer sampling |
Review | Days 61 to 90 | Reliability validation and cadence | Closed monitoring gaps against baseline |
1. Choose one user journey and establish a baseline
Today: Pick one important journey. For example, a user asks a question about company documents and uses the answer to complete a task. Define its start and end in measurable terms. Does it end when an answer appears, when the user accepts it, or when they complete the next step?
Record request volume and the share of users who complete the journey.
During days 1 to 7: Record current levels for errors, time to first visible output, time to completed response, cloud and AI costs per request, answer quality, and drop-off. Keep these measures together by feature and request type. An overall average can hide a poor experience in a smaller but important user group.
Write down what each measure means and where its data comes from. If completion is inferred from a later click, state that clearly. If users can take an answer elsewhere and finish their task, record that limit too.
Why it matters: A successful API response shows that a request finished. It does not show that the user received a useful answer or completed their task. A baseline gives you a concrete point of comparison after changes, without treating every variation as an incident.
2. Separate provider errors from failures in your product
Today: Group failed requests by cause. Start with provider rate limits, provider timeouts or unavailable services, retrieval failures, and application errors. Record how many requests each cause affects and which user journeys it interrupts. Keep an unknown category rather than forcing an uncertain diagnosis.
For retried requests, record the original error, number of attempts, final result, added response time, and added cost. A retry can recover a rate-limited call. It can also keep a user waiting long enough to abandon the task. Check both outcomes before increasing retry attempts.
During days 8 to 30: Review recurring errors and document the first action for each cause. A rate-limit error may require checking provider limits and request patterns. A retrieval failure requires inspecting the data lookup. An application error requires investigating the affected code path.
Where application changes are frequent, connect this review to your existing code reliability work. Teams establishing these pipelines early also avoid the common traps outlined in the agentic AI lifecycle.
Why it matters: These failures have different owners and remedies. An alert labelled "AI failed" gives the person responding too little information. Separating causes also reveals whether an apparent provider issue starts with how your product sends requests.
3. Measure response time alongside user drop-off
Today: Record when the user starts a request, when the first output becomes visible, and when the response finishes. Measure abandonment at the relevant point in the journey: while the user waits, after they receive an answer, or when they fail to complete the next action.
Break results down by feature and request type. A short lookup and a long document analysis should not disappear into one average. Include failed and retried requests when you examine wait time. Excluding them makes the experience look faster than it was.
During the first month: Compare slow requests with drop-off. Use your own data to find where abandonment rises before setting alerts. User expectations differ by task, so choose thresholds your team can explain. Revisit them when the product experience changes.
When users leave after an answer appears, inspect the answer and the next interface step as well as response time. This discussion of agent interface design can help you assess what users see while the product is working.
Why it matters: A request can succeed after its user has already given up. Time to first visible output helps you find that wait. Completion and drop-off show whether improving it helps users finish their work.
4. Track cloud and AI costs per request and per completed task
Today: Record provider charges where available, token use, model choice, retries, and other material costs for each request. If a charge arrives later or cannot be tied precisely to a request, label it as an estimate rather than presenting false precision.
Group costs by feature and request type. Compare cost per request with cost per completed user task. The second measure keeps spending on errors, retries, and abandoned work visible. A feature can hold its average request cost steady while requiring more requests to complete one task.
During days 31 to 60: Investigate sustained changes against the first-week baseline. Check whether inputs have grown, more retrieved material is being sent to the model, users are choosing a different task, or retry behaviour has changed.
Review completion and answer quality before changing a model or reducing context. A cheaper request that produces more unusable answers can cost more per completed task.
Why it matters: User inputs and context size vary, so cloud and AI costs can change without a matching change in request volume. Request-level records make those changes explainable. They also distinguish healthy usage growth from spending on work users cannot finish.
5. Implement LLM monitoring with answer sampling and user reports
Today: Write a short quality checklist for each important task. Check whether an answer uses the right information, follows task instructions, and admits uncertainty when the available information is insufficient. Define unacceptable answers using examples reviewers can judge consistently.
Review a sample of outputs across features and request types, including user reports. Give users a way to flag an unhelpful answer. Record the feature, request ID, and reason for the report. Offer reasons such as incorrect information, missing information, or an answer that did not address the question. Avoid asking users to reproduce sensitive prompts in a feedback form.
During days 31 to 60: Look for repeated patterns before changing prompts, retrieved information, or model settings. When answers cite outdated material, inspect retrieval first. When the right material is present but the answer ignores an instruction, investigate that path separately. Pair this review with an AI code quality audit to ensure prompt adjustments do not introduce technical debt.
Why it matters: Technical success can still produce an answer that fails the user's task. Automated quality checks can help find patterns across more outputs, but they cannot show that every answer is correct. Human review and user reports remain essential parts of running AI in production.
6. Give each request a safe path through the system
Today: Assign a request ID when the user takes an action and carry it through the application, retrieval, provider call, and response. Connect that ID to errors, timing, and cost. Record the configuration needed to investigate an issue, including model and prompt version, plus an identifier for retrieved information where appropriate.
Set data rules alongside request tracking. Mask or omit sensitive inputs by default. Limit who can inspect records. Retain them only as long as investigation needs and data-handling requirements justify.
When exact prompt text is needed to reproduce a failure, define an approved, access-controlled way to obtain it for that incident. Do not routinely store every sensitive prompt in full.
Walk through one reported failure using its request ID. Can an engineer see which application step ran, whether retrieval returned the expected information, which provider call was made, and where time or cost accumulated? Record what is still missing. Check that the same path works when a request fails before the provider call.
Why it matters: Connected records let engineers investigate a specific incident without relying on a user's recollection. Good request tracking also shows where visibility ends, while controlled access prevents debugging from exposing more personal data than necessary.
7. Assign an owner and action to every alert
Today: Create a small alert table. For each signal, include a threshold, named owner, backup, and first action. Cover error causes, slow responses, unusual cost changes, and answer-quality reports. Base thresholds on your baseline, user expectations, and the effect on completed tasks, not a number borrowed from another product.
Separate issues that need immediate action from those suited to daily or weekly review. Record who can pause an affected feature, change a limit, contact a provider, or investigate a reported answer.
For a cost alert, the first action may be inspecting request types and retries. For a quality report, it may be reviewing the request record and retrieved information.
During days 8 to 30: Test the process with a sample incident. Confirm that the right person receives the alert, can access the relevant records, and knows what decision they are authorised to make. Adjust noisy thresholds or unclear handoffs based on what the test shows.
Why it matters: An alert without a decision-maker can sit unread. Too many low-value alerts make important changes easier to miss. Clear ownership creates accountability without turning every production issue into a search for blame.
8. Review signals through day 90 and close the gaps
Use this checklist as a sequence of reviews, not a one-time monitoring setup:
- Days 1 to 7: Establish the journey baseline, request IDs, data rules, and alert owners.
- Days 8 to 30: Find missing records, separate recurring error causes, and test alerts and response actions.
- Days 31 to 60: Investigate repeated patterns in response time, cloud and AI costs, and answer quality. Make targeted changes and record when each change shipped.
- Days 61 to 90: Check whether those changes improved completion, answer quality, reliability, and cost per completed task against the baseline.
Hold a weekly review with one decision attached to it: choose a change, name its owner, and decide how you will check the result. Keep changes narrow enough to learn from. When completion improves but costs rise, examine both before deciding whether the trade-off works for your users and budget.
Why it matters: Monitoring becomes valuable when a signal leads to a decision and the team checks whether that decision worked. It gives engineering leaders a small set of live behaviours to review instead of a dashboard full of unexplained numbers.
Need senior capacity to close the gaps?
Smicolon's senior engineers work from the AI product your team has already built. They can help strengthen monitoring, request tracking, quality checks, and the engineering work behind the decisions this checklist surfaces.
Smicolon offers structured development capacity: Start at 2,000 euros for 80 hours, Grow at 3,680 euros for 160 hours, and Scale at 4,800 euros for 240 hours. Hour plans end at the end date or when the hours are used up, whichever comes first.
Explore Smicolon's plans, review Smicolon's services, or book a discovery call to discuss the monitoring gaps your team needs to close.
