Промпт Инженерия by Lee Boonstra (Часть 6)

Метод «Цепочка рассуждений» (Chain of Thought, CoT)

Chain of Thought (CoT) — это техника подсказок, улучшающая способность языковых моделей (LLM) к логическим рассуждениям за счёт генерации промежуточных шагов. Это помогает модели давать более точные ответы. Её можно комбинировать с few-shot prompting (подсказками с примерами) для лучших результатов в сложных задачах, требующих логики перед ответом, так как zero-shot (без примеров) вариант цепочки рассуждений может быть сложным.

Преимущества CoT:

  • Минимальные усилия, высокая эффективность — метод хорошо работает с готовыми LLM без необходимости дообучения.
  • Интерпретируемость — можно анализировать ответы модели, отслеживая ход её мыслей. Если что-то пойдёт не так, ошибку будет легче выявить.
  • Устойчивость — CoT улучшает согласованность работы разных версий LLM, то есть prompts с цепочками рассуждений меньше «дрейфуют» между моделями.

Конечно, есть и недостатки:

  • Ответы с CoT содержат дополнительные шаги рассуждений, что увеличивает количество токенов в выводе — а значит, делает прогнозирование дороже и медленнее.

Пример без CoT (Таблица 11)

Промпт:Когда мне было 3 года, мой партнёр был в 3 раза старше меня. Сейчас мне 20 лет. Сколько лет партнёру?
Вывод модели:63 года

Ошибка очевидна. LLM часто ошибаются в математических задачах, даже в простых (например, умножение чисел), так как они обучены на текстах, а не на строгих вычислениях.

Пример с CoT (Таблица 12)

Промпт:Когда мне было 3 года, мой партнёр был в 3 раза старше меня. Сейчас мне 20 лет. Сколько лет партнёру? Давай рассуждать по шагам.
Вывод модели:Когда мне было 3 года, возраст партнёра: 3 * 3 = 9 лет.
С тех пор прошло: 20 — 3 = 17 лет.
Значит, возраст партнёра сейчас: 9 + 17 = 26 лет.

Теперь ответ верный! Модель явно показала ход мыслей. Интересно, что она прибавила 17 лет, хотя можно было посчитать разницу возрастов (9 — 3 = 6) и добавить её к текущему возрасту: 20 + 6 = 26.

Few-shot CoT (Таблица 13)

Промпт с примером:Вопрос: Когда моему брату было 2 года, я был вдвое старше. Сейчас мне 40. Сколько лет брату?
Ответ: Когда брату было 2, мне было 2 * 2 = 4 года (разница: 2 года). Сейчас мне 40, значит, брату 40 — 2 = 38.
Вопрос: Когда мне было 3 года, мой партнёр был в 3 раза старше. Сейчас мне 20. Сколько лет партнёру?
Вывод модели:Когда мне было 3, партнёру было 3 * 3 = 9 лет (разница: 6 лет). Сейчас мне 20, значит, партнёру 20 + 6 = 26.

Применение CoT

Метод полезен для:

  • Генерации кода — разбивка задачи на шаги и их отображение в код.
  • Создания синтетических данных — например, описание продукта на основе названия «XYZ» с пояснением логики.
  • Любых задач, решаемых через последовательные рассуждения.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

16 + 1 =

Прокрутить вверх