AI Agents · درس

استدعاء Anthropic API: messages

استخدم Anthropic messages API، وتعرّف على اختلافاته عن OpenAI، وموضع مطالبة النظام، وأفضل الممارسات الخاصة بـ Claude.

الدرس 2 من 413 خطوة

استدعاء Anthropic API: messages درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

لماذا Anthropic؟

غالبًا ما تتمتع نماذج Claude باتباع أقوى للتعليمات، واستخدام أفضل للأدوات، ونوافذ سياق أطول من نماذج OpenAI المماثلة — وقد تكون أحيانًا أقل تكلفة.

يدعم معظم الوكلاء في بيئة الإنتاج كلا المزوّدين كخيار احتياطي.

Install the SDK

# pip install anthropic
import anthropic
client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY from env

الاستدعاء الأول

نقطة النهاية هي messages.create:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    system='You are a concise assistant.',
    messages=[
        {'role': 'user', 'content': 'Capital of France?'},
    ],
)
print(response.content[0].text)
# 'Paris.'

الفروقات الأساسية عن OpenAI

  1. تكون system معاملًا من المستوى الأعلى، وليست رسالة
  2. يُعد max_tokens مطلوبًا
  3. يكون content قائمة من الكتل (نص وtool_use وغيرهما)
  4. لا يوجد معامل n — استخدموا استدعاءات متعددة

كتل المحتوى

حتى الاستجابات النصية تأتي على شكل قائمة من الكتل:

response.content              # list of blocks
response.content[0].type      # 'text' or 'tool_use'
response.content[0].text      # the text content
response.stop_reason          # 'end_turn' / 'max_tokens' / 'tool_use'
response.usage.input_tokens
response.usage.output_tokens

محتوى متعدد الكتل

يمكنكم أيضًا إرسال قائمة من كتل المحتوى في رسائل المستخدم (الصور ونتائج الأدوات):

messages = [{
    'role': 'user',
    'content': [
        {'type': 'text', 'text': 'What is in this image?'},
        {'type': 'image', 'source': {
            'type': 'base64',
            'media_type': 'image/png',
            'data': image_base64
        }}
    ]
}]

الملء المسبق للمساعد

افرضوا بدء الاستجابة بطريقة محددة:

messages = [
    {'role': 'user', 'content': 'Return a JSON object.'},
    {'role': 'assistant', 'content': '{'}
]
response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=512,
    messages=messages,
)
# Output starts after '{', guaranteed to be JSON.

استخدام الأدوات

يتشابه تنسيق الأدوات في Anthropic مع OpenAI، لكنه يستخدم input_schema:

tools = [{
    'name': 'get_weather',
    'description': 'Get current weather',
    'input_schema': {
        'type': 'object',
        'properties': {'city': {'type': 'string'}},
        'required': ['city']
    }
}]

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=1024,
    tools=tools,
    messages=messages,
)
if response.stop_reason == 'tool_use':
    for block in response.content:
        if block.type == 'tool_use':
            print(block.name, block.input)

إرجاع نتائج الأدوات

تُوضَع نتائج الأدوات في رسالة من المستخدم تحتوي على كتلة tool_result:

messages.append({
    'role': 'user',
    'content': [{
        'type': 'tool_result',
        'tool_use_id': 'toolu_abc',
        'content': json.dumps(weather_data)
    }]
})

التخزين المؤقت للمطالبة

يدعم Anthropic التخزين المؤقت للمطالبات — حدّد البادئات الثابتة الطويلة باستخدام cache_control وادفع 10% عند استخدام نتائج التخزين المؤقت:

system = [
    {'type': 'text', 'text': '...long system prompt...',
     'cache_control': {'type': 'ephemeral'}}
]
for block in system:
    print(f"type={block['type']} cache_control={block['cache_control']}")
    print("text preview:", block['text'][:30])

التفكير الموسع

يحتوي Claude على وضع "التفكير الموسع"، حيث يستدل داخليًا قبل الإجابة:

response = client.messages.create(
    model='claude-sonnet-4-5',
    max_tokens=4096,
    thinking={'type': 'enabled', 'budget_tokens': 2048},
    messages=messages,
)

موضع مطالبة النظام

أين توضع مطالبة النظام في Anthropic API؟

مراجعة

يمكنكم الآن استدعاء كلا المزودين الرئيسيين. الاختلافات صغيرة لكنها حقيقية — إذ تنشئ معظم الفرق محولًا رفيعًا للتبديل بينهما.

البدء مجانًا

تعلم AI Agents مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
60
الدروس
239

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

هل درس «استدعاء Anthropic API: messages» مجاني؟

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

ماذا ستتعلم في «استدعاء Anthropic API: messages»؟

استخدم Anthropic messages API، وتعرّف على اختلافاته عن OpenAI، وموضع مطالبة النظام، وأفضل الممارسات الخاصة بـ Claude. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

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

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

كم من الوقت يستغرق درس «استدعاء Anthropic API: messages»؟

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

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

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

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

  1. استدعاء OpenAI API: chat.completions
  2. استدعاء Anthropic API: messages
  3. بث الاستجابات (SSE)
  4. الوعي بالتكلفة: عدّ الرموز والميزانيات
← العودة إلى AI Agents