ویژگی‌های جدید Gemini 3.5 Flash

Gemini 3.5 Flash به طور کلی در دسترس (GA) ، پایدار و آماده برای استفاده در مقیاس بزرگ است. به عنوان هوشمندترین مدل Flash ما، عملکرد پایدار و مرزی را در اجرای عامل، کدنویسی و وظایف بلندمدت در مقیاس بزرگ ارائه می‌دهد.

این راهنما شامل مروری بر بهبودها، تغییرات API و راهنمایی‌های مهاجرت برای Gemini 3.5 Flash است.

مدل جدید

مدل شناسه مدل توضیحات
فلش جمینی ۳.۵ gemini-3.5-flash هوشمندترین مدل ما برای عملکرد مرزی پایدار در وظایف عامل‌دار و کدنویسی.

Gemini 3.5 Flash از پنجره زمینه ۱ میلیون توکن، حداکثر ۶۵ هزار توکن خروجی، تفکر و همان مجموعه ابزارها و ویژگی‌های پلتفرم Gemini 3 Flash پشتیبانی می‌کند. در حال حاضر استفاده از کامپیوتر پشتیبانی نمی‌شود.

برای مشخصات کامل، به نمای کلی مدل‌ها مراجعه کنید. برای قیمت‌گذاری، به صفحه قیمت‌گذاری مراجعه کنید.

شروع سریع

تمام مثال‌های این راهنما از GenerateContent API استفاده می‌کنند. Interactions API نیز پشتیبانی می‌شود؛ همان گزینه‌ها و توصیه‌های پیکربندی اعمال می‌شوند.

پایتون

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)

جاوا اسکریپت

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."}]
    }]
  }'

چه خبر؟

  • عملکرد پایدار و پیشرو: هوشمندترین مدل فلش ما، بهینه شده برای وظایف عامل‌محور و کدنویسی در مقیاس بزرگ.
  • اجرای عامل‌محور: استقرار عامل‌محور فرعی، حل مسئله و حلقه‌های عامل‌محور سریع در مقیاس بزرگ.
  • کدنویسی: چرخه‌های کدنویسی تکراری، کاوش سریع و نمونه‌سازی اولیه برای آزمایش مسیرهای جایگزین و کشف پویای راه‌حل‌ها.
  • افق بلندمدت: گردش‌های کاری چند مرحله‌ای و استفاده از ابزار در مقیاس بزرگ.
  • حفظ تفکر: این مدل به طور خودکار استدلال میانی را در مکالمات چند نوبتی حفظ می‌کند. نیازی به تغییر API نیست.
  • سطح تلاش پیش‌فرض جدید: تلاش فکری پیش‌فرض از high به medium ​​تغییر کرد. برای جزئیات بیشتر به سطح تلاش پیش‌فرض جدید مراجعه کنید.
  • بهبود تفکر low : اکنون low برای کد و وظایف عاملی که به مراحل کمتری نیاز دارند، به طور قابل توجهی بهبود یافته است و کیفیت قوی را با تأخیر و هزینه کمتر ارائه می‌دهد.
  • انتشار GA: مدل پایدار برای استفاده در مقیاس تولید.

تغییرات رفتاری

سطح تلاش پیش‌فرض جدید: medium

تلاش فکری پیش‌فرض اکنون medium ​​است، که در پیش‌نمایش فلش Gemini 3 از high تغییر یافته است. medium ​​نتایج بسیار خوبی را در طیف وسیعی از وظایف ارائه می‌دهد و در عین حال سریع‌تر و مقرون‌به‌صرفه‌تر است. برای مسائل پیچیده، high مدل را به تفکر عمیق‌تر تشویق می‌کند.

سطح تلاش چه زمانی استفاده شود
minimal بهینه شده برای سرعت پاسخگویی. موارد استفاده چت مانند، پاسخ‌های سریع و مبتنی بر واقعیت، فراخوانی‌های ابزار ساده‌تر.
low کدنویسی و وظایف عاملی که به تأخیر کمتر و مراحل کمتری نیاز دارند. همچنین برای وظایف تحلیلی و نوشتاری که نیاز به تفکر دارند، به خوبی کار می‌کند.
medium ​​(پیش‌فرض) بهترین کیفیت برای اکثر وظایف. برای کدهای پیچیده و موارد استفاده‌ی عاملی توصیه می‌شود.
high توانایی مدل را برای تفکر و استفاده از ابزارها به حداکثر می‌رساند. بهترین گزینه برای استدلال پیچیده، ریاضیات سخت و دشوارترین وظایف کد یا عامل. امکان تفکرات گسترده و فراخوانی توابع را فراهم می‌کند.

برای لغو پیش‌فرض، thinking_level در پیکربندی خود تنظیم کنید:

پایتون

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)

جاوا اسکریپت

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 تولید محتوا : با شروع از Gemini 3.5 Flash، مدل از تمام نوبت‌های قبلی، زمانی که امضاهای فکری در تاریخچه مکالمه وجود دارند، برای استدلال استفاده می‌کند. برای فعال کردن این قابلیت، تاریخچه کامل و بدون تغییر مکالمه (شامل امضاهای فکری ) را در contents ارسال کنید. SDKها این کار را به طور خودکار انجام می‌دهند.

به‌روزرسانی‌های پارامتر و بهترین شیوه‌ها در Gemini 3.x

موارد زیر در مورد همه مدل‌های Gemini 3.x ، از جمله Gemini 3.5 Flash، صدق می‌کند.

  • temperature ، top_p ، top_k : اکیداً توصیه می‌کنیم مقادیر پیش‌فرض را تغییر ندهید. قابلیت‌های استدلال Gemini 3 برای تنظیمات پیش‌فرض بهینه شده‌اند.
  • به جای thinking_budget از thinking_level استفاده کنید.
  • تطبیق پاسخ فراخوانی تابع : 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 توصیه نمی‌شود. به جای آن از enum رشته‌ای 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 تعاملات (Interactions API) از قبل در مورد پاسخ‌های تابع نامتناسب خطا می‌دهد. API تولید محتوا (GenerateContent API) هنوز خطا نمی‌دهد، اما پاسخ‌های نامتناسب باعث می‌شوند مدل در بیشتر موارد پاسخ‌های خالی با finish_reason: STOP برگرداند. همیشه از این قراردادها پیروی کنید:

مورد نیاز جزئیات
id را وارد کنید هر FunctionResponse باید شامل id از FunctionCall مربوطه باشد.
name مسابقه name در پاسخ باید با name در فراخوانی مطابقت داشته باشد
تعداد تطابق‌ها دقیقاً یک FunctionResponse برای هر FunctionCall دریافتی برمی‌گرداند

پایتون

# ✅ 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,
            )
        ]),
    ],
)

جاوا اسکریپت

// ✅ 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 پاسخ‌های تابع چندوجهی را دنبال کنید و محتوای چندوجهی را در بخش‌های پاسخ تابعی که به مدل ارسال می‌کنید، بگنجانید. مدل می‌تواند این محتوای چندوجهی را در نوبت بعدی خود پردازش کند تا پاسخی آگاهانه‌تر تولید کند.

پایتون

# ✅ 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,
            )
        ]),
    ],
)

جاوا اسکریپت

// ✅ 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 بعدی ارائه می‌دهند. این می‌تواند منجر به رفتار غیرمنتظره مدل (مثلاً نشت فکر) و در نتیجه خروجی‌های با کیفیت پایین‌تر شود. در عوض، هرگونه دستورالعمل اضافی را به انتهای متن پاسخ تابع اضافه کنید و با دو خط جدید از هم جدا کنید.

پایتون

# ✅ 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,
            )
        ]),
    ],
)

جاوا اسکریپت

// ✅ 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

  • نام مدل را به‌روزرسانی کنید: 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 ادامه دهید.

مهاجرت از جمینی ۲.۵

همه موارد فوق، به علاوه:

  • ساده‌سازی دستورالعمل‌ها. اگر از مهندسی دستورالعمل زنجیره‌ای برای وادار کردن دانش‌آموزان به استدلال استفاده کرده‌اید، به جای آن thinking_level: "medium" یا "high" را با دستورالعمل‌های ساده‌تر امتحان کنید.
  • حجم کار PDF و رسانه را آزمایش کنید. اگر برای تجزیه و تحلیل متراکم اسناد به رفتار خاصی متکی هستید، تنظیم media_resolution_high را آزمایش کنید تا از دقت مداوم اطمینان حاصل شود. مهاجرت به پیش‌فرض‌های Gemini 3 همچنین ممکن است استفاده از توکن را برای PDFها افزایش دهد اما آن را برای ویدیو کاهش دهد. اگر درخواست‌ها از پنجره زمینه فراتر رود، صراحتاً media_resolution را کاهش دهید. برای جزئیات بیشتر به اسناد وضوح رسانه مراجعه کنید.
  • از ابزارهای ترکیبی استفاده کنید . جستجوی گوگل، متن URL، اجرای کد و توابع سفارشی می‌توانند در یک درخواست واحد استفاده شوند.
  • اگر از پاسخ‌های تابع چندوجهی استفاده می‌کنید، محتوای چندوجهی را درون بخش‌های پاسخ تابع قرار دهید، نه در کنار آنها.
  • اگر از دستورالعمل‌های درون‌خطی با پاسخ‌های تابع استفاده می‌کنید، آن‌ها را به متن پاسخ تابع اضافه کنید و با دو خط جدید از هم جدا کنید، نه به عنوان بخش‌های جداگانه.
  • قطعه‌بندی تصویر در Gemini 3.x پشتیبانی نمی‌شود. برای حجم کاری قطعه‌بندی، با در نظر گرفتن موارد زیر، به استفاده از Gemini 2.5 Flash یا Gemini Robotics-ER 1.6 ادامه دهید.

ویژگی‌های خانوادگی جمینی ۳

Gemini 3.5 Flash تمام قابلیت‌های خانواده Gemini 3 به جز استفاده از کامپیوتر را به ارث می‌برد. ویژگی‌های معرفی شده در Gemini 3 که به نسخه‌های بعدی منتقل شده‌اند:

مراحل بعدی