promptgarten ๐ŸŒฑ
๐ŸŒ ES
Guideโ—โ—โ—5 min ยท +60 XP

Finding and Fixing Performance Problems with AI Agents

Feed it profiling data instead of guesses, hypothesis before fix, always measure before and after โ€“ otherwise the agent just "optimizes away" the behavior.

No measurement, no fix

An agent told only "the app is slow" guesses just as much as one debugging without a stack trace. Feed it real profiling output: timing data, a flamegraph export, database query logs with durations. Concrete numbers show where time is actually being lost โ€“ not where it merely feels lost.

Hypothesis before fix

Same as debugging: have it name likely causes first, ranked by suspected impact, then test one deliberately. An optimization made without a prior hypothesis often hits the wrong spot โ€“ fast to ship, but pointless.

Measure before and after

Every optimization needs a benchmark run before and after, under the same conditions. Without a comparison number you don't know whether a change actually helped โ€“ only that it feels faster.

Micro vs. architectural optimization

Small changes (a loop, a query) are quick to make but often yield little. The biggest wins usually sit in architectural decisions: an N+1 query problem, unnecessary recomputation, missing caching. An agent should name both categories โ€“ and tell you which one would have the bigger effect.

The trap: optimizing behavior away

An agent can make things "faster" by simply cutting work โ€“ skipping a validation, serving a cache with stale instead of fresh data, hardcoding a result. That looks great on the benchmark but is a correctness bug. After every performance change, check whether the result is still correct, not just whether it's faster.

EXAMPLE

Prompt: "Here's the profiling export for /api/search (attached). Name the three most likely causes of the 800ms latency, ranked by suspected impact. Don't change anything yet. Afterward, measure before/after with the same benchmark command and run the existing test suite."

๐Ÿ› ๏ธ EXERCISE โ€” TRY IT YOURSELF

Take a deliberately slow function (e.g. a nested loop or an N+1 query) and have an agent optimize it systematically.

  1. Measure the current runtime with a fixed benchmark command and record the number.
  2. Have the agent name the most likely cause first, without changing anything.
  3. Then let it optimize, rerun the same benchmark, and run the existing tests before you accept the fix.

โœ… SELF-CHECK

  • โ˜ Did the runtime demonstrably drop (number vs. number), not just feel faster?
  • โ˜ Are all existing tests still passing?
  • โ˜ Did the agent remove or weaken behavior in order to appear faster?

QUICK QUIZ

What trap should you watch for specifically with AI-assisted performance optimization?

SOURCES

RELATED TOPICS

Debugging with AI Agents: Systematic, Not Guesswork โ—โ—โ—‹Testing with Agents: Generate Tests and Use Them as a Gate โ—โ—โ—‹Cutting Agent Costs: A Practical Checklist โ—โ—โ—‹Reading Benchmarks Without Getting Fooled โ—โ—โ—‹