All field notes

AI field guide2 min read

Make AI features feel faster without hiding unfinished work

Separate time to first feedback from time to completion, then optimize the slowest useful part of the request path.

A close-up photograph of an analog stopwatch.
Photo by Linda Perez Johannessen on Unsplash · LicenseEditorial photograph, not a technical diagram.
01

Serving efficiency is only part of the experience

The PagedAttention paper examines memory management for high-throughput language-model serving. It illustrates that performance depends on the serving system as well as the model. A product using a hosted model may not control those internals, but it still controls much of the surrounding request path.

Measure that path before optimizing it: input preparation, retrieval, queueing, model response, tool execution, and rendering. A slow database query or an unnecessary serial request can dominate the experience even when generation itself is reasonably fast.

Technical foundation: Kwon et al.: PagedAttention and LLM serving

02

Distinguish feedback from completion

Time to first visible feedback and time to a useful completed result are different measurements. Streaming text can reduce the feeling of waiting, but it does not make the final answer ready sooner by itself. A long stream of low-value text may even delay the moment when the user can act.

Show a clear pending state immediately, then communicate real progress when available. Do not invent percentages for work whose duration is unknown. If a tool is searching documentation, say that; if the request is queued, avoid implying that analysis has already finished.

03

Optimize the critical path

Run independent read operations concurrently when it is safe and useful. Avoid parallel writes that depend on each other's results. Reduce unnecessary retrieval volume and request only the output the interface needs. A concise answer can improve both completion time and readability.

For a product comparison assistant, retrieving metadata for two products can happen together. Checking a purchase entitlement must still use the authenticated server context. Performance work must preserve those boundaries; removing a permission check is not a legitimate latency optimization.

04

Design cancellation and partial failure

Allow users to stop work and preserve their input. Propagate cancellation where supported so abandoned requests do not continue consuming resources unnecessarily. If a tool completes after cancellation, the application must reconcile that state rather than pretending the operation never happened.

Measure tail latency under realistic load, not only one fast local request. A small set of very slow responses can define how unreliable the feature feels. Use timeouts and fallbacks that match the task: a background report may tolerate waiting, while an inline suggestion may be better skipped.

05

A performance review for AI interactions

  • Instrument each stage of the request path.
  • Report first feedback and final completion separately.
  • Parallelize independent work without weakening checks.
  • Support cancellation and preserve unfinished user input.
  • Test slow responses, timeouts, and realistic concurrency.