---
title: "Sequências de parada"
source: "https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada"
wiki: "systems-analysis.info/int"
article: "Sequências_de_parada"
language: "pt"
categories:
  - "Category:Large language models"
  - "Category:LLM core concepts"
  - "Category:Machine learning"
  - "Category:Portuguese"
revision_id: 6701
wiki_created_at: 2026-09-07T00:09:44Z
wiki_modified_at: 2026-09-07T00:09:44Z
downloaded_at: 2026-09-07T23:15:23Z
---

# Sequências de parada

**Stop Sequence** (*sequência de parada*), no contexto de grandes modelos de linguagem (LLMs), é uma sequência especial de caracteres ou tokens que sinaliza ao modelo a necessidade de parar de gerar texto<sup>[\[1\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-promptitude_def-1)</sup>. Este mecanismo é um componente importante dos modelos de linguagem autorregressivos, garantindo uma finalização controlada e previsível da resposta.

Ao usar uma stop sequence, o modelo verifica a cada passo da geração se o texto já gerado termina com uma das sequências especificadas. Se uma correspondência for encontrada, o processo é imediatamente interrompido, e a própria stop sequence **não é incluída** na saída final<sup>[\[2\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-openai_api-2)</sup>. Isso permite que o desenvolvedor controle precisamente os limites da resposta sem alterar o prompt em si.

## Princípios básicos de funcionamento

Nos modelos de linguagem autorregressivos, a geração de texto ocorre sequencialmente, token por token. A cada passo, o modelo prevê o próximo token com base em toda a sequência anterior (o prompt de entrada e o texto já gerado). Matematicamente, isso é expresso como uma probabilidade condicional:

$$
P(y_{t} \mid y_{< t},x)
$$

onde $y_{t}$ é o token atual sendo gerado, $y_{< t}$ é a sequência de tokens gerados anteriormente, e $x$ é a sequência de entrada<sup>[\[3\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-vellum_params-3)</sup>.

O mecanismo de **stop sequence** funciona como um critério externo para interromper esse processo iterativo.

## Tipos de sequências de parada

Existem vários tipos principais de mecanismos de parada, que podem ser usados individualmente ou em combinação.

### 1. Tokens de fim de sequência (EOS)

**End-of-Sequence (EOS)** são tokens especiais (por exemplo, \`\<\|endoftext\|\>\`) que são integrados ao vocabulário do modelo e projetados para marcar o fim de um fragmento lógico de texto. O modelo é treinado para gerar um token EOS quando considera a resposta completa, pois todos os textos no conjunto de dados de treinamento terminam com esse token<sup>[\[4\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-gpt3_survey-4)</sup>. Ao detectar um token EOS, a geração é automaticamente interrompida.

Pesquisas mostram que a presença de tokens EOS influencia a arquitetura de atenção: os modelos desenvolvem mecanismos internos para contar posições, o que, no entanto, pode limitar sua capacidade de extrapolar para sequências que excedem significativamente o comprimento dos exemplos de treinamento<sup>[\[5\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-no_eos_extrapolation-5)</sup>.

### 2. Sequências definidas pelo usuário

São strings arbitrárias que o desenvolvedor define para uma tarefa específica. Elas não fazem parte do vocabulário do modelo, mas são rastreadas no nível de caracteres. Exemplos incluem:

- **Caracteres de nova linha**: \`\n\` ou \`\n\n\` para parar após um parágrafo.
- **Marcadores contextuais**: \`Human:\`, \`User:\` ou \`Q:\` para separar as falas em um diálogo.
- **Marcadores especiais**: \`###\`, \`\</output\>\` ou \`END\`.

### 3. Sequências estruturais

São marcadores especializados usados para finalizar elementos estruturais específicos, o que é crucial ao gerar conteúdo formatado<sup>[\[1\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-promptitude_def-1)</sup>:

- **Código**: aspas triplas invertidas (\`\`\`) para finalizar um bloco de código.
- **JSON/XML**: chaves de fechamento (\`}\`) ou tags (\`\</element\>\`).

## Implementação técnica e problemas

A detecção eficaz de uma stop sequence é uma tarefa não trivial, associada a uma série de complexidades.

### Algoritmo de detecção e otimização

O processo de detecção em sistemas reais inclui:

1.  **Verificação a cada passo**: Após a geração de cada novo token, o sistema verifica se a saída atual termina com uma das stop sequences especificadas.
2.  **Processamento de correspondências parciais**: O sistema deve rastrear situações em que parte de uma sequência já foi gerada, mas ainda não há uma correspondência completa.
3.  **Verificação multicritério**: A maioria dos sistemas (por exemplo, a API da OpenAI) permite rastrear várias (até quatro) stop sequences simultaneamente<sup>[\[2\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-openai_api-2)</sup>.

No framework Hugging Face Transformers, isso é implementado através da classe abstrata \`StoppingCriteria\`, que permite criar critérios de parada personalizados, como \`MaxLengthCriteria\` (por comprimento) ou \`EosTokenCriteria\` (pelo token EOS)<sup>[\[4\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-gpt3_survey-4)</sup>.

### Problemas e limitações

- **Problema de tokenização**: Esta é a principal dificuldade técnica. A mesma sequência de caracteres (por exemplo, \`\nUser:\`) pode ser dividida em tokens de maneiras diferentes, dependendo do contexto. Isso complica a detecção confiável, pois a stop sequence pode acabar dividida entre vários tokens<sup>[\[5\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-no_eos_extrapolation-5)</sup>.
- **Desempenho**: A verificação de múltiplas e longas stop sequences a cada passo pode retardar a geração, especialmente ao trabalhar com sequências longas em tempo real.
- **Falsos positivos**: A sequência especificada pode aparecer acidentalmente no meio da resposta desejada, levando a uma terminação prematura. Portanto, é importante escolher marcadores suficientemente únicos e específicos (por exemplo, \`\n###\n\`)<sup>[\[6\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-finetune_gpt3-6)</sup>.

## Aplicação e cenários de uso

As stop sequences são uma ferramenta poderosa para gerenciar o comportamento dos LLMs.

- **Controle de comprimento e custo**: Permitem limitar o tamanho máximo da resposta e, consequentemente, reduzir o consumo de tokens, o que é importante ao usar APIs pagas.
- **Sistemas de diálogo**: São usadas para separar claramente as falas dos interlocutores, para que o modelo assistente não gere uma resposta pelo usuário.
- **Geração de conteúdo estruturado**: São indispensáveis para obter uma saída correta em formatos como JSON, XML ou ao escrever código, evitando a adição de informações desnecessárias após a conclusão da estrutura<sup>[\[7\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-cursor_backticks-7)</sup>.
- **Prevenção de comportamento indesejado**: Ajudam a interromper a geração quando aparece conteúdo repetitivo ou incorreto (alucinações).
- **Treinamento e ajuste fino (fine-tuning)**: Nos conjuntos de dados de treinamento, marcadores únicos (por exemplo, \`###\`) são frequentemente usados como stop sequences para que o modelo aprenda a terminar a resposta no local correto<sup>[\[6\]](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_note-finetune_gpt3-6)</sup>.

## Direções atuais de pesquisa

- **Critérios de parada adaptativos**: Desenvolvimento de métodos que determinam dinamicamente o ponto de finalização com base no contexto e na qualidade do texto gerado.
- **Abordagens entrópicas**: Uso da entropia da distribuição de tokens como critério. Uma entropia alta pode indicar incerteza do modelo e servir como um sinal para interromper a geração.

## Ligações externas

- <a href="https://help.openai.com/en/articles/5072263-how-do-i-use-stop-sequences-in-the-openai-api" class="external text" rel="nofollow">Documentação da OpenAI sobre o uso de stop sequences</a>
- <a href="https://huggingface.co/docs/transformers/main_classes/text_generation#transformers.StoppingCriteria" class="external text" rel="nofollow">Documentação do Hugging Face sobre StoppingCriteria</a>

## Leitura adicional

- Sutskever, I.; Vinyals, O.; Le, Q. V. (2014). *Sequence to Sequence Learning with Neural Networks*. <a href="https://arxiv.org/abs/1409.3215" class="external text" rel="nofollow">arXiv:1409.3215</a>.
- Vaswani, A. et al. (2017). *Attention Is All You Need*. <a href="https://arxiv.org/abs/1706.03762" class="external text" rel="nofollow">arXiv:1706.03762</a>.
- Keskar, N. S. et al. (2019). *CTRL: A Conditional Transformer Language Model for Controllable Generation*. <a href="https://arxiv.org/abs/1909.05858" class="external text" rel="nofollow">arXiv:1909.05858</a>.
- Holtzman, A. et al. (2020). *The Curious Case of Neural Text Degeneration*. <a href="https://arxiv.org/abs/1904.09751" class="external text" rel="nofollow">arXiv:1904.09751</a>.
- Brown, T. et al. (2020). *Language Models are Few-Shot Learners*. <a href="https://arxiv.org/abs/2005.14165" class="external text" rel="nofollow">arXiv:2005.14165</a>.
- Zong, M.; Krishnamachari, B. (2022). *A Survey on GPT-3*. <a href="https://arxiv.org/abs/2212.00857" class="external text" rel="nofollow">arXiv:2212.00857</a>.
- Zhao, Y. et al. (2022). *Calibrating Sequence Likelihood Improves Conditional Language Generation*. <a href="https://arxiv.org/abs/2210.00045" class="external text" rel="nofollow">arXiv:2210.00045</a>.
- Hu, J. C.; Cavicchioli, R.; Capotondi, A. (2023). *A Request for Clarity over the End-of-Sequence Token in the Self-Critical Sequence Training*. <a href="https://arxiv.org/abs/2305.12254" class="external text" rel="nofollow">arXiv:2305.12254</a>.
- Zhu, W. et al. (2024). *Improving Open-Ended Text Generation via Adaptive Decoding*. <a href="https://arxiv.org/abs/2402.18223" class="external text" rel="nofollow">arXiv:2402.18223</a>.
- Zhang, H. et al. (2024). *Adaptable Logical Control for Large Language Models*. <a href="https://arxiv.org/abs/2406.13892" class="external text" rel="nofollow">arXiv:2406.13892</a>.
- Suh, Y. J. et al. (2025). *The Curious Case of Sequentially Mis-calibrated Language Models*. <a href="https://arxiv.org/abs/2205.11916" class="external text" rel="nofollow">arXiv:2205.11916</a>.

## Notas

1.  <span id="cite_note-promptitude_def-1">↑ <sup>[1.0](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-promptitude_def_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-promptitude_def_1-1)</sup> «Stop Sequence: Understanding & Setting It Correctly». *Promptitude.io Help Center*. <a href="https://help.promptitude.io/en/articles/8897040-stop-sequence-understanding-setting-it-correctly" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-openai_api-2">↑ <sup>[2.0](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-openai_api_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-openai_api_2-1)</sup> «How do I use stop sequences in the OpenAI API?». *OpenAI Help Center*. <a href="https://help.openai.com/en/articles/5072263-how-do-i-use-stop-sequences-in-the-openai-api" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-vellum_params-3">[↑](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-vellum_params_3-0) «How to use stop sequences?». *Vellum*. <a href="https://www.vellum.ai/llm-parameters/stop-sequence" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-gpt3_survey-4">↑ <sup>[4.0](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-gpt3_survey_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-gpt3_survey_4-1)</sup> Zong, M., & Krishnamachari, B. «A Survey on GPT-3». *arXiv:2212.00857* \[cs.CL\], 1 de dez. de 2022. <a href="https://arxiv.org/pdf/2212.00857" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-no_eos_extrapolation-5">↑ <sup>[5.0](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-no_eos_extrapolation_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-no_eos_extrapolation_5-1)</sup> Suh, Y. J., et al. «The Curious Case of Sequentially Mis-calibrated Language Models». *arXiv:2205.11916* \[cs.CL\], 24 de mai. de 2022. <a href="https://arxiv.org/pdf/2205.11916" class="external autonumber" rel="nofollow">[5]</a></span>
6.  <span id="cite_note-finetune_gpt3-6">↑ <sup>[6.0](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-finetune_gpt3_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-finetune_gpt3_6-1)</sup> Eric, Mihail. «How to Finetune GPT3». *mihaileric.com*. <a href="https://www.mihaileric.com/posts/how-to-finetune-gpt3/" class="external autonumber" rel="nofollow">[6]</a></span>
7.  <span id="cite_note-cursor_backticks-7">[↑](https://systems-analysis.info/int/Sequ%C3%AAncias_de_parada#cite_ref-cursor_backticks_7-0) Corin, Daniel. «Way Enough - Cursor Triple Backticks Stop Sequence». *danielcorin.com*. <a href="https://www.danielcorin.com/til/cursor/triple-backticks-stop-sequence/" class="external autonumber" rel="nofollow">[7]</a></span>
