---
title: "Stop sequences (language models) (PL)"
source: "https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)"
wiki: "systems-analysis.info/int"
article: "Stop_sequences_(language_models)_(PL)"
language: "pl"
categories:
  - "Category:Core LLM concepts"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Polish"
revision_id: 6944
wiki_created_at: 2026-09-07T00:13:36Z
wiki_modified_at: 2026-09-07T00:13:36Z
downloaded_at: 2026-09-07T23:16:33Z
---

# Stop sequences (language models) (PL)

**Stop Sequence** (*sekwencja zatrzymania*) w kontekście dużych modeli językowych (LLM) — to specjalna sekwencja znaków lub tokenów, która sygnalizuje modelowi konieczność zaprzestania generowania tekstu<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-promptitude_def-1)</sup>. Mechanizm ten jest ważnym elementem autoregresywnych modeli językowych, zapewniając kontrolowane i przewidywalne zakończenie odpowiedzi.

Przy użyciu stop sequence model na każdym kroku generowania sprawdza, czy już wygenerowany tekst nie kończy się jedną z zadanych sekwencji. Jeśli dopasowanie zostanie znalezione, proces natychmiast się zatrzymuje, przy czym sama stop sequence **nie jest uwzględniana** w końcowym wyjściu<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-openai_api-2)</sup>. Pozwala to deweloperowi precyzyjnie kontrolować granice odpowiedzi bez modyfikowania samego zapytania.

## Podstawowe zasady działania

W autoregresywnych modelach językowych generowanie tekstu odbywa się sekwencyjnie, token po tokenie. Na każdym kroku model przewiduje następny token na podstawie całej poprzedniej sekwencji (wejściowego promptu i już wygenerowanego tekstu). Matematycznie wyraża się to jako prawdopodobieństwo warunkowe:

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

gdzie $y_{t}$ — aktualnie generowany token, $y_{< t}$ — sekwencja wcześniej wygenerowanych tokenów, a $x$ — sekwencja wejściowa<sup>[\[3\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-vellum_params-3)</sup>.

Mechanizm **stop sequence** działa jako zewnętrzne kryterium przerywania tego iteracyjnego procesu.

## Typy sekwencji zatrzymania

Istnieje kilka podstawowych typów mechanizmów zatrzymania, które mogą być stosowane zarówno osobno, jak i w kombinacji.

### 1. Tokeny końca sekwencji (EOS)

**End-of-Sequence (EOS)** — to specjalne tokeny (na przykład \`\<\|endoftext\|\>\`), które są wbudowane w słownik modelu i przeznaczone do oznaczania końca logicznego fragmentu tekstu. Model jest uczony generowania tokenu EOS, gdy uzna odpowiedź za zakończoną, ponieważ wszystkie teksty w zbiorze treningowym kończą się tym tokenem<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-gpt3_survey-4)</sup>. Po wykryciu tokenu EOS generowanie automatycznie się zatrzymuje.

Badania pokazują, że obecność tokenów EOS wpływa na architekturę mechanizmu uwagi: modele rozwijają wewnętrzne mechanizmy zliczania pozycji, co jednak może ograniczać ich zdolność do ekstrapolacji na sekwencjach znacznie dłuższych niż przykłady treningowe<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-no_eos_extrapolation-5)</sup>.

### 2. Sekwencje niestandardowe

Są to dowolne ciągi znaków, które deweloper definiuje dla konkretnego zadania. Nie są częścią słownika modelu, lecz są śledzone na poziomie znaków. Przykłady obejmują:

- **Znaki nowej linii**: \`\n\` lub \`\n\n\` do zatrzymania po akapicie.
- **Markery kontekstowe**: \`Human:\`, \`User:\` lub \`Q:\` do rozdzielania replik w dialogu.
- **Markery specjalne**: \`###\`, \`\</output\>\` lub \`END\`.

### 3. Sekwencje strukturalne

Są to wyspecjalizowane markery używane do kończenia określonych elementów strukturalnych, co jest niezwykle ważne przy generowaniu sformatowanej treści<sup>[\[1\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-promptitude_def-1)</sup>:

- **Kod**: potrójne odwrotne apostrofy (\`\`\`) do zakończenia bloku kodu.
- **JSON/XML**: nawiasy zamykające (\`}\`) lub tagi (\`\</element\>\`).

## Implementacja techniczna i problemy

Skuteczne wykrywanie stop sequence to nietrywialny problem, związany z szeregiem trudności.

### Algorytm wykrywania i optymalizacja

Proces wykrywania w rzeczywistych systemach obejmuje:

1.  **Sprawdzanie na każdym kroku**: Po wygenerowaniu każdego nowego tokenu system sprawdza, czy bieżące wyjście nie kończy się jedną z zadanych stop sequences.
2.  **Obsługa częściowych dopasowań**: System musi śledzić sytuacje, gdy część sekwencji została już wygenerowana, ale pełne dopasowanie jeszcze nie nastąpiło.
3.  **Wielokryterialne sprawdzanie**: Większość systemów (na przykład OpenAI API) pozwala śledzić kilka (do czterech) stop sequences jednocześnie<sup>[\[2\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-openai_api-2)</sup>.

W frameworku Hugging Face Transformers zaimplementowano w tym celu abstrakcyjną klasę \`StoppingCriteria\`, która umożliwia tworzenie niestandardowych kryteriów zatrzymania, takich jak \`MaxLengthCriteria\` (według długości) lub \`EosTokenCriteria\` (według tokenu EOS)<sup>[\[4\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-gpt3_survey-4)</sup>.

### Problemy i ograniczenia

- **Problem tokenizacji**: To główna trudność techniczna. Ta sama sekwencja znaków (na przykład \`\nUser:\`) może być podzielona na tokeny w różny sposób w zależności od kontekstu. Utrudnia to niezawodne wykrywanie, ponieważ stop sequence może zostać rozdzielona między kilka tokenów<sup>[\[5\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-no_eos_extrapolation-5)</sup>.
- **Wydajność**: Sprawdzanie wielu długich stop sequences na każdym kroku może spowalniać generowanie, zwłaszcza przy pracy z długimi sekwencjami w czasie rzeczywistym.
- **Fałszywe trafienia**: Zadana sekwencja może przypadkowo pojawić się w środku pożądanej odpowiedzi, co spowoduje przedwczesne zakończenie. Dlatego ważne jest wybieranie wystarczająco unikalnych i specyficznych markerów (na przykład \`\n###\n\`)<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-finetune_gpt3-6)</sup>.

## Zastosowanie i scenariusze użycia

Stop sequences są potężnym narzędziem do sterowania zachowaniem LLM.

- **Kontrola długości i kosztów**: Pozwalają ograniczyć maksymalną długość odpowiedzi, a co za tym idzie — zmniejszyć zużycie tokenów, co jest ważne przy korzystaniu z płatnych API.
- **Systemy dialogowe**: Używane do wyraźnego rozdzielania replik rozmówców, aby model-asystent nie generował odpowiedzi za użytkownika.
- **Generowanie treści strukturalnej**: Niezastąpione przy uzyskiwaniu poprawnych wyników w formatach JSON, XML lub podczas pisania kodu, zapobiegając dodawaniu zbędnych informacji po zakończeniu struktury<sup>[\[7\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-cursor_backticks-7)</sup>.
- **Zapobieganie niepożądanemu zachowaniu**: Pomagają przerwać generowanie w przypadku pojawienia się powtarzających się lub nieprawidłowych treści (halucynacji).
- **Uczenie i fine-tuning**: W zbiorach danych treningowych często używa się unikalnych markerów (na przykład \`###\`) jako stop sequence, aby model nauczył się kończyć odpowiedź we właściwym miejscu<sup>[\[6\]](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_note-finetune_gpt3-6)</sup>.

## Współczesne kierunki badań

- **Adaptacyjne kryteria zatrzymania**: Opracowywanie metod, które dynamicznie określają punkt zakończenia na podstawie kontekstu i jakości wygenerowanego tekstu.
- **Podejścia entropijne**: Wykorzystanie entropii rozkładu tokenów jako kryterium. Wysoka entropia może wskazywać na niepewność modelu i służyć jako sygnał do zaprzestania generowania.

## Linki

- Dokumentacja OpenAI dotycząca użycia stop sequences
- Dokumentacja Hugging Face dotycząca StoppingCriteria

## Literatura

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

## Przypisy

1.  <span id="cite_note-promptitude_def-1">↑ <sup>[1.0](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#cite_ref-promptitude_def_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#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)_(PL)#cite_ref-openai_api_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#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)_(PL)#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)_(PL)#cite_ref-gpt3_survey_4-0)</sup> <sup>[4.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#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)_(PL)#cite_ref-no_eos_extrapolation_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#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)_(PL)#cite_ref-finetune_gpt3_6-0)</sup> <sup>[6.1](https://systems-analysis.info/int/Stop_sequences_(language_models)_(PL)#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)_(PL)#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>
