اختيار الأدوات أثناء التشغيل
دع النموذج يقرر الأداة التي سيستدعيها، أو افرض أداة محددة، أو اعرض فقط الأدوات المرتبطة بالحالة الحالية.
اختيار الأدوات أثناء التشغيل درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.
دعوا النموذج يختار
افتراضيًا، تقدّمون للنموذج قائمة من الأدوات ويقرر أيّها يستدعي (أو لا يستدعي أيًا منها). هذا هو الوضع القياسي، ويعمل جيدًا عندما:
- لديكم من 5 إلى 15 أداة
- تملك الأدوات أوصافًا واضحة ومتميزة
- تعتمد الأداة المناسبة على مدخلات المستخدم
tool_choice: auto
الوضع الافتراضي — يقرر النموذج:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
tools=tools,
tool_choice='auto', # default; can be omitted
)tool_choice: required
أجبروا النموذج على استدعاء أداة ما (أي أداة منها):
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
tools=tools,
tool_choice='required',
)
# Model must return a tool_call, never a free-form answerفرض أداة محددة
لفرض استخدام أداة محددة، سمّوها:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
tools=tools,
tool_choice={'type': 'function', 'function': {'name': 'extract_entities'}},
)tool_choice: none
عطّلوا الأدوات لجولة واحدة:
# After a tool result, you might want a pure text response:
response = client.chat.completions.create(
model='gpt-4o-mini',
messages=messages,
tools=tools,
tool_choice='none',
)تقليص قوائم الأدوات حسب السياق
يصبح اختيار النماذج أسوأ من مجموعات الأدوات الكبيرة. اعرضوا فقط الأدوات المرتبطة بالحالة الحالية:
def relevant_tools(state):
if state == 'authenticated':
return [search_orders, refund_order, escalate]
elif state == 'guest':
return [search_products, contact_support]
return []اختيار الأدوات على مرحلتين
بالنسبة إلى أكثر من 50 أداة، استخدموا تسلسلًا هرميًا:
- يختار الوكيل الخارجي مجالًا (الطلبات / الفوترة / الشحن)
- يختار الوكيل الداخلي الأداة المحددة ضمن ذلك المجال
لا يرى كل استدعاء سوى نحو 10 أدوات.
البحث المتجهي عبر الأدوات
أنشئوا تمثيلًا متجهيًا لوصف كل أداة؛ وفي وقت التشغيل، أنشئوا تمثيلًا متجهيًا لاستعلام المستخدم واسترجعوا أفضل K أدوات لعرضها:
from openai import OpenAI
import numpy as np
query_emb = embed(user_query)
sims = [cosine(query_emb, tool.emb) for tool in all_tools]
top = [t for _, t in sorted(zip(sims, all_tools), reverse=True)[:10]]
# Send only these 10 to the modeltool_choice في Anthropic
يستخدم Anthropic المفهوم نفسه بتنسيق مختلف:
tool_choice = {'type': 'auto'}
print("auto:", tool_choice)
tool_choice = {'type': 'any'} # required
print("any (required):", tool_choice)
tool_choice = {'type': 'tool', 'name': 'get_weather'} # specific
print("specific tool:", tool_choice)
tool_choice = {'type': 'none'}
print("none:", tool_choice)
لماذا نفرض أداة محددة؟
يكون ذلك مفيدًا في الحالات التالية:
- التحقق — استخراج حقل منظّم محدد
- التوجيه — نقر المستخدم على "استرداد"، لذا استدعوا refund_order
- المخرجات المنظّمة — استغلوا استدعاء الأدوات للحصول على JSON
قوائم الأدوات الفارغة
إذا مررتم tools=[] مع tool_choice="required"، فستحصلون على خطأ. تحقّقوا دائمًا من قائمة الأدوات قبل الإرسال.
فرض مخرجات JSON
لماذا قد تفرضون استدعاء أداة محددة؟
مراجعة
استخدموا auto في معظم الحالات. افرضوا الأدوات للتوجيه والاستخراج المنظّم. قلّصوا قائمة الأدوات حسب الحالة للحفاظ على دقة الاختيار.
الأسئلة الشائعة
هل درس «اختيار الأدوات أثناء التشغيل» مجاني؟
نعم — نص درس «اختيار الأدوات أثناء التشغيل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.
ماذا ستتعلم في «اختيار الأدوات أثناء التشغيل»؟
دع النموذج يقرر الأداة التي سيستدعيها، أو افرض أداة محددة، أو اعرض فقط الأدوات المرتبطة بالحالة الحالية. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟
لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «اختيار الأدوات أثناء التشغيل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟
نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- كيف يعمل استدعاء الدوال
- تعريف مخططات الأدوات (JSON Schema)
- اختيار الأدوات أثناء التشغيل
- إرجاع النتائج إلى النموذج