المخرجات المنظَّمة
- اشرح لماذا تتفوّق المخرجات المفروضة بمخطّط على مطالبة النموذج بإنتاج JSON والأمل بالأفضل
- قدّم مخطّط JSON Schema وحلّل الاستجابة إلى كائن مُصنَّف بنوع (Pydantic / Zod)
- ميِّز المخرجات المنظَّمة عن استخدام الأدوات بحسب النيّة، لا بحسب الآلية
- طبّق النصائح الأربع للحصول على مخطّطات محكمة وموثوقة
- اختر الأداة الصحيحة بقاعدة إرشادية من سؤال واحد
عندما تغذّي مخرجات Claude برمجيات أخرى، فأنت بحاجة إلى بنية موثوقة — JSON صالح يطابق شكلًا معروفًا، في كل مرة. لا تعتمد على "ردّ بصيغة JSON" وتأمل خيرًا؛ استخدم دعم المخرجات المنظَّمة في المنصّة.
يأخذك هذا الدرس من لماذا يفشل أسلوب المطالبة والأمل إلى كيف تفرض مخطّطًا وتحلّله إلى كائن مُصنَّف بنوع — وكيف تميّز المخرجات المنظَّمة عن استخدام الأدوات حين يبدوان متطابقَين. اعمل عليه من أعلاه إلى أسفله، ثم اختبر نفسك بالاختبار القصير قرب النهاية.
الطريقة الموثوقة
قدّم مخطّط JSON Schema للمخرجات ودع الواجهة البرمجية/SDK تفرضه، ثم حلّله إلى كائن مُصنَّف بنوع (مثل Pydantic في Python، أو Zod في TypeScript). تمنحك مساعِدات التحليل في SDK نتيجة مُصنَّفة بنوع بدلًا من سلسلة نصية عليك أن تطبّق عليها JSON.parse وتتحقّق منها بنفسك.
- صُغ المخرجات التي تحتاجها على هيئة مخطّط JSON Schema — في Python عبر Pydantic BaseModel، وفي TypeScript عبر مخطّط Zod.
- اطلب من النموذج أن يعيد بيانات تطابق ذلك المخطّط، بحيث تفرضه الواجهة البرمجية/SDK بدلًا من تركه للصدفة.
- استخدم مساعِدات التحليل في SDK للحصول على نتيجة مُصنَّفة بنوع مباشرةً — دون JSON.parse يدوي وتحقّق مُعدّ يدويًا.
# Conceptual shape — see the official docs for the current API surface.
from pydantic import BaseModel
class Ticket(BaseModel):
title: str
priority: str # "low" | "medium" | "high"
tags: list[str]
# Request the model to return data conforming to Ticket's JSON schema,
# then parse the response into a Ticket instance.
أتريد طلبًا ملموسًا تكيّفه؟ إليك شكل ما تُسلّمه للنموذج — استبدل النموذج بمخطّطك الخاص.
اطلب مخرجات مطابقة للمخطّط
Return the data conforming to this JSON Schema:
{
"title": "string",
"priority": "low | medium | high",
"tags": ["string"]
}
Do not include any prose outside the JSON.لماذا لا نطلب JSON عبر المطالبة فحسب؟
يمكنك أن تطلب JSON في المطالبة، وفي الحالات البسيطة ينجح ذلك — لكنه قد ينحرف: نصّ شارد، أو فاصلة زائدة في النهاية، أو حقل مفقود. المخرجات المفروضة بمخطّط تزيل هذه الفئة من الأخطاء، وهو ما يهمّ لحظة اعتماد نظام لاحق عليها.
- JSON المطلوب بالمطالبة ينجح في العروض التوضيحية وينهار في الإنتاج: لا يظهر الخلل إلا حين يحلّله نظام لاحق.
- ثلاثة انحرافات كلاسيكية احذرها: نصّ شارد حول JSON، أو فاصلة زائدة في النهاية، أو حقل مطلوب مفقود.
المخرجات المنظَّمة مقابل استخدام الأدوات
كلتا الميزتين تُسلّمان النموذج مخطّط JSON Schema، لذا تبدوان متشابهتين — والناس يختارون الخطأ. الفرق في النيّة، لا في الآلية:
| المخرجات المنظَّمة | استخدام الأدوات | |
|---|---|---|
| ما الذي تريده | الإجابة النهائية، بشكل ثابت | أن يستدعي النموذج قدرةً (استدعاء دالّة، جلب بيانات، تنفيذ إجراء) |
| من يستهلكه | شيفرتك مباشرةً | شيفرتك تُشغّل الأداة، ثم تُغذّي النتيجة عائدةً إلى النموذج |
| شكل الدور | ردّ واحد، وانتهى | حلقة: النموذج يسأل، أنت تنفّذ، النموذج يُكمل |
| الاستخدام المعتاد | الاستخراج، التصنيف، التحليل | الوكلاء، عمليات البحث الحيّة، الآثار الجانبية |
قاعدة سريعة للإرشاد:
إذا كان JSON هو المُخرَج المطلوب، فاستخدم المخرجات المنظَّمة. وإذا كان JSON هو النموذج يطلب من شيفرتك أن تفعل شيئًا، فهذا استخدام للأدوات. غالبًا ما يستخدم الوكلاء كليهما: الأدوات للتنفيذ، والمخرجات المنظَّمة لإعادة نتيجة نهائية نظيفة.
نصائح
- اجعل المخطّطات محكمة — استخدم القيم المُعدَّدة (enums) للخيارات الثابتة؛ وعلّم الحقول المطلوبة.
- صِف الحقول — أوصاف الحقول توجّه النموذج كأنها مطالبات مصغّرة.
- تحقّق على أي حال عند الحدود — التحليل الدفاعي تأمين رخيص.
- لمهام الاستخراج، تتفوّق المخرجات المنظَّمة + مخطّط واضح على النصّ الحرّ في كل مرة.
- سلّم الواجهة البرمجية/SDK مخطّط JSON Schema وحلّل إلى كائن مُصنَّف بنوع — لا تعتمد على المطالبة والأمل.
- مطالبة النموذج بإنتاج JSON قد تنحرف (نصّ شارد، فاصلة زائدة، حقل مفقود)؛ فرض المخطّط يزيل هذه الفئة من الأخطاء.
- تختلف المخرجات المنظَّمة عن استخدام الأدوات بحسب النيّة: JSON هو الإجابة مقابل JSON يطلب إجراءً.
- المخطّطات المحكمة، والحقول الموصوفة، والتحقّق عند الحدود تجعل الاستخراج والتصنيف موثوقَين.
ثبّت المصطلحات
اختبر نفسك
0/4التالي
- استخدام الأدوات / استدعاء الدوالّ — الأدوات أيضًا تستخدم مخطّطات JSON
- أول استدعاء للواجهة البرمجية
- قوالب المطالبات القابلة لإعادة الاستخدام