Что нового в 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,
});

Сокращение количества ненужных обращений к инструментам.

Если вы сталкиваетесь с чрезмерным использованием вызовов инструментов, два метода помогут свести их к минимуму:

  1. Начните с понижения уровня мышления ( medium , low или minimal ): более высокие уровни мышления побуждают модель использовать больше инструментов для исследования и проверки, поэтому снижение уровня может уменьшить количество обращений к инструментам.

  2. Добавьте системную инструкцию: если чрезмерное использование инструмента сохраняется после корректировки уровня мышления, рассмотрите возможность добавления подсказки, ограничивающей его использование. Например:

    You have a limited action budget of <n> tool calls. Use them efficiently.
    

Контрольный список миграции

Переход с Gemini 3 Flash Preview

  • Обновить название модели: gemini-3-flash-previewgemini-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, сохранились и в последующих версиях:

Следующие шаги