Prompt Design for Reliable Tasks
توسعه عاملهای هوشمند (Agentic Ai) با Langchain و Langgraph
- Specify task, context, constraints, output format, and fallback behavior.
- Use examples only when they improve task reliability.
- Design prompts that constrain answers to supplied evidence.
چرا طراحی Prompt مهم است؟
**ایدهٔ اصلی**
قابل اتکا بودن پاسخ فقط ویژگی مدل نیست؛ طراحی ورودی نیز نقش مستقیم دارد.
```mermaid
flowchart LR
A["درخواست کاربر"] --> B["Prompt دقیق"]
C["شواهد فراهمشده"] --> B
B --> D["پاسخ محدود و قابل بررسی"]
B --> E["Fallback در نبود شواهد"]
```
پنج جزء یک Prompt مطمئن
**پنج جزء**
- Task instruction: چه کاری انجام شود؟
- Context delimiting: شواهد کجا هستند؟
- Constraints: چه چیزهایی مجاز یا ممنوعاند؟
- Output format: پاسخ چه شکلی داشته باشد؟
- Fallback behavior: هنگام نبود شواهد چه اتفاقی بیفتد؟
```mermaid
flowchart TD
T["Task"] --> P["Prompt"]
C["Context"] --> P
R["Constraints"] --> P
O["Output format"] --> P
F["Fallback"] --> P
P --> A["Answer"]
P --> U["Uncertainty response"]
```
نمونهٔ کامل پرسش مبتنی بر شواهد
**حل کامل**
دادهها: زمان تحویل برابر با 3 روز و هزینهٔ ارسال برابر با 80 واحد است.
پرسش دو فیلد میخواهد:
1. زمان تحویل ← 3 روز
2. هزینهٔ ارسال ← 80 واحد
نتیجه:
- زمان تحویل: 3 روز
- هزینهٔ ارسال: 80 واحد
**چرا درست است؟**
هر دو ادعا مستقیماً در evidence آمدهاند؛ بنابراین پاسخ بدون حدس بیرونی ساخته میشود.
مقایسهٔ دو Prompt
**دو طراحی**
- Prompt 1: منبع و رفتار هنگام کمبود شواهد مشخص نیست؛ خطر حدس وجود دارد.
- Prompt 2: منبع، شرط شاهد صریح و پاسخ جایگزین مشخص است.
- نتیجهٔ Prompt 2: اطلاعات کافی نیست.
**بررسی مرحلهای**
داده: نام محصول A و هزینهٔ ارسال 80 واحد.
هدف: تعیین رایگان بودن ارسال.
بررسی اول: عبارت «ارسال رایگان» در evidence نیست.
بررسی دوم: هزینهٔ 80 واحد فقط هزینه را گزارش میکند و رایگان بودن را ثابت نمیکند.
نتیجه: اطلاعات کافی نیست.
Examples؛ کم، اما هدفمند
**Fallback در عمل**
پرسش: رنگ محصول چیست؟
Evidence: زمان تحویل: 3 روز
گام 1: رنگ در evidence نیست.
گام 2: پاسخ رنگ پشتیبانی نمیشود.
گام 3: fallback اجرا میشود.
خروجی: اطلاعات کافی نیست.
**قاعدهٔ انتخاب**
هر example باید قالب، مرز، یا رفتار تازهای را نشان دهد؛ در غیر این صورت هزینهٔ context بدون فایده افزایش مییابد.
چکلیست و محدودیتهای واقعی
**آزمون کوتاه**
اگر evidence فقط «زمان تحویل: 3 روز» را دارد و پرسش دربارهٔ رنگ است، خروجی درست چیست؟ پاسخ: اطلاعات کافی نیست؛ چون رنگ در evidence پشتیبانی نشده است.
```mermaid
flowchart LR
A["نوشتن Prompt"] --> B["آزمون با پرسش پاسخپذیر"]
B --> C["آزمون با شواهد ناکافی"]
C --> D["مقایسه با معیارها"]
D --> E["اصلاح Prompt"]
E --> B
```
Back to course