قد ترى أيضًا أن هذا يُسمّى استدعاء الأدوات أو استدعاء الدوال. وغالبًا ما تشير هذه الأسماء إلى الآلية نفسها. لكن بعض المنصات تستخدم مصطلح الأدوات كفئة أوسع تشمل البحث المستضاف، وتنفيذ التعليمات البرمجية، واسترجاع الملفات، أو التحكم في الحاسوب، بالإضافة إلى الدوال التي يعرّفها المطوّرون.
النموذج الذهني المفيد
فكّر في النموذج باعتباره طالبًا للعمل، لا الآلة التي تنفّذ العمل.
يمكن للنموذج إنتاج طلب منظّم مثل «استدعِ get_order_status باستخدام معرّف الطلب 4821». يظل هذا الناتج استجابةً من النموذج. ولا يستعلم النموذج بنفسه عن قاعدة بيانات.
يتلقى التطبيق المحيط الطلب ويتحكم فيما يحدث بعد ذلك. ويمكنه رفض الاستدعاء، أو مطالبة المستخدم بتأكيده، أو التحقق من الأذونات، أو تشغيل التعليمات البرمجية، أو إعادة خطأ. وإذا شغّل الأداة، فإنه يعيد النتيجة إلى النموذج بوصفها سياقًا جديدًا. عندها يمكن للنموذج شرح النتيجة أو طلب أداة أخرى.
وهذا الفصل هو الحقيقة المركزية في استخدام الأدوات:
User request
↓
Model selects a tool and proposes inputs
↓
Application validates, authorizes, and executes
↓
Tool result returns to the model
↓
Model answers or requests another toolيوفّر بعض المزوّدين أيضًا أدوات مستضافة ينفّذونها على خوادمهم هم. وقد تخفي واجهة API جزءًا من الدورة، لكن المراحل المنطقية تظل كما هي: يطلب النموذج تنفيذ عملية، وينفّذها نظام التنفيذ، ثم تدخل النتيجة في المحادثة.
كيف يعمل استخدام الأدوات
1. يصف التطبيق كل أداة
يتضمن تعريف الأداة عادةً:
- اسمًا، مثل
get_order_status - وصفًا بلغة واضحة يبيّن متى تُستخدم
- المدخلات التي تقبلها
- قواعد شكل كل مدخل ونوعه
غالبًا ما تُعبَّر عن قواعد المدخلات هذه باستخدام مخطط JSON. وقد يذكر المخطط أن order_id سلسلة نصية مطلوبة. يوضّح الوصف معنى الأداة للنموذج؛ أما المخطط فيوضّح كيفية تنسيق الاستدعاء.
2. يتلقى النموذج الطلب وتعريفات الأدوات
ينظر النموذج في رسالة المستخدم إلى جانب أوصاف الأدوات المتاحة. وقد يجيب بصورة عادية، أو يطلب أداة واحدة، أو يطلب عدة أدوات عندما تسمح واجهة API والتطبيق بذلك.
اختيار الأداة هو تنبؤ، وليس خطة مضمونة. فقد يختار النموذج الأداة الخطأ، أو يغفل عن استدعاء مطلوب، أو يقترح وسيطًا سليم البنية لكنه غير مناسب.
3. يعيد النموذج استدعاءً منظّمًا للأداة
بدلًا من النثر العادي—أو إلى جانبه—تتضمن الاستجابة استدعاءً يمكن للآلة قراءته. وقد يبدو الشكل المبسّط كما يلي:
{
"name": "get_order_status",
"arguments": {
"order_id": "4821"
}
}ترمّز واجهات API الخاصة بالمزوّدين ذلك باستخدام أنواع مختلفة من الرسائل، وتُرفق معرّفًا حتى يمكن مطابقة النتيجة اللاحقة بالاستدعاء الصحيح. وقد يختلف الغلاف الدقيق، لكن فكرة الاسم والمدخلات متسقة عبر واجهات API الرئيسية.
4. يقرر التطبيق ما إذا كان سينفّذه
هنا يتحول الإجراء المقترح إلى إجراء حقيقي—أو لا يتحول.
يفكك التطبيق الوسائط ويتحقق منها وفق ما هو أكثر من المخطط. فقد يتحقق من المستخدم الذي سجّل الدخول، ويفرض قواعد الوصول، ويقيّد القيم، ويطلب موافقة على تأثير جانبي، أو يرفض أداة غير متاحة. وبعد ذلك فقط يستدعي مشغّل الأدوات قاعدة البيانات أو واجهة API أو الآلة الحاسبة أو نظام الملفات أو أي نظام آخر.
يمكن للمخطط الصارم تحسين الموثوقية البنيوية، لكنه ليس نظامًا للتفويض. "order_id": "4821" قد يكون JSON صالحًا، ومع ذلك قد يشير إلى طلب يخص شخصًا آخر.
5. تعود نتيجة الأداة إلى النموذج
يرسل التطبيق الناتج في رسالة نتيجة مرتبطة بالاستدعاء الأصلي. وقد يتضمن الناتج بيانات، أو خطأ، أو إفادة برفض الإذن.
يستخدم النموذج تلك النتيجة بوصفها سياقًا إضافيًا. ويمكنه إنتاج إجابة نهائية، أو تصحيح افتراض سابق، أو إجراء استدعاء أداة آخر. وقد يكرر وكيل ذكاء اصطناعي متعدد الخطوات هذه الدورة حتى يصل إلى شرط توقف.
مثال عملي: التحقق من طلب
لنفترض أن متجرًا يوفّر أداة واحدة للقراءة فقط:
Name: get_order_status
Purpose: Return shipping information for an order the current user owns
Input: order_id (required string)يسأل المستخدم:
أين طلبي 4821؟
يطلب النموذج:
{
"name": "get_order_status",
"arguments": {
"order_id": "4821"
}
}قبل الاستعلام عن أي شيء، يتحقق التطبيق من الجلسة الحالية. فإذا كان المستخدم يملك الطلب 4821، ينفّذ البحث ويعيد:
{
"status": "shipped",
"estimated_delivery": "Friday"
}يمكن للنموذج الآن أن يجيب: «تم شحن الطلب 4821، ومن المتوقع أن يصل يوم الجمعة».
إذا فشل التحقق من الملكية، فلا ينبغي للتطبيق تنفيذ البحث أو كشف الحالة. ويمكنه إعادة خطأ في الأذونات، ثم يستطيع النموذج شرحه دون كشف بيانات خاصة.
لم يثبت استدعاء النموذج شيئًا بشأن الملكية. فقد وصف مخطط الأداة طلبًا صالحًا؛ أما التطبيق ففرض القاعدة الفعلية.
لماذا يهم استخدام الأدوات؟
يمنح استخدام الأدوات نموذج اللغة وصولًا مضبوطًا إلى إمكانات لا يوفّرها توليد النص وحده.
- بيانات حديثة أو خاصة: يمكن للأداة استرداد معلومات حالية أو بيانات لم تكن قط ضمن مواد تدريب النموذج.
- عمليات دقيقة: يمكن لآلة حاسبة أو استعلام قاعدة بيانات أو برنامج تنفيذ عمل لا ينبغي أن يعتمد على تقدير يبدو معقولًا.
- إجراءات فعلية: يمكن للأدوات إنشاء سجلات، أو إرسال رسائل، أو جدولة أحداث، أو تشغيل برامج أخرى.
- أنظمة قائمة: يمكن للأداة تحويل طلب بلغة طبيعية إلى استدعاء لواجهة API تجارية قائمة.
- عمل متعدد الخطوات: يمكن لنتيجة أحد الاستدعاءات أن توجّه الاستدعاء التالي.
لا يزيل استخدام الأدوات قيود النموذج. بل ينقل بعض المهام إلى أنظمة أنسب لتنفيذها، وينشئ واجهة بين القرارات الاحتمالية والبرامج الحتمية.
تعتمد الموثوقية والسلامة على النظام المحيط
النموذج ليس مصدرًا موثوقًا للأوامر لمجرد أن ناتجه يطابق مخططًا. ويتطلب استخدام الأدوات في بيئة الإنتاج ضوابط حول النموذج.
تحقق من المعنى، لا من الشكل فقط.تحقق من المعرّفات، والنطاقات، والحالة المطلوبة، وقواعد العمل. فالتحقق البنيوي لا يستطيع معرفة ما إذا كانت المعاملة المقترحة تطابق طلب المستخدم.
طبّق التفويض وقت التنفيذ.استخدم الهوية والأذونات التي يحتفظ بها التطبيق. ولا تسمح للنموذج بمنح نفسه صلاحية الوصول عبر وضع معرّف مستخدم أو دور في وسيط أداة.
حدّد صلاحيات كل أداة.تسهل السيطرة على أداة get_order_status محدودة النطاق أكثر من أداة عامة لقواعد البيانات. وينبغي فصل أدوات القراءة عن أدوات الكتابة عندما تختلف مخاطرها.
تعامل مع ناتج الأداة باعتباره بيانات غير موثوقة.قد يكون المحتوى الخارجي خاطئًا أو قد يتضمن نصًا مصممًا لإعادة توجيه النموذج. والمستند المُعاد هو معلومات ينبغي فحصها، وليس سلطة جديدة يمكنها استبدال طلب المستخدم أو قواعد النظام.
تعامل مع الآثار الجانبية عن قصد.يختلف إرسال رسالة أو إصدار استرداد مالي عن البحث عن حالة. وقد تحتاج الإجراءات الحساسة إلى تأكيد، وحماية من التكرار لمنع التنفيذ المزدوج، وسجل تدقيق.
أعد حالات الفشل بوضوح.ينبغي أن تتحول حالات انتهاء المهلة، والخدمات غير المتاحة، ورفض الأذونات، والوسائط غير الصالحة إلى نتائج صريحة للأداة. وإلا فقد يملأ النموذج الفراغ بنجاح مختلق.
مفاهيم خاطئة شائعة
«استدعى نموذج LLM واجهة API الخاصة بي»
عادةً ما يكون نموذج LLM قد أنشأ طلبًا، ثم استدعى التطبيق واجهة API. والقول إن النموذج «استدعى» الأداة اختصار مريح، لكنه يخفي حد التنفيذ والأمان.
«استدعاء الدوال واستدعاء الأدوات مختلفان دائمًا»
بالنسبة إلى الدوال التي يعرّفها المطوّرون، غالبًا ما يستخدم المزوّدون والأطر المصطلحين بالتبادل. ويظهر الفرق عندما تستخدم منصة ما مصطلح الأداة باعتباره مظلة تشمل الدوال بالإضافة إلى الإمكانات المضمّنة مثل البحث أو تنفيذ التعليمات البرمجية. راجع تصنيف المنصة بدل افتراض وجود تمييز موحّد.
«يعني المخطط الصالح أن الاستدعاء صحيح»
يمكن للمخطط أن يشترط سلسلة نصية أو رقمًا أو قائمة أو كائنًا، وأن يرفض الناتج سيئ البنية. لكنه لا يضمن أن النموذج اختار الأداة الصحيحة، أو استنتج القيمة الصحيحة، أو احترم قاعدة عمل.
«إضافة أداة تنشئ وكيلًا»
استخدام الأدوات قدرة. أما الوكيل فهو نظام أكبر يستطيع اتخاذ القرار، وتنفيذ الإجراءات، وملاحظة النتائج، والاحتفاظ بالحالة ذات الصلة، وتكرار الدورة، والتوقف. ويمكن لاستدعاء منظّم يُجرى مرة واحدة أن يستخدم الآلية نفسها دون أن يتحول إلى سير عمل مستقل.
«لا بد أن تكون نتيجة الأداة صحيحة»
قد يلخّص النموذج نتيجة سيئة بأمانة. فموثوقية الأداة، وحداثة البيانات، والتحكم في الوصول، ومقاومة المحتوى الخبيث، كلها خصائص للنظام بأكمله، لا لنموذج اللغة وحده.
موضع استخدام الأدوات في نظام ذكاء اصطناعي
يقع استخدام الأدوات عند الحد الفاصل بين نموذج اللغة والأنظمة المحيطة به.
يفسّر النموذج اللغة ويقترح خطوة تالية منظّمة. ويوفّر التطبيق تعريفات الأدوات، ويحافظ على حالة المحادثة، ويتحقق من الاستدعاءات، ويدير الأذونات، وينفّذ العمليات، ويعيد الملاحظات. وتوفّر الأدوات إمكانات محدودة. ويمكن لوكيل استخدام هذا الترتيب مرارًا لتحقيق مهمة أكبر.
ولهذا فإن جودة استخدام الأدوات ليست خاصية للنموذج وحده. فأوصاف الأدوات الواضحة، والمخططات المتميزة، وضوابط التنفيذ، ورسائل الخطأ المفيدة، وقواعد التوقف المنطقية، كلها تؤثر في نجاح النظام.
إلى أين ننتقل بعد ذلك؟
اقرأ ما الوكيل في الذكاء الاصطناعي؟ لترى كيف تصبح استدعاءات الأدوات جزءًا من دورة متكررة للتخطيط والتنفيذ والملاحظة، مع حالة وقواعد للتوقف. واقرأ ما حزام أدوات الذكاء الاصطناعي؟للتعرّف إلى البرنامج الذي يتحقق من تلك الاستدعاءات وينفّذها، ثم استخدم نموذج الذكاء الاصطناعي مقابل روبوت المحادثة مقابل حزام الأدوات مقابل الوكيللوضع استخدام الأدوات ضمن النظام الأوسع.