---
title: "Stop sequences (language models) (IT)"
source: "https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)"
wiki: "systems-analysis.info/int"
article: "Stop_sequences_(language_models)_(IT)"
language: "it"
categories:
  - "Category:Core LLM concepts"
  - "Category:Italian"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 6941
wiki_created_at: 2026-09-07T00:13:34Z
wiki_modified_at: 2026-09-07T00:13:34Z
downloaded_at: 2026-09-07T23:16:32Z
---

# Stop sequences (language models) (IT)

**Stop Sequence** (*sequenza di arresto*) nel contesto dei grandi modelli linguistici (LLM) è una sequenza speciale di caratteri o token che segnala al modello la necessità di interrompere la generazione del testo<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-promptitude_def-1)</sup>. Questo meccanismo è una componente importante dei modelli linguistici autoregressivi, garantendo una conclusione della risposta controllata e prevedibile.

Quando si utilizza una stop sequence, il modello a ogni passo di generazione verifica se il testo già generato termina con una delle sequenze specificate. Se viene trovata una corrispondenza, il processo si interrompe immediatamente, e la stop sequence stessa **non viene inclusa** nell'output finale<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-openai_api-2)</sup>. Ciò consente allo sviluppatore di controllare con precisione i limiti della risposta senza modificare la richiesta stessa.

## Principi di base del funzionamento

Nei modelli linguistici autoregressivi, la generazione del testo avviene in modo sequenziale, token per token. A ogni passo il modello prevede il token successivo sulla base dell'intera sequenza precedente (il prompt in ingresso e il testo già generato). Matematicamente questo si esprime come probabilità condizionale:

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

dove $y_{t}$ è il token attualmente generato, $y_{< t}$ è la sequenza dei token generati in precedenza e $x$ è la sequenza in ingresso<sup>[\[3\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-vellum_params-3)</sup>.

Il meccanismo della **stop sequence** funziona come criterio esterno per interrompere questo processo iterativo.

## Tipi di sequenze di arresto

Esistono diversi tipi principali di meccanismi di arresto, che possono essere utilizzati singolarmente o in combinazione.

### 1. Token di fine sequenza (EOS)

**End-of-Sequence (EOS)** sono token speciali (ad esempio \`\<\|endoftext\|\>\`) integrati nel vocabolario del modello e destinati a indicare la fine di un frammento logico di testo. Il modello viene addestrato a generare il token EOS quando ritiene che la risposta sia completa, poiché tutti i testi nel dataset di addestramento terminano con questo token<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-gpt3_survey-4)</sup>. Al rilevamento del token EOS, la generazione si interrompe automaticamente.

Le ricerche mostrano che la presenza di token EOS influisce sull'architettura dell'attention: i modelli sviluppano meccanismi interni di conteggio delle posizioni, il che tuttavia può limitare la loro capacità di estrapolazione su sequenze significativamente più lunghe degli esempi di addestramento<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-no_eos_extrapolation-5)</sup>.

### 2. Sequenze personalizzate

Sono stringhe arbitrarie che lo sviluppatore definisce per un compito specifico. Non fanno parte del vocabolario del modello, ma vengono monitorate a livello di caratteri. Alcuni esempi includono:

- **Caratteri di nuova riga**: \`\n\` o \`\n\n\` per fermarsi dopo un paragrafo.
- **Marcatori contestuali**: \`Human:\`, \`User:\` o \`Q:\` per separare le battute nel dialogo.
- **Marcatori speciali**: \`###\`, \`\</output\>\` o \`END\`.

### 3. Sequenze strutturali

Sono marcatori specializzati utilizzati per concludere determinati elementi strutturali, il che è di fondamentale importanza nella generazione di contenuto formattato<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-promptitude_def-1)</sup>:

- **Codice**: tripli apici inversi (\`\`\`) per concludere un blocco di codice.
- **JSON/XML**: parentesi di chiusura (\`}\`) o tag (\`\</element\>\`).

## Implementazione tecnica e problematiche

Il rilevamento efficace delle stop sequence è un compito non banale, associato a diverse difficoltà.

### Algoritmo di rilevamento e ottimizzazione

Il processo di rilevamento nei sistemi reali comprende:

1.  **Verifica a ogni passo**: Dopo la generazione di ogni nuovo token, il sistema verifica se l'output corrente termina con una delle stop sequence specificate.
2.  **Gestione delle corrispondenze parziali**: Il sistema deve monitorare le situazioni in cui parte della sequenza è già stata generata, ma non si è ancora raggiunta la corrispondenza completa.
3.  **Verifica multicritério**: La maggior parte dei sistemi (ad esempio, OpenAI API) consente di monitorare più stop sequence (fino a quattro) contemporaneamente<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-openai_api-2)</sup>.

Nel framework Hugging Face Transformers, a questo scopo è implementata la classe astratta \`StoppingCriteria\`, che consente di creare criteri di arresto personalizzati, come \`MaxLengthCriteria\` (per lunghezza) o \`EosTokenCriteria\` (per token EOS)<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-gpt3_survey-4)</sup>.

### Problemi e limitazioni

- **Problema di tokenizzazione**: Questa è la principale difficoltà tecnica. La stessa sequenza di caratteri (ad esempio, \`\nUser:\`) può essere suddivisa in token in modi diversi a seconda del contesto. Ciò complica il rilevamento affidabile, poiché la stop sequence può risultare divisa tra più token<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-no_eos_extrapolation-5)</sup>.
- **Prestazioni**: La verifica di numerose stop sequence lunghe a ogni passo può rallentare la generazione, specialmente quando si lavora con sequenze lunghe in tempo reale.
- **Falsi positivi**: La sequenza specificata può comparire accidentalmente nel mezzo della risposta desiderata, causando una conclusione prematura. È quindi importante scegliere marcatori sufficientemente unici e specifici (ad esempio, \`\n###\n\`)<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-finetune_gpt3-6)</sup>.

## Applicazioni e scenari d'uso

Le stop sequence sono uno strumento potente per controllare il comportamento degli LLM.

- **Controllo della lunghezza e dei costi**: Consentono di limitare la dimensione massima della risposta e, di conseguenza, di ridurre il consumo di token, il che è importante quando si utilizzano API a pagamento.
- **Sistemi di dialogo**: Vengono utilizzate per separare chiaramente le battute degli interlocutori, affinché il modello assistente non generi risposte al posto dell'utente.
- **Generazione di contenuto strutturato**: Sono indispensabili per ottenere output corretto nei formati JSON, XML o nella scrittura di codice, prevenendo l'aggiunta di informazioni superflue dopo il completamento della struttura<sup>[\[7\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-cursor_backticks-7)</sup>.
- **Prevenzione di comportamenti indesiderati**: Aiutano a interrompere la generazione quando compaiono contenuti ripetitivi o non corretti (allucinazioni).
- **Addestramento e fine-tuning**: Nei dataset di addestramento vengono spesso utilizzati marcatori unici (ad esempio, \`###\`) come stop sequence, affinché il modello impari a concludere la risposta nel punto corretto<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_note-finetune_gpt3-6)</sup>.

## Direzioni di ricerca attuali

- **Criteri di arresto adattivi**: Sviluppo di metodi che determinano dinamicamente il punto di conclusione sulla base del contesto e della qualità del testo generato.
- **Approcci basati sull'entropia**: Utilizzo dell'entropia della distribuzione dei token come criterio. Un'alta entropia può indicare incertezza del modello e fungere da segnale per interrompere la generazione.

## Riferimenti

- Documentazione OpenAI sull'utilizzo delle stop sequence
- Documentazione Hugging Face su StoppingCriteria

## Bibliografia

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

## Note

1.  <span id="cite_note-promptitude_def-1">↑ <sup>[1.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_ref-promptitude_def_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#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/Stop_sequences_(language_models)_(IT)#cite_ref-openai_api_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#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/Stop_sequences_(language_models)_(IT)#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/Stop_sequences_(language_models)_(IT)#cite_ref-gpt3_survey_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#cite_ref-gpt3_survey_4-1)</sup> Brown, Tom, et al. «A Survey on GPT-3». *arXiv:2212.00857* \[cs.CL\], 1 дек. 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/Stop_sequences_(language_models)_(IT)#cite_ref-no_eos_extrapolation_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#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 мая 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/Stop_sequences_(language_models)_(IT)#cite_ref-finetune_gpt3_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(IT)#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/Stop_sequences_(language_models)_(IT)#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>
