زنجیره فکر در هوش مصنوعی: Prompt Chaining به زبان ساده
وقتی یک وظیفه چندمرحلهای یا پیچیده است، معمولاً مطرح کردن تمام جزئیات در قالب یک پرامپت طولانی نتیجه خوبی نمیدهد. در این حالت، مدل ممکن

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

وقتی یک وظیفه چندمرحلهای یا پیچیده است، معمولاً مطرح کردن تمام جزئیات در قالب یک پرامپت طولانی نتیجه خوبی نمیدهد. در این حالت، مدل ممکن است بخشی از دستورها را نادیده بگیرد یا نتواند همه مراحل را بهدرستی دنبال کند.
Prompt Chaining رویکردی است که این مشکل را حل میکند: بهجای یک پرامپت بزرگ، مسئله را به چند زیرکار کوچکتر تقسیم میکنیم. هر زیرکار با یک پرامپت جداگانه انجام میشود و خروجی هر مرحله، بهعنوان ورودی مرحله بعد مورد استفاده قرار میگیرد.
نکته مهم در Prompt Chaining این است که خروجی هر مرحله میتواند پردازش یا اصلاح شود و سپس به مرحله بعد منتقل شود. به این ترتیب، پاسخ نهایی بهصورت تدریجی شکل میگیرد؛ برای مثال ابتدا اطلاعات مرتبط استخراج میشوند، سپس پاکسازی و خلاصه میشوند و در نهایت پاسخ نهایی تولید میشود.
میتوان این روش را به آشپزی تشبیه کرد: ابتدا مواد اولیه را آماده میکنید، بعد آنها را میپزید و در مرحله آخر غذا را تزئین میکنید. اگر همه این مراحل را همزمان انجام دهید، احتمال خطا و خراب شدن نتیجه نهایی بسیار بیشتر است.
وقتی وظیفه را خرد میکنی، مدل روی هر مرحله تمرکز میکند و احتمال خطا کمتر میشود.
چون مراحل جداست، دقیقاً میفهمی مشکل کجاست: مرحله استخراج؟ مرحله خلاصهسازی؟ مرحله تولید جواب؟ همین باعث میشود دیباگ و بهبود خیلی راحتتر شود.
این روش مخصوصاً برای ساخت دستیارهای مکالمهای (چتباتها) و بهتر کردن تجربه کاربر کاربردی است.
مثال کوتاه:
اگر میخوای یک متن تبلیغاتی بسازی:
اول «پرسونای مخاطب» را استخراج کن
بعد «مزیتهای محصول» را از متن ورودی بیرون بکش
بعد «۳ نسخه تبلیغ» بنویس این معمولاً بهتر از یک پرامپت خیلی بزرگ جواب میدهد.
برای نوشتن یک Prompt Chain ساده و قابل اتکا، این الگو معمولاً جواب میدهد:
مثلاً: «یک جواب کوتاه و دقیق به سؤال کاربر، با لحن دوستانه، مستند به متن».
سؤال: «برای رسیدن به خروجی، چه مرحلههایی لازم است؟»
خیلی مهمه. چون مرحله بعد به این خروجی وابسته است.
مثلاً مرحله ۱ خروجی را داخل <quotes> ... </quotes> بدهد تا مرحله ۲ راحت parse کند.
مثلاً اگر چیزی پیدا نشد: "No relevant quotes found!" (همین دقیقاً در مثال اصلی هم آمده).
مثلاً بعد از استخراج نقلقولها، یک پرامپت کوتاه بگذار:

به جای اینکه مدل یکجا از روی یک سند بزرگ جواب بدهد، مرحله ۱ فقط «نقلقولهای مرتبط» را دربیاورد، و مرحله ۲ با تکیه بر همانها جواب نهایی را بسازد.
«اول فقط شواهد را جمع کن، هنوز جواب نده.»
Prompt :
تو یک دستیار مفید هستی. وظیفهات کمک به پاسخ دادن به یک سؤال بر اساس یک سند است. قدم اول: نقلقولهای مرتبط با سؤال را از سندی که بین #### آمده استخراج کن. خروجی را به صورت لیست داخل<quotes></quotes>بده. اگر چیزی پیدا نشد دقیقاً بنویس:"No relevant quotes found!"###
{{document}}###
سؤال: {{question}}
✅ خروجی نمونه :
<quotes>
- "Prompt chaining... task is split into subtasks..."
- "Besides achieving better performance... increases controllability..."
</quotes>
اگر نقلقولها شلوغاند، این مرحله کمک میکند:
Prompt 1.5 (پاکسازی):
نقلقولهای داخل<quotes>را تمیز کن: موارد تکراری را حذف کن، خیلی طولانیها را کوتاه کن، و فقط بخشهای واقعاً مرتبط را نگه دار. خروجی را همان قالب<quotes>بده.
طبق راهنما، مرحله دوم «نقلقولها + سند اصلی» را میگیرد و جواب دقیق و خوشلحن میسازد.
Prompt 2 (نسخه فارسیشده):
با توجه به نقلقولهای مرتبط (بین<quotes></quotes>) و سند اصلی (بین ####)، به سؤال پاسخ بده. مطمئن شو پاسخ دقیق است، لحن دوستانه دارد، و کاربردی است.###
{{document}}
###
سؤال: {{question}}
نتیجه: جواب نهایی معمولاً دقیقتر میشود چون مدل «اول شواهد» را دیده و بعد «جمعبندی» کرده.

<quotes>). این سادهترین راه برای جلوگیری از خراب شدن زنجیره است."No relevant quotes found!").Prompt Chaining یعنی تقسیم یک مسئله بزرگ به چند پرامپت کوچکِ پشتسرهم که خروجی هرکدام ورودی بعدی میشود؛ نتیجهاش معمولاً قابلکنترلتر، قابلدیباگتر و قابلاعتمادتر است. قسمت بعد این تکنیک پرامپت نویسی را در ورک فلو های هوشیار24 میبینیم.