Qwen3 Coder Next API على Novita AI لوكلاء البرمجة

Qwen3 Coder Next API على Novita AI لوكلاء البرمجة

Qwen3 Coder Next متاح على Novita AI كنموذج نصي بدون خادم لسير عمل وكلاء البرمجة التي تحتاج إلى فهم طويل السياق للكود، ومخرجات منظمة، وتنسيق أدوات على غرار استدعاء الدوال عبر واجهة دردشة لإكمال المحادثات. استخدم معرف النموذج المؤكد qwen/qwen3-coder-next مع نقطة النهاية المتوافقة مع OpenAI POST https://api.novita.ai/openai/v1/chat/completions عندما تريد نموذجًا مخصصًا للبرمجة في حلقة وكيل دون إدارة استضافة النموذج.

إذا كنت تريد أولاً نظرة عامة أوسع على الإطلاق وتحديد موقع النموذج، فاقرأ Qwen3-Coder-Next على Novita AI. إذا كان هدفك المباشر هو ربط نفس النموذج بأدوات متوافقة مع Anthropic، فاستخدم الدليل المصاحب لـ Qwen3-Coder-Next في Claude Code.

متى تستخدم Qwen3 Coder Next لوكلاء البرمجة

استخدم Qwen3 Coder Next عندما يحتاج تطبيقك إلى نموذج لغة موجه للبرمجة داخل سير عمل تطوير برمجيات مُتحكم به: شرح الكود، تخطيط التصحيحات، تحديد موقع الأخطاء، صياغة حالات الاختبار، مراجعة إعادة الهيكلة، أو فحص المستودع بمساعدة الأدوات.

الفرق المهم هو أن هذا الدليل ليس نظرة عامة عامة على النموذج. إنه يركز على نمط تنفيذ وكيل برمجة:

  • إرسال سياق المستودع أو الملف إلى طلب إكمال محادثة؛
  • مطالبة النموذج بإجراء محدد التالي؛
  • طلب JSON منظم بشكل اختياري ليتمكن وكيلك من تحديد ما إذا كان سيفحص ملفًا آخر، أو يقترح تصحيحًا، أو يتوقف؛
  • تنفيذ الأدوات في طبقة تطبيقك الخاصة، وليس داخل استدعاء النموذج؛
  • إرسال الملاحظة مرة أخرى إلى جولة المحادثة التالية.

يصف كتالوج Novita AI Qwen3 Coder Next كنموذج LLM نصي-داخل، نصي-خارج مع توفر بدون خادم، ودعم استدعاء الدوال، ودعم المخرجات المنظمة، وسياق طويل. هذه هي العناصر المهمة لوكلاء البرمجة: يمكن للنموذج إنتاج تعليمات تشبه استدعاء الأدوات وقرارات منظمة، بينما يظل تطبيقك مسؤولاً عن الوصول إلى نظام الملفات، وتنفيذ الأوامر، وتغييرات المستودع، وبوابات الموافقة.

تجنب معاملة النموذج كما لو كان يعدل مستودعًا بنفسه مباشرة. يحتاج وكيل البرمجة إلى كود محيط يُحضّر السياق، ويُتحقق من صحة المخرجات، ويُشغل الأدوات، ويُطبق التصحيحات، ويُسجل النتائج. يوفر Qwen3 Coder Next خطوة نموذج اللغة في تلك الحلقة.

معرف النموذج، نقطة النهاية، الأسعار، والحدود

معرف نموذج Novita AI المؤكد هو qwen/qwen3-coder-next.

الحقل القيمة المؤكدة
الاسم المعروض Qwen3 Coder Next
معرف النموذج qwen/qwen3-coder-next
طريقة الإدخال نص
طريقة الإخراج نص
مجموعة نقاط النهاية chat/completions، anthropic
نقطة النهاية المتوافقة مع OpenAI POST https://api.novita.ai/openai/v1/chat/completions
حجم السياق 262,144 رمزًا
الحد الأقصى لرموز الإخراج 65,536 رمزًا
سعر الإدخال المدرج 0.20 دولار لكل مليون رمز
سعر الإخراج المدرج 1.50 دولار لكل مليون رمز
الميزات المدرجة استدعاء الدوال، المخرجات المنظمة، بدون خادم
RPM المدرجة عند حصة T1 30 RPM

يمكن أن تتغير الأسعار، حدود المعدل، والتوفر. تحقق من مكتبة نماذج Novita AI وحصتك في لوحة التحكم قبل النشر في الإنتاج.

الخطوة 1: الحصول على مفتاح API من Novita AI

أنشئ أو افتح حسابك في Novita AI، ثم أنشئ مفتاح API من لوحة التحكم. خزّنه كمتغير بيئة بدلاً من تضمينه مباشرة في تطبيقك.

export NOVITA_API_KEY="your_api_key_here"

للتطوير المحلي، استخدم ملف تعريف الصدفة الخاص بك، أو أداة تحميل .env، أو مدير الأسرار. للإنتاج، قم بحقن المفتاح عبر نظام الأسرار في منصة النشر الخاصة بك واحفظه بعيدًا عن السجلات، والكود من جانب العميل، وتاريخ المستودع.

الخطوة 2: إرسال أول طلب برمجي

ابدأ بأصغر طلب مفيد: رسالة نظام تحدّد دور المساعد، بالإضافة إلى رسالة مستخدم تحتوي على نموذج كود قصير ومهمة برمجية محددة.

curl https://api.novita.ai/openai/v1/chat/completions \
-H "Authorization: Bearer $NOVITA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-coder-next",
"messages": [
{
"role": "system",
"content": "أنت مساعد برمجة. اشرح المخاطر بوضوح وتجنب تغيير السلوك إلا إذا طُلب منك."
},
{
"role": "user",
"content": "راجع دالة JavaScript هذه بحثًا عن الحالات الحدية:\n\nfunction divide(a, b) {\n return a / b;\n}"
}
],
"temperature": 0.2,
"max_tokens": 600
}'

يؤدي الرد الناجح غير المتدفق إلى إرجاع كائن إكمال محادثة بمصفوفة choices. اقرأ choices[0].message.content لمخرجات النموذج وusage لحساب الرموز.

import os
import requests

api_key = os.environ["NOVITA_API_KEY"]

response = requests.post(
    "https://api.novita.ai/openai/v1/chat/completions",
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    json={
        "model": "qwen/qwen3-coder-next",
        "messages": [
            {
                "role": "system",
                "content": (
                    "أنت مساعد برمجة. اشرح المخاطر بوضوح "
                    "واجعل التوصيات مقتصرة على الكود المقدم."
                ),
            },
            {
                "role": "user",
                "content": (
                    "راجع دالة Python هذه بحثًا عن الأخطاء:\n\n"
                    "def normalize(items):\n"
                    "    return [x.strip().lower() for x in items]\n"
                ),
            },
        ],
        "temperature": 0.2,
        "max_tokens": 600,
    },
    timeout=60,
)

response.raise_for_status()
data = response.json()
print(data["choices"][0]["message"]["content"])

هذا المثال بسيط عمدًا. أضف البث أو الأدوات أو المخرجات المنظمة فقط بعد أن يعمل الطلب الأساسي في بيئتك.

الخطوة 3: استخدام Qwen3 Coder Next في حلقة وكيل

وكيل البرمجة هو حلقة حول النموذج. يقترح النموذج الإجراء التالي؛ يقرر تطبيقك ما إذا كان سينفذه ثم يُغذي النتيجة مرة أخرى.

لحلقة وكيل برمجة بسيطة، حافظ على مساحة الإجراءات صغيرة:

الإجراء ما يفعله تطبيقك
inspect_file يقرأ مسار ملف مسموح به ويعيد المحتوى ذي الصلة.
search_code يبحث في المستودع باستعلام محدود.
propose_patch يطلب من النموذج إنتاج خطة تصحيح أو فرق للمراجعة.
finish ينهي الحلقة بملخص والمخاطر المتبقية.

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

يمكن أن تبدو الحلقة البسيطة كالتالي:

import json
import os
import requests

API_URL = "https://api.novita.ai/openai/v1/chat/completions"
MODEL = "qwen/qwen3-coder-next"

def call_model(messages):
    response = requests.post(
        API_URL,
        headers={
            "Authorization": f"Bearer {os.environ['NOVITA_API_KEY']}",
            "Content-Type": "application/json",
        },
        json={
            "model": MODEL,
            "messages": messages,
            "temperature": 0.1,
            "max_tokens": 1200,
            "response_format": {"type": "json_object"},
        },
        timeout=60,
    )
    response.raise_for_status()
    return response.json()["choices"][0]["message"]["content"]

messages = [
    {
        "role": "system",
        "content": (
            "أنت مخطط وكيل برمجة. أعد JSON فقط مع المفاتيح "
            "action, path, query, rationale, و final_answer. الإجراءات المسموح بها "
            "هي inspect_file, search_code, propose_patch, و finish."
        ),
    },
    {
        "role": "user",
        "content": (
            "نحتاج إلى معرفة سبب تعطل normalize_user عندما يكون البريد الإلكتروني مفقودًا. "
            "ابدأ باختيار خطوة الفحص الآمنة التالية."
        ),
    },
]

raw = call_model(messages)
decision = json.loads(raw)
print(decision)

يستخدم هذا المثال وضع JSON للحفاظ على بساطة محلل التطبيق. للإنتاج، تحقق من أن الرد يحتوي على action مسموح به وأن الحقول مثل path وquery تطابق قواعد الأمان الخاصة بك قبل تنفيذ أي شيء.

الخطوة 4: إضافة مخرجات منظمة لقرارات الوكيل

تتضمن واجهة Novita AI لإكمال المحادثات response_format، بما في ذلك خيارات json_object وjson_schema. Qwen3 Coder Next مدرج بدعم المخرجات المنظمة في مكتبة النماذج، لذا فإن كائنات القرار المنظمة مناسبة تمامًا لتنسيق وكيل البرمجة.

استخدم المخرجات المنظمة للقرارات التي يجب أن يحللها برنامجك بشكل موثوق:

  • تصنيف ما إذا كان التغيير مطلوبًا؛
  • إرجاع خطة تصحيح بمسارات الملفات وملاحظات المخاطر؛
  • تحديد ما إذا كان هناك حاجة إلى مزيد من السياق؛
  • إنتاج قائمة مراجعة اختبارية؛
  • إصدار ملخص نهائي يفصل بين السلوك المتغير والتحقق والمخاطر.

للتحقق الأكثر صرامة، استخدم json_schema وحافظ على المخطط صغيرًا. لا يزال إخراج النموذج مدخلاً غير موثوق به لبرنامجك، لذا تحقق منه بعد التحليل.

schema = {
    "name": "coding_agent_decision",
    "schema": {
        "type": "object",
        "properties": {
            "action": {
                "type": "string",
                "enum": ["inspect_file", "search_code", "propose_patch", "finish"],
            },
            "path": {"type": "string"},
            "query": {"type": "string"},
            "rationale": {"type": "string"},
            "risk": {"type": "string"},
        },
        "required": ["action", "rationale", "risk"],
        "additionalProperties": False,
    },
    "strict": True,
}

payload = {
    "model": "qwen/qwen3-coder-next",
    "messages": [
        {
            "role": "system",
            "content": "أعد قرار وكيل البرمجة التالي كـ JSON منظم.",
        },
        {
            "role": "user",
            "content": "ابحث عن أول خطوة آمنة لتصحيح أخطاء اختبار تسجيل دخول فاشل.",
        },
    ],
    "response_format": {
        "type": "json_schema",
        "json_schema": schema,
    },
    "temperature": 0.1,
    "max_tokens": 800,
}

استخدم استدعاء الدوال عندما يحتوي تطبيقك بالفعل على طبقة توزيع الأدوات. يوثق مرجع API الخاص بـ Novita AI حقل tools حيث يمكن توفير الدوال. قد يُنشئ النموذج مدخلات JSON لتلك الدوال، لكن تطبيقك لا يزال ينفذ الدالة ويعيد الملاحظات في جولة لاحقة. اجعل أوصاف الأدوات دقيقة وتجنب كشف العمليات التدميرية ما لم تتطلب موافقة صريحة.

الخطوة 5: تخطيط السياق، المخرجات، والتكلفة

Qwen3 Coder Next لديه حجم سياق مدرج يبلغ 262,144 رمزًا وحجم إخراج أقصى مدرج يبلغ 65,536 رمزًا على Novita AI. وهذا يعطي وكلاء البرمجة مساحة لسياق متعدد الملفات، لكن المطالبات الأكبر تزيد التكلفة ويمكن أن تخفف تركيز النموذج.

استخدم خطوة استرجاع بدلاً من إلقاء مستودع كامل في كل طلب:

  1. ابدأ بطلب المستخدم، ورسالة الخطأ ذات الصلة، وخريطة المستودع.
  2. اطلب من النموذج اختيار الملفات لفحصها.
  3. أضف فقط المقتطفات أو الملفات المحددة.
  4. اطلب خطة تصحيح محدودة قبل طلب فرق.
  5. احتفظ بملخص جاري قصير بدلاً من إعادة تشغيل كل ملاحظة سابقة.

تعتمد التكلفة على رموز الإدخال والإخراج. مع الأسعار المدرجة البالغة 0.20 دولار لكل مليون رمز إدخال و1.50 دولار لكل مليون رمز إخراج، يمكن أن تكلف الفروق المولدة المطولة أكثر من التحليل المختصر. اضبط max_tokens على أصغر قيمة تناسب الخطوة. على سبيل المثال، قد تحتاج خطوة التخطيط إلى مئات الرموز، بينما قد يحتاج شرح التصحيح النهائي إلى المزيد.

حدود المعدل مهمة أيضًا في حلقة الوكيل. تسرد مكتبة النماذج حصة T1 عند 30 RPM لـ Qwen3 Coder Next، مع مستويات RPM أعلى موضحة في الكتالوج. صمم وكيلك لإعادة محاولة استجابات 429 مع التراجع، وتجنب الحلقات المتوازية التي تفحص نفس الملفات بشكل متكرر، وخزن الملخصات مؤقتًا عند الاقتضاء.

استكشاف الأخطاء وإصلاحها

المشكلة السبب المحتمل الحل
401 أو فشل المصادقة مفتاح API مفقود أو منتهي الصلاحية أو مشوه تحقق من رأس Authorization: Bearer $NOVITA_API_KEY وأعد إنشاء المفتاح إذا لزم الأمر.
النموذج غير موجود معرف النموذج غير صحيح استخدم qwen/qwen3-coder-next بالضبط.
الإخراج ليس JSON صالحًا المطالبة أو المخطط فضفاض جدًا استخدم response_format، واخفض temperature، وتحقق من الكائن المحلل.
السياق كبير جدًا عدد كبير جدًا من الملفات أو السجلات الطويلة في طلب واحد استرجع مقتطفات أصغر ولخص الجولات السابقة.
حلقة الوكيل بدون تقدم مساحة الإجراءات واسعة جدًا أو الملاحظات مكررة أضف حدًا أقصى للتكرار واطلب مبررًا جديدًا لكل خطوة.
إجراء أداة غير متوقع اقترح النموذج إجراءً لا يجب على تطبيقك تشغيله فرض قوائم السماح وبوابات الموافقة خارج النموذج.
أخطاء حد المعدل عدد كبير جدًا من الاستدعاءات المتوازية أو حلقات إعادة المحاولة الضيقة أضف تراجعًا أسيًا وضع خطوات الوكيل في قائمة انتظار.

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

هل Qwen3 Coder Next متاح عبر API Novita AI؟

نعم. تسرد مكتبة نماذج Novita AI Qwen3 Coder Next كـ LLM بدون خادم بمعرف النموذج qwen/qwen3-coder-next.

ما نقطة النهاية التي يجب أن أستخدمها لـ Qwen3 Coder Next؟

استخدم نقطة نهاية إكمال المحادثات المتوافقة مع OpenAI: POST https://api.novita.ai/openai/v1/chat/completions. يسرد كتالوج النماذج أيضًا مجموعة نقاط نهاية anthropic، لكن الأمثلة القابلة للتشغيل في هذا الدليل تستخدم إكمال المحادثات.

كم تكلفة Qwen3 Coder Next على Novita AI؟

يسرد كتالوج Novita AI الذي تم التحقق منه Qwen3 Coder Next بسعر 0.20 دولار لكل مليون رمز إدخال و1.50 دولار لكل مليون رمز إخراج. أعد التحقق من الأسعار في مكتبة النماذج قبل الإطلاق لأن الأسعار قد تتغير.

ما هي حدود السياق والإخراج؟

يسرد كتالوج Novita AI الذي تم التحقق منه حجم سياق 262,144 رمزًا وحدًا أقصى للإخراج يبلغ 65,536 رمزًا لـ Qwen3 Coder Next.

هل يدعم Qwen3 Coder Next استدعاء الدوال والمخرجات المنظمة؟

نعم. تسرد مكتبة نماذج Novita AI Qwen3 Coder Next بميزات function-calling وstructured-outputs. لا يزال تطبيقك بحاجة إلى التحقق من صحة وتنفيذ أي إجراءات للأدوات.

هل يمكن لـ Qwen3 Coder Next تعديل مستودعي مباشرة؟

لا. يعيد API إخراج النموذج. يجب تنفيذ قراءة المستودع، وتنفيذ الأوامر، وتطبيق التصحيحات، والاختبارات، والموافقات في بيئة وقت تشغيل الوكيل الخاصة بك.

أدلة برمجة Qwen ذات الصلة