> ## 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.

# Exemplos

> Copie padrões específicos de Go para ferramentas, aprovações, streaming e execuções limitadas.

## Implantação com aprovação

```go theme={null}
deploy := phaseoagent.Tool{
  ID: "deploy",
  Description: "Deploy the selected release",
  RequireApproval: true,
  Execute: func(input any, runtime phaseoagent.RuntimeContext) (any, error) {
    return deploymentService.Deploy(runtime.Context, input)
  },
}
```

Execute o agente e persista o registro retornado quando o status for `waiting_for_human`. Continue-o com uma decisão associada ao ID da chamada de ferramenta pendente.

## Transmitir para um terminal

```go theme={null}
stream := agent.Stream(ctx, phaseoagent.RunOptions{Input: prompt, Client: client})
for delta := range stream.Text() { fmt.Print(delta) }
result, err := stream.Result()
```

## Limitar a pesquisa autônoma

Combine `StepCountIs`, `MaxTokensUsed`, `MaxCost` e `MaxDuration` para que um agente de longa duração não exceda o orçamento do produto, mesmo que continue encontrando trabalho útil.

Consulte [ferramentas](./agent-sdk-tools.mdx), [estado e aprovação](./agent-sdk-state-and-approval.mdx) e [condições de parada](./agent-sdk-stop-conditions.mdx) para ver os contratos completos.


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