أهم النقاط
- يمكنك الآن ربط الأدوات بالمهارات. تبقى مخططات الأدوات خارج السياق حتى يقرأ الوكيل المهارة المرتبطة بها، وعلى النماذج التي تقبل أدوات جديدة في منتصف المحادثة، تضيفها مع الحفاظ على ذاكرة التخزين المؤقت للموجّه (prompt cache) سليمة.
- يمكن للتطبيقات تثبيت المهارات في وقت التشغيل، بحيث تكون التعليمات في السياق قبل أول استدعاء للنموذج، دون
read_fileرحلات ذهاب وإياب. - يمكن إعادة تحميل المهارات في منتصف المحادثة، بحيث يلتقط الوكيل طويل الأمد المهارات المضافة أو المعدّلة أو المحذوفة دون بدء محادثة جديدة.
تُعد المهارات واحدة من أفضل الطرق لمنح الوكيل معرفة متخصصة. الـ مهارة هي مجلد من التعليمات والبرامج النصية والملفات المرجعية يعلّم الوكيل كيفية إنجاز الأمور، مثل الاستعداد لاجتماع مع عميل أو مراجعة نصوص المكالمات بالطريقة التي تتبعها فرق المبيعات لديك. مهارات الوكلاء (Agent Skills) هي معيار مفتوح يعمل مع أي نموذج وهو مدعوم من عشرات منتجات الوكلاء. كما لا يلزم أن تكون خبيرًا تقنيًا لكتابة واحدة: في جوهرها، المهارة هي ملف بصيغة markdown.
تعمل المهارات بفضل الإفصاح التدريجي. يرى الوكيل في البداية اسم كل مهارة ووصفها فقط، ويقرأ التعليمات الكاملة فقط عندما تتطلب المهمة ذلك. هذا يحافظ على صِغَر السياق، و هندسة السياق هي مفتاح بناء وكلاء فعّالين.
مع توسع الاستخدام، تتغير ما تحتاجه الفرق من المهارات. نرى سجلات مهارات المؤسسات تنمو إلى آلاف المهارات، مشتركة عبر الفرق والوكلاء. لقد جددنا دعم المهارات في Deep Agents لمعالجة بعض الطلبات الشائعة:
- ربط الأدوات بالمهارات: الأدوات المرتبطة بمهارة تُحمَّل فقط عندما يقرأ الوكيل تلك المهارة.
- المهارات المثبّتة: عندما يطلب المستخدم صراحةً مهارة، مثل
/meeting-prep، يمكن لتطبيقك تحميلها قبل استدعاء النموذج التالي. - إعادة تحميل المهارات: يمكن للمحادثة طويلة الأمد أن تلتقط المهارات الجديدة أو المتغيرة دون البدء من جديد.
كيف تعمل المهارات
المهارة هي دليل يحتوي على SKILL.md ملف: YAML frontmatter يتضمن name و description، تليها التعليمات التي يتبعها الوكيل. يمكن للمهارة أيضًا أن تتضمن ملفات مساعدة ضمن scripts/, references/و assets/ (spec).

على طول هذه المقالة، سنستخدم وكيل GTM الخاص بنا كمثال متكرر. وهو مبني على Deep Agents، وتغطي مكتبته التي تضم أكثر من 50 مهارة الأعمال المتكررة لمندوب المبيعات، مثل meeting-prep, call-transcriptsو competitive-intel-card.
تُحمَّل المهارات على ثلاثة مستويات:
- الاكتشاف. عند بدء التشغيل، يرى الوكيل
nameوdescriptionلكل مهارة في موجه النظام الخاص به. - التنشيط. عندما تطابق مهمة ما مهارةً، يقرأ الوكيل
SKILL.mdالكاملة معread_file. - التنفيذ. يتبع الوكيل التعليمات، ويقرأ السكربتات أو ملفات المراجع فقط عندما تطلب ذلك.

حتى تُستخدم المهارة، تكلّف سطرًا واحدًا في موجه النظام، بحيث يمكن للمكتبة أن تحوي إشارات إلى وفرة من المهارات دون ازدحام السياق. والآن لنتطرق إلى التحسينات التي أجريناها في Deep Agents.
ربط الأدوات بالمهارات
كثيرًا ما تُخبر المهارات الوكيل كيف يستخدم أدوات معينة، وبعض الأدوات لا تعمل جيدًا إلا بعد أن يقرأ الوكيل تلك التعليمات. وحتى الآن، كانت المهارات والأدوات تُعرض بشكل منفصل. كان بإمكانك إبقاء مخططات الأدوات خارج السياق باستخدام البحث عن الأدوات، لكن لا شيء كان يربط أداةً بالمهارة التي تشرحها: فقد يجد الوكيل أداةً ويستدعيها دون قراءة مهارتها، أو يقرأ المهارة ثم يضطر للبحث عن أدواتها.
الآن يمكنك ربط الأدوات بمهارةلذلك تُفصح المهارة عن أدواتها معًا. الأداة المرتبطة لا تُضاف إلى السياق حتى يقرأ الوكيل مهارتها، وإن استُدعيت قبل ذلك تفشل بوصفها أداة غير معروفة. هذا يُبقي السياق خفيفًا، ويعني أن الوكيل قد قرأ كيفية استخدام أداة ما قبل أن يتمكن من استدعائها. في وكيل GTM لدينا, call-transcripts نشرح كيفية البحث في المكالمات وقراءة النصوص، لذا فهو المكان الطبيعي لربط تلك الأدوات.
أدرج الأدوات في الواجهة الأمامية (frontmatter) للمهارة ضمن metadata.include_tools:

مرر تلك الأدوات إلى SkillsMiddleware بدلاً من الوكيل:
![Python: create_deep_agent with SkillsMiddleware(tools=[search_calls, get_transcript])](/journal-media/ai-hub/782c21d07a32a59d13500559e149f1f95bbd3be12182c7b3449871803f5ea71d.webp)

كانت إضافة الأدوات في منتصف المحادثة تعني سابقًا تعديل قائمة الأدوات في الطلب، مما يُبطل ذاكرة التخزين المؤقتة للموجّه (prompt cache). Anthropic و OpenAI تتيحان الآن للنماذج الأحدث قبول الأدوات في منتصف المحادثة، لذا على تلك النماذج يضيف Deep Agents أدوات المهارة المرتبطة بها مباشرة بعد قراءة المهارة وتبقى البادئة المخزنة مؤقتًا سليمة (وثائق تكامل Anthropic و وثائق تكامل OpenAI ). أما على النماذج الأخرى، فتُضاف الأدوات إلى الطلب كما كان من قبل.
تغطي قائمة واحدة معظم المهارات. وللمزيد من التحكم، يمكن للمهارة أن تدرج تسمية (label) بدلاً من أسماء الأدوات، وتقوم دالة تمررها إلى SkillsMiddleware بتحويل كل تسمية إلى أدوات. هذا يتيح لك:
- الإفصاح عن مجموعة أدوات كاملة، مثل كل أداة على خادم MCP، تحت اسم واحد، دون إدراج كل أداة في المهارة.
- حصر الأدوات حسب أذونات وقت التشغيل. تستقبل الدالة بيئة تشغيل الرسم البياني (runtime)، لذا يمكنها التحقق من هوية المستخدم وإرجاع الأدوات المسموح له باستخدامها فقط.
هنا، call-transcripts يحصل على كل أداة على خادم MCP الخاص بالمكالمات، و pipeline-forecast يحصل على أدوات CRM، ولكن المدراء فقط يمكنهم تحديث التوقعات:


انظر إضافة أدوات إلى المهارات للمزيد.
المهارات المثبتة
أحيانًا يعرف المستخدم مسبقًا أي مهارة يريدها. في وكيل GTM لدينا، يمكن لمندوب المبيعات كتابة /meeting-prep for my Acme call tomorrow. وبدون التثبيت، يرى النموذج وصف المهارة فقط وعليه أن يقرأها. هذا يضيف رحلة ذهاب وإياب قبل بدء العمل، ولا يُضمن أن يحمّل النموذج المهارة الصحيحة. مع المهارات المثبتة، يجد تطبيقك أسماء المهارات في الرسالة (أو يفسّرها من واجهة المستخدم) ويمررها في pinned_skills، وتضيف الوسيطة (middleware) تعليمات كل مهارة إلى المحادثة قبل استدعاء النموذج التالي. لا يقوم Deep Agents بتحليل الرسائل بنفسه، لذا أنت تختار الصيغة:



يقلل ذلك من زمن الاستجابة ويجعل السلوك أكثر قابلية للتنبؤ: التعليمات مضمونة الوجود في السياق، والأدوات المرتبطة بمهارة مثبتة تأتي معها. كل مهارة مثبتة تُضاف مرة واحدة كرسالة موسومة، فلا تتغير الرسائل السابقة أبدًا، ويبقى ذاكرة التخزين المؤقتة للأوامر صالحة، ويمكن لواجهة الدردشة عرض المهارة كعنوان بدلًا من نصها الكامل.
إعادة تحميل المهارات في منتصف المحادثة
تُحمَّل المهارات في بداية كل محادثة وتُحفظ في حالة الوكيل، بحيث تعيد كل دورة لاحقة استخدام نفس مجموعة المهارات. يمكنك الآن إبطال هذه القائمة عن طريق تعيين skills_metadata إلى None عند استدعاء الوكيل. إذا أضاف أحد أعضاء الفريق competitive-intel-card مهارة إلى المكتبة، يمكن للتطبيق اختيار إبطال قائمة المهارات وسيُعيد التشغيل التالي فحص كل مصدر:


إعادة التحميل التي تجد مهارات جديدة تغيّر موجه النظام، مما يُبطل ذاكرة التخزين المؤقتة للأوامر. بالنسبة لمحادثة ظلت خاملة، فتلك التكلفة مدفوعة عادةً بالفعل: حيث تنتهي صلاحية ذاكرات التخزين المؤقتة لدى المزودين عادةً خلال دقائق إلى ساعة من الخمول (Anthropic, OpenAI)، فتكون الذاكرة باردة بحلول عودة المندوب.
ولأن إعادة الضبط مجرد مُدخل تشغيل، يمكنك أيضًا تسليم التحكم للمستخدمين. على سبيل المثال، /reload أمر على جانب العميل:
يمكنك أيضًا إعادة الضبط من update_state أو من البرمجيات الوسيطة، بحيث يتحكم تطبيقك في وقت حدوث إعادة تحميل المهارات. راجع إعادة تحميل المهارات.
ابدأ الآن
المهارات هي الآلية المعيارية في الصناعة لمنح الوكيل معرفة مجالية منظمة. تجعل هذه التحديثات تشغيلها أسهل على نطاق واسع: تُحمَّل الأدوات فقط عندما تحتاج إليها المهارة، وتُحمَّل المهارات التي يحتاجها سير العمل مقدمًا، وتبقى المحادثات طويلة الأمد محدثة مع تغير مكتبتك. ولأن المهارات معيار مفتوح، فإن المهارات التي يكتبها فريقك تعمل عبر النماذج والوكلاء.
كل هذه الميزات متوفرة في الإصدار الأحدث deepagents. اقرأ وثائق المهارات للبدء، وأخبرنا برأيك عبر مشكلات GitHubأو المنتدىأو على X.
شكر وتقدير
شكرًا لـ ريتش سكاروت على قيادة تطوير هذه الميزات الجديدة، و لـ هنتر لوفل على مراجعة الميزة والمدونة!
