0Pricing
AI Agents · درس

تنسيق المخرجات (JSON وXML وMarkdown)

أجبر النموذج على إرجاع بنى قابلة للتحليل باستخدام وضع JSON أو وسوم XML أو Markdown صارم، لجعل المخرجات قابلة للقراءة آليًا.

تنسيق المخرجات (JSON وXML وMarkdown) درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

لماذا يهم التنسيق

تُمرّر الوكلاء مخرجات النموذج إلى الشيفرة. وتؤدي النثرية الحرة إلى تعطيل المحللات. وتُعد المخرجات المنظّمة (JSON وXML وغيرهما) إلزامية لأي وكيل في بيئة الإنتاج.

وضع JSON

توفر OpenAI ومعظم المزوّدين وضع JSON الذي يضمن مخرجات قابلة للتحليل:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    response_format={'type': 'json_object'},
)
import json
data = json.loads(response.choices[0].message.content)

المخرجات المنظّمة (مخطط صارم)

تأخذ Structured Outputs من OpenAI مخطط JSON Schema وتضمن توافق المخرجات معه:

schema = {
    'name': 'extract_person',
    'schema': {
        'type': 'object',
        'properties': {
            'name': {'type': 'string'},
            'age': {'type': 'integer'}
        },
        'required': ['name', 'age'],
        'additionalProperties': False
    },
    'strict': True
}

response = client.chat.completions.create(
    model='gpt-4o-2024-08-06',
    messages=messages,
    response_format={'type': 'json_schema', 'json_schema': schema}
)

وسوم XML (أسلوب Anthropic)

توصي Anthropic باستخدام وسوم XML باعتبارها التنسيق الأكثر موثوقية لـ Claude:

system = '''
Return your answer wrapped in XML tags:

<reasoning>Your step-by-step thinking</reasoning>
<answer>The final answer</answer>
'''

# Parse with a simple regex or BeautifulSoup
import re
ans = re.search(r'<answer>(.*?)</answer>', text, re.S).group(1)

Markdown للبشر

استخدموا Markdown عندما تذهب المخرجات مباشرةً إلى مستخدم بشري (واجهة محادثة أو مستندات).

تجنبوا Markdown عند تمرير المخرجات إلى الشيفرة — إذ يصعب تحليل Markdown بشكل موثوق.

اختيار التنسيق المناسب لكل مستهلك

  • JSON — عند إدخاله إلى الشيفرة
  • XML — عند إدخاله إلى الشيفرة، خصوصًا مع Claude
  • Markdown — عند عرضه في واجهة بشرية
  • نص عادي — عند تمريره إلى نموذج لغوي آخر

اعرضوا، ولا تكتفوا بالوصف

أدرجوا دائمًا مثالًا حرفيًا على المخرجات المطلوبة في مطالبتكم:

system = '''
Return a JSON object like:
{
  "action": "reply",
  "content": "Hi there!",
  "confidence": 0.95
}
'''
print(system.strip())

فرض الرمز الأول

في Anthropic، املؤوا دور المساعد مسبقًا بالرمز { أو [ لفرض مخرجات JSON:

messages = [
    {'role': 'user', 'content': 'Return JSON with name and age.'},
    {'role': 'assistant', 'content': '{'}
]
# Output will start at '{ "name": ...' guaranteed.
for m in messages:
    print(f"{m['role']}: {m['content']}")
print('Output will start at \'{ "name": ...\' guaranteed.')

معالجة المحتوى الزائد في النهاية

حتى مع وضع JSON، قد تضيف النماذج أحيانًا بادئة مثل "بالطبع! إليكم JSON:". وتنفّذ المحللات القوية ما يلي:

  1. ابحثوا عن أول { أو [
  2. احسبوا الأقواس للعثور على قوس الإغلاق المطابق
  3. حلّلوا هذا الجزء فقط

مطالبات الإصلاح

إذا فشل التحليل، فأرسلوا المخرجات المعطوبة إلى النموذج واطلبوا إصلاحها:

repair_prompt = f'''
The previous output failed to parse with error: {error}.
Return ONLY a valid JSON object matching the schema. No prose.

Previous output:
{bad_output}
'''

‏Pydantic للتحقق

تحققوا من القاموس الذي جرى تحليله باستخدام نموذج Pydantic — افحصوا أنواع الحقول وأطلقوا خطأً عند غياب أحدها.

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

person = Person.model_validate_json(response_text)
print(person.name, person.age)

أفضل تنسيق للشيفرة

أنتم تمررون المخرجات إلى Python. ما التنسيق الأكثر موثوقية؟

مراجعة

ثلاث قواعد:

  1. اختاروا تنسيقًا يناسب المستهلك
  2. اعرضوا مثالًا، ولا تكتفوا بوصفه
  3. تحققوا من كل استجابة، ووفّروا مسارًا لإصلاحها

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

هل درس «تنسيق المخرجات (JSON وXML وMarkdown)» مجاني؟

نعم — نص درس «تنسيق المخرجات (JSON وXML وMarkdown)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «تنسيق المخرجات (JSON وXML وMarkdown)»؟

أجبر النموذج على إرجاع بنى قابلة للتحليل باستخدام وضع JSON أو وسوم XML أو Markdown صارم، لجعل المخرجات قابلة للقراءة آليًا. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.

كم من الوقت يستغرق درس «تنسيق المخرجات (JSON وXML وMarkdown)»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. Zero-shot وFew-shot وسلسلة التفكير
  2. أدوار النظام مقابل المستخدم مقابل المساعد
  3. تنسيق المخرجات (JSON وXML وMarkdown)
  4. تجنب حقن المطالبات في المدخلات
← العودة إلى AI Agents