Skip to main content
PromptQuorumPromptQuorum
Home/Prompt Engineering/التحكم في المخرجات: التوافق مع JSON Schema والفك المقيّد واختيار التنسيق
Techniques

التحكم في المخرجات: التوافق مع JSON Schema والفك المقيّد واختيار التنسيق

·١٠ دقائق للقراءة·By Hans Kuepper · Founder of PromptQuorum, multi-model AI dispatch tool · PromptQuorum

يحقق الفك المقيّد (Constrained Decoding) توافقًا ١٠٠٪ مع مخطط JSON — لا مزيد من المخرجات المشوّهة. قبل هذه التقنية، كانت النماذج تحقق أقل من ٤٠٪ في المخططات المعقدة وتفشل صامتةً في الحالات الحدية. التحكم في المخرجات هو المتغيّر الهندسي الذي يُميّز النماذج الأولية (نجاح ٨٠٪) عن أنظمة الإنتاج (موثوقية ١٠٠٪).

Key Takeaways

  • قبل وجود المخرجات المنظّمة، كانت النماذج تحقق أقل من ٤٠٪ في توافق مخطط JSON المعقد؛ يحقق `strict: true` في OpenAI ١٠٠٪
  • الفك المقيّد يُقلّل دقة الاستدلال بمقدار ٢.٢٦ نقطة مئوية في معايير BFCL — استخدم نهج المرحلتين (استدلال حر → نموذج هيكلة متخصص) للمهام المعقدة
  • لا تضبط درجة الحرارة وTop-P على قيم عالية في آن واحد — يتضافران لإنتاج مخرجات أكثر اضطرابًا من أي معامل منفردًا
  • `frequency_penalty`: نطاق -2.0 إلى 2.0 يُقلّل التكرار بنسبة لتكراره؛ `presence_penalty`: نطاق -2.0 إلى 2.0 يُطبّق عقوبة ثابتة على أي رمز رُئي سابقًا — كلاهما عند 0.3-0.5 للمخرجات الواقعية المركّزة
  • تسلسلات التوقف هي الآلية الوحيدة الحتمية لإنهاء المخرجات — على خلاف القيود السلبية في نص الموجّه، لا يستطيع النموذج تجاوزها
  • نطاقات درجة الحرارة: T = 0.0-0.3 للمهام الواقعية الحتمية؛ T = 0.7-1.0 للمهام الإبداعية؛ T > 1.2 تُخاطر بالتشتت في الاستخدام الإنتاجي
  • يحقق Claude Opus 4.8 توافق JSON بنسبة ٩٣٪ بموجّهات تنسيق مُعلَّمة بـXML؛ يحقق GPT-5.5 ٨٩٪ بقواعد تنسيق مُرقَّمة — كلاهما بدون الفك المقيّد

ما هي المستويات الثلاثة للتحكم في المخرجات؟

يعمل التحكم في المخرجات على ثلاثة مستويات متمايزة — القائم على الموجّه والقائم على المخطط والفك المقيّد — حيث يقدّم كل منها ضمانات تنسيق أقوى تدريجيًّا مع مقايضات أكبر تدريجيًّا في مقابل جودة الاستدلال.

التنسيق القائم على الموجّه يُعطي النموذج تعليمات بلغة طبيعية ("أعِد JSON بالحقول: الاسم والبريد الإلكتروني والنتيجة"). يعمل هذا في ٨٠-٩٥٪ من الحالات، لكنه يفشل صامتًا في الحالات الحدية. الأساليب القائمة على المخطط (استدعاء الوظائف/استخدام الأدوات) تُعرّف بنية المخرجات رسميًّا بتوافق ٩٥-٩٩٪. الفك المقيّد الأصلي يستخدم آلات حالات محدودة لإخفاء الرموز غير الصالحة في وقت التوليد، منتجًا ١٠٠٪ من المخرجات الصالحة وفق المخطط.

نهج المرحلتين — ترك Claude Opus 4.8 أو GPT-5.5 يستدلّان بحرية في المرحلة الأولى، ثم تغذية المخرجات لنموذج متخصص صغير في المرحلة الثانية — يحقق ضمانات التنسيق دون عقوبة جودة الاستدلال من الفك المقيّد.

بكلمة واحدة: كيّف مستوى قيد المخرجات بالمهمة — استخدم الفك المقيّد فقط عندما تكون صحة التنسيق أهم من عمق الاستدلال.

المستوىمعدل التوافقتأثير الاستدلالالأفضل لـ
قائم على الموجّه ("أعِد JSON")٨٠-٩٥٪لا يوجدالنماذج الأولية؛ المسارات البسيطة
استدعاء الوظائف / استخدام الأدوات٩٥-٩٩٪ضئيلمعظم تطبيقات الإنتاج
الفك المقيّد الأصلي (صارم)١٠٠٪انخفاض جودة ٢-١٠٪استخراج البيانات؛ مسارات الحجم الكبير
مرحلتان (نص حر → نموذج متخصص)~١٠٠٪لا يوجداستدلال معقد + تنسيق مضمون

كيف تتحكم في تنسيق المخرجات عبر هندسة الموجّهات؟

تعليمات مخطط المخرجات الصريحة — الموضوعة في بداية موجّه النظام لـClaude Opus 4.8 وفورًا قبل محتوى المستخدم لـGPT-5.5 — تنتج معدلات توافق مخرجات منظّمة تبلغ ٨٥-٩٥٪ دون عقوبة جودة الاستدلال من الفك المقيّد الأصلي.

يستجيب Claude Opus 4.8 بشكل أفضل لتعليمات تنسيق المخرجات الموضوعة في بداية موجّه النظام باستخدام علامات أقسام بأسلوب XML. يعمل GPT-5.5 بشكل أفضل حين يُوضع المخطط فورًا قبل محتوى المستخدم باستخدام قواعد تنسيق مُرقَّمة. Gemini 3.1 Pro ينتج المخرجات المنظّمة الأكثر موثوقية حين يُكرَّر المخطط في بداية الموجّه ونهايته.

موجّه ضعيف — بلا بنية ولا تحديد تنسيق:

Analyse this customer review and tell me the sentiment, key issues, and urgency.

كيف يبدو موجّه مخرجات منظّمة جيد (Claude Opus 4.8)؟

موجّه جيد — Claude Opus 4.8

<output_format> Return only this JSON object, no prose: { "sentiment": "positive" | "neutral" | "negative", "key_issues": "string", // max 3 items "urgency": "low" | "medium" | "high", "confidence": 0.0–1.0 } </output_format> <task>Analyse the following customer review.</task> <review>REVIEW TEXT HERE</review>

الموجّه المنظّم بـXML يُرسّخ عقد تنسيق المخرجات مع الحفاظ على الاستدلال الحر داخل الكتلة `<task>`. لا حاجة للفك المقيّد — Claude Opus 4.8 يلتزم في أكثر من ٩٣٪ من استدعاءات الإنتاج بهذه البنية.

كيف يبدو موجّه مخرجات منظّمة جيد (GPT-5.5)؟

موجّه جيد — GPT-5.5

Analyse the following customer review. Format rules: 1. Return valid JSON only. No markdown fences. No explanation. 2. Fields: "sentiment" (string: "positive"|"neutral"|"negative"), "key_issues" (array of strings, max 3), "urgency" (string: "low"|"medium"|"high"), "confidence" (float: 0.0–1.0) 3. If no issues found, return empty array for key_issues. <REVIEW TEXT HERE>

ما قواعد تنسيق المخرجات التي تنطبق على كل نموذج؟

لكل نموذج لغة كبير رئيسي تفضيلات بنيوية متمايزة للتوافق مع تنسيق المخرجات:

  • Claude Opus 4.8 (Anthropic) — علامات XML (`<output>`, `<format>`, `<constraints>`)؛ المخطط في البداية؛ "أعِد JSON فقط، لا شيء آخر"
  • GPT-5.5 (OpenAI) — قواعد تنسيق مُرقَّمة؛ المخطط بعد التعليمة الرئيسية؛ "استجب بـJSON صالح. بلا markdown. بلا تفسير."
  • Gemini 3.1 Pro (Google DeepMind) — مخطط موجز وصريح في البداية والنهاية؛ مثال one-shot للتنسيق المطلوب في الموجّه
  • النماذج المحلية عبر Ollama (LLaMA 3.1 7B, Mistral) — أكثر حساسية لانجراف التنسيق؛ مثال تنسيق one-shot مباشرةً في الموجّه مطلوب لمخرجات JSON موثوقة

ما معاملات أخذ العينات التي تتحكم في توليد المخرجات؟

درجة الحرارة (T) وTop-P وTop-K وmax_tokens وfrequency_penalty وpresence_penalty ستة معاملات مستقلة تُحدد معًا طول المخرجات وعشوائيتها وتكرارها — ويجب ضبطها بشكل متسق لا متعارض.

درجة الحرارة (T) تُوسّع توزيع softmax للمخرجات: مع T = 0.0 يختار النموذج دائمًا الرمز الأعلى احتمالًا (حتمي)؛ مع T = 2.0 يكاد يكون التوزيع مسطّحًا وتصبح المخرجات متشتتة. Top-P (أخذ عينات النواة) يختار من المجموعة الدنيا من الرموز التي يبلغ احتمالها المتراكم P. Top-K يُقيّد التوليد على الرموز الـK الأعلى احتمالًا في كل خطوة.

صيغة softmax مع درجة الحرارة: P(token) = exp(logit / T) / sum(exp(logits / T)). حين تقترب T من الصفر، يقترب الرمز الأعلى logit من احتمال 1.0.

المعاملالنطاقمركّز / واقعيإبداعي / متنوع
درجة الحرارة (T)0.0–2.00.0–0.30.7–1.0
Top-P0.0–1.00.3–0.50.9–1.0
Top-K1–حجم المفردات10–2050–100
max_tokensيعتمد على المهمة256–5122048–8192
frequency_penalty-2.0 إلى 2.00.3–0.5 (تقليل التكرار)0.0–0.2
presence_penalty-2.0 إلى 2.00.0–0.20.5–0.8

قاعدة حرجة: لا تضبط درجة الحرارة وTop-P على قيم عالية في آن واحد. درجة الحرارة تُوسّع التوزيع الكامل أولًا؛ ثم يأخذ Top-P عينات من كتلة الاحتمال العلوية المُوسَّعة بالفعل. الجمع بين T = 1.5 وTop-P = 0.95 ينتج مخرجات أكثر اضطرابًا من أي معامل منفردًا.

`frequency_penalty` يُقلّل احتمال الرموز بنسبة تتناسب مع عدد مرات ظهورها — القيم الموجبة تُزيل العبارات المتكررة؛ السلبية تُشجّع التكرار بنشاط. `presence_penalty` يُطبّق عقوبة لمرة واحدة على أي رمز ظهر بالفعل، بصرف النظر عن التكرار — يدفع النموذج لإدخال مفردات ومواضيع جديدة.

ما المقايضة بين جودة الاستدلال وضمانات تنسيق المخرجات؟

إجبار JSON عبر الفك المقيّد يُقلّل دقة النموذج بمقدار ٢.٢٦ نقطة مئوية في معايير استدعاء الوظائف — حقّق تحليل النص الحر المتوافق مع مخطط BAML دقة ٩٣.٦٣٪ في BFCL مقابل ٩١.٣٧٪ للفك المقيّد الصارم في نفس المعيار.

الآلية: الفك المقيّد يُطبّق آلة حالات محدودة تُخفي الرموز غير المتوافقة مع موضع المخطط الحالي. نموذج يريد إنتاج `51.7` لحقل عائم يُجبر على إنتاج `51` إن حدّد المخطط عددًا صحيحًا — منتجًا نتيجةً صالحة تقنيًّا لكن متدنية واقعيًّا. موجّهات التفكير التسلسلي (CoT) غير متوافقة مع الفك المقيّد بنفس الطريقة.

الحل الجاهز للإنتاج للأنظمة التي تتطلب عمق الاستدلال وضمانات التنسيق: (١) المرحلة الأولى — أرسل إلى GPT-5.5 أو Claude Opus 4.8 بلا قيود: "حلّل هذا، استدلّ خطوةً بخطوة، اشرح منطقك." (٢) المرحلة الثانية — أطعم مخرجات المرحلة الأولى لنموذج متخصص صغير: "استخرج البيانات الرئيسية من هذا التحليل وأعِدها بمخطط JSON هذا بالضبط."

كيف تقارن النماذج الرئيسية في التحكم في تنسيق المخرجات؟

اختُبر في PromptQuorum — ٣٠ موجّه تحكم في المخرجات أُرسلت لثلاثة نماذج: حقق Claude Opus 4.8 توافق JSON بنسبة ٩٣٪ باستخدام تعليمات تنسيق بعلامات XML بدون الفك المقيّد. حقق GPT-5.5 توافق ٨٩٪ باستخدام قواعد تنسيق مُرقَّمة. حقق Gemini 3.1 Pro توافق ٩١٪ مع المخطط المُشار إليه في البداية والنهاية. أنتجت النماذج الثلاثة استدلالًا أقصر وأقل اكتمالًا حين فُعّل الفك المقيّد بـ`strict: true`.

كيف تختلف تسلسلات التوقف عن القيود السلبية؟

تسلسلات التوقف — الرموز التي تُنهي مخرجات النموذج فورًا عند توليدها — هي آلية التحكم في المخرجات الأكثر حتمية: يتوقف النموذج في اللحظة التي تظهر فيها السلسلة المحددة، بصرف النظر عن السياق المتبقي.

تُمرَّر تسلسلات التوقف كمصفوفة من السلاسل في استدعاء API (معامل `stop` في OpenAI، `stop_sequences` في Anthropic). استخدامات إنتاجية شائعة:

  • `"###"` — تُنهي التوليد بعد علامة قسم منظّمة، مانعةً الاستمرار نحو محتوى غير ذي صلة
  • `"</output>"` — تُنهي بعد علامة إغلاق XML، ضامنةً إعادة المحتوى المُعلَّم فقط
  • `"\n\n"` — تحدّ المخرجات بفقرة واحدة لمهام التصنيف أو الإجابات القصيرة
  • `"Human:", "User:"` — تمنع النموذج من هلوسة استمرار محادثة محاكاة

القيود السلبية في نص الموجّه — "لا تُضمّن التفسيرات"، "بلا markdown"، "لا تُضف جملًا تمهيدية" — تُقلّل أنماط المخرجات غير المرغوب فيها لكنها لا تستطيع ضمان التوافق كما تفعل تسلسلات التوقف. استخدم كليهما: تسلسلات التوقف للإنهاء البنيوي، القيود السلبية لتشكيل المحتوى.

ما تنسيق المخرجات الذي تستخدمه لمسارات الإنتاج؟

JSON هو تنسيق المخرجات السائد لمسارات نماذج اللغة الإنتاجية لأنه يُعيَّن مباشرةً على كائنات API والمصفوفات والبيانات المُحدَّدة النوع — لكن إجبار JSON عبر الفك المقيّد يُضحّي بـ٢-١٠٪ من جودة الاستدلال.

TOON (تدوين المخرجات المُحسَّن للرموز) برز كتنسيق إدخال فعّال للموجّهات المنظّمة الطويلة — يستخدم تقليل المسافات البيضاء والمفاتيح المختصرة لتقليل استهلاك رموز الإدخال. البنية الإنتاجية الموصى بها لعام ٢٠٢٦: TOON للإدخال (كفاءة الرموز) + JSON مع الفك المقيّد للمخرجات فقط بعد الاستدلال الحر للمرحلة الأولى.

تنسيق المخرجاتحالة الاستخدامملاحظات
JSONواجهات API والمسارات ومخازن المستنداتدعم مخرجات منظّمة أصلي من جميع المزوّدين الرئيسيين
JSONLتدفقات الأحداث والمعالجة الدفعيةكائن JSON واحد لكل سطر؛ مناسب للبثّ والتسجيل
CSVالتكامل مع الأنظمة القديمةأبسط لكن بلا بنية متداخلة؛ جيد للبيانات الجدولية
YAMLقطع الإعدادقابل للقراءة البشرية؛ يُستخدم في سياقات CI/CD والبنية التحتية
XMLالتكامل المؤسسيمطوّل؛ يفضّله Claude كتنسيق بنية موجّه، لا كمخرجات
Markdownالتقارير القابلة للقراءة والتوثيقسيء للمعالجة اللاحقة؛ أفضل للمستهلكين البشريين

ما الاعتبارات العالمية والإقليمية للتحكم في المخرجات؟

الشركات الأوروبية التي تبني مسارات نماذج لغة تعالج بيانات شخصية يجب تطبيق المادة ٢٥ من GDPR (الخصوصية بالتصميم) على تصميم مخطط المخرجات — المخرجات التي تكشف حقول بيانات شخصية في حمولات JSON تتطلب أساسًا قانونيًّا بموجب المادة ٦ من GDPR.

للفرق الأوروبية التي تتطلب الاستدلال في الموقع مع التحكم في المخرجات المنظّمة، تدعم Mistral AI (فرنسا) الفك المقيّد القائم على vLLM مع معاملات JSON الموجَّهة — مما يُتيح التوافق المضمون مع JSON Schema داخل البنية التحتية الأوروبية بالكامل، مُرضيًا متطلبات إقامة البيانات من GDPR بموجب المادة ٤٦.

الشركات الصينية تستخدم Qwen 3 (Alibaba) وDeepSeek V3 (DeepSeek AI) لمسارات الإنتاج بالتحكم في المخرجات. كلا النموذجين يدعمان وضع JSON وقابلان للنشر محليًّا في البنية التحتية المؤسسية الصينية بموجب المراسيم المؤقتة للذكاء الاصطناعي التوليدي في الصين (٢٠٢٣).

الأخطاء الشائعة في التحكم في المخرجات

ضبط درجة الحرارة وTop-P معًا على قيم عالية

Why it hurts: يتضافران — T=1.5 + Top-P=0.95 ينتجان مخرجات أكثر اضطرابًا من أي معامل منفردًا.

Fix: استخدم أحدهما كعنصر تحكم رئيسي في العشوائية، لا كليهما.

إجبار JSON في مهام الاستدلال المعقد

Why it hurts: الفك المقيّد يُقلّل الدقة بين ٢-١٠٪. يُضحّي النموذج بجودة الاستدلال للحفاظ على توافق المخطط.

Fix: استخدم نهج المرحلتين: استدلال حر أولًا، ثم استخراج منظّم.

كتابة "أعِد JSON" بدون إظهار المخطط الدقيق

Why it hurts: النموذج يخمّن أسماء الحقول والأنواع والتداخل — منتجًا JSON غير صالح أو مشوّه.

Fix: قدّم دائمًا المخطط الكامل بأنواع الحقول وقيم التعداد.

الاعتماد على القيود السلبية في نص الموجّه للتنسيق الحرج

Why it hurts: "لا تُضمّن markdown" قد يتجاهله النموذج، خاصةً مع درجة حرارة عالية.

Fix: استخدم تسلسلات التوقف على مستوى API — إنها الآلية الوحيدة الحتمية للإنهاء.

نسخ إعدادات درجة الحرارة بين النماذج

Why it hurts: T=0.7 في GPT-5.5 وT=0.7 في Claude ينتجان توزيعات احتمال مختلفة.

Fix: اختبر كل إعداد معامل لكل نموذج في مسار الإنتاج الخاص بك.

قراءات ذات صلة

كيفية التحكم في تنسيق مخرجات الذكاء الاصطناعي

  1. 1
    حدّد دائمًا تنسيق المخرجات المطلوب بشكل صريح في الموجّه. بدلًا من "لخّص هذا"، قل: "لخّص كقائمة من ٥-٧ نقاط، كل منها من ١-٢ جملة. استخدم الصوت الفاعل. لا تُضمّن آراءً." كن محددًا بشأن البنية: نقاط أو جداول أو JSON أو markdown أو نص عادي.
  2. 2
    استخدم مخطط JSON لتطبيق المخرجات المنظّمة حين تتوفر (OpenAI، Anthropic). إن كنت تستخرج بيانات أو تولّد محتوى قابل للقراءة الآلية، عرّف المخطط: أسماء الحقول والأنواع والحقول المطلوبة وقيود التعداد. سيُنسّق النموذج المخرجات لتتناسب تلقائيًّا.
  3. 3
    قدّم مثالًا على تنسيق المخرجات الدقيق الذي تريده. أظهر للنموذج مثالًا ملموسًا: "نسّق هكذا: { \"topic\": \"...\", \"key_points\": ..., \"confidence\": \"high|medium|low\" }." الأمثلة أقوى من الأوصاف وحدها.
  4. 4
    استخدم لغة قائمة على القيود: "يجب X، لا يجب Y، دائمًا Z." تجنّب اللغة اللينة ("حاول"، "اهدف إلى"). قل: "أعِد بالضبط ٣ خطوات، لا أقل ولا أكثر. لا تستخدم المصطلحات التقنية. أدرج دائمًا تحذيرًا إن كانت التوصية لها قيود."
  5. 5
    اختبر مواصفات تنسيق مخرجاتك على مثال قبل التشغيل على نطاق واسع. ولّد مخرجًا، تحقق إن كان يتطابق مع مواصفتك، اضبط الموجّه إن لزم. هذا يمنع اكتشاف مشاكل التنسيق بعد معالجة ١٠٠ عنصر.

الأسئلة الشائعة

ما الفرق بين درجة الحرارة وTop-P في نماذج اللغة الكبيرة؟

درجة الحرارة (T) تُوسّع توزيع احتمال softmax الكامل: T = 0.0 دائمًا يختار الأعلى احتمالًا (حتمي)؛ T = 1.0 يحفظ التوزيع الطبيعي؛ T = 2.0 يُسوّيه نحو العشوائية. Top-P (أخذ عينات النواة) يختار من المجموعة الدنيا من الرموز التي احتمالها المتراكم يبلغ P. يتحكمان في جوانب مختلفة ولا ينبغي ضبطهما معًا على قيم عالية.

هل يُقلّل إجبار مخرجات JSON من جودة استجابات الذكاء الاصطناعي؟

نعم — بشكل قابل للقياس. أظهر مؤشر BAML في BFCL أن تحليل النص الحر المتوافق مع المخطط حقق دقة ٩٣.٦٣٪ مقابل ٩١.٣٧٪ للفك المقيّد الصارم — انخفاض ٢.٢٦ نقطة. للمهام المعقدة، يحافظ نهج المرحلتين على الجودة.

ما الفك المقيّد وكيف يضمن مخرجات JSON؟

الفك المقيّد يُطبّق آلة حالات محدودة على عملية توليد الرموز. في كل خطوة، تُقيّم الـFSM الرموز المتوافقة مع المخطط وتُخفي جميع الأخرى باحتمال صفري. تُنفّذه OpenAI عبر `response_format: { type: "json_schema", strict: true }`. تُنفّذه Anthropic عبر وضع استخدام الأداة الصارم.

ما تنسيق المخرجات الذي يجب أن أستخدمه لمسارات نماذج اللغة الإنتاجية؟

JSON هو المعيار لمسارات نماذج اللغة الإنتاجية. استخدم JSONL لتدفقات الأحداث والمعالجة الدفعية. استخدم CSV فقط للتوافق مع الأنظمة القديمة. البنية الموصى بها: TOON لكفاءة رموز الإدخال + JSON مع الفك المقيّد لمخرجات المرحلة الثانية فقط.

كيف تختلف تسلسلات التوقف عن القيود السلبية في الموجّهات؟

تسلسلات التوقف تُطبَّق على مستوى API — يتوقف النموذج فورًا حين تظهر السلسلة المحددة، دون استثناءات. القيود السلبية في نص الموجّه ليست ملزِمة — قد ينتهكها النموذج. استخدم كليهما: تسلسلات التوقف للإنهاء البنيوي، القيود السلبية لتشكيل المحتوى.

المصادر والقراءات الإضافية

Apply these techniques with a local LLM or your own API keys — PromptQuorum works with any backend.

Try PromptQuorum free →

← Back to Prompt Engineering

التحكم في مخرجات الذكاء الاصطناعي وتوافق المخطط ٢٠٢٦