تکنیک زنجیره تفکر (CoT)

نوشته حسین بهنودی در ۵ اردیبهشت ۱۴۰۳

زنجیره تفکر (Chain of Thought یا CoT)

آیا تا به حال از دانش‌آموزی خواسته‌اید که برای حل یک مسئله ریاضی، تمام مراحل را روی تخته بنویسد؟ این کار نه تنها به شما کمک می‌کند تا فرآیند فکری او را درک کنید، بلکه به خودِ دانش‌آموز نیز اجازه می‌دهد تا با دیدن مراحل، خطاهای احتمالی را بیابد و به پاسخ صحیح برسد. تکنیک «زنجیره تفکر» یا CoT دقیقاً همین کار را با هوش مصنوعی انجام می‌دهد.

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

زنجیره تفکر چند نمونه‌ای (Few-Shot CoT)

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

«زنجیره تفکر چند نمونه‌ای» یا Few-Shot CoT دقیقاً بر همین اساس کار می‌کند. در این تکنیک، ما در پرامپت خود چند نمونه کامل (معمولاً ۱ تا ۵ مثال) از یک سؤال به همراه زنجیره تفکر و پاسخ نهایی آن را به مدل ارائه می‌دهیم. مدل با مشاهده این الگوها، یاد می‌گیرد که برای سؤال جدیدی که از او می‌پرسیم، همان فرآیند استدلالی را تقلید کند. این روش به طور قابل توجهی دقت و ثبات پاسخ‌ها را در وظایف پیچیده افزایش می‌دهد.

سوال: جسمی با سرعت اولیه ۱۰ متر بر ثانیه شروع به حرکت می‌کند و پس از ۵ ثانیه سرعت آن به ۳۰ متر بر ثانیه می‌رسد. شتاب حرکت چقدر است؟

پاسخ: برای محاسبه شتاب، از فرمول a = (v_f – v_i) / t استفاده می‌کنیم.

سرعت نهایی (v_f) برابر با ۳۰ متر بر ثانیه، سرعت اولیه (v_i) برابر با ۱۰ متر بر ثانیه و زمان (t) برابر با ۵ ثانیه است.

پس: a = (30 – 10) / 5 = 20 / 5 = 4 متر بر مجذور ثانیه.

پاسخ نهایی ۴ است.

سوال: خودرویی از حالت سکون شروع به حرکت کرده و پس از ۱۰ ثانیه به سرعت ۲۰ متر بر ثانیه می‌رسد. شتاب حرکت آن چقدر است؟

پاسخ:

خروجی مورد انتظار هوش مصنوعی:

برای محاسبه شتاب، از فرمول a = (v_f – v_i) / t استفاده می‌کنیم.

چون خودرو از حالت سکون شروع کرده، سرعت اولیه (v_i) صفر است.

سرعت نهایی (v_f) برابر با ۲۰ متر بر ثانیه و زمان (t) برابر با ۱۰ ثانیه است.

پس: a = (20 – 0) / 10 = 20 / 10 = 2 متر بر مجذور ثانیه.

پاسخ نهایی ۲ است.

زنجیره تفکر بدون نمونه (Zero-Shot CoT):

گاهی اوقات ما زمان یا مثال‌های آماده برای ارائه به مدل را نداریم. اینجا است که روش «زنجیره تفکر بدون نمونه» به کمک ما می‌آید. این تکنیک به طرز شگفت‌آوری ساده اما قدرتمند است.

در این روش، ما هیچ مثال کاملی ارائه نمی‌دهیم. در عوض، تنها با افزودن یک عبارت ساده و کلیدی به انتهای پرامپت خود، مدل را به فکر کردنِ گام به گام وادار می‌کنیم. عباراتی مانند «بیا گام به گام فکر کنیم» یا «مراحل را توضیح بده» مانند یک تلنگر عمل کرده و به هوش مصنوعی یادآوری می‌کنند که باید فرآیند استدلال خود را نمایش دهند.

این روش مانند آن است که به یک دانش‌آموز نخبه که در حل یک مسئله پیچیده گیر کرده، نگوییم «جواب این است»، بلکه به او بگوییم: «صبر کن، عجله نکن. بیا از اول و مرحله به مرحله مسئله را با هم مرور کنیم». این جمله ساده، ذهن او را به سمت یک فرآیند تحلیلی و ساختاریافته هدایت می‌کند. Zero-Shot CoT نیز همین نقش راهنمای فرآیندی را برای هوش مصنوعی ایفا می‌کند.

فرض کنید 100 میلی‌لیتر محلول 0.2 مولار سدیم هیدروکسید (NaOH) را با 50 میلی‌لیتر محلول 0.4 مولار هیدروکلریک اسید (HCl) مخلوط می‌کنیم. pH محلول نهایی چقدر خواهد بود؟

پاسخ را به صورت گام به گام و با ذکر دلیل هر مرحله محاسبه کنید.

زنجیره تفکر خودکار (Auto-CoT):

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

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

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