تفکر جوزا

مدل‌های سری Gemini 3 و 2.5 از یک «فرآیند تفکر» داخلی استفاده می‌کنند که به طور قابل توجهی توانایی‌های استدلال و برنامه‌ریزی چند مرحله‌ای آنها را بهبود می‌بخشد و آنها را برای کارهای پیچیده‌ای مانند کدنویسی، ریاضیات پیشرفته و تجزیه و تحلیل داده‌ها بسیار مؤثر می‌کند.

این راهنما به شما نشان می‌دهد که چگونه با استفاده از رابط برنامه‌نویسی نرم‌افزار Gemini، با قابلیت‌های تفکر Gemini کار کنید.

با تفکر محتوا تولید کنید

شروع یک درخواست با یک مدل تفکر مشابه هر درخواست تولید محتوای دیگر است. تفاوت کلیدی در مشخص کردن یکی از مدل‌های دارای پشتیبانی تفکر در فیلد model است:

پایتون

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Explain the concept of Occam's Razor and provide a simple, everyday example."
)
print(interaction.steps[-1].content[0].text)

جاوا اسکریپت

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Explain the concept of Occam's Razor and provide a simple, everyday example."
});
console.log(interaction.steps.at(-1).content[0].text);

استراحت

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Explain the concept of Occam'\''s Razor and provide a simple example."
  }'

خلاصه‌های فکری

خلاصه‌های تفکر، بینش‌هایی در مورد فرآیند استدلال داخلی مدل ارائه می‌دهند. به طور پیش‌فرض، فقط خروجی نهایی بازگردانده می‌شود. می‌توانید خلاصه‌های تفکر را با thinking_summaries فعال کنید:

پایتون

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="What is the sum of the first 50 prime numbers?",
    generation_config={
        "thinking_summaries": "auto"
    }
)

for step in interaction.steps:
    if step.type == "thought":
        print("Thought summary:")
        for content_block in step.summary:
            if content_block.type == "text":
                print(content_block.text)
        print()
    elif step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print("Answer:")
                print(content_block.text)
                print()

جاوا اسکریپت

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "What is the sum of the first 50 prime numbers?",
    generationConfig: {
        thinkingSummaries: "auto"
    }
});

for (const step of interaction.steps) {
    if (step.type === "thought") {
        console.log("Thought summary:");
        for (const contentBlock of step.summary) {
            if (contentBlock.type === "text") console.log(contentBlock.text);
        }
    } else if (step.type === "model_output") {
        for (const contentBlock of step.content) {
            if (contentBlock.type === "text") {
                console.log("Answer:");
                console.log(contentBlock.text);
            }
        }
    }
}

استراحت

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "What is the sum of the first 50 prime numbers?",
    "generationConfig": {
      "thinkingSummaries": "auto"
    }
  }'

با تفکر جریان پیدا کنید

از جریان‌سازی برای دریافت خلاصه‌های تفکر افزایشی در طول تولید استفاده کنید. این روش خلاصه‌های افزایشی و غلتان را همزمان با تولید برمی‌گرداند:

پایتون

from google import genai

client = genai.Client()

prompt = """
Alice, Bob, and Carol each live in a different house on the same street: red, green, and blue.
Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?
"""

thoughts = ""
answer = ""

stream = client.interactions.create(
    model="gemini-3-flash-preview",
    input=prompt,
    generation_config={
        "thinking_summaries": "auto"
    },
    stream=True
)

thoughts = ""
answer = ""

for event in stream:
    if event.event_type == "step.delta":
        if event.delta.type == "thought":
            if not thoughts:
                print("Thinking...")
            summary_text = getattr(event.delta, 'text', '')
            print(f"[Thought] {summary_text}", end="")
            thoughts += summary_text
        elif event.delta.type == "text" and event.delta.text:
            if not answer:
                print("\nAnswer:")
            print(event.delta.text, end="")
            answer += event.delta.text

جاوا اسکریپت

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const prompt = `Alice, Bob, and Carol each live in a different house on the same
street: red, green, and blue. Alice does not live in the red house.
Bob does not live in the green house.
Carol does not live in the red or green house.
Which house does each person live in?`;

let thoughts = "";
let answer = "";

const stream = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: prompt,
    generationConfig: {
        thinkingSummaries: "auto"
    },
    stream: true
});

for await (const event of stream) {
    if (event.type === "step.delta") {
        if (event.delta.type === "thought") {
            if (!thoughts) console.log("Thinking...");
            process.stdout.write(`[Thought] ${event.delta.text || ""}`);
            thoughts += event.delta.text || "";
        } else if (event.delta.type === "text" && event.delta.text) {
            if (!answer) console.log("\nAnswer:");
            process.stdout.write(event.delta.text);
            answer += event.delta.text;
        }
    }
}

کنترل تفکر

مدل‌های Gemini به طور پیش‌فرض در تفکر پویا درگیر هستند و به طور خودکار میزان تلاش استدلال را بر اساس پیچیدگی درخواست تنظیم می‌کنند. با این حال، می‌توانید این رفتار را با استفاده از پارامترهای پیکربندی کنترل کنید.

سطوح تفکر (جوزا ۳)

پارامتر thinking_level که برای مدل‌های Gemini 3 و بعد از آن توصیه می‌شود، به شما امکان می‌دهد رفتار استدلالی را کنترل کنید.

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

پایتون

from google import genai

client = genai.Client()

interaction = client.interactions.create(
    model="gemini-3-flash-preview",
    input="Provide a list of 3 famous physicists and their key contributions",
    generation_config={
        "thinking_level": "low"
    }
)
print(interaction.steps[-1].content[0].text)

جاوا اسکریپت

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const interaction = await client.interactions.create({
    model: "gemini-3-flash-preview",
    input: "Provide a list of 3 famous physicists and their key contributions",
    generationConfig: {
        thinkingLevel: "low"
    }
});
console.log(interaction.steps.at(-1).content[0].text);

استراحت

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "gemini-3-flash-preview",
    "input": "Provide a list of 3 famous physicists and their key contributions",
    "generation_config": {
      "thinking_level": "low"
    }
  }'

شما نمی‌توانید تفکر را برای Gemini 3 Pro غیرفعال کنید. Gemini 3 Flash نیز از تفکر کامل پشتیبانی نمی‌کند، اما تنظیمات minimal به این معنی است که مدل احتمالاً فکر نخواهد کرد (هرچند که هنوز هم می‌تواند).

امضاهای فکری

رابط برنامه‌نویسی Gemini بدون وضعیت (stateless) است، بنابراین مدل با هر درخواست API به طور مستقل رفتار می‌کند و در تعاملات چند نوبتی به محتوای فکری نوبت‌های قبلی دسترسی ندارد.

به منظور فعال کردن حفظ زمینه فکری در تعاملات چند نوبتی، Gemini امضاهای فکری را برمی‌گرداند که بازنمایی‌های رمزگذاری‌شده‌ای از فرآیند فکری داخلی مدل هستند.

  • مدل‌های Gemini 2.5 وقتی قابلیت تفکر فعال باشد و درخواست شامل فراخوانی تابع ، به ویژه اعلان‌های تابع باشد ، امضاهای فکری را برمی‌گردانند.
  • مدل‌های Gemini 3 ممکن است امضاهای فکری را برای انواع قطعات برگردانند. توصیه می‌کنیم همیشه همه امضاها را به همان صورت که دریافت شده‌اند، برگردانید، اما برای امضاهای فراخوانی تابع لازم است. برای کسب اطلاعات بیشتر، صفحه امضاهای فکری را مطالعه کنید.
  • امضاها از مدل در بخش‌های دیگر پاسخ، مثلاً فراخوانی تابع یا بخش‌های متنی، بازگردانده می‌شوند. کل پاسخ را به همراه تمام بخش‌ها در نوبت‌های بعدی به مدل برگردانید .
  • بخش‌هایی که امضا دارند را به هم وصل نکنید.
  • یک قسمت دارای امضا را با قسمت بدون امضا ادغام نکنید.

قیمت‌گذاری

وقتی تفکر فعال باشد، قیمت‌گذاری پاسخ، مجموع توکن‌های خروجی و توکن‌های تفکر است. می‌توانید تعداد کل توکن‌های تفکر تولید شده را از فیلد total_thought_tokens دریافت کنید.

پایتون

# ...
print("Thoughts tokens:", interaction.usage.total_thought_tokens)
print("Output tokens:", interaction.usage.total_output_tokens)

جاوا اسکریپت

// ...
console.log(`Thoughts tokens: ${interaction.usage.totalThoughtTokens}`);
console.log(`Output tokens: ${interaction.usage.totalOutputTokens}`);

مدل‌های تفکر، افکار کاملی را برای بهبود کیفیت پاسخ نهایی تولید می‌کنند و سپس خلاصه‌هایی را برای ارائه بینش در مورد فرآیند تفکر، ارائه می‌دهند. قیمت‌گذاری بر اساس توکن‌های فکری کاملی است که مدل باید تولید کند، با وجود اینکه فقط خلاصه از API خروجی گرفته می‌شود.

می‌توانید در راهنمای شمارش توکن‌ها، اطلاعات بیشتری در مورد توکن‌ها کسب کنید.

بهترین شیوه‌ها

این بخش شامل راهنمایی برای استفاده کارآمد از مدل‌های تفکر است.

اشکال‌زدایی و هدایت

  • مرور استدلال : وقتی پاسخ مورد انتظار خود را از مدل‌های فکری دریافت نمی‌کنید، تجزیه و تحلیل دقیق خلاصه‌های فکری Gemini می‌تواند مفید باشد. می‌توانید ببینید که چگونه کار را تجزیه کرده و به نتیجه رسیده است و از آن اطلاعات برای اصلاح به سمت نتایج درست استفاده کنید.

  • ارائه راهنمایی در استدلال : اگر به دنبال یک خروجی طولانی هستید، می‌توانید در اعلان خود راهنمایی ارائه دهید تا میزان تفکر مورد استفاده مدل را محدود کنید. این به شما امکان می‌دهد خروجی توکن بیشتری را برای پاسخ خود رزرو کنید.

پیچیدگی وظیفه

  • وظایف آسان (تفکر می‌تواند غیرفعال باشد): برای درخواست‌های ساده که در آن‌ها استدلال پیچیده‌ای لازم نیست، تفکر لازم نیست. مثال‌ها:
    • «دیپ‌مایند کجا تأسیس شد؟»
    • «آیا این ایمیل درخواست جلسه است یا فقط ارائه اطلاعات؟»
  • وظایف متوسط ​​(پیش‌فرض/کمی تفکر): بسیاری از درخواست‌های رایج از درجه‌ای از پردازش گام به گام یا درک عمیق‌تر بهره‌مند می‌شوند. مثال‌ها:
    • فتوسنتز و بزرگ شدن را با هم مقایسه کنید.
    • مقایسه و بررسی خودروهای برقی و هیبریدی.
  • وظایف سخت (حداکثر توانایی تفکر): برای چالش‌های واقعاً پیچیده، توصیه می‌کنیم بودجه‌ای با تفکر بالا تعیین کنید. این نوع وظایف مستلزم آن است که مدل از تمام قابلیت‌های استدلال و برنامه‌ریزی خود استفاده کند. مثال‌ها:
    • مسئله ۱ را در AIME 2025 حل کنید: مجموع تمام پایه‌های صحیح b > 9 را بیابید...
    • کد پایتون را برای یک برنامه وب بنویسید که داده‌های بازار سهام را به صورت بلادرنگ، از جمله احراز هویت کاربر، نمایش می‌دهد. آن را تا حد امکان کارآمد کنید.

مدل‌های پشتیبانی‌شده

مدل تفکر پیش‌فرض سطوح پشتیبانی شده
پیش‌نمایش gemini 3.1 pro روشن (زیاد) کم، متوسط، زیاد
پیش‌نمایش gemini-3-flash روشن (زیاد) حداقل، کم، متوسط، زیاد
پیش‌نمایش gemini-3-pro روشن (زیاد) کم، زیاد
جمینی ۲.۵ پرو روشن بودجه: ۱۲۸-۳۲۷۶۸
فلش جمینی ۲.۵ روشن بودجه: 0-24576
جمینی ۲.۵-فلش لایت خاموش بودجه: 0-24576

مدل‌های تفکر با تمام ابزارها و قابلیت‌های Gemini کار می‌کنند. این به مدل‌ها اجازه می‌دهد تا با سیستم‌های خارجی تعامل داشته باشند، کد را اجرا کنند یا به اطلاعات بلادرنگ دسترسی داشته باشند و نتایج را در استدلال خود بگنجانند.

قدم بعدی چیست؟