Skip to Content
Tares

What should I do when an AI SRE run on crash loops ends as exhausted?

Tares ends a run as exhausted when the agent uses all of its model rounds before it can conclude, so the fix is to raise max rounds for that agent. Set it under Advanced on the agent form or as max_rounds in catalog YAML, anywhere from 1 to 24. The run keeps its last text as a partial note, so you still have what the agent found so far.

How it works

Every Tares agent runs with a budget of max_rounds model rounds and 2,048 tokens per call. Each run records the cap it was held to and shows it as rounds/max.

When the budget runs out mid-investigation, Tares does not cut the agent off. The model gets one final call with tools disabled, so it can conclude from what it has already read. Two outcomes follow:

  • If the model concludes in that last call, the run finishes normally with a finding.
  • If it still cannot conclude, the run ends exhausted. Tares keeps the last text as a partial note and tells you to raise max rounds.

The default cap is 6 rounds. Once the agent uses external MCP servers, the default is 12, because a run that reads a diff or a file and writes back needs more than a read-and-conclude budget. The allowed range is 1 to 24.

An exhausted run is recorded under the agent’s page, on the Runs tab, with its status, rounds, duration and errors. This is the same loop described in Build an AI SRE.

Set it up

  1. Open the agent that handled the crash loop. Go to its page, then Runs, and open the exhausted run. Check the rounds/max value and read the partial note. It shows how far the agent got before it ran out.
  2. Raise max rounds in the console. Open the project’s Advanced setup, edit the agent, and under Advanced set a higher value for max rounds. Pick a number between 1 and 24. If the agent is at the default of 6, try 12 first. If it is already at 12, raise it in steps rather than jumping straight to 24.
  3. Or set it in catalog YAML. Add max_rounds to the agent. The rest of the agent stays as it was:
agents: - name: incident-first-look project: Default trigger: incident enabled: true max_rounds: 12 prompt: | You are an SRE taking the first look when an alert fires on this service. You are handed the correlated timeline: the firing alert plus the signals behind it and the request logs. Produce a tight incident note: what is failing and since when, the most likely cause tied to specific evidence lines, and a suggested next action. Do not speculate beyond the evidence.
  1. Fire the trigger again. The agent runs at most once per the trigger’s cooldown for each entity, so wait for the cooldown to pass before you re-fire. Each agent is also limited to 50 runs per day, which is set by TARES_AGENT_DAILY_CAP.
  2. Check the new run under Runs. If rounds/max shows the run finished with rounds to spare, the new cap is enough. If it ends exhausted again, raise the cap further or tighten the prompt.

If you still see exhausted runs at 24, shorten the prompt so the agent asks for less before it concludes. Ask for a tight note with a most likely cause and a next action, as in the example. That keeps the run inside the budget without a higher cap.

What you get

  • Runs that reach a conclusion instead of stopping early, so the finding lands on the entity’s timeline in Explore, next to the evidence it came from.
  • A visible budget on every run. The rounds/max value shows how close each run came to its cap, so you can size the cap from real runs.
  • A partial note from any run that does exhaust, so the agent’s last text is not lost while you adjust the cap.
  • A bounded cost. The cap, the cooldown and the daily limit of 50 runs per agent stay in force when you raise max rounds.

When something else fits

  • If the run ends as a failure or as an inconclusive conclusion rather than exhausted, a higher cap does not apply. Read the error or the verdict on the run in the Runs list instead.
  • If the agent hands off to another agent, remember that handoff chains are limited to three in a row. Splitting a long investigation across agents is a fit only within that limit.

Still stuck? Get help

Last updated on