اگر تا به حال سعی کردهاید کل یک پروژه را در یک پرامپت جا دهید—الزامات ← راهحل ← برنامه ← ریسکها ← سند نهایی—از قبل میدانید چگونه پایان میپذیرد:
زنجیرهسازی پرامپت راهحل است. آن را به عنوان ساخت یک گردش کاری در نظر بگیرید که هر پرامپت ایستگاهی در خط تولید است: یک مرحله ورودی، یک مرحله خروجی، و خروجی تبدیل به ورودی ایستگاه بعدی میشود.
به عبارت دیگر: از LLM نمیخواهید "همه چیز را یکجا" انجام دهد. از آن میخواهید هر بار یک کار، به طور قابل اعتماد انجام دهد.
زنجیرهسازی پرامپت عبارت است از:
اساساً این "ذهنیت میکروسرویس" است که به استدلال LLM اعمال میشود.
| بعد | پرامپت تکی | زنجیرهسازی پرامپت | |----|----|----| | پیچیدگی | مناسب برای کارهای ساده و یکمرحلهای | ساخته شده برای گردشهای کاری چندمرحلهای و واقعی | | منطق | مدل فرایند را حدس میزند | شما فرایند را تعریف میکنید | | کنترل | هدایت سخت است | هر مرحله قابل هدایت است | | رفع اشکال | "کجا اشتباه رفت؟" | میتوانید مرحله خراب را شناسایی کنید | | محدودیتهای زمینه | به راحتی سرریز میشود | دادهها را به تدریج، مرحله به مرحله تغذیه کنید |
LLMها در جابجا کردن اهداف متعدد به طور همزمان عالی نیستند.
درخواست کنید: "الزامات را تحلیل کن، ویژگیها را پیشنهاد کن، تلاش را تخمین بزن، اولویتبندی کن، سپس برنامه بنویس"—و یک مسئله بهینهسازی چند هدفه تنظیم کردهاید. مدل معمولاً کار مناسبی روی یک هدف انجام میدهد و بیسروصدا در بقیه کم میآورد.
زنجیرهسازی پرامپت بار شناختی را کاهش میدهد: یک مرحله ← یک خروجی ← یک معیار موفقیت.
در قلب آن، زنجیرهسازی پرامپت یک حلقه است:
در اینجا یک زنجیره ساده که میتوانید تجسم کنید:
flowchart LR A[بازخورد خام کاربر] --> B[پرامپت 1: استخراج نقاط درد] B --> C[پرامپت 2: پیشنهاد ویژگیها] C --> D[پرامپت 3: اولویتبندی و تخمین تلاش] D --> E[پرامپت 4: نوشتن برنامه تکرار]
بد: "نقاط درد را استخراج کن و ویژگیها را طراحی کن" خوب: مرحله 1 نقاط درد را استخراج میکند؛ مرحله 2 بر اساس آنها ویژگیها را طراحی میکند.
متن آزاد شکننده است. پرامپت بعدی میتواند آن را اشتباه بخواند، دوباره تفسیر کند، یا نادیده بگیرد.
از فرمتهای ساختاریافته مانند JSON، جداول، یا لیستهای نقطهای با کلیدهای ثابت استفاده کنید.
مثال (JSON که واقعاً میتوانید تجزیه کنید):
{ "pain_points": [ {"category": "performance", "description": "تسویه حساب بیش از 8 ثانیه طول میکشد", "mentions": 31}, {"category": "ux", "description": "دکمه بازپرداخت سخت پیدا میشود", "mentions": 18}, {"category": "reliability", "description": "پرداخت بدون خطا ناموفق است", "mentions": 12} ] }
فرض نکنید مدل "آنچه منظور شما بود را به خاطر میآورد". در پرامپت بعدی، به صراحت به خروجی قبلی اشاره کنید:
هر زنجیره به یک "دروازه کیفیت" نیاز دارد:
از آن استفاده کنید وقتی: گردش کار قابل پیشبینی است.
فرض کنید یک صادرات CSV از یک فروشگاه تجارت الکترونیک بریتانیا دارید و میخواهید:
مرحله 1 — پرامپت پاکسازی داده (خروجی یک جدول تمیز یا JSON)
سیستم: شما یک تحلیلگر داده هستید. دقیقاً دستورالعملها را دنبال کنید. کاربر: مجموعه داده زیر را پاک کنید. قوانین: 1) ردیفهایی که revenue_gbp یا units_sold خالی است را حذف کنید. 2) موارد پرت در revenue_gbp را علامتگذاری کنید: > 3 برابر میانگین دسته یا < 0.1 برابر میانگین دسته. آنها را حذف نکنید. 3) month_over_month_pct را اضافه کنید: (this_month - last_month) / last_month * 100. 4) فقط به عنوان آرایه JSON خروجی دهید. هر آیتم باید داشته باشد: date، category، revenue_gbp، units_sold، region_uk، outlier_flag، month_over_month_pct مجموعه داده: <داده را اینجا جایگذاری کنید>
مرحله 2 — پرامپت بینشها (خروجی بینشهای نقطهای)
سیستم: شما یک تحلیلگر ارشد هستید که برای مخاطبان رهبری بریتانیا مینویسید. کاربر: با استفاده از JSON پاک شده زیر، بینشها تولید کنید: 1) دسته: 3 برتر بر اساس revenue_gbp، و 3 برتر بر اساس month_over_month_pct. درصد مشارکت را شامل شوید. 2) منطقه: 2 منطقه برتر بر اساس درآمد، و بزرگترین کاهش (>10%). 3) روند: روند کلی (صعودی/نزولی/بیثبات). رابطه درآمد در مقابل واحدها را توضیح دهید. فرمت خروجی: - بینشهای دسته: 2-3 نقطه - بینشهای منطقه: 2-3 نقطه - بینشهای روند: 2-3 نقطه JSON پاک شده: <خروجی مرحله 1 را جایگذاری کنید>
مرحله 3 — پرامپت نوشتن گزارش (خروجی سند نهایی)
سیستم: شما گزارشهای داخلی واضح مینویسید. کاربر: بینشهای زیر را به یک "خلاصه درآمد ماهانه" (800–1,000 کلمه) تبدیل کنید. ساختار: 1) خلاصه اجرایی (1 پاراگراف کوتاه) 2) بینشهای کلیدی (دسته / منطقه / روند) 3) توصیهها (2–3 مورد قابل اجرا) 4) پایان (1 پاراگراف کوتاه) از فرمت GBP (£) و املای بریتانیایی استفاده کنید. بینشها: <خروجی مرحله 2 را جایگذاری کنید>
زنجیرههای خطی به بهترین شکل خستهکننده هستند: قابل پیشبینی، خودکار، و آسان برای آزمایش.
از آن استفاده کنید وقتی: مرحله بعدی به یک تصمیم بستگی دارد (نوع، شدت، قصد).
مرحله 1 پیام را طبقهبندی میکند:
سیستم: شما پیامهای مشتری را طبقهبندی میکنید. فقط برچسب را خروجی دهید. کاربر: این پیام را به عنوان یکی از موارد زیر طبقهبندی کنید: - شکایت - پیشنهاد - سوال فرمت خروجی: برچسب: <یکی از سه> پیام: "سفارش من شارژ شد اما هرگز نرسید، و هیچکس به ایمیلهایم پاسخ نداد. این مسخره است."
سپس شاخه میزنید:
مدیریت شکایت (مثال):
سیستم: شما یک مدیر عملیات مشتری هستید. کاربر: یک برنامه رسیدگی به شکایت برای پیام زیر ایجاد کنید. شامل: 1) بیانیه مشکل 2) اقدامات: ظرف 1 ساعت، ظرف 24 ساعت، ظرف 48 ساعت 3) پیشنهاد جبران خسارت (معقول برای تجارت الکترونیک بریتانیا) خروجی در سه بخش با نقاط. پیام: <پیام را جایگذاری کنید>
زنجیرههای شاخهای نحوه توقف رفتار یکسان با هر ورودی به عنوان یک مشکل است.
از آن استفاده کنید وقتی: نیاز دارید آیتمهای مشابه زیادی را پردازش کنید، یا خروجی را به صورت تکراری اصلاح کنید.
مرحله 1 لیست را به بلوکهای آیتم تقسیم میکند:
سیستم: شما داده محصول را فرمت میکنید. کاربر: لیست محصول زیر را به بلوکهای جداگانه تقسیم کنید. فرمت خروجی (برای هر آیتم تکرار کنید): [آیتم N] نام: ویژگیهای کلیدی: مشتری هدف: قیمت_gbp: لیست محصول: <لیست را جایگذاری کنید>
مرحله 2 بر روی هر بلوک حلقه میزند:
سیستم: شما متن محصول با تبدیل بالا مینویسید. کاربر: یک توضیح تجارت الکترونیک برای محصول زیر بنویسید. الزامات: - عنوان جذاب ≤ 12 کلمه - 3 نقطه ویژگی (≤ 18 کلمه هر کدام) - 1 جمله: بهترین برای چه کسی - 1 جمله: چرا ارزش خوبی دارد (از £ استفاده کنید) - 150–200 کلمه مجموع، انگلیسی بریتانیایی محصول: <آیتم N را جایگذاری کنید>
زنجیرههای حلقهای به قوانین توقف سخت نیاز دارند:
در غیر این صورت گرانترین حلقه بینهایت جهان را ایجاد خواهید کرد.
رفع: فرمتبندی را غیرقابل مذاکره کنید.
خطوطی مانند این اضافه کنید:
رفع: هر بار "قرارداد" را به صراحت بازنویسی کنید.
pain_points از خروجی قبلی استفاده کنید."رفع: محدودیتهای قابل اندازهگیری + حداکثر تلاش مجدد را تعریف کنید.
رفع: قوانین طبقهبندی را بهبود دهید + یک بررسی دوم اضافه کنید.
مثال:
میتوانید پرامپتها را به صورت دستی زنجیره کنید (کپی/پیست کار میکند)، اما ابزار کمک میکند وقتی از چند مرحله فراتر میروید.
زنجیرهسازی پرامپت حتی قدرتمندتر میشود وقتی آن را با موارد زیر ترکیب کنید:
زنجیرهسازی پرامپت "پرامپتهای بیشتر" نیست. این طراحی گردش کاری است.
وقتی شروع به رفتار با پرامپتها به عنوان مراحل با قراردادها، اعتبارسنجیها، و مسیرهای شکست میکنید، LLM شما از رفتار مانند یک تولیدکننده متن آشفته متوقف میشود و شروع به رفتار مانند یک همکار قابل اعتماد میکند—یک ایستگاه در یک زمان.
اگر چیزی فراتر از یک نمایش یکمرحلهای میسازید، آن را زنجیره کنید.
\


