کنترل شکل خروجی

فرض کنید از یک مدل هوش مصنوعی می خواهید برای جلسه فردا به شما کمک کند.

می نویسید:

این یادداشت ها را خلاصه کن.

مدل هم یک خلاصه چند پاراگرافی تحویل می دهد.

اما چیزی که شما واقعا لازم داشتید این بوده:

  • تصمیم های جلسه
  • کارهای باقی مانده
  • مسئول هر کار
  • مهلت انجام

مشکل اینجا لزوما کیفیت مدل نیست.

شما درباره محتوا گفته اید، اما درباره شکل خروجی چیزی نگفته اید.

یکی از ساده ترین راه های بهتر کردن پاسخ AI این است که قبل از ارسال پرامپت مشخص کنید:

جواب دقیقا باید چه شکلی باشد؟

مثلا:

این یادداشت ها را خلاصه کن. خروجی را در یک جدول با چهار ستون «موضوع»، «تصمیم»، «مسئول» و «مهلت» بده. اگر برای یک مورد مسئول یا مهلت مشخص نشده، بنویس «نامشخص».

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

این دقیقا موضوع این مقاله است: کنترل شکل خروجی.

چرا شکل خروجی این قدر مهم است؟

خیلی وقت ها ما از AI جواب خوب نمی خواهیم؛ جواب قابل استفاده می خواهیم.

این دو همیشه یکی نیستند.

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

مثلا برای این کارها قالب خروجی مهم تر از چیزی است که در نگاه اول به نظر می رسد:

  • تبدیل یادداشت جلسه به وظایف
  • ساخت جدول مقایسه
  • تولید داده برای Excel
  • آماده کردن متن برای وب سایت
  • تولید JSON برای نرم افزار
  • ساخت چک لیست اجرایی
  • خلاصه کردن گزارش
  • ساخت کپشن با محدودیت طول
  • تبدیل اطلاعات به قالب ثابت برای صدها رکورد

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

ساده ترین روش: فرمت را صریح بگویید

مدل نباید حدس بزند که شما چه نوع خروجی می خواهید.

به جای:

مزایا و معایب این دو ابزار را مقایسه کن.

بگویید:

این دو ابزار را در یک جدول مقایسه کن. ستون ها: قیمت، مناسب برای، نقطه قوت اصلی، محدودیت اصلی و پیشنهاد نهایی. در هر خانه حداکثر دو جمله بنویس.

یا به جای:

برای راه اندازی پروژه به من برنامه بده.

بگویید:

برنامه را به شکل یک چک لیست مرحله ای بنویس. هر مرحله باید یک کار مشخص و قابل انجام باشد. حداکثر ۱۲ مورد. برای هر مورد یک خروجی قابل بررسی مشخص کن.

تفاوت کوچک است، اما نتیجه معمولا بسیار بهتر می شود.

1. کنترل طول پاسخ

یکی از رایج ترین مشکلات پاسخ AI این است که یا بیش از حد طولانی است یا آن قدر کوتاه است که کاربردی نیست.

به مدل عدد بدهید.

مثلا:

در حداکثر ۱۲۰ کلمه توضیح بده.

یا:

پاسخ را در پنج bullet کوتاه بنویس و هر bullet حداکثر یک جمله باشد.

یا:

یک توضیح کامل در ۶ تا ۸ پاراگراف بنویس.

یا حتی:

جواب کوتاه باشد، اما دلیل پیشنهادت را حذف نکن.

کلمه هایی مثل «کوتاه»، «مختصر» و «کامل» مفید هستند، اما عدد معمولا ابهام را کمتر می کند.

یک نکته مهم

مدل ها همیشه شمارش کلمات یا کاراکترها را کاملا دقیق رعایت نمی کنند.

اگر محدودیت برای شما حیاتی است، بهتر است بنویسید:

خروجی باید حداکثر ۲۸۰ کاراکتر باشد. قبل از پاسخ نهایی، طول متن را بررسی کن و اگر بیشتر بود کوتاهش کن.

باز هم ممکن است خطا رخ دهد، اما احتمال رعایت محدودیت بیشتر می شود.

2. استفاده از لیست و چک لیست

اگر خروجی قرار است تبدیل به عمل شود، لیست معمولا از پاراگراف بهتر است.

مثلا:

برای انتقال این سرویس به سرور جدید یک برنامه بده.

می تواند تبدیل شود به:

یک چک لیست مهاجرت بساز. مراحل را به ترتیب اجرا بنویس. هر خط فقط یک کار داشته باشد و برای کارهای پرریسک عبارت «نیاز به بکاپ» را اضافه کن.

یا برای برنامه روزانه:

کارها را در سه گروه «ضروری»، «مهم» و «در صورت داشتن زمان» قرار بده. در هر گروه حداکثر پنج مورد بنویس.

اینجا شما فقط محتوا را کنترل نکرده اید؛ نحوه تصمیم گیری روی خروجی را هم ساده کرده اید.

3. جدول؛ وقتی مقایسه مهم است

برای مقایسه چند گزینه، جدول یکی از بهترین قالب هاست.

مثلا:

ChatGPT، Claude و Gemini را مقایسه کن.

خروجی ممکن است چند پاراگراف پراکنده باشد.

نسخه بهتر:

ChatGPT، Claude و Gemini را در یک جدول مقایسه کن. ردیف ها شامل «نوشتن»، «برنامه نویسی»، «تحلیل فایل»، «کار با سرویس های Google»، «سادگی استفاده» و «مناسب برای چه کسی» باشند. بعد از جدول فقط یک جمع بندی سه جمله ای بده.

با این کار، خروجی سریع تر قابل اسکن و مقایسه می شود.

4. وقتی خروجی قرار است وارد Excel یا Google Sheets شود

اگر می خواهید نتیجه را به Spreadsheet منتقل کنید، از ابتدا ساختار مناسب بخواهید.

مثلا:

این اطلاعات را به شکل جدول با ستون های نام، شرکت، سمت، ایمیل و وضعیت پیگیری در بیاور.

اگر می خواهید Copy/Paste ساده تر باشد، حتی می توانید بگویید:

خروجی را به شکل CSV بده. خط اول نام ستون ها باشد. هیچ توضیحی قبل یا بعد از CSV ننویس.

این جمله آخر مهم است.

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

5. JSON؛ وقتی قرار است AI با نرم افزار حرف بزند

وقتی خروجی قرار است توسط کد، API، n8n یا یک Workflow دیگر مصرف شود، متن آزاد معمولا انتخاب خوبی نیست.

در اینجا JSON بسیار کاربردی است.

فرض کنید می خواهید پیام های مشتری را تحلیل کنید.

به جای:

این پیام را تحلیل کن.

می توانید بنویسید:

پیام را تحلیل کن و فقط JSON معتبر با این ساختار برگردان:

{
  "category": "billing | technical | feature_request | general",
  "priority": "low | medium | high",
  "sentiment": "positive | neutral | negative",
  "summary": "یک جمله کوتاه"
}

هیچ متن دیگری خارج از JSON ننویس.

حالا پاسخ نه فقط برای انسان، بلکه برای سیستم هم قابل استفاده است.

ساختار را دقیق تعریف کنید

اگر JSON می خواهید، فقط نگویید «JSON بده».

مشخص کنید:

  • چه کلیدهایی لازم است
  • نوع مقدار چیست
  • چه مقادیری مجاز هستند
  • کدام فیلدها اجباری هستند
  • اگر اطلاعات موجود نبود چه اتفاقی بیفتد

مثلا:

اگر تاریخ در متن مشخص نشده، مقدار date را null قرار بده. تاریخ حدس نزن.

این یک دستور بسیار مهم است؛ چون جلوی بخشی از اطلاعات ساختگی را می گیرد.

6. قالب ثابت برای کارهای تکراری

اگر هر روز یا هر هفته یک نوع کار تکراری انجام می دهید، قالب خروجی را ثابت کنید.

مثلا برای خلاصه اخبار:

برای هر خبر دقیقا از این ساختار استفاده کن:

عنوان:
چه اتفاقی افتاد: حداکثر دو جمله
چرا مهم است: یک جمله
اثر احتمالی: یک جمله
منبع: لینک

یا برای بررسی یک ابزار:

خروجی همیشه شامل این بخش ها باشد:

  1. این ابزار چیست؟
  2. مناسب چه کسی است؟
  3. سه مزیت اصلی
  4. سه محدودیت
  5. یک مثال کاربرد واقعی
  6. نتیجه نهایی در یک جمله

وقتی ساختار ثابت باشد، مقایسه خروجی ها و استفاده مجدد از آنها بسیار ساده تر می شود.

7. فقط چیزی را بخواهید که لازم دارید

گاهی مشکل این نیست که مدل کم می گوید؛ مشکل این است که زیادی حرف می زند.

برای کارهای اجرایی می توانید صریح باشید:

فقط دستورها را بنویس، توضیح اضافه نده.

یا:

فقط نسخه نهایی ایمیل را بده. مقدمه ای مثل «حتما» یا «این هم متن پیشنهادی» ننویس.

یا:

فقط JSON معتبر برگردان؛ نه Markdown، نه توضیح، نه code fence.

این نوع دستورها مخصوصا وقتی خروجی را به سیستم دیگری می فرستید بسیار مهم هستند.

8. Markdown برای متن های خوانا و قابل انتشار

اگر قرار است متن در وب، GitHub، Notion یا سیستم مدیریت محتوا استفاده شود، می توانید Markdown بخواهید.

مثلا:

مقاله را با Markdown بنویس. یک H1، پنج H2، لیست bullet در صورت نیاز و یک بخش جمع بندی داشته باشد. از جدول فقط در بخش مقایسه استفاده کن.

یا:

خروجی را طوری بنویس که مستقیما در README پروژه قرار دهم. از heading، code block و bullet list استفاده کن.

این کار می تواند مقدار زیادی ویرایش دستی را حذف کند.

9. کنترل ترتیب بخش ها

گاهی همه اطلاعات درست هستند، اما ترتیبشان مناسب نیست.

ترتیب را هم مشخص کنید.

مثلا برای یک گزارش مدیریتی:

خروجی به این ترتیب باشد:

  1. خلاصه مدیریتی در سه جمله
  2. وضعیت فعلی
  3. مشکلات اصلی
  4. ریسک ها
  5. اقدامات پیشنهادی
  6. سه تصمیمی که مدیر باید بگیرد

با این ساختار، مدل می فهمد چه چیزی باید اول دیده شود و چه چیزی جزئیات بعدی است.

10. قالب پاسخ را با یک نمونه نشان دهید

گاهی توضیح دادن فرمت سخت تر از نشان دادن آن است.

مثلا:

خروجی را دقیقا شبیه این قالب بده:

ابزار: NotebookLM
کاربرد اصلی: کار با منابع و اسناد
مناسب برای: دانشجو، پژوهشگر، تولیدکننده محتوا
امتیاز پیشنهادی: 8/10

حالا همین ساختار را برای ChatGPT، Claude و Gemini تکرار کن.

این روش ترکیب دو تکنیک مهم است:

کنترل شکل خروجی + مثال دادن.

معمولا نتیجه بسیار قابل پیش بینی تر می شود.

11. اگر داده ای وجود ندارد، تکلیفش را مشخص کنید

یکی از مهم ترین بخش های خروجی ساخت یافته این است که مدل بداند با اطلاعات ناقص چه کند.

مثلا اگر از رزومه ها اطلاعات استخراج می کنید، بگویید:

اگر شماره تلفن وجود ندارد، مقدار را خالی نگذار و چیزی حدس نزن؛ بنویس null.

یا:

اگر نمی توانی مقدار را با اطمینان از متن استخراج کنی، وضعیت را unknown قرار بده.

یا:

فقط اطلاعاتی را وارد جدول کن که مستقیما در منبع وجود دارد. هیچ موردی را از روی حدس کامل نکن.

این دستورها برای کار واقعی بسیار مهم تر از زیبا بودن پاسخ هستند.

12. خروجی را قابل بررسی کنید

یک خروجی خوب باید تا حد ممکن قابل کنترل باشد.

فرض کنید از AI می خواهید ۳۰ شرکت را ارزیابی کند.

به جای یک امتیاز مبهم، معیار مشخص کنید:

برای هر شرکت سه امتیاز از ۰ تا ۵ بده:

  • تناسب با بازار هدف
  • اندازه فرصت
  • احتمال تبدیل

سپس total_score را از مجموع این سه مقدار محاسبه کن.

حالا می توانید بفهمید مدل چطور به نتیجه رسیده و خروجی را راحت تر بررسی کنید.

یک پرامپت ضعیف را بهتر کنیم

درخواست اولیه:

این متن را خلاصه کن.

نسخه بهتر:

این متن را برای مدیری خلاصه کن که فقط دو دقیقه وقت دارد. خروجی شامل این بخش ها باشد:

  • خلاصه اصلی: حداکثر ۸۰ کلمه
  • سه نکته مهم
  • دو ریسک
  • اقدام پیشنهادی

هیچ مقدمه یا توضیح اضافه ای ننویس.

حالا چند چیز مشخص شده است:

  • مخاطب کیست
  • محدودیت زمانی چیست
  • طول خروجی چقدر است
  • چه بخش هایی لازم است
  • چه چیزی نباید اضافه شود

این دقیقا همان چیزی است که کنترل خروجی انجام می دهد.

یک Template ساده برای کنترل خروجی

برای کارهای روزمره می توانید از این ساختار استفاده کنید:

[کاری که باید انجام شود]

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

  • قالب: [جدول / لیست / JSON / Markdown / متن]
  • طول: [محدودیت طول]
  • بخش ها: [بخش های لازم]
  • ترتیب: [در صورت اهمیت]
  • محدودیت: [چه چیزی نباید باشد]
  • اطلاعات ناموجود: [null / نامشخص / حذف شود]

فقط خروجی نهایی را برگردان.

مثال:

این پنج ابزار را برای یک تیم بازاریابی مقایسه کن.

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

  • قالب: جدول Markdown
  • ستون ها: ابزار، کاربرد اصلی، مزیت، محدودیت، مناسب برای
  • هر خانه: حداکثر ۲۰ کلمه
  • بعد از جدول: یک پیشنهاد نهایی در حداکثر سه جمله
  • اگر اطلاعات کافی نداری، صریحا بنویس «اطلاعات کافی نیست» و حدس نزن.

آیا مدل همیشه فرمت را دقیق رعایت می کند؟

نه.

هرچقدر هم پرامپت خوب باشد، مدل ممکن است گاهی:

  • یک ستون اضافه کند
  • JSON نامعتبر بدهد
  • محدودیت طول را رد کند
  • توضیحی خارج از قالب بنویسد
  • بعضی فیلدها را فراموش کند

برای استفاده معمولی، یک پرامپت دقیق اغلب کافی است.

اما اگر خروجی وارد یک سیستم خودکار می شود، بهتر است علاوه بر پرامپت، خروجی را در کد هم Validate کنید.

مثلا بررسی کنید:

  • JSON واقعا parse می شود یا نه
  • همه فیلدهای لازم وجود دارند یا نه
  • نوع داده درست است یا نه
  • مقدارها در لیست مجاز هستند یا نه

پرامپت جای Validation را نمی گیرد.

این نکته مخصوصا در اتوماسیون مهم است.

اشتباه رایج: فرمت بیش از حد پیچیده

کنترل خروجی خوب است، اما نباید تبدیل به یک قرارداد ۷۰ بندی برای یک سوال ساده شود.

اگر فقط می خواهید یک ایمیل کوتاه بنویسید، احتمالا نیازی به Schema پیچیده ندارید.

اصل ساده این است:

به اندازه ای ساختار بدهید که خروجی قابل استفاده شود؛ نه آن قدر که نوشتن پرامپت از انجام خود کار سخت تر شود.

تمرین عملی

یک کاری را انتخاب کنید که این هفته حداقل دو بار از AI برای آن استفاده کرده اید.

پرامپت قبلی خود را پیدا کنید و فقط بخش خروجی آن را بازنویسی کنید.

از خودتان بپرسید:

  • قرار است جواب را کجا استفاده کنم؟
  • جدول بهتر است یا متن؟
  • چه بخش هایی واقعا لازم دارم؟
  • طول مناسب چقدر است؟
  • آیا چیزی هست که نباید در خروجی باشد؟
  • اگر اطلاعات ناقص بود، مدل باید چه کند؟

بعد همان درخواست را دوباره اجرا کنید.

احتمالا متوجه می شوید که برای بهتر کردن پاسخ همیشه لازم نیست پرامپت را طولانی تر کنید.

گاهی کافی است جمله آخر را بهتر بنویسید:

«خروجی را دقیقا به این شکل بده...»

جمع بندی

پرامپت خوب فقط توضیح نمی دهد که مدل چه کاری انجام دهد.

مشخص می کند نتیجه چه شکلی باشد.

اگر می خواهید خروجی AI واقعا وارد کار روزمره شما شود، درباره این موارد صریح باشید:

  • طول
  • قالب
  • بخش ها
  • ترتیب
  • ستون ها یا فیلدها
  • اطلاعات ناموجود
  • چیزهایی که نباید نوشته شوند

از متن کوتاه و چک لیست گرفته تا جدول، CSV، Markdown و JSON، هرچه شکل خروجی را بهتر تعریف کنید، فاصله بین «پاسخ مدل» و «چیزی که واقعا قابل استفاده است» کمتر می شود.

و این همان جایی است که پرامپت نویسی از یک بازی با کلمات تبدیل به یک مهارت عملی می شود.