Generate Knowledge
Подумай перед ответом
Проблема: Иногда ИИ нужны фоновые знания для хорошего ответа, но этих знаний нет в промпте. Как помочь ИИ получить доступ к своим релевантным знаниям?
Решение: Мозговой штурм перед ответом
Generated Knowledge Prompting (генерация знаний) — это техника из двух шагов. Вместо того чтобы просить модель сразу ответить на сложный вопрос, ты сначала просишь её выписать факты, относящиеся к вопросу, и только потом просишь дать ответ — подставляя только что сгенерированные факты обратно в контекст. Это как мозговой штурм того, что ты уже знаешь, перед решением задачи, а не выпаливание первой пришедшей в голову мысли. Технику предложили Liu et al. (2022) для задач здравого смысла, где у модели нужные знания внутри есть, но она не вытаскивает их с первой попытки.
Как это работает
Языковая модель предсказывает текст токен за токеном, поэтому слова, которые она уже сгенерировала, становятся частью контекста для всего, что идёт дальше. Когда ты заставляешь модель сначала выписать релевантные факты, эти факты оказываются в окне контекста и задают условия для финального ответа — модель куда чаще рассуждает от прочных предпосылок, а не от поверхностной догадки. Это близко к технике Chain-of-Thought: обе работают за счёт того, что промежуточные рассуждения попадают в контекст до того, как модель зафиксирует ответ. Разница в акценте — Chain-of-Thought выписывает шаги рассуждения, а Generated Knowledge выносит вперёд фактические утверждения. В отличие от RAG, здесь нет внешней базы данных или системы поиска: знания берутся из собственных параметров модели, поэтому техника дешёвая, но ограничена тем, что модель выучила при обучении.
Когда применять — и где подводные камни
Бери её для вопросов на здравый смысл, науку и эрудицию, где модель скорее всего знает ответ, но отвечает невнимательно. Главный подводный камень — это галлюцинации: если на первом шаге сгенерируется уверенный, но ложный «факт», то на втором шаге модель честно построит на нём неверный ответ. То есть техника улучшает извлечение уже имеющихся знаний, а не добавляет факты, которых у модели никогда не было. Для изменчивых или закрытых данных лучше использовать RAG. Разберём пример: спроси «Может ли рыба утонуть?» напрямую — и многие модели сразу скажут «нет». Попроси модель сначала сгенерировать знания: «Рыбы дышат, извлекая растворённый кислород из воды жабрами; в воде без кислорода они задыхаются» — и та же модель, читая собственную заметку, теперь отвечает «да, фактически — когда в воде не хватает кислорода».
Представьте это как сессию мозгового штурма:
- 1. Вопрос: "Стекло — это твёрдое тело или жидкость?"
- 2. Генерируем знания: "Стекло — аморфное твёрдое тело... молекулы не текут..."
- 3. Используем знания: Включаем сгенерированные факты в контекст
- 4. Отвечаем: Более точный ответ с правильным фоном
Где это используется?
- Научные вопросы: Генерация релевантного научного фона
- Рассуждения здравого смысла: Превращение неявных знаний в явные
- Задачи на знания: Вспоминание релевантных фактов сначала
- Задачи на написание: Генерация исследования перед черновиком
Интересный факт: Эта техника имитирует мышление людей! Мы часто "разогреваем" память, вспоминая связанные факты перед ответом. Исследования показывают, что это улучшает точность на задачах здравого смысла на 5-10%.
Попробуйте сами!
Используй интерактивный пример ниже, чтобы увидеть, как генерация знаний сначала приводит к более информированным и точным ответам.
Генерация знаний (Generate Knowledge)
Сначала сгенерируй релевантные знания, затем используй их для ответа
Часть гольфа — пытаться набрать больше очков, чем другие. Да или Нет?
Как это работает
Когда использовать Generate Knowledge
- • Вопросы, требующие специфических фактов
- • Задачи здравого смысла (commonsense reasoning)
- • Когда прямой ответ может быть неточным
- • Для повышения точности без внешних источников
Сгенерируй 3-5 фактов, которые помогут ответить на вопрос:
"{question}"
Факты должны быть релевантными и точными.Используя следующие знания:
{generated_knowledge}
Ответь на вопрос: "{question}"Техника описана в статье "Generated Knowledge Prompting for Commonsense Reasoning" (Liu et al., 2022). Исследования показали улучшение на 3-5% на бенчмарках здравого смысла по сравнению с прямыми ответами.
| Аспект | Прямой ответ | Generate Knowledge | RAG |
|---|---|---|---|
| Источник знаний | Внутри модели | Внутри модели (явно) | Внешние документы |
| Инфраструктура | Не нужна | Не нужна | Векторная БД |
| Актуальность | До даты обучения | До даты обучения | Актуальная |
| Точность | Базовая | Улучшенная (+3-5%) | Высокая |
Частые вопросы
Что такое Generated Knowledge Prompting (генерация знаний)?
Это техника промптинга из двух шагов: сначала просишь модель выписать факты, относящиеся к вопросу, а потом подставляешь эти факты обратно в контекст и просишь дать ответ. Так модель опирается на явно сформулированные знания, а не на поверхностную догадку с первой попытки. Технику предложили Liu et al. (2022) для задач здравого смысла.
Чем генерация знаний отличается от Chain-of-Thought?
Обе техники работают за счёт того, что промежуточный текст попадает в контекст до финального ответа. Разница в акценте: Chain-of-Thought выписывает шаги рассуждения («давай подумаем по шагам»), а Generated Knowledge выносит вперёд именно фактические утверждения. Их можно комбинировать: сначала факты, потом рассуждение по шагам на их основе.
Чем Generated Knowledge отличается от RAG?
В RAG факты подтягиваются из внешнего источника — векторной базы, поиска, документов — поэтому они могут быть свежими и проверяемыми. В Generated Knowledge факты модель генерирует из собственных параметров, без внешней инфраструктуры. Это дешевле и проще, но знания ограничены датой обучения модели и могут содержать ошибки. Для актуальных или закрытых данных лучше RAG.
Когда генерация знаний не помогает и какие у неё минусы?
Главный минус — галлюцинации: если на первом шаге сгенерируется уверенный, но ложный «факт», модель честно построит на нём неверный ответ. Техника улучшает извлечение уже имеющихся знаний, но не добавляет факты, которых у модели не было. Она бесполезна для свежих новостей, узкоспециальных или закрытых данных — там нужен RAG или fine-tuning.
Попробуй сам
Интерактивное демо этой техники
Ответить на вопрос: стекло — это жидкость или твёрдое тело?
Стекло — это жидкость, которая течёт очень медленно. Поэтому старые оконные стёкла толще внизу.
Сначала сгенерирую ключевые факты:
- Стекло — аморфное твёрдое тело, его молекулы не образуют кристаллическую решётку.
- При охлаждении расплава стекло проходит стеклование — переход в твёрдое состояние без кристаллизации.
- Миф о «текущих стёклах» опровергнут: неравномерная толщина старых стёкол — результат технологии производства, а не течения.
- Вязкость стекла при комнатной температуре настолько велика, что заметное течение заняло бы больше возраста Вселенной.
Ответ: Стекло — это аморфное твёрдое тело. Распространённый миф о том, что стекло — это медленно текущая жидкость, не подтверждается наукой.
Без генерации знаний модель воспроизвела популярный миф. Предварительная генерация фактов активировала точные научные знания и помогла отфильтровать заблуждения.
Создайте бесплатный аккаунт для решения челленджей
6 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения