استدعاء الأدوات (Tool calling)
استدعاء الأدوات، ويسمى أيضًا استدعاء الدوال، ميزة تتيح للنموذج اللغوي أن يطلب من برنامجك تشغيل دالة ثم يستخدم النتيجة في إجابته. لا يشغّل النموذج شيئًا بنفسه: يعيد اسم الأداة ووسائطها، وشيفرتك هي التي تؤدي العمل.
آخر تحديث: 8 نوفمبر 2026
في هذه الصفحة
مقروءة على أجهزتك فقط.
محادثتك مقروءة على جهازك، وعلى أجهزتك الأخرى إن زامنتها. وليس في أي مكان آخر.
غير مقروءة لدينا.
تمرّ رسالتك دون أن تُكتب في أي مكان، ولا تبقى محادثاتك لدينا إلا مشفّرة.
النموذج لا يعرف من أنت.
يتلقى السؤال، لا بريدك ولا حسابك ولا عنوان IP الخاص بك.
لا شيء يبقى في الطريق.
يعود الرد ويُحفظ هنا مشفّرًا؛ وحتى مع المزامنة، لا يصلنا مفتاحك أبدًا مكشوفًا.
كيف يعمل
تبدأ بوصف الأدوات التي تقدمها. لكل منها اسم ووصف قصير ومخطط JSON يسرد معاملاتها، مثل دالة get_weather تأخذ مدينة. وترسل هذه القائمة مع المحادثة. وإذا قرر النموذج أن أداة ستفيد، يحوي رده استدعاء أداة بدل النص النهائي: اسم الأداة والوسائط مكتوبة بصيغة JSON. فيشغّل برنامجك الدالة، ويضيف رسالة تحمل النتيجة ومعرّف الاستدعاء، ويرسل كل شيء ثانية. ثم يكتب النموذج الإجابة النهائية من تلك النتيجة. فكّر في نادل يكتب طلبك على قسيمة ولا يدخل المطبخ. ومن الأمثلة المعتادة الاستعلام عن حالة طلب وتحويل عملة والبحث في قاعدة معرفة وإنشاء موعد في تقويم.
تتيح معظم واجهات API توجيه السلوك. تستطيع ترك الاختيار للنموذج، أو منع الأدوات، أو إلزام استدعاء أداة ما، أو تسمية الأداة بالتحديد. وقد تأتي عدة استدعاءات في الرد نفسه، فتوفر رحلات ذهاب وإياب حين لا يعتمد بعضها على بعض، وفي الرد المبثوث تصل الوسائط قطعًا تحت الفهرس نفسه. وتشغّل الآلية نفسها الوكلاء، الذين يكررون دورة الاستدعاء والنتيجة والقرار، وهي أيضًا طريقة موثوقة لاستخراج بيانات منظمة من نص. ويوجد عند بعض المزوّدين وضع صارم يُلزم المخرجات بمطابقة المخطط تمامًا ويزيل كثيرًا من الاستدعاءات المشوهة.
الحذر مطلوب. قد تختار النماذج أداة خاطئة أو تخترع وسيطًا أو تستدعي دالة بقيم صالحة لكنها ضارة، فتحقق من الوسائط من جهتك ولا تشغّل أبدًا ما هو أقوى مما تحتاجه المهمة. وليست كل النماذج تدعم الميزة، والتي تدعمها تتفاوت في موثوقية اتباع المخطط. اختبر بحالات حقيقية، واجعل أوصاف الأدوات قصيرة ودقيقة، وسمِّ الأدوات بأسماء تقول ما تفعله. وأبقِ قائمة الأدوات قصيرة، فالقائمة الطويلة تربك النماذج وتأكل من نافذة السياق. ومن الإخفاقات المعتادة مدينة بإملاء خاطئ وحقل مطلوب ناقص ورقم أُرسل نصًا وتاريخ بصيغة خاطئة وأداة غير موجودة.
في NeverNo
تدعمه واجهة API في NeverNo في إكمالات الدردشة. مرّر tools، وهي قائمة دوال بمخطط JSON، واختياريًا tool_choice (auto أو none أو required أو دالة مسماة) وparallel_tool_calls. وحين يستدعي النموذج أداة يحوي الرد tool_calls ويكون finish_reason هو tool_calls؛ فتشغّل الدالة وترسل رسالة tool بالنتيجة ومعها tool_call_id. وفي البث يصل كل استدعاء بالطريقة التي تكتبها OpenAI.
فقط النماذج التي تكون فيها capabilities.tools قيمتها true في قائمة /models تقبل الأدوات؛ وأي نموذج آخر يجيب بخطأ 400 واضح اسمه tools_not_supported. وGLM 5.2، نموذج خاص من Z.ai مشمول في الخطط المدفوعة، له نافذة سياق 200,000 توكن ووضع استدلال اختياري. راجع القائمة قبل أن تبني على نموذج. وتشرح صفحة بديل ChatGPT لماذا يختار الناس NeverNo لتنوع النماذج.
ما يستحق التذكر
يطلب النموذج أداة باسمها ووسائطها؛ ويشغّلها برنامجك ويعيد النتيجة.
توصف كل أداة باسم ووصف قصير ومخطط JSON للمعاملات.
الإعداد tool_choice يترك القرار للنموذج أو يمنع الأدوات أو يفرض واحدة.
تحقق من كل وسيط بنفسك: الاستدعاء السليم الشكل ليس بالضرورة آمنًا.
النماذج التي تعلن القدرة فقط تقبل الأدوات؛ وغيرها يعيد خطأ.
أسئلة شائعة
هل يشغّل النموذج الدالة؟
لا. هو ينتج طلبًا منظمًا يسمّي الدالة ووسائطها فقط. وشيفرتك تشغّل الدالة، ولهذا تتحكم أنت فيما يمكن أن يحدث فعلًا. وهذا الفصل نفسه ما يتيح إضافة السجلات أو حدود المعدل أو خطوة تأكيد قبل أن يعمل أي شيء.
هل استدعاء الأدوات هو نفسه استدعاء الدوال؟
عمليًا نعم. استدعاء الدوال كان الاسم الأول الذي استخدمته OpenAI؛ واستدعاء الأدوات مصطلح أوسع لأن الأداة قد تكون دالة أو بحثًا أو خدمة أخرى.
كيف أعرف هل يدعمه نموذج؟
اقرأ قدراته في قائمة النماذج. في NeverNo يعرض GET /models القيمة capabilities.tools لكل نموذج، والنموذج الذي لا يدعمه يجيب بخطأ 400 بدل تجاهل الأدوات بصمت. وطلب صغير واحد بأداة تافهة أسرع طريقة لتتأكد أن النموذج يتصرف جيدًا.
اطرح سؤالك الأول
بلا حساب ولا بطاقة. اكتب بأي لغة من اللغات العشر التي يتحدثها NeverNo.
افتح الدردشة