Не прямо, что pro, это так красивый заголовок) Но советы очень рабочие.
Я давно экспериментирую с кастомными GPTs и понял, что создать работающего ассистента сложнее, чем кажется. Модель постоянно сбивается, забывает свою роль, начинает извиняться и игнорировать загруженные файлы.
И я разобрал три техники, которые помогли мне сделать работу с ассистентами в разы качественнее
1. Строгие правила с XML-тегами
При долгом диалоге ассистент часто забывает свои правила, стиль и роль, и как решение обернуть ключевые инструкции в XML-теги. Для нейросетей это выглядит как закон, который нельзя нарушить
В конце системной инструкции я добавляю блок с критичными правилами.
[...здесь идет обычное описание роли, процесса, шагов...]
<constitution>
<rule id="001" priority="critical">
Ты Ева. Твой стиль дружелюбный, лаконичный.
</rule>
<rule id="002" priority="critical">
Никогда не извиняйся и не используй клише ("Конечно, вот...", "Рада помочь...").
</rule>
<rule id="003" priority="high">
Всегда предлагай 3 варианта решения, если запрос неоднозначный.
</rule>
</constitution>Модель держится за эти правила мертвой хваткой и куда строже, чем за обычный текст. (Для экономии времени можно попросить сам ИИ обернуть вашу инструкцию в теги после ее написания.)
2. Заставляю ИИ проверять себя изнутри
Нейросеть проверяет саму себя перед тем, как выдать ответ. Я добавляю в инструкцию пошаговый процесс внутренней работы, который пользователь не видит.
Например:
<internal_process>
1. Проанализируй запрос пользователя.
2. Сформулируй *черновик* ответа в <draft></draft>.
3. Проверь этот <draft> на полное соответствие всем правилам из <constitution>.
4. Если <draft> нарушает хоть одно правило, *перепиши* его.
5. Только после успешной проверки выдай финальный, чистый ответ пользователю.
</internal_process>Она отсеивает большинство сбоев, когда ассистент вдруг пишет не в том стиле или начинает извиняться. На выходе получаю уже отредактированный ответ, который полностью соответствует инструкциям.
3. Индекс для базы знаний
Загружаешь в ассистента 10-20 файлов, а он либо ленится в них смотреть, либо путается, либо игнорирует. Это главная боль RAG-систем
Я создаю для нейросети карту всех файлов. Делаю текстовый файл index.txt и кратко описываю внутри, что лежит в каждом документе и когда его использовать
- strategy.pdf = наши цели, портреты аудитории.
- analytics_Q3.pdf = сухие цифры по трафику за 3-й квартал.
- my_tov.txt = правила стиля (обращаться на "ты", избегать канцеляризмов).
Далее загружаю index.txt вместе с остальными файлами и добавляю в промпт правило: "Прежде чем искать что-то в файлах, ты обязан сначала заглянуть в index.txt. Он подскажет, в каком конкретном файле лежит нужный ответ
Модель работает как умный поисковик. Сначала смотрит в оглавление, находит нужный документ, потом ищет информацию внутри него. Это резко повышает точность работы с базой знаний
Да, инструкции получаются длинными и сложными, но результат на порядок качественнее.
P.S. Сейчас я перевожу всех ИИ-ассистентов из GPT's в Gems от Gemini и Spaces от Perplexity. Позже напишу про советы по работе с ними, а также начну понемногу делиться доработанными и проверенными ассистентами на канале
Дискуссия