T1 · Beginner · 7 دقيقةثابت · آخر مراجعة: 2026-08-19مسودة أولى — بنراجعها

المخرجات المنظّمة — خلّيه يرد JSON

في سطر واحد · لما تطبيقك محتاج يقرا رد الموديل برمجيًا، بتطلب منه صيغة ثابتة زي JSON بمفاتيح محدّدة — مش كلام حر.

القاموس:GuardrailsLLMPrompt
ليه ده مهم؟

الكلام الحر جميل للبني آدم بس كابوس للكود. صيغة ثابتة بتخلّيك تـ parse الرد وتبني عليه من غير ما تخمّن. بس خلي بالك: مجرد ما تطلب JSON في الـ prompt مبيضمنش إنه ييجي صالح ١٠٠٪ — لسه لازم تـ validate، ولو الـ API بيدعم structured output / schema mode ده أوثق بكتير من الطلب بالكلام.

زي الفرق بين ما حد يحكيلك عنوانه في جملة، وبين ما يملّى لك فورمة فيها خانات: شارع، مدينة، رقم. التاني بتقراه آلي على طول.

خلينا نفهمها بمثال

فكّرها كـ API contract مع الموديل: إنت محدّد الـ schema، وهو بيملاه. أوضح ما تحدّده، أثبت ما يجيلك.

بدل «الرسالة دي شكوى ونبرتها غاضبة»، تطلب: {"category":"complaint","sentiment":"angry"} — وتقراه في الكود من غير regex.

طيب بتحصل إزاي؟

بتوصّف الشكل المطلوب جوه الـ prompt: المفاتيح، نوع كل قيمة، والقيم المسموحة (enum)، ويفضّل كمان مثال كامل للرد المتوقّع. الموديل بيحاول يلتزم — بس ده التزام احتمالي: ممكن يزوّد جملة قبل الـ JSON، أو ينسى مفتاح، أو يخترع قيمة مش في الـ enum. عشان كده في الكود بتعمل دايمًا parse + validation (بمكتبة زي Zod)، ولو الـ API بتاعك بيدعم structured output أو JSON schema mode بتستخدمه — لأنه بيفرض الشكل على مستوى التوليد نفسه، مش بالرجاء.

Extract from the ticket below. Reply with JSON only, no prose:
{"category": "bug" | "billing" | "other",
 "sentiment": "angry" | "neutral" | "happy",
 "summary": string}

Ticket:
"""
I was charged twice this month and nobody replies to my emails!
"""

حتى مع prompt بالوضوح ده، اتعامل مع الرد كمدخل غير موثوق: parse ثم validate قبل ما تبني عليه.

خلينا نبنيها

🧪 جرّب بنفسك: خد ٥ رسايل عملاء حقيقية واطلب من الموديل يصنّفها بالـ schema اللي فوق. اعمل parse للردود في الكود وسجّل كام واحد فشل، بعدين ضيف مثال output كامل جوه الـ prompt وأعد التجربة — قارن نسبة الـ JSON الصالح قبل وبعد.

أشهر الأخطاء
  • JSON.parse على الرد مباشرة من غير validation ولا التعامل مع كلام زائد حوالين الـ JSON — أول رد مش مظبوط بيرمي exception في production.
  • schema غامض («رجّع JSON فيه التفاصيل») من غير مفاتيح وأنواع محددة.
  • تجاهل الـ schema mode المدعوم في الـ API والاكتفاء بالطلب بالكلام — بتسيب أوثق أداة عندك على الرف.
إمتى تستخدمها؟

أي رد هيتقرا بالكود: تصنيف، استخراج بيانات، فلترة، أي pipeline الموديل فيه خطوة في النص.

وإمتى لأ؟

الردود اللي رايحة للبني آدم مباشرة (شات، شرح، كتابة) — JSON هناك بيخلّي التجربة أسوأ وبيقيّد جودة الكلام نفسه من غير سبب.

خلينا نبنيهاالقراءة خلصت — دلوقتي ابنيها بإيدك.خلّي الموديل يرد بـ JSON صالح
المخرجات المنظّمة — خلّيه يرد JSON · BuildAI