Tree of Thoughts, Self-Consistency, Reflexion, Generated Knowledge, Constitutional AI
За пределами Chain-of-Thought — методы которые превращают LLM в системы многоходового поиска, самокоррекции и синтеза знаний.
Chain-of-Thought — линейная цепочка. Tree of Thoughts (Yao et al., 2023) превращает её в дерево: модель генерирует несколько ветвей рассуждения и оценивает их качество.
Аналогия: шахматный движок не идёт по первому найденному ходу — он перебирает варианты и выбирает лучший.
Алгоритм ToT
Задача: Сочини четверостишие о программировании, в котором каждая строка
начинается на следующую букву алфавита начиная с П.
Ветвь 1: Программируем мы каждый день...
Ветвь 2: Пишем код в тишине ночной...
Ветвь 3: Переменные, циклы, классы...
[Оценка: ветвь 2 лучше сочетается с ритмом]
Продолжаем ветвь 2:
Р — Решаем задачи сложнее простых...
...
Когда использовать ToT
Стоимость: ToT значительно дороже CoT — N ветвей × глубина дерева запросов.
Yhe et al. (2022) показали, что можно улучшить CoT без изменения промпта: запустить модель несколько раз с одним и тем же промптом и взять мажоритарный ответ.
Принцип
Запрос 1: CoT → Ответ: 42
Запрос 2: CoT → Ответ: 42
Запрос 3: CoT → Ответ: 44
Запрос 4: CoT → Ответ: 42
Запрос 5: CoT → Ответ: 43
Мажоритарный ответ: 42 (3 из 5)
Почему работает
Каждый прогон генерирует разный «путь рассуждения» (разные токены семплируются при temperature > 0). Правильные пути ведут к правильному ответу. Неправильные пути разнообразны — у каждого своя «ошибка». Мажоритарное голосование нивелирует случайные ошибки.
Параметры
Shinn et al. (2023) предложили агентный подход: модель оценивает свой собственный ответ и итерирует его.
Цикл Reflexion
1. Получить задачу
2. Сгенерировать ответ
3. Получить обратную связь (результат выполнения, ошибку, оценку)
4. Написать рефлексию: "Я ошибся потому что... В следующий раз нужно..."
5. Использовать рефлексию в следующей итерации
6. Повторить до достижения результата или max iterations
Пример в контексте написания кода
Итерация 1:
[Код] def fizzbuzz(n): return "Fizz" if n%3==0 else n
[Тест] FAIL: для n=15 должно быть "FizzBuzz"
[Рефлексия] Я забыл проверить делимость на 15 перед проверками на 3 и 5
Итерация 2:
[Код с учётом рефлексии] def fizzbuzz(n):
if n%15==0: return "FizzBuzz"
elif n%3==0: return "Fizz"
...
[Тест] PASS
Ключевое: рефлексия хранится в отдельной «памяти» и используется в следующей итерации, а не просто добавляется к текущему контексту.
Liu et al. (2022): перед ответом на вопрос попросить модель сгенерировать релевантные факты.
Вопрос: Может ли гольф-игрок использовать один и тот же клюшку для любого удара?
Шаг 1 — Генерация знаний:
Сгенерируй 5 фактов о правилах гольфа и типах клюшек.
[Модель генерирует]:
- В гольфе разрешено носить до 14 клюшек
- Разные клюшки для разных ударов: вуды (дальние), айроны (средние), паттер (на грине)
- Правила USGA не запрещают использовать одну клюшку для всех ударов
- ...
Шаг 2 — Ответ с опорой на знания:
Используя эти факты, ответь на вопрос...
Когда эффективно: вопросы требующие специфических знаний, которые модель «знает» но не активирует напрямую.
Li et al. (2023): вместо детальных инструкций давать модели «подсказку» (hint) которая направляет генерацию в нужную сторону.
Суммаризируй текст. Ключевые концепции которые должны войти: [телемедицина, AI диагностика]
Текст: [медицинская статья]
Подсказки направляют модель без жёстких ограничений. Полезно когда нужно контролировать содержание, но не структуру ответа.
| Техника | Сложность | Стоимость | Лучше для |
|---|---|---|---|
| Стандартный CoT | Низкая | Низкая | Математика, логика |
| Zero-shot CoT | Минимальная | Низкая | Быстрое улучшение на любой задаче |
| Self-Consistency | Средняя | Средняя | Повышение надёжности ответов |
| Tree of Thoughts | Высокая | Высокая | Поиск решений, planning |
| Reflexion | Высокая | Средняя | Итеративные задачи, кодирование |
| Generated Knowledge | Средняя | Низкая | Knowledge-intensive QA |
Стоимость и задержка
ToT и Self-Consistency умножают количество API-вызовов. При 20 прогонах Self-Consistency стоимость вырастает в 20 раз. В production нужно балансировать качество и стоимость.
Галлюцинации не исчезают
Ни одна техника не решает проблему галлюцинаций полностью. Self-Consistency снижает их частоту, но не устраняет.
Размер модели
Как и CoT, продвинутые техники работают значительно лучше на больших моделях.
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.