🔍 TL;DR
وضع JSON يفرض بناء جملة JSON، لا امتثال المخطط — الحقول المفقودة والأنواع الخاطئة وقيم enum غير الصحيحة تتطلب إصلاحات في الموجّه. ثلاث تقنيات تسد الفجوة: (1) تضمين المخطط كقالب JSON مباشرةً في الموجّه، (2) تضمين مثال على مخرجات صحيحة، (3) إضافة تعليمة لكل حقل تغطي النوع والتنسيق ومعالجة null. استهدف معدل نجاح 95%+ في مجموعة اختبار من 20 حالة قبل النشر. استخدم YAML بدلاً من JSON للمطالبات الحرة بدون تطبيق API — النماذج تنتج أخطاء بناء جملة أقل.
تصميم الموجّه يحدد موثوقية المخرجات المنظمة
📍 In One Sentence
موثوقية المخرجات المنظمة هي نسبة استجابات النموذج القابلة للتحليل والتي تحتوي على جميع الحقول المطلوبة وتستخدم أنواع بيانات صحيحة ولها قيم enum صحيحة — وضع JSON يضمن الأول من هذه الأربعة فقط.
💬 In Plain Terms
فكّر في وضع JSON كمدقق إملائي: يكتشف أخطاء بناء الجملة لكن لا يكتشف أخطاء المعنى. موجّه يعتمد فقط على وضع JSON يشبه مستنداً اجتاز التدقيق الإملائي — صحيح بنيوياً لكن ربما ناقص أو بأنواع خاطئة.
واجهات برمجة وضع JSON و tool_use تفرض JSON قابلاً للتحليل، لكنها لا تضمن اكتمال الحقول أو صحة أنواع البيانات أو صحة قيم enum — هذه الإخفاقات تتطلب إصلاحات على مستوى الموجّه، لا تغييرات في API. أكثر إخفاقات المخرجات المنظمة شيوعاً تحدث داخل JSON صحيح نحوياً: حقول مطلوبة مفقودة لأن النموذج عاملها كاختيارية، وتواريخ منسّقة كسلاسل نسبية بدلاً من ISO 8601، وقيم enum مكتوبة بشكل خاطئ أو مختصرة، وحقول nullable تعيد سلاسل فارغة بدلاً من null.
ثلاث تدخلات على مستوى الموجّه تسد فجوة الموثوقية باستمرار. تضمين المخطط يجعل بنية المخرجات لا لبس فيها. مثال واحد على مخرجات صحيحة يزيل غموض التنسيق. التعليمات على مستوى الحقل تزيل أخطاء النوع ومعالجة null. معاً، هذه الثلاثة ترفع موثوقية المخرجات المنظمة إلى 95%+ في GPT-5.5 و Claude 4.6 Sonnet و Gemini 2.5 Pro — مع أو بدون وضع JSON الأصيل.
| نوع الإخفاق | سببه في الموجّه | الإصلاح في الموجّه |
|---|---|---|
| حقل مطلوب مفقود | النموذج يستنتج أن الحقل اختياري من الوصف باللغة الطبيعية | ضع علامة على كل حقل مطلوب صراحةً: "title REQUIRED" أو أدرج الحقول المطلوبة بشكل منفصل |
| نوع بيانات خاطئ | اسم حقل غامض بدون توضيح نوع | أضف توضيح النوع في الموجّه: "amount (integer, not string)" |
| قيمة enum غير صحيحة | enum غير مدرج بالكامل — النموذج يخترع قيمة معقولة | أدرج جميع قيم enum صراحةً: "status: one of 'active', 'inactive', 'pending'" |
| الخلط بين null والسلسلة الفارغة | لا توجد تعليمة تميّز null من "" | أضف: "Return null if unknown. Never return empty string for unknown values." |
| حقول إضافية غير معلنة | النموذج يضيف سياقاً مفيداً غير مدرج في المخطط | أضف: "Return only the fields specified. Do not add fields not listed in the schema." |
تضمين المخطط مباشرةً في الموجّه
ضمّن مخطط المخرجات المتوقعة كقالب JSON مباشرةً في الموجّه، لا كوصف باللغة الطبيعية. النماذج التي ترى البنية قبل توليدها تنتج حذفاً أقل للحقول وأخطاء نوع أقل مقارنةً بالنماذج التي تتلقى فقط وصفاً نثرياً لما تريده.
يستخدم مخطط في الموجّه التنسيق الدقيق الذي تتوقعه في المخرجات: أسماء الحقول وعمق التداخل وعناصر نائبة للقيم. ضع قالب المخطط بعد تعليمة المهمة وقبل أي أمثلة. استخدم قيماً نائبة توضح النوع المتوقع: `"amount": 0` توضح integer؛ `"amount": 0.00` توضح float؛ `"created_at": "YYYY-MM-DDTHH:MM:SSZ"` توضح تنسيق ISO 8601 المتوقع.
❌ وصف باللغة الطبيعية فقط
Extrae los detalles del pedido del siguiente texto y devuélvelos como JSON. Incluye el ID del pedido, el nombre del cliente, el importe total, los artículos pedidos y el estado del pedido. Texto: {{text}}
✅ مخطط مضمّن كقالب JSON
Extrae los detalles del pedido del siguiente texto y devuélvelos como JSON que coincida exactamente con este esquema: { "order_id": "string", "customer_name": "string", "total_amount": 0.00, "status": "string", "items": [ { "name": "string", "quantity": 0, "unit_price": 0.00 } ] } Devuelve solo JSON válido. No incluyas ningún texto fuera del objeto JSON. Texto: {{text}}
إظهار مثال على مخرجات صحيحة للنموذج
إضافة مثال ملموس وواقعي على المخرجات إلى الموجّه يرفع موثوقية المخرجات المنظمة بمقدار 5–8 نقاط مئوية مقارنةً بالموجّهات التي تحتوي على مخطط فقط. المثال يُظهر للنموذج التنسيق الدقيق وترتيب الحقول وأسلوب القيم واصطلاح علامات الاقتباس المتوقع — مما يقلل الغموض الذي لا يستطيع تعريف المخطط وحده إزالته.
ضع المثال بعد قالب المخطط وضع عليه تسمية واضحة ("مثال على المخرجات:" أو "هذا مثال على استجابة صحيحة:"). استخدم قيماً نائبة واقعية — ليس "foo" أو "bar" أو "مثال" — لأن النماذج تتعلم من أسلوب القيم.
❌ مخطط فقط — بدون مثال على المخرجات
Extrae los detalles del producto de la reseña a continuación y devuelve JSON con este esquema: { "product_name": "string", "rating": 0, "sentiment": "string", "key_features": ["string"] } Reseña: {{review}}
✅ مخطط + مثال واقعي على المخرجات
Extrae los detalles del producto de la reseña a continuación y devuelve JSON con este esquema: { "product_name": "string", "rating": 0, "sentiment": "string", "key_features": ["string"] } Ejemplo de salida: { "product_name": "Auriculares WH-1000XM5", "rating": 4, "sentiment": "positive", "key_features": ["cancelación de ruido", "batería de 30 horas", "ajuste cómodo"] } Reseña: {{review}}
كتابة تعليمات على مستوى الحقل للمخرجات عالية المخاطر
لموجّهات الإنتاج حيث صحة الحقول حرجة، أضف تعليمة لكل حقل مطلوب: نوع البيانات والتنسيق المتوقع ومعالجة null وقيم enum المسموح بها حيثما ينطبق. تعليمات على مستوى الحقل تزيل الغموض الذي يسبب أخطاء النوع.
تعليمات الحقل تأتي في قسم منفصل بعد قالب المخطط وقبل المثال. ضع على القسم تسمية "متطلبات الحقل:" أو "قواعد المخطط:". اجعل كل تعليمة في جملة واحدة.
| نوع الحقل | نمط التعليمة | مثال على التعليمة |
|---|---|---|
| String | التنسيق، الطول الأقصى، الأحرف غير المسموح بها | "العنوان (string، max 100 chars، بدون وسوم HTML)" |
| Number | integer مقابل float، الدقة، الوحدات | "price (float، خانتان عشريتان بالضبط، بالدولار، بدون رمز العملة)" |
| Date | التنسيق، المنطقة الزمنية | "created_at (string، ISO 8601: YYYY-MM-DDTHH:MM:SSZ، المنطقة الزمنية UTC)" |
| Enum | جميع القيم المسموح بها مدرجة حرفياً | "status (string، واحدة بالضبط من: 'active'، 'inactive'، 'pending')" |
| Boolean | true/false فقط — رفض yes/no/1/0 | "is_verified (boolean، true أو false فقط — ليس 1/0 أو yes/no)" |
| Nullable | متى تعيد null مقابل سلسلة فارغة مقابل الحذف | "description (string أو null — أعِد null إذا كانت القيمة مجهولة، سلسلة فارغة فقط إذا تأكدت أنها فارغة)" |
| Array | الحد الأدنى/الأقصى للعناصر، نوع العنصر، معالجة المصفوفة الفارغة | "tags (مصفوفة strings، 0–5 عناصر، أعِد [] إذا لم يوجد شيء — لا تعِد null أبداً)" |
❌ مخطط فقط — بدون تعليمات حقول
Devuelve JSON con estos campos: { "invoice_id": ..., "amount": ..., "due_date": ..., "status": ..., "line_items": [...] }
✅ مخطط + تعليمات على مستوى الحقل
Devuelve JSON con estos campos: { "invoice_id": "string", "amount": 0.00, "due_date": "YYYY-MM-DD", "status": "string", "line_items": [{"description": "string", "quantity": 0, "unit_price": 0.00}] } Requisitos de campo: - invoice_id: string, formato INV-XXXXXX (ej. INV-004821) - amount: float, 2 decimales, total USD incluyendo impuestos - due_date: string, fecha ISO 8601 (YYYY-MM-DD), no un datetime - status: string, exactamente uno de: 'paid', 'unpaid', 'overdue', 'cancelled' - line_items: array de objetos, 1 o más elementos, devuelve [] si no se encuentran líneas - Si no se puede determinar ningún campo, devuelve null para ese campo
اختر JSON لواجهات برمجة التطبيقات، وYAML للموجّهات، وCSV للبيانات الجدولية
استخدم JSON عندما تُغذَّى المخرجات في واجهة برمجة تطبيقات أو قاعدة بيانات مع توفر تطبيق JSON. استخدم YAML للموجّهات الحرة بدون تطبيق API — النماذج تنتج أخطاء بناء جملة أقل في YAML لأنه لا يتطلب أقواساً إغلاقية أو تسلسلات هروب أو وعياً بالفواصل الزائدة. استخدم CSV فقط للبيانات الجدولية المسطحة.
فرق الموثوقية بين JSON و YAML في المطالبات الحرة (بدون تطبيق API) يأتي من تعقيد بناء الجملة. JSON يتطلب أن تكون كل سلسلة بين علامات اقتباس، وكل كائن مغلقاً بقوس، وكل فاصلة صحيحة. YAML يستخدم المسافة البادئة بدلاً من ذلك — وهو ما تتعامل معه النماذج بشكل أكثر اتساقاً.
- استخدم JSON إذا كان نظامك اللاحق يحتوي على محلل JSON وتطبيق API متاح — التطبيق يزيل أخطاء بناء الجملة تماماً
- استخدم YAML إذا كنت تولّد بدون تطبيق API وفريقك يحوّل إلى JSON قبل المعالجة اللاحقة
- استخدم CSV فقط للبيانات الجدولية المسطحة — في اللحظة التي تحتاج فيها كائناً متداخلاً أو مصفوفة في خلية، انتقل إلى JSON أو YAML
- استخدم جداول Markdown فقط للمخرجات القابلة للقراءة البشرية — لا تقبل المعالجة الآلية بدون أدوات إضافية
| التنسيق | الموثوقية بدون تطبيق API | الأفضل لـ | تجنب عندما |
|---|---|---|---|
| JSON | 80–85% مع مخطط في الموجّه | واجهات برمجة التطبيقات، قواعد البيانات، المستهلكون ذوو النوع الآمن | لا يوجد تطبيق API ويتضمن التداخل تعقيداً |
| YAML | 88–92% مع مخطط في الموجّه | المخرجات القابلة للقراءة البشرية، بيانات بأسلوب الإعداد، بدون تطبيق API | النظام اللاحق يتطلب JSON بدون خطوة تحويل |
| XML | 85–90% مع مخطط في الموجّه | تحويل المستندات، التكامل مع الأنظمة القديمة | البيانات من نوع مفتاح-قيمة بسيط (XML يضيف تكراراً غير ضروري) |
| CSV | 95%+ للبيانات المسطحة | البيانات الجدولية، تصديرات جداول البيانات، مسارات البيانات | البيانات لها بنية متداخلة أو هرمية |
| جداول Markdown | عالية للجداول البسيطة | التقارير، التوثيق، المخرجات الجدولية القابلة للقراءة البشرية | المعالجة اللاحقة القابلة للقراءة الآلية مطلوبة |
طلب من النموذج تصحيح مخرجاته المشوّهة
عندما يفشل موجّه مخرجات منظمة في التحقق، أرسل موجّه تصحيح يحتوي على التعليمة الأصلية والمخرجات المشوّهة وخطأ التحقق المحدد. النماذج تسترد مخرجات صحيحة من استجاباتها المشوّهة في 60–75% من الحالات دون الحاجة إلى إعادة كتابة الموجّه بالكامل.
موجّه التصحيح له ثلاثة أجزاء مطلوبة: (1) إعادة تأكيد كيف يجب أن تكون المخرجات (المخطط أو التنسيق)، (2) المخرجات المشوّهة تماماً كما أعادها النموذج، (3) خطأ التحقق المحدد — "الحقل المطلوب 'invoice_id' مفقود"، "amount سلسلة، المتوقع float".
❌ إعادة محاولة مبهمة — بدون سياق للخطأ
Devolviste una salida no válida. Por favor, inténtalo de nuevo y devuelve JSON válido. {{original_prompt}}
✅ موجّه تصحيح مع المخطط والمخرجات والأخطاء المحددة
Tu respuesta anterior falló la validación. Corrige solo los errores listados a continuación y devuelve el JSON corregido. Esquema esperado: { "invoice_id": "string", "amount": 0.00, "status": "string" } Tu respuesta anterior: { "invoice_id": null, "amount": "150.00", "status": "PAID" } Errores de validación: - invoice_id es null pero es un campo de cadena requerido — extráelo de la entrada - amount es una cadena ("150.00") pero debe ser un float (150.00) - status debe ser en minúsculas: usa 'paid', no 'PAID' Devuelve solo el objeto JSON corregido.
أنماط مطالبات للمصفوفات و enums والحقول القابلة للإلغاء
المصفوفات و enums والحقول القابلة للإلغاء هي المصادر الثلاثة الأكثر شيوعاً لإخفاقات المخرجات المنظمة التي لا يمنعها المخطط في الموجّه وحده. كل منها يتطلب نمط تعليمة محدداً في الموجّه.
| نوع البيانات | الإخفاق الشائع | نمط الموجّه الذي يمنعه |
|---|---|---|
| Array (0 عناصر) | النموذج يعيد null بدلاً من [] | "أعِد مصفوفة فارغة [] إذا لم تكن هناك عناصر. لا تعِد null أبداً لحقول المصفوفة." |
| Array (عنصر واحد+) | النموذج يعيد كائناً واحداً بدلاً من مصفوفة عندما يُعثر على عنصر واحد فقط | "أعِد مصفوفة دائماً، حتى عند وجود عنصر واحد فقط. يجب تغليف العنصر الواحد: {...}" |
| Enum (2–5 قيم) | النموذج يختصر أو يخترع قيماً مماثلة | "status: exactly one of: 'active', 'inactive', 'pending' — no abbreviations or variants" |
| Enum (6+ قيم) | النموذج يخترع قيماً غير موجودة في القائمة | أدرج جميع القيم في قائمة مرقمة، ثم: "Use only values from the list above. Do not abbreviate or combine values." |
| حقل nullable | النموذج يعيد "" بدلاً من null، أو يحذف الحقل تماماً | "أعِد null إذا كانت القيمة مجهولة. أعِد سلسلة فارغة '' فقط إذا كان الحقل فارغاً بالتأكيد. أدرِج الحقل دائماً — لا تحذفه." |
| Integer مقابل float | النموذج يعيد float عندما يُتوقع integer، أو سلسلة لكليهما | "score (integer — no decimals, e.g. 4 not 4.0)" أو "price (float — exactly 2 decimals, e.g. 12.99 not 13)" |
| كائن متداخل | النموذج يُسطّح الكائن المتداخل إلى مفاتيح مسطحة (مثلاً "address.city" بدلاً من {"address": {"city": ...}}) | أظهر البنية المتداخلة الكاملة في قالب المخطط مع المسافة البادئة الصحيحة. الوصف باللغة الطبيعية للتداخل كثيراً ما يُسطَّح إلى مفاتيح مسطحة. |
قياس موثوقية المخرجات المنظمة لموجّهك
استهدف معدل نجاح 95%+ في مجموعة اختبار من 20 حالة قبل نشر أي موجّه مخرجات منظمة في الإنتاج. قِس الموثوقية على مستوى الحقل، لا بشكل عام فقط.
- 1حدّد معايير النجاح/الفشل لكل حقل في المخطط. لكل حقل: النوع صحيح، الحقل المطلوب موجود، قيمة enum في القائمة المسموح بها، تنسيق التاريخ يطابق النمط المطلوب.
- 2ابنِ مجموعة اختبار من 20 حالة. عشر إدخالات من المسار السعيد (بيانات نموذجية وجيدة التنسيق)، وخمس حالات حدية (حقول اختيارية مفقودة، نص طويل، قيم غير معتادة)، وخمس إدخالات معادية (تعليمات مضمّنة في قيم الحقول، تواريخ متطرفة، أنواع غامضة).
- 3شغّل بدرجة حرارة 0 وسجّل النجاح/الفشل لكل حقل. شغّل الـ20 حالة بدرجة حرارة 0 للحصول على نتائج حتمية وقابلة للتكرار. سجّل ما إذا كان كل حقل ينجح أو يفشل في كل حالة اختبار.
- 4صحّح الحقل ذا أدنى معدل نجاح وأعد الاختبار. أضف أو عزّز تعليمة حقل: النوع أو التنسيق أو معالجة null أو قيم enum. أعد تشغيل الـ20 حالة. إضافة تعليمة حقل موجّهة عادةً ترفع معدل النجاح الإجمالي بمقدار 5–15 نقطة مئوية.
- 5تحقق من الموجّه على نموذج ثانٍ. شغّل مجموعة الـ20 حالة الكاملة على نموذج ثانٍ باستخدام نفس الموجّه. موجّه بنسبة 95%+ في GPT-5.5 لكن 70% في Claude 4.6 Sonnet يعتمد على النموذج.
5 أخطاء شائعة في مطالبات المخرجات المنظمة
الأخطاء الخمسة الأكثر شيوعاً في مطالبات المخرجات المنظمة تنتج جميعها نفس العرَض — إخفاقات متقطعة أو منهجية — لكنها تتطلب إصلاحات مختلفة.
❌ وصف المخطط باللغة الطبيعية بدلاً من تضمينه
Why it hurts: الأوصاف باللغة الطبيعية غامضة — "قائمة من العناصر" قد تعني مصفوفة أو سلسلة مفصولة بفواصل أو قائمة مرقمة
Fix: ضمّن المخطط المتوقع كقالب JSON مباشرةً في الموجّه.
❌ عدم تحديد كيفية التعامل مع القيم المفقودة أو المجهولة
Why it hurts: النماذج تخترع قيماً معقولة للحقول المجهولة بدلاً من إعادة null — التواريخ تصبح "مجهول"، والمبالغ 0، والمعرّفات المفقودة "N/A"
Fix: أضف معالجة صريحة لـ null لكل حقل nullable: "Return null if the value cannot be determined. Do not guess or invent values."
❌ الاختبار فقط على النموذج الذي طُوّر الموجّه عليه
Why it hurts: تتفاوت موثوقية المخرجات المنظمة بشكل كبير بين النماذج — موجّه بنسبة 95% في GPT-5.5 قد يفشل بنسبة 70% في Claude 4.6 Sonnet
Fix: شغّل كل موجّه مخرجات منظمة على الأقل على نموذجين قبل التعامل معه كمستقل عن النموذج.
❌ إعادة محاولة المخرجات الفاشلة بنفس الموجّه تماماً
Why it hurts: موجّه فاشل يُعاد تشغيله بدرجة حرارة 0 ينتج نفس الفشل في كل مرة
Fix: استخدم موجّه تصحيح مع خطأ التحقق المحدد والمخرجات المشوّهة، أو شخّص نمط الفشل وأضف تعليمة حقل موجّهة إلى الموجّه الأساسي.
❌ التعامل مع وضع JSON كحل كامل للمخرجات المنظمة
Why it hurts: وضع JSON يمنع المخرجات غير القابلة للتحليل لكن لا يمنع إخفاقات امتثال المخطط — نموذج يستخدم وضع JSON يمكنه إعادة JSON صحيح مع حقول مفقودة وأنواع خاطئة وقيم enum غير صحيحة
Fix: دائماً ضمّن المخطط في الموجّه وتعليمات الحقول حتى عند استخدام وضع JSON المفروض بواسطة API.
الأسئلة الشائعة
أكثر الأسئلة شيوعاً حول مطالبات المخرجات المنظمة تغطي الحد الفاصل بين وضع JSON وتصميم الموجّه، وعدد الأمثلة التي يجب تضمينها، وكيفية تحسين موجّه يفشل بشكل منهجي.
هل يجعل وضع JSON المخطط في الموجّه غير ضروري؟
لا. وضع JSON يفرض بناء جملة JSON القابل للتحليل، لا امتثال المخطط. نموذج يستخدم وضع JSON يمكنه إعادة JSON صحيح مع حقول مطلوبة مفقودة وأنواع بيانات خاطئة وقيم enum غير صحيحة. المخطط في الموجّه وتعليمات الحقول تعالج إخفاقات امتثال المخطط؛ وضع JSON فقط يمنع المخرجات غير القابلة للتحليل. النهجان متكاملان، لا بديل أحدهما للآخر.
كم عدد أمثلة المخرجات التي يجب تضمينها في الموجّه؟
مثال واحد عادةً كافٍ ويضيف أكبر مكسب للموثوقية. مثال ثانٍ يضيف قيمة فقط عندما تكون لبياناتك بنية مختلفة بشكل كبير بحسب شروط الإدخال. بعد مثالين، تكلفة طول الموجّه تتجاوز فائدة الموثوقية لمعظم مهام المخرجات المنظمة.
هل يجب استخدام JSON أو YAML للمخرجات المنظمة بدون تطبيق API؟
استخدم YAML عندما تولّد بدون تطبيق API والمخرجات لا تحتاج إلى التحليل بواسطة نظام يتوقع JSON. النماذج تنتج أخطاء بناء جملة أقل في YAML لأنه لا يتطلب أقواساً إغلاقية أو تسلسلات هروب أو تتبع الفواصل الزائدة. استخدم JSON عندما تُغذَّى المخرجات مباشرةً في واجهة برمجة تطبيقات أو قاعدة بيانات أو نظام لاحق يتطلب JSON.
ما أسرع طريقة لتحسين موجّه بمعدل نجاح 70%؟
شغّل مجموعة الاختبار على مستوى الحقل، لا بشكل عام فقط. ابحث عن الحقل بأدنى معدل نجاح فردي، أضف تعليمة صريحة تغطي النوع والتنسيق ومعالجة null، ثم أعد التشغيل. تعليمة حقل واحدة موجّهة عادةً ترفع معدل النجاح الإجمالي بمقدار 5–15 نقطة مئوية.
كيف أحصل على مخرجات منظمة موثوقة من نموذج بدون وضع JSON أصيل؟
ضمّن مخطط JSON الكامل كقالب في الموجّه، وضمّن مثالاً على مخرجات صحيحة، وأضف تعليمات على مستوى الحقل، وشغّل بدرجة حرارة 0. حلّل وتحقق من كل مخرجات؛ أرسل موجّه تصحيح لأي فشل في التحقق. الموجّهات المصمّمة جيداً تصل إلى موثوقية 85–92% في معظم النماذج بدرجة حرارة 0 بدون وضع JSON أصيل.
ما الحجم الصحيح لمجموعة الاختبار لموجّه مخرجات منظمة؟
20 حالة كحد أدنى: 10 إدخالات من المسار السعيد (بيانات نموذجية وجيدة التنسيق)، و5 حالات حدية (قيم غير معتادة، حقول اختيارية مفقودة، إدخالات طويلة)، و5 إدخالات معادية.
متى يجب استخدام موجّه تصحيح مقابل إصلاح الموجّه الأساسي؟
استخدم موجّه تصحيح عندما تكون الإخفاقات نادرة — أقل من 10% من المخرجات. صحّح الموجّه الأساسي عندما تكون الإخفاقات منهجية: نفس الحقل المفقود أو نفس خطأ النوع يظهر في حالات اختبار متعددة.
هل يؤثر ترتيب الحقول في المخطط على موثوقية المخرجات المنظمة؟
نعم. ضع الحقول المطلوبة أولاً والحقول الاختيارية أو القابلة للإلغاء في النهاية. النماذج تُعطي وزناً أكبر لعناصر المخطط السابقة عند تحديد ما تضمّنه. تأثير الترتيب هذا متسق في GPT-5.5 و Claude 4.6 Sonnet.
قراءات ذات صلة
- المخرجات المنظمة ووضع JSON: متى وكيف تستخدمها — إعداد وضع JSON على مستوى API لـ GPT-5.5 و Claude و Gemini مع جدول امتثال النماذج
- كيفية التحكم في المخرجات: التنسيق ودرجة الحرارة والترميز المقيّد — آليات الترميز المقيّد ودرجة الحرارة و top-p للمهام المنظمة
- كيفية تقييم جودة الموجّه: المقاييس والاختبارات وقائمة التحقق — بناء مجموعات اختبار من 20 حالة، التسجيل الثنائي للنجاح/الفشل
- كيفية اختبار الموجّهات على نماذج مختلفة — تشغيل نفس الموجّه في GPT-5.5 و Claude 4.6 Sonnet و Gemini 2.5 Pro لاكتشاف الإخفاقات الخاصة بالنموذج
- Zero-Shot مقابل Few-Shot Prompting — متى تضيف أمثلة إلى موجّه وكم عدداً تضمّنه لأنواع المهام المختلفة
المصادر
- توثيق Structured Outputs من OpenAI — المواصفة التقنية لـ response_format ووضع JSON في API من OpenAI
- توثيق استخدام الأدوات من Anthropic — كيف يفرض معامل tool_use في Claude المخرجات المنظمة على مستوى API
- توثيق GenerationConfig من Google Gemini — إعداد responseMimeType في Gemini للمخرجات JSON الأصيلة
- مقياس BAML: مقايضات الدقة في المخرجات المنظمة — أدلة على فروق الموثوقية بين التوليد المقيّد وغير المقيّد عبر النماذج
- إطار إدارة مخاطر الذكاء الاصطناعي من NIST — مبادئ الحوكمة للتحقق من مخرجات الذكاء الاصطناعي في أنظمة الإنتاج