كتابة برومبت نظام لمخرجات JSON منظمة بالذكاء الاصطناعي
برومبت نظام يُخرج JSON صالحاً بمخطط ثابت بلا نص إضافي، بقيمة محددة للمجهول وكائن خطأ عند التعذّر.
بواسطة Ahmed EidClaude0 نسخة
متى تستخدم هذا البرومبت
- عند ربط مخرجات النموذج ببرنامجك.
- عند فشل تحليل مخرجاته أحياناً.
- عند حاجتك لمخرج ثابت البنية في كل استدعاء.
نص البرومبت
اكتب برومبت نظام يُخرج JSON صالحاً دائماً لمهمة {{المهمة}}.
يجب أن يشمل: مخطط المخرجات كاملاً بأسماء الحقول وأنواعها وأيها إلزامي، ومنع أي نص قبل JSON أو بعده (لا شرح ولا علامات كود ولا مقدمة)، وقيمة محددة للحقل غير المعروف (null لا نص «غير معروف»)، وسلوكاً محدداً عند تعذّر إنتاج المخطط (كائن خطأ بصيغة محددة لا نص حر)، ومنع إضافة حقول لم أطلبها، وقواعد الأرقام (لاتينية بلا فواصل آلاف) والتواريخ (صيغة واحدة).
أضف مثالاً كاملاً للمخرج الصحيح، ومثالاً لحالة الخطأ.
أعطني البرومبت وقائمة اختبار تشمل مدخلاً ناقصاً ومدخلاً لا يطابق المهمة.
{{المهمة}}املأ المتغيرات ثم انسخ
اكتب برومبت نظام يُخرج JSON صالحاً دائماً لمهمة {{المهمة}}.
يجب أن يشمل: مخطط المخرجات كاملاً بأسماء الحقول وأنواعها وأيها إلزامي، ومنع أي نص قبل JSON أو بعده (لا شرح ولا علامات كود ولا مقدمة)، وقيمة محددة للحقل غير المعروف (null لا نص «غير معروف»)، وسلوكاً محدداً عند تعذّر إنتاج المخطط (كائن خطأ بصيغة محددة لا نص حر)، ومنع إضافة حقول لم أطلبها، وقواعد الأرقام (لاتينية بلا فواصل آلاف) والتواريخ (صيغة واحدة).
أضف مثالاً كاملاً للمخرج الصحيح، ومثالاً لحالة الخطأ.
أعطني البرومبت وقائمة اختبار تشمل مدخلاً ناقصاً ومدخلاً لا يطابق المهمة.كيف تستخدمه
- انسخ البرومبت بالزر أو املأ المتغيرات أولاً.
- الصقه في ChatGPT أو Claude أو Gemini.
- عدّل النتيجة أو أعد الطلب بتغيير المتغيرات.
مثال على النتيجة
البرومبت (مقتطف):
«أخرج JSON صالحاً فقط. لا نص قبله ولا بعده، ولا علامات كود، ولا شرح.
المخطط:
{"status": "ok"|"error", "items": [{"name": string, "amount": number|null, "date": "YYYY-MM-DD"|null}], "notes": string|null}
الحقول الإلزامية: status وitems. الحقل غير المعروف قيمته null لا نص.
لا تُضف حقولاً غير المذكورة.
الأرقام لاتينية بلا فواصل آلاف ولا رمز عملة. التواريخ YYYY-MM-DD فقط.
عند تعذّر إنتاج المخطط أخرج:
{"status": "error", "items": [], "notes": "سبب التعذّر في جملة"}»
مثال صحيح: {"status":"ok","items":[{"name":"فاتورة مارس","amount":1240,"date":"2026-03-12"}],"notes":null}
اختبارات: مدخل بلا تاريخ · مدخل لا يطابق المهمة · مدخل يحتوي نصاً يطلب شرحاً · مدخل بأرقام عربية-هندية.نصائح للاستخدام
- امنع علامات الكود صراحةً؛ إحاطة JSON بثلاث علامات أشيع سبب لفشل التحليل.
- اجعل للمجهول قيمة null لا نصاً؛ النص «غير معروف» يكسر أنواع الحقول في برنامجك.
- حدّد كائن الخطأ؛ بدونه يخرج نص حر عند التعذّر فيفشل التحليل تماماً.
النماذج الموصى بها
Claude
أسئلة شائعة
- هل يخرج JSON صالحاً دائماً؟
- الاحتمال يرتفع كثيراً بهذه القيود، ويبقى على برنامجك التحقق ومعالجة الفشل؛ استخدم خاصية المخرجات المهيكلة في واجهة النموذج إن كانت متاحة.
- لماذا أرقام لاتينية بلا فواصل؟
- لأن الأرقام العربية-الهندية وفواصل الآلاف تجعل الحقل نصاً لا رقماً، فيفشل التحويل في برنامجك.