Когда уточнять, а когда начинать заново
Распознавайте ситуации, когда диалог зашёл в тупик и лучше начать с чистого листа
«Когда уточнять, а когда начинать заново» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.
Ловушка невозвратных затрат в диалогах
Когда диалог не даёт хороших результатов, многие пользователи продолжают пытаться его исправить вместо того, чтобы начать заново. Это ловушка невозвратных затрат — чем больше времени вы потратили на диалог, тем труднее кажется от него отказаться.
Но иногда самый быстрый путь к хорошему результату — закрыть диалог и написать более удачный исходный запрос. Умение понять, когда нужно принять такое решение, — важный навык разработки запросов.
Сигнал 1: модель продолжает повторять одну и ту же ошибку
Если вы два или три раза исправили одну и ту же ошибку, а модель продолжает возвращаться к ней, это явный сигнал начать заново.
Распространённые примеры:
- Вы просите использовать маркированный список, модель пишет связный текст, вы исправляете её, а она снова пишет связный текст
- Вы указываете техническую аудиторию, но модель продолжает использовать объяснения для начинающих
- Вы говорите не добавлять оговорки, но модель продолжает их добавлять
Повторное возвращение к ошибке обычно означает, что инструкцию нужно включить в исходный запрос, а не добавлять в середине диалога.
Сигнал 2: модель неправильно поняла постановку задачи
Иногда модель правильно выполняет описанную вами задачу, но само описание задачи было неверным. Вы попросили X, хотя на самом деле вам было нужно Y.
Пример: вы попросили «кратко изложить основные аргументы», но на самом деле вам был нужен «критический анализ с выявлением слабых мест аргументов». Никакое количество последующих запросов не превратит хороший краткий пересказ в критический анализ — постановка задачи с самого начала была неверной.
Если результат выполнен грамотно, но не соответствует задаче, исходный запрос нужно переписать.
Сигнал 3: ошибочная исходная посылка
Если в вашем первом запросе было ложное допущение, ошибочная исходная посылка или неверный контекст, всё построенное на их основе окажется скомпрометировано.
Примеры:
- Вы описали неправильную аудиторию и создали для неё материал в течение пяти ходов
- Вы указали неверное ограничение («исходя из того, что API построен на REST», хотя он использует GraphQL)
- Вы предоставили неверные исходные сведения, которые повлияли на постановку задачи моделью
Исправление ошибочной исходной посылки в середине диалога ненадёжно. Начните заново, задав исправленную посылку с самого начала.
Сигнал 4: качество ответов снижается
В длинных диалогах качество ответов иногда со временем ухудшается. Модель может:
- Создавать более короткие и менее подробные ответы по мере заполнения окна контекста
- Начать противоречить своим предыдущим утверждениям
- Проявлять всё большую несвязность или повторяться
Это проблема окна контекста, а не формулировки запросов. Правильное решение — начать новый диалог и предоставить краткое резюме того, что было установлено к этому моменту.
Когда стоит дорабатывать, а не начинать заново
Не каждый несовершенный ответ требует начинать заново. Дорабатывайте ответ, когда:
- Содержание в основном верно, но требует изменений в форматировании
- Улучшить нужно один конкретный раздел, а не весь ответ
- Вы хотите продолжить или расширить уже созданный материал
- Ошибка незначительна, и один чёткий последующий запрос её исправит
Практическое правило: если модель поняла вашу цель и создала в целом качественный материал, дорабатывайте его. Если она неправильно поняла саму цель, начните заново.
Диагностический вопрос
Прежде чем решить, дорабатывать ответ или начать заново, задайте себе один диагностический вопрос:
«Проблема в результате или в моём исходном запросе?»
- Проблема в результате → доработайте его последующим запросом
- Проблема в исходном запросе → начните заново с переписанным запросом
Этот вопрос заставляет найти первопричину, а не устранять симптом. В большинстве ситуаций с невозвратными затратами исходный запрос был составлен неправильно, но пользователь продолжает пытаться исправить результат.
Переписывание исходного запроса
Решив начать заново, не ограничивайтесь простой переформулировкой — переработайте запрос. Используйте то, чему вы научились благодаря неудачному диалогу:
- Какое ограничение вы забыли включить?
- Какое допущение оказалось неверным?
- Что было неоднозначным и сбило модель с пути?
- Какой пример или описание формата помогли бы предотвратить недопонимание?
Неудачный диалог даёт ценную информацию о том, чего не хватало в вашем исходном запросе. Новый запрос должен напрямую устранять эти пробелы.
Сохранение полезной работы перед началом заново
Прежде чем закрыть диалог, сохраните действительно полезные части:
- Скопируйте разделы, формулировки или идеи, которые хотите сохранить
- Запишите ограничения или инструкции, благодаря которым были получены хорошие результаты
- Сохраните удачные примеры или аналогии, созданные моделью
Начать заново не значит отбросить всё. Вы можете вставить полезные части в новый запрос в качестве справочного материала или примеров желаемого стиля.
Ведение журнала результатов диалога в коде
В приложении на Python вы можете отслеживать сигналы качества диалога, чтобы решить, когда автоматически выполнять reset:
import openai
client = openai.OpenAI(api_key='sk-...')
class ConversationManager:
def __init__(self, max_turns=10):
self.history = []
self.turn_count = 0
self.max_turns = max_turns
def chat(self, user_message):
self.turn_count += 1
if self.turn_count > self.max_turns:
print('Warning: conversation is long. Consider starting fresh.')
self.history.append({'role': 'user', 'content': user_message})
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=self.history
)
reply = response.choices[0].message.content
self.history.append({'role': 'assistant', 'content': reply})
return reply
def reset(self, summary=None):
'''Start fresh, optionally seeding with a summary of prior context.'''
self.history = []
self.turn_count = 0
if summary:
self.history.append({'role': 'user', 'content': f'Context from prior session: {summary}'})
self.history.append({'role': 'assistant', 'content': 'Understood. Ready to continue.'})Дерево решений: доработать или начать заново
Используйте такое мысленное дерево решений:
- Модель повторяет одну и ту же ошибку после двух или более исправлений? → Начните заново
- Исходная постановка задачи или посылка были неверными? → Начните заново
- Окно контекста приводит к ухудшению качества? → Начните заново с кратким резюме
- Содержание в целом верно, но требует изменений в форматировании или небольшого расширения? → Доработайте
- Один раздел слабый, хотя остальная часть ответа хороша? → Доработайте этот раздел
Переломный момент обычно наступает примерно после трёх попыток исправления. Если три конкретных последующих запроса не помогли решить проблему, причина кроется в исходном запросе.
Проверка знаний: доработать или начать заново?
Вы попросили модель написать техническую статью для опытных инженеров-программистов об индексации баз данных. Модель создала статью для начинающих, с нуля объясняя, что такое базы данных. Вы дважды исправляли её, каждый раз указывая техническую аудиторию. После обоих исправлений материал стал лишь немного менее ориентированным на начинающих, но всё ещё не достиг глубины, необходимой опытным специалистам.
Как лучше всего поступить?
Краткое повторение: когда дорабатывать запрос, а когда начинать заново
Основное правило: если проблема в выводе, дорабатывайте запрос. Если проблема в исходном запросе, начинайте заново.
Три наиболее убедительных сигнала к началу заново: повторяющаяся одна и та же ошибка после нескольких исправлений, неверная исходная постановка задачи и ошибочная исходная предпосылка. Снижение качества в длинном диалоге обычно означает проблему с контекстным окном, которая также требует нового начала с кратким изложением.
Неудачный диалог никогда не пропадает зря — используйте его как обратную связь, чтобы составить более удачный исходный запрос.
Часто задаваемые вопросы
Урок «Когда уточнять, а когда начинать заново» бесплатный?
Да — полный текст урока «Когда уточнять, а когда начинать заново» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.
Чему я научусь в уроке «Когда уточнять, а когда начинать заново»?
Распознавайте ситуации, когда диалог зашёл в тупик и лучше начать с чистого листа Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Prompt Engineering?
Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Когда уточнять, а когда начинать заново»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Prompt Engineering?
Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Чтение и оценка результатов искусственного интеллекта
- Написание эффективных уточняющих запросов
- Развитие предыдущих ответов
- Когда уточнять, а когда начинать заново