Czym jest chain-of-thought (łańcuch myślenia)?
Chain-of-Thought (CoT) to technika promptowania, która pozwala modelom AI na szczegółowe przedstawienie kroków rozumowania przed podaniem ostatecznej odpowiedzi, znacząco poprawiając ich zdolności do rozwiązywania złożonych problemów.
Chain-of-Thought (CoT), czyli łańcuch myślenia, to technika promptowania stosowana w pracy z dużymi modelami językowymi (LLM), która polega na instruowaniu modelu, aby przed podaniem ostatecznej odpowiedzi wygenerował serię pośrednich kroków rozumowania. Zamiast od razu przedstawiać rozwiązanie, model jest zachęcany do „myślenia na głos”, co pozwala mu na rozłożenie złożonego problemu na mniejsze, łatwiejsze do przetworzenia etapy.
Technika ta znacząco poprawia zdolność modeli AI do rozwiązywania skomplikowanych zadań, które wymagają logicznego wnioskowania, matematycznych obliczeń czy wieloetapowego planowania. Działa na zasadzie naśladowania ludzkiego procesu myślowego, gdzie analizujemy problem krok po kroku, zanim dojdziemy do konkluzji.
Jak chain-of-thought poprawia rozumowanie modeli AI?
Tradycyjnie, modele językowe otrzymywały pytanie i od razu generowały odpowiedź. W przypadku prostych zapytań działało to dobrze. Jednak przy bardziej złożonych problemach, wymagających sekwencji operacji lub głębszego zrozumienia kontekstu, modele często popełniały błędy. Chain-of-Thought zmienia to podejście, oferując kilka kluczowych korzyści:
1. Rozłożenie złożoności
Najważniejszą zaletą CoT jest zdolność do rozłożenia skomplikowanego problemu na serię prostszych, łatwiejszych do zarządzania podzadań. Każdy krok w łańcuchu myślenia może być traktowany jako oddzielne, mniejsze pytanie, na które model musi odpowiedzieć, zanim przejdzie do następnego. To redukuje obciążenie poznawcze modelu i pozwala mu skupić się na jednym aspekcie problemu naraz.
Przykład: Zamiast obliczać (5 + 3) * 2 - 4 od razu, model najpierw oblicza 5 + 3 = 8, potem 8 * 2 = 16, a na końcu 16 - 4 = 12.
2. Zwiększona dokładność i niezawodność
Pokazując modelowi, jak dojść do rozwiązania, CoT redukuje prawdopodobieństwo błędów. Jeśli model popełni błąd na wczesnym etapie, często jest w stanie go skorygować w kolejnych krokach, lub przynajmniej błąd jest łatwiejszy do zidentyfikowania przez użytkownika. Proces ten sprawia, że odpowiedzi są bardziej wiarygodne.
3. Lepsza interpretowalność
Kroki rozumowania generowane przez model są widoczne dla użytkownika. To pozwala zrozumieć, dlaczego model doszedł do danej odpowiedzi, a nie tylko jaką odpowiedź wygenerował. Jest to niezwykle cenne w dziedzinach, gdzie transparentność i możliwość weryfikacji są kluczowe, np. w medycynie czy finansach.
4. Możliwość debugowania
Jeśli model poda błędną odpowiedź, analiza łańcucha myślenia pozwala zidentyfikować, w którym miejscu rozumowanie poszło źle. Dzięki temu prompt engineering staje się bardziej efektywny – można precyzyjnie dostosować instrukcje, aby skorygować błąd w konkretnym kroku.
5. Zdolność do uogólniania
Modele, które zostały nauczone techniki CoT, często lepiej radzą sobie z nowymi, podobnymi problemami, których nie widziały podczas treningu. Uczą się ogólnych wzorców rozumowania, a nie tylko zapamiętują konkretne rozwiązania.
Rodzaje promptingu chain-of-thought
Istnieją dwie główne metody implementacji Chain-of-Thought:
1. Few-shot Chain-of-Thought (CoT z przykładami)
W tej metodzie, w prompcie podaje się modelowi kilka przykładów problemów wraz z ich pełnymi łańcuchami myślenia prowadzącymi do rozwiązania. Model uczy się wzorca rozumowania na podstawie tych przykładów, a następnie stosuje go do nowego, nieznanego problemu.
Przykład promptu Few-shot CoT:
Q: Janek ma 5 jabłek. Kasia dała mu 3 jabłka. Ile jabłek ma Janek?
A: Janek miał 5 jabłek. Kasia dała mu 3 jabłka. Teraz ma 5 + 3 = 8 jabłek.
Q: W autobusie było 10 osób. Na przystanku wysiadły 2 osoby, a wsiadło 5 osób. Ile osób jest teraz w autobusie?
A: W autobusie było 10 osób. Wysiadły 2 osoby, więc zostało 10 - 2 = 8 osób. Wsiadło 5 osób, więc teraz jest 8 + 5 = 13 osób.
Q: Ania kupiła 3 paczki ciastek. W każdej paczce jest 6 ciastek. Zjadła 2 ciastka. Ile ciastek jej zostało?
A: Ania kupiła 3 paczki ciastek, a w każdej jest 6 ciastek. Zatem ma 3 * 6 = 18 ciastek. Zjadła 2 ciastka, więc zostało jej 18 - 2 = 16 ciastek.
2. Zero-shot Chain-of-Thought (CoT bez przykładów)
Ta metoda jest znacznie prostsza i często zaskakująco skuteczna. Polega na dodaniu do promptu prostej frazy, która instruuje model, aby „pomyślał krok po kroku” lub „wyjaśnił swoje rozumowanie”. Model, bez wcześniejszych przykładów, samodzielnie generuje łańcuch myślenia.
Przykład promptu Zero-shot CoT:
Q: Ania kupiła 3 paczki ciastek. W każdej paczce jest 6 ciastek. Zjadła 2 ciastka. Ile ciastek jej zostało?
Odpowiedź: Pomyślmy krok po kroku.
Dodanie frazy „Pomyślmy krok po kroku” (lub podobnej, np. „Let's break this down”, „Step-by-step reasoning”) jest często wystarczające, aby aktywować w modelu zdolność do generowania pośrednich etapów rozumowania. Ta metoda jest szczególnie przydatna, gdy tworzenie przykładów Few-shot jest zbyt czasochłonne lub trudne.
Przykłady zastosowania chain-of-thought
Chain-of-Thought znajduje zastosowanie w wielu dziedzinach, gdzie precyzyjne i logiczne rozumowanie jest kluczowe:
1. Rozwiązywanie problemów matematycznych
CoT jest niezwykle skuteczny w zadaniach matematycznych, od prostych arytmetycznych po bardziej złożone problemy tekstowe. Model, rozkładając problem na etapy, jest w stanie poprawnie zidentyfikować operacje i ich kolejność.
Przykład:
Prompt:
Q: Pociąg jedzie z prędkością 60 km/h przez 3 godziny. Następnie zatrzymuje się na 30 minut. Potem jedzie dalej z prędkością 80 km/h przez kolejne 2 godziny. Jaką łączną drogę pokonał pociąg?
Odpowiedź: Pomyślmy krok po kroku.
Odpowiedź modelu (z CoT):
Krok 1: Obliczmy drogę pokonaną w pierwszej fazie. Prędkość = 60 km/h, czas = 3 godziny. Droga = prędkość * czas = 60 km/h * 3 h = 180 km.
Krok 2: Pociąg zatrzymuje się na 30 minut. W tym czasie nie pokonuje żadnej drogi.
Krok 3: Obliczmy drogę pokonaną w drugiej fazie. Prędkość = 80 km/h, czas = 2 godziny. Droga = prędkość * czas = 80 km/h * 2 h = 160 km.
Krok 4: Obliczmy łączną drogę. Łączna droga = droga z fazy 1 + droga z fazy 2 = 180 km + 160 km = 340 km.
Łączna droga pokonana przez pociąg to 340 km.
2. Logiczne wnioskowanie i rozumienie tekstu
Zadania wymagające wyciągania wniosków z tekstu, identyfikowania relacji przyczynowo-skutkowych czy rozwiązywania zagadek logicznych również zyskują na zastosowaniu CoT.
Przykład:
Prompt:
Q: W pokoju są trzy osoby: Adam, Ewa i Piotr. Adam jest starszy od Ewy. Piotr jest młodszy od Adama, ale starszy od Ewy. Kto jest najstarszy?
Odpowiedź: Pomyślmy krok po kroku.
Odpowiedź modelu (z CoT):
Krok 1: Mamy trzy osoby: Adam, Ewa, Piotr.
Krok 2: "Adam jest starszy od Ewy." Możemy zapisać: Adam > Ewa.
Krok 3: "Piotr jest młodszy od Adama, ale starszy od Ewy." Możemy zapisać: Adam > Piotr > Ewa.
Krok 4: Porównując wszystkie relacje, widzimy, że Adam jest starszy od Piotra, a Piotr jest starszy od Ewy. Zatem Adam jest najstarszy.
Najstarszy jest Adam.
3. Generowanie i debugowanie kodu
Programiści mogą używać CoT do generowania złożonych fragmentów kodu lub do debugowania istniejących. Model, wyjaśniając krok po kroku, jak zamierza rozwiązać problem programistyczny, może pomóc w identyfikacji błędów logicznych lub w zrozumieniu struktury kodu.
Przykład:
Prompt:
Q: Napisz funkcję w Pythonie, która przyjmuje listę liczb całkowitych i zwraca listę tylko tych liczb, które są parzyste i większe od 10.
Odpowiedź: Pomyślmy krok po kroku.
Odpowiedź modelu (z CoT):
Krok 1: Zdefiniuj funkcję, która przyjmuje jeden argument: listę liczb całkowitych.
Krok 2: Utwórz pustą listę, która będzie przechowywać wyniki (liczby spełniające kryteria).
Krok 3: Przejdź przez każdą liczbę w wejściowej liście.
Krok 4: Dla każdej liczby sprawdź dwa warunki:
a) Czy liczba jest parzysta (czyli reszta z dzielenia przez 2 wynosi 0).
b) Czy liczba jest większa od 10.
Krok 5: Jeśli oba warunki są spełnione, dodaj tę liczbę do listy wyników.
Krok 6: Po przetworzeniu wszystkich liczb, zwróć listę wyników.
```python
def filtruj_liczby(lista_liczb):
wynik = []
for liczba in lista_liczb:
if liczba % 2 == 0 and liczba > 10:
wynik.append(liczba)
return wynik
## Podsumowanie
Chain-of-Thought to potężna technika w inżynierii promptów, która rewolucjonizuje sposób, w jaki modele językowe radzą sobie ze złożonymi zadaniami. Umożliwiając modelom „myślenie na głos” i rozkładanie problemów na mniejsze etapy, CoT znacząco poprawia ich dokładność, niezawodność i interpretowalność. Niezależnie od tego, czy używamy metody Few-shot z przykładami, czy prostego Zero-shot z instrukcją „Pomyślmy krok po kroku”, technika ta jest kluczowym narzędziem dla każdego, kto chce wydobyć maksimum możliwości z dużych modeli językowych.
Najczęstsze pytania
Czym różni się Chain-of-Thought od zwykłego promptowania?
Zwykłe promptowanie prosi model o bezpośrednią odpowiedź. Chain-of-Thought natomiast instruuje model, aby przed podaniem ostatecznej odpowiedzi wygenerował serię pośrednich kroków rozumowania, co naśladuje ludzki proces myślowy i poprawia dokładność w złożonych zadaniach.
Czy Chain-of-Thought działa ze wszystkimi modelami językowymi?
Chain-of-Thought jest najbardziej efektywny w przypadku dużych modeli językowych (LLM), które mają wystarczającą zdolność do rozumowania i generowania złożonych sekwencji tekstu. Mniejsze modele mogą nie wykazywać tak znaczącej poprawy lub w ogóle nie być w stanie poprawnie zastosować tej techniki.
Czy Chain-of-Thought zawsze poprawia wyniki?
W większości złożonych zadań, zwłaszcza tych wymagających logicznego wnioskowania, matematyki czy planowania, CoT znacząco poprawia wyniki. Jednak w bardzo prostych zadaniach, gdzie bezpośrednia odpowiedź jest wystarczająca, dodawanie łańcucha myślenia może być zbędne lub nawet nieznacznie wydłużać czas generowania odpowiedzi bez istotnej korzyści.
Jakie są główne wady Chain-of-Thought?
Główną wadą jest dłuższy czas generowania odpowiedzi, ponieważ model musi wygenerować więcej tekstu (kroki rozumowania). W przypadku metody Few-shot, wymaga to również przygotowania odpowiednich przykładów, co może być czasochłonne. Może też zwiększyć koszty API ze względu na większą liczbę tokenów.
Czy mogę używać Chain-of-Thought w języku polskim?
Tak, modele językowe, które dobrze radzą sobie z językiem polskim, mogą efektywnie stosować technikę Chain-of-Thought. Frazy takie jak „Pomyślmy krok po kroku” lub podanie przykładów w języku polskim działają analogicznie jak w języku angielskim, aktywując mechanizm rozumowania.
Więcej poradników
Few-shot vs zero-shot prompting — o co chodzi?
Dowiedz się, czym jest zero-shot i few-shot prompting w AI. Zrozum różnice między nimi i naucz się, kiedy stosować każdy z nich, aby uzyskać najlepsze rezultaty.
Redakcja Aigest24 cze 2026
Temperatura i top-p w modelach AI — co to znaczy?
Dowiedz się, czym są parametry Temperatura i Top-p w modelach AI. Zrozum, jak wpływają na kreatywność i przewidywalność generowanych odpowiedzi oraz kiedy je modyfikować.
Redakcja Aigest24 cze 2026
Prompt engineering: jak pisać dobre prompty (z przykładami)
Dowiedz się, czym jest prompt engineering i jak tworzyć skuteczne prompty dla modeli AI. Poznaj zasady, techniki i przykłady, aby maksymalnie wykorzystać potencjał sztucznej inteligencji.
Redakcja Aigest24 cze 2026
Bądź na bieżąco ze światem AI
Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.