> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Condições de parada

> Limite o trabalho do agente por etapas, tokens, custo, duração, chamadas de ferramentas ou motivo de conclusão.

Use condições de parada para definir um orçamento de execução claro para cada agente. Elas são verificadas com base nas etapas concluídas e no uso acumulado.

## Combinar limites integrados

```typescript theme={null}
import {
  maxCost,
  maxDuration,
  maxTokensUsed,
  stepCountIs,
} from "@phaseo/agent-sdk";

const agent = createAgent({
  id: "bounded-research",
  stopWhen: [
    stepCountIs(12),
    maxTokensUsed(40_000),
    maxCost(2),
    maxDuration(60_000),
  ],
});
```

A primeira condição atendida registra o motivo e retorna uma execução com `status: "stopped"`.

## Auxiliares disponíveis

| Auxiliar | Interrompe quando… |
| - | - |
| `stepCountIs(limit)` | A contagem de etapas concluídas atinge o limite |
| `maxTokensUsed(limit)` | O uso acumulado de tokens atinge o limite |
| `maxCost(limit)` | O custo acumulado informado atinge o limite |
| `maxDuration(ms)` | O tempo de execução atinge a duração limite |
| `hasToolCall(name)` | Uma etapa contém a chamada de ferramenta indicada |
| `finishReasonIs(reason)` | Uma etapa do modelo informa o motivo de conclusão |

## Adicionar uma condição personalizada

Uma condição pode retornar `false`, `true` ou uma string com o motivo:

```typescript theme={null}
const stopAfterRepeatedFailures = ({ steps }) => {
  const failures = steps.filter((step) => step.status === "failed").length;
  return failures >= 2 ? "repeated_failures" : false;
};

const agent = createAgent({
  id: "support-agent",
  stopWhen: [stepCountIs(10), stopAfterRepeatedFailures],
});
```

Prefira uma string com o motivo quando operadores ou interfaces do produto precisarem explicar por que a execução terminou.

## Guias relacionados

* [Turnos dinâmicos](./agent-sdk-dynamic-turns.mdx)
* [Saídas e novas tentativas](./agent-sdk-run-controls.mdx)
* [Hooks do ciclo de vida](./agent-sdk-lifecycle-hooks.mdx)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.