پرامپت‌نویسی

Chain-of-thought در پرامپت‌نویسی

Chain-of-thought در پرامپت‌نویسی — راهنمای فارسی از مجموعهٔ «پرامپت‌نویسی» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ Chain-of-thought در پرامپت‌نویسی

یه بار از ChatGPT خواستی یه مسئله‌ٔ ریاضی یا منطقی حل کنه و جواب اشتباه گرفتی؟ احتمالاً مشکل مدل نبود — مشکل نحوهٔ پرسیدن بود. Chain-of-Thought (CoT) یه تکنیک ساده‌ست که مدل رو وادار می‌کنه «فکر کنه» قبل از اینکه جواب بده، و تفاوتش با روش عادی گاهی چشمگیره.

چرا LLMها بدون CoT اشتباه می‌کنن؟

مدل‌های زبانی ذاتاً token به token کار می‌کنن — هر کلمه رو بر اساس کلمهٔ قبلی پیش‌بینی می‌کنن. وقتی یه سوال پیچیده می‌پرسی و انتظار داری یه‌جا جواب بده، مدل مستقیم می‌پره به اولین جواب «محتمل» بدون اینکه گام‌های میانی رو طی کنه.

مثال: «اگه ۵ تا ماشین هر کدوم ۵ دقیقه وقت ببرن ۵ تا ویجت بسازن، ۱۰۰ تا ماشین چند دقیقه وقت می‌برن ۱۰۰ تا ویجت بسازن؟» — خیلی مدل‌ها بدون CoT جواب ۱۰۰ می‌دن (اشتباه). با CoT: ۵ دقیقه.

Chain-of-Thought چیه؟

Chain-of-Thought یعنی مدل رو وادار کنی مراحل استدلالش رو قبل از نتیجه‌گیری بنویسه. این ایده در مقاله‌ٔ معروف Google Brain در ۲۰۲۲ مطرح شد و نشون داد که فقط با افزودن «بیا مرحله‌به‌مرحله فکر کنیم» به پرامپت، دقت مدل‌های بزرگ روی مسائل استدلالی به شدت بالا می‌ره.

دو نوع اصلی CoT وجود داره:

۱. Zero-shot CoT

هیچ مثالی نمی‌دی، فقط یه عبارت اضافه می‌کنی:

بدون CoT:

«جعبه‌ای ۲۴ تا سیب داره. ۱/۳ اش گندیده. از سیب‌های سالم، نصفشون قرمزن. چند تا سیب قرمز سالم داریم؟»

با Zero-shot CoT:

«جعبه‌ای ۲۴ تا سیب داره. ۱/۳ اش گندیده. از سیب‌های سالم، نصفشون قرمزن. چند تا سیب قرمز سالم داریم؟ مرحله‌به‌مرحله حل کن.»

فقط همین جمله اضافه می‌شه و دقت به شکل معناداری بالا می‌ره.

۲. Few-shot CoT

چند مثال حل‌شده می‌دی تا مدل الگو رو یاد بگیره:

مثال: سوال: علی ۵ تا توپ داشت. ۲ تا خرید و ۳ تا داد. الان چند تا داره؟ فکر: ۵ + ۲ = ۷ تا توپ. بعد ۷ - ۳ = ۴ تا. جواب: ۴

حالا تو حل کن: سوال: مریم ۱۲ تا کتاب داشت. ۴ تا قرض داد. بعد ۷ تا خرید. الان چند تا داره؟

Few-shot برای کارهای تخصصی که فرمت جواب مهمه خیلی بهتر کار می‌کنه.

چه وقت واقعاً کمک می‌کنه؟

CoT روی این‌ها خوبه:

  • مسائل ریاضی و منطقی — استدلال چند گامه
  • تحلیل متن پیچیده — مثل بررسی قراردادها یا اسناد حقوقی
  • تصمیم‌گیری چندعاملی — وقتی چند فاکتور باید وزن‌دهی بشن
  • دیباگ کد — وقتی می‌خوای مدل منطق رو توضیح بده نه فقط کد درست بده

CoT روی این‌ها خیلی کمک نمی‌کنه:

  • سوال‌های ساده که جواب یه‌خطی دارن
  • خلاقیت آزاد (شعر، داستان) — اینجا خودانگیختگی بهتره
  • استخراج اطلاعات از متن آماده

تکنیک‌های پیشرفته‌تر

Self-consistency

یه سوال رو چندبار با CoT بپرس، جواب‌های مختلف رو کنار هم بذار، و اکثریت رو انتخاب کن. دقیق‌تر از یه بار پرسیدنه، ولی توکن بیشتری مصرف می‌کنه.

Tree of Thoughts (ToT)

به جای یه زنجیر فکری، مدل چند «شاخه» از استدلال رو کشف می‌کنه و بهترین رو انتخاب می‌کنه. برای مسائل خیلی پیچیده مثل برنامه‌ریزی یا بازی‌های استراتژیک مفیده.

ReAct

ترکیب CoT با استفاده از ابزار — مدل فکر می‌کنه، یه ابزار می‌زنه، نتیجه می‌گیره، دوباره فکر می‌کنه. این pattern پایهٔ اکثر AI agentهاست.

یه نکتهٔ مهم برای مدل‌های o1/o3

مدل‌های reasoning مثل OpenAI o1، o3 و Claude 3.7 Sonnet با extended thinking خودشون به‌صورت داخلی CoT انجام می‌دن — تو نمی‌بینیشون ولی اتفاق می‌افتن. برای این مدل‌ها، هدایت صریح به «فکر مرحله‌به‌مرحله» معمولاً ضروری نیست. اما برای GPT-4o، Claude Sonnet عادی، Gemini Flash، و بقیهٔ مدل‌های standard، CoT هنوز خیلی تفاوت می‌سازه.

یه پرامپت CoT آماده برای کاربر ایرانی

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

**تحلیل:**
[مراحل فکر]

**نتیجه:**
[جواب نهایی]

این رو به عنوان system prompt استفاده کن و ببین چقدر کیفیت جواب‌ها بالا می‌ره.

ارتباط با شناخت پیوسته

یه نکتهٔ جالب: هرچی AI تو رو بهتر بشناسه — سطح دانشت، شغلت، سبک فکریت — CoT می‌تونه هوشمندانه‌تر باشه. به جای اینکه هر بار از صفر توضیح بدی «من برنامه‌نویس هستم و با Python کار می‌کنم»، یه AI با شناخت پیوسته این زمینه رو می‌دونه و استدلالش رو روی اون بنا می‌کنه.

جمع‌بندی

Chain-of-Thought یه ترفند ساده ولی قدرتمنده: «مرحله‌به‌مرحله فکر کن» را به پرامپتت اضافه کن. برای مسائل پیچیده، این تفاوت بین جواب اشتباه و درست رو می‌سازه. برای مسائل ساده، اضافه‌کاریه. دانستن اینکه کِی استفاده کنی، نیمی از مهارت پرامپت‌نویسیه.

همچنین بخوان

#پرامپت‌نویسی

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «پرامپت‌نویسی»