يتيح function calling لنموذج LLM اختيار أداة وإرجاع معطيات منظمة يقوم تطبيقك بتنفيذها. تعرفوا على آلية عمله ولماذا يشغّل وكلاء AI.

Function calling، المعروف أيضاً باسم tool calling، هو قدرة نموذج لغوي كبير على التواصل مع أنظمة خارجية عبر إرجاع وصف منظّم وقابل للقراءة آلياً يحدد الدالة التي يجب تشغيلها وبأي معطيات. فبدلاً من إنتاج نص فقط، يحلل النموذج الإجراء المطلوب ويصدر كائن JSON يمكن لتطبيقكم تنفيذه، محوّلاً بذلك مولّد نصوص إلى نظام قادر على اتخاذ إجراءات.
تشكل هذه القدرة الجسر بين النماذج اللغوية والعالم الحقيقي. فهي ما يتيح لمساعد ما جلب بيانات حية، أو تفعيل عملية، أو ربط عدة خطوات ببعضها، وهي الآلية الأساسية وراء وكلاء AI الحديثين. فهم هذه القدرة يوضح كيف تنتقل أدوات AI من الحديث عن مهمة إلى إنجازها فعلياً.
يمنح function calling النموذج إمكانية الوصول إلى قدرات تتجاوز بيانات تدريبه. تصفون الدوال المتاحة، ويقرر النموذج ما إذا كانت إحداها ضرورية لطلب معين، ويختار الدالة المناسبة، ويولّد المعطيات المطلوب تمريرها. الناتج هو كائن JSON منظّم وليس نصاً حراً، وهذا ما يجعله قابلاً للاستخدام بشكل موثوق من قبل البرمجيات.
نقطة مهمة كثيراً ما يُساء فهمها: على الرغم من الاسم، لا يقوم function calling بتشغيل الكود الخاص بكم تلقائياً. يكتفي النموذج بوصف الدالة التي يجب استدعاؤها وإنتاج المعطيات؛ وتطبيقكم هو من ينفذ الدالة فعلياً. يقترح النموذج الإجراء، ويتولى نظامكم تنفيذه.
يتبع سير العمل حلقة واضحة. أولاً تحددون مخطط الدالة، وهو وصف منظّم يوضح اسم الدالة والغرض منها والمعطيات التي تقبلها مع أنواعها. بعد ذلك ترسلون رسالة المستخدم مع تعريفات الدوال المتاحة إلى النموذج. يقيّم النموذج ما إذا كان استدعاء دالة مناسباً، وإن كان كذلك، يُرجع JSON يحدد اسم الدالة ومعطياتها.
بعد ذلك يقوم تطبيقكم بتحليل ذلك الـJSON، ويشغّل الدالة الفعلية في الخلفية بالمعطيات المستخرجة، ويعيد النتيجة إلى النموذج لإغلاق الحلقة. يمكن للنموذج استخدام تلك النتيجة للإجابة على المستخدم أو لتحديد الخطوة التالية. ولأن ناتج كل دالة يمكن أن يغذي الاستدعاء التالي، يتيح function calling سير عمل متعدد الخطوات، وهو العمود الفقري لـسير العمل الوكيلي.
function calling هو في جوهره شكل متخصص من المخرجات المنظمة. يعتمد كلاهما على مخططات JSON لفرض تنسيق بيانات متسق، لكنهما يخدمان غرضين مختلفين: تركز المخرجات المنظمة على جعل استجابة النموذج مطابقة للشكل المطلوب، بينما يستخدم function calling المخططات لتعريف عمليات قابلة للاستدعاء ومعطياتها. غالباً ما يُستخدم الاثنان معاً، حيث يقرر function calling الإجراء المطلوب وتحدد المخرجات المنظمة الشكل الدقيق للبيانات.
عززت الشركات المزودة هذا الأمر بفرض صارم للمخططات. تقنية Structured Outputs من OpenAI، وهي تطور لتقنية JSON mode السابقة، تُلزم النموذج بمطابقة مخطط يوفره المطور بدلاً من مجرد إنتاج JSON صالح، ويمكن دمجها مع function calling. هذه الموثوقية هي ما يجعل الميزة آمنة للبناء عليها، وتتناسب بشكل طبيعي مع المحتوى المنظم جيد التنظيم.
function calling هو الطريقة الأساسية التي يتفاعل بها وكلاء AI مع الأدوات. يستقبل الوكيل طلباً بلغة طبيعية، ويحدد الدوال الواجب استدعاءها، ويولّد المعطيات الصحيحة، ويربط عدة استدعاءات معاً لتحقيق هدف معقد. على سبيل المثال، قد يستخرج وكيل معالجة الفواتير بيانات المورّد عبر استدعاء واحد، ثم يفعّل دالة دفع باستخدام تلك التفاصيل.
يمكن للنماذج أيضاً إصدار عدة استدعاءات دوال بالتوازي للمهام المتزامنة، ويمكن للمطورين التحكم في اختيار الأداة، بترك النموذج يختار تلقائياً، أو باشتراط استدعاء واحد على الأقل، أو بفرض أداة محددة. هذه الضوابط هي ما يتيح للوكلاء الانتقال بشكل موثوق من النية إلى الفعل، وهذا ما يجعل function calling أساساً للتحول الأوسع نحو البحث الوكيلي والمساعدين المستقلين. تدعم هذه القدرة كبرى الشركات المزودة بما فيها OpenAIوAnthropicوGoogle.
يُعد function calling سبباً رئيسياً في قدرة مساعدي AI على جلب معلومات حية بدلاً من الاعتماد فقط على ما حفظوه. فعندما يجيب مساعد على سؤال بجلب بيانات حالية عبر أداة، تصبح المصادر التي يستخرجها ويستشهد بها هي النتيجة المرئية، وهذا مرتبط مباشرة بكيفية اكتساب الظهور في البحث عبر AI.
كما يشير إلى الوجهة التي يتجه إليها الاكتشاف. فمع تزايد الإجراءات التي يتخذها الوكلاء نيابة عن المستخدمين، من البحث إلى المعاملات، تصبح المعلومات المنظمة والقابلة للقراءة آلياً أكثر قيمة، لأن الأدوات والوكلاء يستهلكون البيانات بأشكال محددة. تبني معايير ناشئة مثل بروتوكول سياق النموذج على الفكرة نفسها المتمثلة في كشف القدرات للنماذج بطريقة متسقة وقابلة للاستدعاء.
تشمل الاستخدامات النموذجية جلب بيانات حية مثل الطقس أو المخزون أو التسعير؛ وتنفيذ إجراءات مثل حجز موعد أو إتمام معاملة؛ وإجراء حسابات على قيم يدخلها المستخدم؛ وبناء سير عمل آلي متعدد الخطوات؛ وتحديث الواجهات بناءً على ناتج النموذج. في أي مكان يحتاج فيه نموذج لغوي إلى تجاوز النص للوصول إلى نظام حقيقي، يكون function calling هو الآلية المستخدمة.
بالنسبة لفرق المنتج والتسويق، تُعد الحالات الأكثر صلة هي استرجاع البيانات وأتمتة سير العمل، حيث يتيح function calling لمساعد الاتصال بأنظمتكم والعمل بناءً على معلومات دقيقة وحديثة بدلاً من التخمين. وهذا أيضاً ما يجعل هندسة التوجيهات الجيدة وتصميم الأدوات يتكاملان لجعل المساعدين موثوقين.
يتطلب function calling مخططات محددة مسبقاً؛ ولا يمكن للنموذج استدعاء دوال عشوائية غير معروفة، وتعتمد جودة النتائج بشكل كبير على دقة تعريفات المخططات، إذ تؤدي المخططات سيئة التصميم إلى استدعاءات خاطئة. الأوصاف الواضحة والتوجيه الجيد ضروريان حتى يفهم النموذج متى وكيف يستدعي كل دالة.
تتفاوت الموثوقية أيضاً حسب النهج المتبع. function calling الأصلي مع فرض صارم للمخططات أكثر موثوقية بكثير من المحاكاة المعتمدة على التوجيهات النصية، التي تفتقر إلى ضمانات الفرض ويمكن أن تتعطل مع تحديثات النماذج. ولأن النموذج يكتفي باقتراح الإجراءات، يجب على تطبيقكم التحقق من صحة المعطيات والتعامل مع التنفيذ بأمان، خاصة بالنسبة للعمليات التي تنقل أموالاً أو تغيّر بيانات.
يتيح function calling لنموذج لغوي تحديد الوقت الذي تكون فيه أداة ضرورية وإرجاع كائن JSON منظّم يصف الدالة والمعطيات، ثم يقوم تطبيقكم بتنفيذها. إنه شكل متخصص من المخرجات المنظمة، وأساس استخدام الأدوات في وكلاء AI، وسبب رئيسي لقدرة المساعدين على العمل بناءً على بيانات حية من العالم الحقيقي.
للتعمق أكثر، اربطوا هذا المفهوم بـوكلاء AI وبروتوكول سياق النموذج، واستخدموا أدوات البحث وتخطيط المحتوى من Sorank لتنظيم المعلومات بالطرق القابلة للقراءة آلياً التي يعتمد عليها الوكلاء بشكل متزايد. مصادر مرجعية: Agenta وVellum.
function calling، أو tool calling، هو قدرة تتيح لنموذج لغوي التواصل مع أنظمة خارجية. يقرر النموذج ما إذا كانت أداة ضرورية لطلب معين، ويختار الدالة الصحيحة، ويُرجع كائن JSON منظّم يحتوي على المعطيات المطلوب استخدامها. وعلى الرغم من الاسم، لا يشغّل النموذج الكود بنفسه؛ بل يصف الاستدعاء، ويتولى تطبيقكم تنفيذ الدالة فعلياً.
يعتمد كلاهما على مخططات JSON لفرض تنسيق متسق، لكنهما يخدمان هدفين مختلفين. تجعل المخرجات المنظمة استجابة النموذج مطابقة للشكل المطلوب، بينما يستخدم function calling المخططات لتعريف عمليات قابلة للاستدعاء ومعطياتها. غالباً ما يُدمجان معاً: يقرر function calling الإجراء الواجب اتخاذه، وتحدد المخرجات المنظمة الشكل الدقيق للبيانات التي يُرجعها النموذج.
function calling هو الطريقة الأساسية التي يستخدم بها وكلاء AI الأدوات. يقرأ الوكيل طلباً بلغة طبيعية، ويحدد الدوال الواجب استدعاؤها، ويولّد المعطيات، ويربط عدة استدعاءات معاً لإنجاز مهمة معقدة. يمكن للنماذج أيضاً تنفيذ استدعاءات متوازية والسماح للمطورين بالتحكم في اختيار الأداة. هذا ما يحوّل مولّد نصوص إلى نظام قادر على جلب البيانات واتخاذ إجراءات حقيقية.