Привет. Попробовал использовать Gemini третьего поколения, но совершенно сбит с толку поведением моделей. Я понял, что необходимо использовать краткие, понятные инструкции, описывающие логику желаемого ответа. Но как ни старайся, Gemini 3 (как Flash, так и Pro-версии) отказываются следовать системному промпту. Я использую температуру 1.0, как и рекомендует документация, это достаточно вольный параметр, например, для юриспруденции, но, снижая температуру до 0.1 (желаемое значение для точности) или даже до 0.3, я заметил, что модель может уйти в ступор и не отвечать на протяжении долгого времени. К тому же пугает предостережение, что на низких температурах у модели может снижаться способность к анализу. То есть, остаются только высокие уровни температуры. На температуре 1.0, несмотря на строгую инструкцию в системном промпте «Основывай ответ СТРОГО и ИСКЛЮЧИТЕЛЬНО на КОНТЕКСТЕ, понимай нормы ДОСЛОВНО», модель интерпретировала их по-своему, придумывая то, чего в тексте в секции КОНТЕКСТ не было. Это очень плохо для сфер, где важна точность. Я пробовал писать промпты по-разному, модель всё равно делает по-своему. Интересный факт: она лучше понимает инструкции, предоставляемые в обычном промпте, а системный промпт она словно напрочь игнорирует, как будто этот параметр вообще ей не передаётся. Модель Gemini 2.5 Pro с параметром температуры, установленным в 0.1, не страдает галлюцинациями, следует инструкциям в большинстве случаев очень неплохо. Несомненно, третье поколение умное, Flash-модель — вообще мечта, и дешёвая, и действительно чрезвычайно способная, но то, что они не следуют инструкциям, напрочь убивает возможность их использования. Я понимаю, что они работают так, что им нужны простые инструкции, но что, если задача, для которой я использую модель, по своей природе предполагает сложную инструкцию, детерминирующую поведение модели? Это не совсем правильно, что разработчики должны думать о том, что сложный промпт = плохой промпт, как по мне. Модель должна уметь работать со сложными инструкциями, а не заставлять разработчика упрощать задачу в ущерб качеству.
Hi @user4115 ,
Welcome to the Forum!
Thank you for your feedback. We appreciate you taking the time to share your thoughts with us.
To help us replicate the issue and find a fix, could you please share the steps to reproduce it?
Спасибо что ответили, да,могу объяснить и поделиться шагами. Сервис представляет собой RAG пайплайн. Обратите внимание на лог программы, я добавил сюда небольшие пояснения:
[0] Step 1: Doc Query Expansion: 12.821s // gemini-3-flash-preview, temp=1.0, approx 300-400 input tokens (system prompt).
На первом шаге модель просят написать (примерно) только названия документов которые вероятно содержат информацию для ответа на вопрос пользователя. На вход подается только системный промпт на русском языке с жестко заданными инструкциями. Для акцента ключевых фраз используется: CapsLk, например “АБСОЛЮТНЫЙ, ИСЧЕРПЫВАЮЩИЙ“ символы-звездочки (*), например, “Запрещаются **ЛЮБЫЕ** ….“, символы-решетки (#), например “# ПРАВИЛА ГЕНЕРАЦИИ“ , с акцентом на максимальную глубину анализа.
…
[0] Step 3: Reranking: 26.757s // gemini-3-flash-preview, temp=1.0, approx 2000-3000 input tokens (system prompt+prompt).
Реранкинг результатов после векторного поиска. На вход подается системный промпт который очень схож с системным промптом с шага 1, за исключением акцента на выборе документов а не на генерации названий. В промпт к модели идут названия документов. Ничего необычного. Просто русские названия книг/статей/учебников и т.п. которые начинаются с номера, например “[0] Название документов [1] Название документа…“, модели просто надо выбрать нужные номера и вернуть только их в ответе.
[0] Step 4: Chunk Query Expansion: 29.783s // gemini-3-flash-preview, temp=0.1, approx 200-300 input tokens (system prompt).
Обогащение запроса для поиска нужных кусков текста в документах. Подается только системный промпт. Он аналогичен по структуре первому и третьему шагам, с акцентом на генерацию атомарных подзапросов для точечного векторного поиска. Модель в этом промпте очень настоятельно просят быть максимально полной в ответах, ничего не упустить, охватит вопрос со всех сторон. Например, пользователь задает вопрос: “что такое сновидения”, Джимини генерирует например 100 подзапросов типа : “{1:понятие сновидений,2:сущность сновидений, 3:функции сновидений…}”
…
[0] Step 6: Final Answer Generation: 5:28.381 (m:ss.mmm) // gemini-3-flash-preview, temp=0.1.
Тут модели на вход подавалось 450 тысяч русских символов, что судя по токенайзеру в Google AI Studio равняется около 150 тысячам токенов. Системный промпт аналогичен системным промптам с прошлых шагов, но он был больше любого другого промпта, сложнее, был куда более многосоставной, заставляющий модель делать несколько действий. Например, тут как и во всех прошлых промптах акцент на полноту, глубину, но кроме того модель просили основывать ответ исключительно на контексте, который подавался ей в обычном промпте. Просили сделать вывод в конце, просили не “ломать 4 стену“, и воспринимать данные из контекста как свои знания, т.е не писать что-то вроде “на основе контекста…“, просили обрамлять каждый ответ в тэги, ведь каждый фрагмент текста в контексте (фрагмент текста - текстовое представление вектора, примерно 1-5 тысяч русских символов. В одном промпте к модели который составляет не более 450 тысяч символов таких фрагментов текста обычно было от 150 до 400) начинался с уникального ID, и модель должна была писать не так “З. Фрейд в своей работе указывает что сновидения…“ а вот так “[df1d2q3q] З. Фрейд в своей работает указывает что сновидения… [END]“ где df1d2q3q - ID фрагмента текста из контекста.
Пользовательский вопрос был задан простой в этом случае - “Расскажи про виды ответственности“. Я не могу сказать, работает ли модель постоянно хорошо на запросах с небольшим количеством входных токенов, или проблема долгого ответа есть только на промптах с большим количеством входных токенов. Также не могу сказать, повезло ли мне получить ответ спустя 5 минут или модель может вообще не отвечать. Я в этот раз решил подождать подольше и как видите ответ все таки пришел. Я не уверен, потому не хочу вводить Вас в заблуждение. Единственное что знаю - то, что проблема заключается в том что иногда она очень долго упирается прежде чем ответить. Что интересно, так то что у Gemini 2.5 flash с параметром температуры 0.1 была такая же проблема около 4-6 месяцев назад. Какая ситуация сейчас не знаю. Gemini 2.5 pro таким не страдает, gemini 3 pro не проверял. Я помню когда была такая проблема с gemini 2.5 flash там было что-то связано с очень-очень долгим процессом мышления, модель делала over-thinking. По моему мнению это следствие низкой температуры: 0.1, а не нагрузки на сервера Google, так как таких долгих ответов я ни разу не наблюдал с температурой 1.0 вообще ни разу. А с низкими температурами такие генерации (долгие) случаются часто. Я тестировал также 0.2-0.7 параметры температуры для 3-flash, и модель все равно иногда уходила в ступор. Что касается качества ответа которое я получил после пятиминутной генерации - оно образцовое. Браво!
Я решил попробовать еще раз с теми же параметрами и с таким же односоставным пользовательским вопросом. Но тут важно: я задал вопрос “расскажи чуть подробнее“. Сервис спроектирован как чат, модель получает свои прошлые ответы и прошлые пользовательские запросы в промпт. Так что она получила свой прошлый ответ где она уже раскрыла достаточно подробно виды ответственности. Вот лог:
[0] Step 1: Doc Query Expansion: 11.362s
…
[0] Step 3: Reranking: 26.238s
[0] Step 4: Chunk Query Expansion: 32.136s
…
[0] Step 6: Final Answer Generation: 22.766s
Вот тут она не запнулась и выдала ответ как надо!
Вот третья попытка. Тут опять проблема. Вопрос был “расскажи про виды наказаний“. В двух своих прошлых ответах модель ничего про них не говорила.
[0] Step 1: Doc Query Expansion: 14.158s
…
[0] Step 3: Reranking: 13.166s
[0] Step 4: Chunk Query Expansion: 27.816s…
[0] Step 6: Final Answer Generation: 5:30.207 (m:ss.mmm)
Если поменять модель с 3-flash на 2.5-pro то стабильно 2.5-pro модель думает не больше 1~ минуты. Я задал более 100 вопросов 2.5-pro модели через этот же пайплайн с точно такой же конфигурацией и ни разу она не думала так долго как 3-flash. У 3-flash это проблема долгой генерации я бы сказал всплывает в 5~ из 10 случаев.
Сервис запускал через firebase studio находясь в Исламабаде. API ключ на tier 1.
Если Вам это будет полезно, скажите куда прислать исходный код проекта или промпты в зависимости от того что Вам надо, но на конфиденциальной основе (без распространения, только для выявления и исправления проблемы LLM) ![]()
Добрый день, хотел добавить что вчера во время тестов был случай когда на 6 этапе модель ответила за 14 секунд (феноменально быстро для 150~ тысяч токенов), нам это показалось подозрительным и проверив текст мы пришли к печальному выводу - модель грубо придумывала информацию, хотя в системном промпте ей четко говорилось “основывай ответ **ИСКЛЮЧИТЕЛЬНО** на КОНТЕКСТЕ“. Температура была выставлена 0.1. Мы не задавали параметр thinking_level, так как “If thinking_level is not specified, Gemini 3 will default to high".