Что нового в Gemini 3.5 Flash?
Gemini 3.5 Flash — это общедоступная (GA) стабильная и готовая к масштабируемому использованию в производственных условиях версия. Как наша самая интеллектуальная модель Flash, она обеспечивает стабильно высокую производительность при выполнении агентских операций, программировании и решении долгосрочных задач в масштабе предприятия.
В этом руководстве представлен обзор улучшений, изменений API и рекомендации по миграции для Gemini 3.5 Flash.
Новая модель
| Модель | Идентификатор модели | Описание |
|---|---|---|
| Вспышка Gemini 3.5 | gemini-3.5-flash | Наша наиболее интеллектуальная модель для достижения устойчиво высоких результатов в задачах, связанных с агентным программированием и кодированием. |
Gemini 3.5 Flash поддерживает контекстное окно с 1 миллионом токенов, максимальное количество выходных токенов — 65 тысяч, функцию "мышления", а также тот же набор инструментов и функций платформы, что и Gemini 3 Flash. Использование на компьютере в данный момент не поддерживается.
Полные технические характеристики см. в обзоре моделей . Цены указаны на странице с ценами .
Быстрый старт
Все примеры в этом руководстве используют API GenerateContent. API Interactions также поддерживается; применяются те же параметры конфигурации и рекомендации.
Python
from google import genai
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Explain how parallel agentic execution works in three sentences.",
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Explain how parallel agentic execution works in three sentences.",
});
console.log(response.text);
}
main();
ОТДЫХ
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Explain how parallel agentic execution works in three sentences."}]
}]
}'
Что нового
- Устойчивая производительность на переднем крае технологий: наша самая интеллектуальная модель Flash, оптимизированная для масштабируемых задач агентного управления и программирования.
- Выполнение действий агентами: развертывание суб-агентов, решение проблем и быстрые циклы работы агентов в масштабе предприятия.
- Программирование: итеративные циклы кодирования, быстрое исследование и прототипирование для проверки альтернативных путей и динамического поиска решений.
- Долгосрочная перспектива: многоэтапные рабочие процессы и использование инструментов в масштабе предприятия.
- Сохранение хода мыслей: модель автоматически поддерживает промежуточные рассуждения на протяжении многоходовых диалогов. Изменения в API не требуются.
- Новый уровень усилий по умолчанию: Уровень мыслительных усилий по умолчанию изменен с
highнаmedium. Подробнее см. Новый уровень усилий по умолчанию . - Улучшенное
lowмышление: теперь значительно улучшенlowк низкоуровневому программированию и задачам, требующим меньшего количества шагов, что обеспечивает высокое качество при меньшей задержке и стоимости. - Выпуск GA: Стабильная модель для масштабируемого использования в производственных условиях.
Изменения в поведении
Новый уровень сложности по умолчанию: medium
Уровень мыслительной нагрузки по умолчанию теперь medium , в отличие от high который был в Gemini 3 Flash Preview. medium обеспечивает очень хорошие результаты в широком диапазоне задач, при этом работа модели выполняется быстрее и экономичнее. Для сложных проблем high побуждает модель к более глубокому осмыслению.
| Уровень усилий | Когда использовать |
|---|---|
minimal | Оптимизировано для скорости ответа. Варианты использования, аналогичные чату, быстрые и точные ответы, упрощенные вызовы инструментов. |
low | Задачи, требующие написания кода и работы с агентами, предполагают меньшую задержку и меньшее количество шагов. Также хорошо подходит для задач анализа и написания текстов, требующих некоторого размышления. |
medium (по умолчанию) | Наилучшее качество для большинства задач. Рекомендуется для сложных сценариев использования кода и агентных систем. |
high | Максимально раскрывает потенциал модели в мышлении и использовании инструментов. Лучше всего подходит для сложных рассуждений, сложных математических вычислений и самых трудных задач, связанных с кодом или агентом. Позволяет развивать развернутые мыслительные процессы и вызывать функции. |
Чтобы изменить значение по умолчанию, установите thinking_level в вашем файле конфигурации:
Python
from google import genai
from google.genai import types
client = genai.Client()
response = client.models.generate_content(
model="gemini-3.5-flash",
contents="Prove that the square root of 2 is irrational.",
config=types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="high")
),
)
print(response.text)
JavaScript
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({});
async function main() {
const response = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: "Prove that the square root of 2 is irrational.",
config: {
thinkingConfig: {
thinkingLevel: "HIGH",
},
},
});
console.log(response.text);
}
main();
ОТДЫХ
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts": [{"text": "Prove that the square root of 2 is irrational."}]
}],
"generationConfig": {
"thinkingConfig": {
"thinkingLevel": "HIGH"
}
}
}'
сохранение мыслей
Модель автоматически поддерживает промежуточные рассуждения на протяжении многоэтапных диалогов. Если контекст рассуждений присутствует в истории диалога, он сохраняется, что повышает производительность при решении сложных многоэтапных задач, таких как итеративная отладка и рефакторинг кода. Изменения в API не требуются:
- API для взаимодействия : Мысли уже автоматически сохраняются. Изменения в поведении отсутствуют.
- API GenerateContent : Начиная с Gemini 3.5 Flash, модель использует контекст рассуждений из всех предыдущих ходов, если в истории разговора присутствуют сигнатуры мыслей. Чтобы включить это, передайте полную, неизмененную историю разговора (включая сигнатуры мыслей ) в
contents. SDK обрабатывает это автоматически.
Обновление параметров и лучшие практики в Gemini 3.x
Следующие положения относятся ко всем моделям Gemini 3.x , включая Gemini 3.5 Flash.
-
temperature,top_p,top_k: мы настоятельно рекомендуем не изменять значения по умолчанию. Возможности анализа данных Gemini 3 оптимизированы для настроек по умолчанию. - Используйте
thinking_levelвместоthinking_budget. - Функция, вызывающая функцию сопоставления ответов :
id,nameи количество ответов должны совпадать с предыдущими вызовами. - Мультимодальные функциональные ответы : включают мультимодальное содержимое внутри функционального ответа, а не за его пределами.
- Встроенные инструкции в ответах на функции : добавляются к тексту ответа на функцию, а не представляют собой отдельные части.
- Сократите количество ненужных обращений к инструментам : используйте более низкие уровни мышления или экспериментируйте с инструкциями системы, чтобы сократить количество обращений к инструментам в рабочих процессах агентов.
Инструкции по обновлению кода см. в разделах ниже.
Параметры отбора проб (больше не рекомендуются)
temperature , top_p и top_k больше не рекомендуются для всех моделей Gemini 3.x. Возможности анализа Gemini 3 оптимизированы для настроек по умолчанию. Удалите эти параметры из всех запросов.
# ⚠️ Remove these parameters (not recommended)
config = types.GenerateContentConfig(
temperature=0.7,
top_p=0.9,
top_k=40
)
Для обеспечения детерминизма мы рекомендуем определить системную инструкцию с четко определенными правилами для вашего конкретного случая использования.
thinking_budget (больше не рекомендуется)
Использование необработанного числового параметра thinking_budget больше не рекомендуется во всех моделях Gemini 3.x. Вместо него используйте строковое перечисление thinking_level .
# ⚠️ Before (not recommended)
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_budget=7500)
)
# ✅ After
config = types.GenerateContentConfig(
thinking_config=types.ThinkingConfig(thinking_level="medium")
)
Доступные значения: minimal , low , medium (по умолчанию) и high .
Вызов функции: строгое соответствие ответа
API для взаимодействия уже выдает ошибки при несоответствии ответов функций. API для генерации контента пока не выдает ошибок, но несоответствие ответов в большинстве случаев приводит к тому, что модель возвращает пустые ответы с finish_reason: STOP . Всегда следуйте этим соглашениям:
| Требование | Подробности |
|---|---|
Укажите id | Каждый FunctionResponse должен содержать id из соответствующего FunctionCall |
name матча | name в ответе должно совпадать с name в вызове. |
| Матчи учитываются | Возвращает ровно один FunctionResponse для каждого полученного FunctionCall |
Python
# ✅ Include matching id and name in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include matching id and name in the function response
const functionResponsePart = {
functionResponse: {
name: toolCall.name,
response: { result: result },
id: toolCall.id,
},
};
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{ role: "user", parts: [functionResponsePart] },
],
config: config,
});
ОТДЫХ
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{"role": "user", "parts": [{"text": "..."}]},
{"role": "model", "parts": [{"functionCall": {"name": "my_function", "args": {...}}}]},
{"role": "user", "parts": [{"functionResponse": {"name": "my_function", "id": "call_id", "response": {"result": "..."}}}]}
]
}'
Мультимодальные функциональные ответы
Мы часто видим, как клиенты предоставляют изображения вне ответа функции. Это может привести к неожиданному поведению модели (например, утечке мыслей) и снижению качества выходных данных. Вместо этого следуйте рекомендациям в документации API для многомодальных ответов функций и включайте многомодальный контент в части ответа функции, которые вы отправляете модели. Модель сможет обработать этот многомодальный контент на следующем этапе, чтобы выдать более обоснованный ответ.
Python
# ✅ Include multimodal content in the function response
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={
"result": "instrument.jpg",
"image": base64_image_data,
},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Include multimodal content in the function response
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: {
result: "instrument.jpg",
image: base64ImageData,
},
},
}],
},
],
config: config,
});
Встроенные инструкции в ответах функций
Мы часто видим, как клиенты предоставляют дополнительные инструкции вместе с ответами функций в качестве последующих Parts . Это может привести к неожиданному поведению модели (например, утечке мыслей) и снижению качества результатов. Вместо этого, добавляйте любые дополнительные инструкции в конец текста ответа функции, разделяя их двумя переносами строки.
Python
# ✅ Append inline instructions to the end of the function response separated by two newlines
result_text = f"{json.dumps(result)}\n\n<your inline instructions>"
final_response = client.models.generate_content(
model="gemini-3.5-flash",
config=config,
contents=[
*previous_contents,
response.candidates[0].content,
types.Content(role="user", parts=[
types.Part.from_function_response(
name=tool_call.name,
response={"result": result_text},
id=tool_call.id,
)
]),
],
)
JavaScript
// ✅ Append inline instructions to the end of the function response separated by two newlines
const resultText = `${JSON.stringify(result)}\n\n<your inline instructions>`;
const finalResponse = await ai.models.generateContent({
model: "gemini-3.5-flash",
contents: [
...previousContents,
{ role: "model", parts: [{ functionCall: toolCall }] },
{
role: "user",
parts: [{
functionResponse: {
name: toolCall.name,
id: toolCall.id,
response: { result: resultText },
},
}],
},
],
config: config,
});
Сокращение количества ненужных обращений к инструментам.
Если вы сталкиваетесь с чрезмерным использованием вызовов инструментов, два метода помогут свести их к минимуму:
Начните с понижения уровня мышления (
medium,lowилиminimal): более высокие уровни мышления побуждают модель использовать больше инструментов для исследования и проверки, поэтому снижение уровня может уменьшить количество обращений к инструментам.Добавьте системную инструкцию: если чрезмерное использование инструмента сохраняется после корректировки уровня мышления, рассмотрите возможность добавления подсказки, ограничивающей его использование. Например:
You have a limited action budget of <n> tool calls. Use them efficiently.
Контрольный список миграции
Переход с Gemini 3 Flash Preview
- Обновить название модели:
gemini-3-flash-preview→gemini-3.5-flash - Ознакомьтесь с ценами. Gemini 3.5 Flash дороже, чем Gemini 3 Flash Preview. Подробности смотрите на странице с ценами .
- Удалите
temperature,top_pиtop_kиз вашего конфигурационного файла (больше не рекомендуется). - Замените
thinking_budgetнаthinking_level. - Добавьте
idи соответствующееnameко всем частямFunctionResponse. - Проверьте свои запросы. Уровень сложности по умолчанию изменен с
highнаmedium; проверьте качество, скорость и стоимость. - Сохранение мыслей теперь включено по умолчанию. Контекст рассуждений сохраняется между ходами, что повышает производительность, но может увеличить расход жетонов.
- Сократите количество ненужных обращений к инструментам: начните с уменьшения уровня сложности (
medium,lowилиminimal); добавьте системную инструкцию для ограничения использования инструментов, если чрезмерное их использование сохраняется. - В данный момент использование компьютера в Gemini 3.5 Flash не поддерживается. Для рабочих нагрузок, требующих использования компьютера, продолжайте использовать Gemini 3 Flash Preview.
Перейти с Gemini 2.5
Всё вышеперечисленное, плюс:
- Упростите подсказки. Если вы использовали метод построения логической цепочки подсказок для принудительного логического мышления, попробуйте
thinking_level: "medium"или"high"с более простыми подсказками. - Протестируйте обработку PDF-файлов и медиафайлов. Если вы полагались на определенное поведение при разборе документов с большим объемом данных, протестируйте параметр
media_resolution_high, чтобы обеспечить сохранение точности. Переход к настройкам Gemini 3 по умолчанию может также увеличить использование токенов для PDF-файлов, но уменьшить его для видео; если запросы превышают контекстное окно, явно уменьшите значениеmedia_resolution. Подробности см. в документации по разрешению медиафайлов . - Используйте комбинированные инструменты . Поиск в Google, контекст URL, выполнение кода и пользовательские функции могут быть использованы в одном запросе.
- При использовании мультимодальных функциональных ответов перемещайте мультимодальный контент внутрь частей функционального ответа, а не рядом с ними.
- При использовании встроенных инструкций с ответами функций, добавляйте их к тексту ответа функции, разделяя двумя переносами строки, а не как отдельные части.
- Сегментация изображений не поддерживается в Gemini 3.x. Для задач сегментации продолжайте использовать Gemini 2.5 Flash с отключенной функцией thinking off или Gemini Robotics-ER 1.6 .
Особенности семейства Gemini 3
Флэш-память Gemini 3.5 унаследовала все возможности семейства Gemini 3, за исключением использования в режиме «Компьютер». Функции, представленные в Gemini 3, сохранились и в последующих версиях:
- Мышление : Зашифрованный контекст рассуждений сохраняется между вызовами API. Автоматически в API взаимодействий; неявно в GenerateContent.
- Структурированный вывод с использованием инструментов : объединение режима JSON со встроенными инструментами (поиск, контекст URL, выполнение кода, вызов функций).
- Мультимодальные ответы функций : возвращают изображения, аудио и другие медиафайлы в результатах вызова функции.
- Выполнение кода с изображениями : выполнение кода, который обрабатывает и генерирует изображения.
- Комбинированное использование инструментов : использование встроенных инструментов и вызов пользовательских функций в одном запросе.
Следующие шаги
- Подробнее о семействе Gemini 3 можно узнать в руководстве разработчика Gemini 3.
- Подробнее о стратегиях оперативного проектирования можно узнать в руководстве по оперативному проектированию .
- Начните с поваренной книги Gemini 3.
- Узнайте об оптимизации и выводе данных API Gemini.