Google AI Studio چیست؟ آموزش ساخت پرامپت، دریافت کد و حفاظت از API Key

در این راهنمای عملی با Google AI Studio آشنا می‌شوید، یک Prompt قابل ارزیابی می‌سازید، تنظیمات مدل و Structured Output را آزمایش می‌کنید، کد JavaScript می‌گیرید و API Key را بدون افشای سمت کاربر به پروژه منتقل می‌کنید.

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

اما نمونه‌ای که در مرورگر جواب می‌دهد هنوز محصول آماده انتشار نیست. کیفیت باید با داده‌های واقعی سنجیده شود، خروجی باید قابل اعتبارسنجی باشد و نباید داخل JavaScript مرورگر یا Repository قرار بگیرد. این راهنما دقیقاً این فاصله را پوشش می‌دهد: از اولین Prompt تا انتقال امن یک نمونه به برنامه واقعی.

چیست و چه تفاوتی با Gemini دارد؟

Gemini نام خانواده مدل‌ها و تجربه‌های کاربری مرتبط است؛ یک محیط توسعه برای آزمایش قابلیت‌های این مدل‌ها و است. در AI Studio می‌توانید مکالمه چندمرحله‌ای بسازید، ورودی متن یا رسانه اضافه کنید، پارامترهای اجرا را تغییر دهید و قابلیت‌هایی مانند Structured Output، Function Calling، Code Execution و Grounding را برای سناریوی مناسب فعال کنید.

مزیت اصلی AI Studio سرعت بازخورد است. تغییر کوچک در System Instruction یا مثال‌ها را فوراً روی چند ورودی می‌بینید. محدودیت آن نیز همین سادگی است: یک نتیجه خوب، تضمین نمی‌کند همه ورودی‌ها درست پردازش شوند. برای تصمیم فنی باید مجموعه آزمون، معیار موفقیت و Budget داشته باشید.

نیازبخش مناسب در AI Studioخروجی قابل بررسی
آزمایش گفت‌وگوChat Promptپاسخ چندمرحله‌ای و حفظ Context
تنظیم رفتار ثابتSystem Instructionلحن، قالب و محدودیت پاسخ
خروجی قابل پردازشStructured OutputJSON سازگار با Schema
اتصال به منطق برنامهFunction Callingنام تابع و آرگومان‌های کنترل‌شده
انتقال نمونه به پروژهGet codeنمونه درخواست SDK یا REST

شروع کار با

به نشانی رسمی AI Studio بروید و با حساب Google وارد شوید. اگر از حساب Workspace استفاده می‌کنید، مدیر سازمان می‌تواند دسترسی را محدود کند. پروژه‌ای جدا برای تمرین بسازید تا تنظیمات، سهمیه و کلیدهای آزمایشی با پروژه Production مخلوط نشوند.

  1. یک Chat Prompt تازه ایجاد کنید.
  2. مدلی را انتخاب کنید که برای نیاز شما مناسب است.
  3. System Instruction کوتاه و قابل سنجش بنویسید.
  4. سه ورودی عادی، مرزی و نامعتبر آماده کنید.
  5. نتیجه را بر اساس معیار مشخص ارزیابی کنید، نه صرفاً روان بودن متن.

اگر رابط یا نام گزینه‌ها در نسخه جدید تغییر کرده بود، از مستندات رسمی همان صفحه کمک بگیرید. مدل‌ها، سهمیه‌ها و قابلیت‌های آزمایشی ممکن است تغییر کنند؛ بنابراین نام مدل را بی‌دلیل در منطق اصلی برنامه Hard-code نکنید.

یک Prompt قابل ارزیابی چگونه نوشته می‌شود؟

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

الگوی پیشنهادی برای System Instruction

  • هدف: یک جمله درباره کاری که مدل باید انجام دهد.
  • مرز: کارهایی که نباید انجام دهد یا اطلاعاتی که نباید حدس بزند.
  • قالب: فیلدهای لازم، نوع داده و مقادیر مجاز.
  • ابهام: خروجی مورد انتظار وقتی داده کافی نیست.
  • کیفیت: معیارهایی مانند کامل بودن، استنادپذیری یا کوتاهی پاسخ.

به جای افزودن ده‌ها صفت کلی مثل «بسیار دقیق و عالی»، مثال‌های واقعی و ضدنمونه بدهید. سپس هر تغییر Prompt را با همان مجموعه آزمون اجرا کنید تا بدانید بهبود حاصل شده یا فقط خروجی متفاوت شده است.

سناریوی نمونه: دسته‌بندی درخواست پشتیبانی

فرض کنید برنامه باید پیام را در یکی از دسته‌های billing، technical یا account قرار دهد و میزان اطمینان را برگرداند. پاسخ آزاد برای Backend مناسب نیست؛ چون ممکن است توضیح اضافی، نام فیلد متفاوت یا JSON ناقص تولید شود. در این وضعیت Structured Output انتخاب بهتری است.

Structured Output را برای خروجی قابل اعتماد فعال کنید

در Run settings، Structured Output را فعال و Schema را تعریف کنید. Schema قرارداد داده را محدود می‌کند، اما صحت معنایی را تضمین نمی‌کند. مقدار confidence می‌تواند از نظر نوع معتبر باشد ولی از نظر واقعیت اشتباه باشد؛ بنابراین بازه عددی، مقادیر enum و کنترل سمت سرور همچنان ضروری‌اند.

support-schema.jsonJSON
{  "category": "technical",  "confidence": 0.92,  "needsHumanReview": false}
UTF-8JSON

برای ورودی‌های حساس یا مبهم، آستانه‌ای تعریف کنید که درخواست را به انسان برگرداند. مثلاً اگر confidence کمتر از مقدار مورد توافق بود یا پیام هم‌زمان چند مسئله داشت، needsHumanReview باید true شود. این تصمیم را صرفاً به متن مدل واگذار نکنید؛ Backend باید آن را کنترل کند.

تنظیمات مدل را هدفمند تغییر دهید

Run settings امکان تغییر پارامترهایی مانند دمای تولید و فعال کردن ابزارها را می‌دهد. برای استخراج داده و پاسخ‌های قراردادی، تنوع کمتر معمولاً آزمون‌پذیری را بهتر می‌کند. برای ایده‌پردازی می‌توان تنوع بیشتری پذیرفت. یک تنظیم واحد برای همه قابلیت‌ها مناسب نیست.

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

Code Execution و Grounding سطح توانایی و ریسک را تغییر می‌دهند. داده محرمانه را بدون بررسی سیاست سازمانی وارد نکنید و نتیجه ابزار را حقیقت قطعی فرض نکنید. در محصول واقعی، لاگ قابل ممیزی و محدودیت دسترسی لازم است.

دریافت کد از AI Studio و انتقال به پروژه

پس از تثبیت نمونه، گزینه Get code را بزنید و زبان مناسب Backend را انتخاب کنید. کد تولیدشده نقطه شروع است، نه معماری نهایی. Timeout، Retry، مدیریت خطا، مشاهده‌پذیری، محدودیت اندازه ورودی و اعتبارسنجی خروجی را خودتان اضافه کنید.

نمونه زیر شکل کلی فراخوانی سمت سرور با SDK جاوااسکریپت را نشان می‌دهد. نام مدل را با مدل در دسترس پروژه خود تطبیق دهید و کلید را فقط از متغیر محیطی بخوانید:

server.mjsJavaScript
import { GoogleGenAI } from "@google/genai"; const ai = new GoogleGenAI({  apiKey: process.env.GEMINI_API_KEY}); const response = await ai.models.generateContent({  model: "YOUR_SUPPORTED_MODEL",  contents: "پیام را دسته‌بندی کن: اتصال حساب من قطع می‌شود"}); console.log(response.text);
UTF-8JavaScript

در Production پاسخ را پیش از استفاده Parse و Validate کنید. اگر JSON نامعتبر یا فیلد خارج از enum بود، خطای کنترل‌شده برگردانید. متن ورودی کاربر را مستقیم داخل فرمان سیستم، Query پایگاه داده یا HTML قرار ندهید.

ساخت و نگهداری امن

یک Secret است و باید مانند رمز عبور با آن رفتار شود. آن را در Git، فایل عمومی، اسکرین‌شات آموزشی یا کد سمت مرورگر قرار ندهید. برنامه وب باید درخواست را به Backend خودتان بفرستد و Backend با کلید ذخیره‌شده در Environment یا Secret Manager به متصل شود.

PowerShellPowerShell
$env:GEMINI_API_KEY = "کلید را فقط در محیط محلی وارد کنید"node server.mjsRemove-Item Env:GEMINI_API_KEY
UTF-8PowerShell

این نمونه فقط برای نشست موقت PowerShell است. در سرور واقعی از Secret Manager میزبان استفاده کنید، دسترسی را به سرویس لازم محدود کنید و Budget Alert بسازید. اگر کلید افشا شد، نخست کلید جایگزین را ایجاد و Deploy کنید، سپس کلید قدیمی را غیرفعال یا حذف و Usage را بررسی کنید.

Build mode و Secret سمت سرور

طبق مستندات رسمی، Build mode در AI Studio برای برنامه‌های جدید کلید Gemini را به‌صورت Secret در Runtime سمت سرور قرار می‌دهد و آن را وارد کد Client نمی‌کند. اگر پروژه را به شکل ZIP خارج می‌کنید، باید متغیر GEMINI_API_KEY را در محیط Hosting تنظیم کنید. قبل از Share یا Deploy، Network tab و Bundle نهایی را برای نبود Secret کنترل کنید.

هزینه، سهمیه و محدودیت‌ها را چگونه کنترل کنیم؟

واژه free در جست‌وجوها نباید باعث فرض رایگان بودن دائمی همه مدل‌ها و قابلیت‌ها شود. سهمیه و قیمت به مدل، Project و طرح فعال بستگی دارد و می‌تواند تغییر کند. صفحه رسمی Pricing و Dashboard مصرف را منبع تصمیم قرار دهید.

  • برای محیط توسعه و Production پروژه جدا بسازید.
  • سقف ورودی و خروجی را در Backend محدود کنید.
  • درخواست تکراری را Cache کنید، اگر ماهیت داده اجازه می‌دهد.
  • Timeout، Rate Limit و Retry با Backoff تعریف کنید.
  • هزینه و خطا را بر اساس Feature ثبت کنید.
  • برای انتشار عمومی App، سناریوی سوءاستفاده را آزمایش کنید.

اشتباه‌های رایج هنگام کار با AI Studio

اعتماد به یک پاسخ زیبا

روان بودن متن معیار صحت نیست. حداقل ده‌ها نمونه نماینده از داده واقعی بسازید و نتیجه را با پاسخ مورد انتظار مقایسه کنید. برای قابلیت حساس، بازبینی انسانی و Log قابل پیگیری در نظر بگیرید.

قرار دادن کلید در Frontend

Obfuscation و متغیر Build مانع استخراج Secret از مرورگر نمی‌شوند. کلید باید روی سرور بماند. اگر درخواست مستقیماً از Client ارسال شود، هر کاربر می‌تواند کلید یا الگوی دسترسی را از Bundle و Network مشاهده کند.

انتقال مستقیم کد نمونه به Production

کد Get code معمولاً برای نمایش سریع مسیر فراخوانی است. Validation، محدودیت ورودی، Telemetry، خطاهای سهمیه، سیاست نگهداری داده و تست بار را پیش از انتشار اضافه کنید.

فعال کردن همه ابزارها

هر Tool سطح حمله و هزینه را افزایش می‌دهد. Function Calling را با فهرست توابع محدود، Schema دقیق و مجوز سمت سرور پیاده کنید. هیچ آرگومان تولیدشده توسط مدل نباید بدون Validation عملیات مالی، حذف داده یا تغییر دسترسی انجام دهد.

چک‌لیست تبدیل Prompt به قابلیت واقعی

  1. هدف و معیار موفقیت را نوشته‌اید.
  2. ورودی‌های عادی، مرزی و نامعتبر دارید.
  3. System Instruction کوتاه و نسخه‌بندی‌شده است.
  4. خروجی ساختاریافته در Backend اعتبارسنجی می‌شود.
  5. در Client و Git وجود ندارد.
  6. مدل و تنظیمات از Configuration خوانده می‌شوند.
  7. Timeout، Retry و Rate Limit تعریف شده‌اند.
  8. مصرف و خطا به تفکیک Feature ثبت می‌شود.
  9. برای نتیجه کم‌اطمینان مسیر بازبینی انسانی دارید.
  10. قبل از Deploy، Secret scanning و تست انجام می‌شود.

اگر قصد دارید خروجی AI Studio را در یک عامل برنامه‌نویسی توسعه دهید، مقاله ساخت AI Agent امن با Python را بخوانید. برای نمونه‌سازی سریع همراه با کنترل کیفیت نیز راهنمای وایب کدینگ امن و قابل انتشار مکمل مناسبی است.

جمع‌بندی

بهترین استفاده را زمانی دارد که آن را آزمایشگاه Prompt بدانید: مسئله را کوچک کنید، رفتار را با نمونه‌های ثابت بسنجید، خروجی را ساختاریافته کنید و سپس کد را به Backend کنترل‌شده ببرید. باید Secret سمت سرور بماند و کیفیت، هزینه و خطا باید قابل اندازه‌گیری باشند.

برای یادگیری پروژه‌محور و تبدیل نمونه‌های آزمایشی به برنامه قابل انتشار، دوره‌ها و مسیرهای آموزشی خانه برنامه نویسان البرز را بررسی کنید.

منابع رسمی