کدنویسی با Grok: پرامپت‌ها، جریان کار و نکات ایمنی

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

زمان مطالعه: 7 دقیقهبه‌روزرسانی شده

Grok یک همکار کدنویسی توانمند برای کارهای روزمره برنامه‌نویسی است: خواندن پیام‌های خطا، نوشتن توابع کوچک، طراحی تست‌ها، توضیح فایل‌های ناآشنا یا تبدیل یک ایده اولیه به نسخه نخست. این مدل در چت ما نمی‌تواند کدهای شما را اجرا کند، مخزن (repository) شما را باز کند یا مستندات امروز را بررسی کند؛ بنابراین کیفیت راهنمایی‌های آن به کدی که ارسال می‌کنید و دقتی که در بررسی خروجی به خرج می‌دهید بستگی دارد. این راهنما به هر دوی این موارد می‌پردازد.

کجا Grok کمک می‌کند، و کجا نه

Grok روی مسائلی که در قالب یک گفتگو می‌گنجند بهترین عملکرد را دارد. کاربردهای مناسب:

  • رمزگشایی استک‌تریس (stack trace) یا خطاهای کامپایلر و پیشنهاد دلایل احتمالی؛
  • نوشتن یک تابع، اسکریپت، کوئری SQL یا عبارات باقاعده (regex) مستقل و خودکفا؛
  • توضیح عملکرد یک بلوک کد، حتی خط به خط در صورت تمایل شما؛
  • طراحی پیش‌نویس تست‌های واحد (unit tests)، از جمله سناریوهای خاص (edge cases) که ممکن است به فکرتان نرسد؛
  • بررسی تفاوت‌های کد (diff) کوتاه برای یافتن باگ‌ها، نام‌گذاری‌های نامفهوم و بررسی‌های جاافتاده؛
  • ترجمه کد بین زبان‌های برنامه‌نویسی یا نسخه‌های مختلف کتابخانه‌ها.

کاربردهای نامناسب: تغییراتی که فایل‌های متعددی را درگیر می‌کنند که قبلاً ندیده است، هر چیزی که به وضعیت دقیق سیستم شما وابسته باشد، و سوالات درباره نسخه‌هایی از کتابخانه‌ها که بعد از اتمام آموزش مدل منتشر شده‌اند. همچنین توانایی اجرای تست ندارد. هر تکه کدی که می‌نویسد تا زمانی که خودتان آن را اجرا نکنید تست‌نشده است.

زمینه‌ای را ارسال کنید که یک هم‌تیمی جدید نیاز دارد

شایع‌ترین دلیل برای دریافت یک پاسخ کدنویسی ناکارآمد، ناقص بودن زمینه (context) است. قبل از پرسیدن، این موارد را گردآوری کنید:

  1. زبان و نسخه‌ها. «Python 3.12, pandas 2» یا «Node 22, Express 5». تفاوت نسخه‌ها عامل بخش بزرگی از پاسخ‌های اشتباه است.
  2. کد مرتبط. تابعی که با خطا مواجه می‌شود و توابعی که فراخوانی می‌کند، نه کل پروژه.
  3. متن دقیق خطا. کل پیام خطا و استک‌تریس را کپی کنید؛ آن را خلاصه یا بازنویسی نکنید.
  4. نتیجه مورد انتظار در برابر خروجی واقعی. چه اتفاقی باید بیفتد، در عمل چه می‌شود، و تا الان چه راه‌هایی را امتحان کرده‌اید.
  5. محدودیت‌ها. عدم افزودن وابستگی جدید، الزام سازگاری با نسخه‌های قدیمی‌تر، لزوم خوانایی برای افراد مبتدی.
ضعیف:
کدم کار نمیکنه، درستش کن

قوی:
پایتون 3.12. این تابع باید میانگین ارزش سفارش را به ازای هر مشتری
برگرداند، اما مشتریانی که فقط یک سفارش دارند مقدار NaN دریافت می‌کنند.
نتیجه مورد انتظار: ارزش همان تک سفارش آن‌هاست. این تابع و یک نمونه از
داده‌ها است. ابتدا علت را توضیح بده و سپس تابع اصلاح‌شده را بیاور.
کتابخانه جدیدی اضافه نکن.
---
[تابع]
[پنج سطر نمونه]

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

پرامپت‌هایی برای کارهای رایج کدنویسی

درک یک خطا

استک‌تریس کامل و خطوط مشخص‌شده را ارسال کنید و بپرسید: «سه مورد از محتمل‌ترین دلایل را به ترتیب احتمال بنویس و بگو چطور هر کدام را بررسی کنم.» با این کار به جای یک حدس تصادفی، یک برنامه بررسی گام‌به‌گام دریافت می‌کنید.

نوشتن یک تابع

ورودی‌ها، خروجی‌ها و موارد خاص (edge cases) را به زبان ساده توضیح دهید، سپس کد را به همراه دو یا سه نمونه فراخوانی و نتایج مورد انتظار درخواست کنید. این نمونه‌ها هم‌زمان به عنوان یک تست سریع عمل می‌کنند که بلافاصله قابل اجرا هستند.

نوشتن تست‌ها

برای تابع زیر با pytest تست بنویس. این موارد را پوشش بده: ورودی عادی،
ورودی خالی، یک آیتم تکی، اعداد بسیار بزرگ و انواع داده نامعتبر.
برای هر حالت یک تست با نام واضح بنویس. تابع را تغییر نده.
---
[تابع]

بررسی (ریویو) کد خودتان

بررسی را با یک هدف مشخص بخواهید، مثلاً: «این کد را فقط برای باگ‌ها و خطاهای مدیریت‌نشده بررسی کن؛ سبک کدنویسی را نادیده بگیر.» یک بررسی متمرکز کوتاه‌تر است و اعمال آن آسان‌تر خواهد بود. می‌توانید پرامپت بررسی کد را با قطعه کد خودتان امتحان کنید.

توضیح کد ناآشنا

«توضیح بده این کد چه کاری انجام می‌دهد، فرض کن من JavaScript را بلدم اما با این کتابخانه آشنا نیستم. سپس مواردی را که پرخطر یا منسوخ به نظر می‌رسند مشخص کن.» درخواست بررسی ریسک‌ها، یک توضیح ساده را به یک بازبینی مفید تبدیل می‌کند.

جریان کاری برای حفظ تسلط بر روند پروژه

  1. ابتدا روی نقشه راه توافق کنید. برای هر کدی بزرگ‌تر از یک تابع، قبل از تولید کد، طرح کلی رویکرد را بخواهید. ابتدا نقشه را اصلاح کنید، سپس کد را درخواست نمایید.
  2. در بخش‌های کوچک پیش بروید. در هر پیام یک تابع یا یک تغییر. پاسخ‌های طولانی خطاها را پنهان می‌کنند و ممکن است به خاطر محدودیت طول پاسخ قطع شوند.
  3. کد را خودتان اجرا کنید. نتایج یا خطاهای جدید را در همان گفتگو ارسال کنید. عبارت «وقتی کد را اجرا کردم این نتیجه پیش آمد» بهترین پیام ادامه‌دهنده است.
  4. قبل از استفاده، خط به خط را بخوانید. اگر نمی‌توانید کدی را برای یک همکار توضیح دهید، از Grok بخواهید آن را توضیح دهد یا دوباره بنویسد.
  5. در گام‌های کوچک کامیت کنید. کنترل نسخه (Version control) باعث می‌شود بازگرداندن پیشنهادی که نتیجه بدی داشته هزینه و دردسری نداشته باشد.

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

کدام مدل Grok برای کدنویسی مناسب است

  • Grok 4.20 (پیش‌فرض) برای توضیحات، کدهای کوتاه، عبارات باقاعده (regex) و کدهای روتین و ساختاری سریع است.
  • Grok 4.3 Thinking قبل از پاسخ فکر می‌کند، که برای ریشه‌یابی باگ‌های پیچیده، سوالات الگوریتمی و منطق‌های چندشرطی مناسب است.
  • Grok 4.7 جدیدترین مدل در چت ما است و xAI آن را پرچمدار خود برای کدنویسی و تسک‌های ایجنتی می‌داند. شما روزانه تا ۱۰ پیام با این مدل دارید، پس پیچیده‌ترین مسئله خود را همراه با تمام اطلاعات لازم در یک پیام مطرح کنید.

راهنمای ما برای مدل‌های استدلالی توضیح می‌دهد که چه زمانی صرف وقت بیشتر برای تفکر ارزشش را دارد.

خطاهایی که باید مراقب آن‌ها باشید

  • توابع ساختگی. Grok گاهی متد یا گزینه‌ای را صدا می‌زند که به ظاهر درست است اما وجود ندارد. اگر آن را نمی‌شناسید، در مستندات رسمی جستجو کنید.
  • نسخه‌های قدیمی. دانش مدل تا تاریخ مشخصی به‌روز است. یک کتابخانه ممکن است پس از آن چیزی را تغییر نام داده یا حذف کرده باشد. نسخه مورد نظرتان را به آن بگویید و در صورت تردید changelog را ببینید.
  • کدنویسی فقط برای سناریوی ایده‌آل (Happy Path). پیش‌نویس‌های اولیه معمولاً ورودی خالی، فایل‌های ناموجود، مناطق زمانی و خطاهای شبکه را نادیده می‌گیرند. بپرسید: «چه ورودی‌هایی این کد را با خطا مواجه می‌کند؟»
  • تغییرات بی‌سرصدا. هنگام اصلاح یک بخش، مدل ممکن است بخش دیگری را دستکاری کند. درخواست یک تغییر مینیمال یا فقط خطوط متفاوت را داشته باشید.
  • رخنه‌های امنیتی. مراقب کوئری‌های ساخته‌شده با چسباندن رشته‌ها، اعتبارسنجی ناقص ورودی‌ها و ذخیره اطلاعات حساس در کد باشید. مستقیماً بپرسید: «آیا این در برابر تزریق SQL ایمن است؟»
ابتدا یک تست ناموفق بخواهید. قبل از اینکه درخواست رفع باگ کنید، از Grok بخواهید تستی بنویسد که باگ را بازتولید کند. اگر تست روی سیستم شما شکست بخورد، وجود مشکل تأیید می‌شود؛ و وقتی پس از اصلاح پاس شود، اثبات درستی اصلاحیه را در دست دارید.

اطلاعات حساس را وارد چت نکنید

قبل از قرار دادن کد، کلیدهای API، رمزهای عبور، توکن‌ها، رشته‌های اتصال به دیتابیس (connection strings)، اطلاعات مشتریان و نام سرورهای داخلی را حذف کنید. آن‌ها را با متغیرهای فرضی مثل YOUR_API_KEY جایگزین کنید. اگر کارفرمای شما قوانینی درباره اشتراک‌گذاری سورس‌کد با سرویس‌های بیرونی دارد، آن‌ها را رعایت کنید؛ در صورت تردید، مسئله را به یک نمونه کوچک که همان رفتار را بدون اطلاعات محرمانه نشان می‌دهد تقلیل دهید. همین نمونه کوچک معمولاً خودش باگ را آشکار می‌کند. راهنمای حریم خصوصی و امنیت ما توضیح می‌دهد که پیام‌ها چگونه از طریق چت ما ردوبدل می‌شوند.

پرسش‌های متداول

آیا Grok می‌تواند کدهای من را در چت شما اجرا کند؟

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

آیا می‌توانم اسکرین‌شات خطا را بفرستم؟

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

از چه زبان‌های برنامه‌نویسی پشتیبانی می‌کند؟

Grok به زبان‌های اصلی کاملاً مسلط است: Python، JavaScript و TypeScript، Java، C# و C++، Go، PHP، SQL، اسکریپت‌های shell و غیره. برای زبان‌های کم‌کاربرد و فریم‌ورک‌های خاص، انتظار خطای بیشتری داشته باشید و کدها را با دقت بالاتری چک کنید.

چرا کد در میانه راه قطع شد؟

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

آیا استفاده از کدهای نوشته‌شده توسط هوش مصنوعی در محیط کار مجاز است؟

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

آماده‌اید از Grok سوال بپرسید؟

بدون نیاز به حساب کاربری، دانلود یا کارت بانکی. چت را باز کنید، سوال خود را بنویسید و پاسخ زنده Grok را ببینید.

شروع چت