المهارات
المهارات هي مستندات معرفة إجرائية تحملها EstaCoda إلى سياق الموجهات. تخبر الوكيل كيفية أداء مهام محددة. المهارات Markdown أولاً، تُكشف تدريجيًا، ومستقرة بالجلسة.
تشرح هذه الصفحة من أين تأتي المهارات، وكيف تُبنى، وما يستطيع النظام فعله وما لا يستطيع.
ما هي المهارات
المهارة هي دليل يحتوي على ملف SKILL.md وموارد اختيارية (references/، templates/، scripts/). يُعرّف SKILL.md الغرض والتعليمات وسلوك التنفيذ للمهارة.
المهارات ليست إضافات. لا تنفذ شيفرة خارج حلقة الوكيل. إنها تعليمات وموارد يقرأها الوكيل ويتبعها.
مصادر المهارات
تحمل المهارات من ثلاثة مصادر بهذا الترتيب:
- مهارات محلية للملف الشخصي —
~/.estacoda/profiles/<id>/skills/. قابلة للتغيير. أنشأها المشغل أو تعلمتها من سير العمل. - مهارات رسمية مضمنة — مُشحَنة في المستودع تحت دليل المهارات. للقراءة فقط في وقت التشغيل. يمكن تطوير نسخ عمل محلية.
- جذور خارجية مُهيأة —
externalSkillRootsفي إعداد الملف الشخصي. للقراءة فقط.
يتم تصفية الكتالوج المرئي لكل جلسة باستخدام شروط وقت التشغيل (المنصة، توفر مجموعة الأدوات، مستوى الثقة). الرؤية لا تتغير منتصف الجلسة؛ تُحدَّث عبر /reset أو جلسة جديدة.
بيانات SKILL.md الأمامية
يجب أن تحتوي كل مهارة على ملف SKILL.md مع بيانات أمامية YAML:
---
name: skill-name
description: ما تفعله هذه المهارة
---
الحقول الافتراضية عند الحذف:
| الحقل | الافتراضي |
|---|---|
version | 0.1.0 |
requiredToolsets | ["core"] |
whenToUse | قيمة description |
يجب أن يكون اسم المهارة فريدًا في الكتالوج المرئي. الوصف يُستخدم لاختيار المهارة وإدراجها.
المهارات التي تحتاج إلى قدرات Python
بعض المهارات تحتاج إلى حزم Python. تتعامل EstaCoda مع ذلك عبر قدرات Python مسجلة.
يمكن للمهارة أن تعلن قدرة:
pythonCapabilities:
- id: example-capability
required: true
groups: []
مثلاً، يمكن لقدرة مسجلة مستقبلية أن تعرض مجموعة اختيارية:
pythonCapabilities:
- id: ocr-and-documents
required: true
groups: []
- id: ocr-and-documents
required: false
groups: ["advancedOcr"]
هذا الإعلان صغير عمداً. تستطيع المهارة تسمية قدرة مسجلة ومجموعات محددة فقط. لا تستطيع تعريف الحزم، أو الاستيرادات، أو المسارات، أو الإصدارات، أو أوامر التثبيت.
إذا كانت قدرة مطلوبة مفقودة، تصبح المهارة غير متاحة إلى أن يجهز المشغل البيئة. إذا كانت قدرة اختيارية مفقودة، يمكن أن تبقى المهارة متاحة بسلوك أقل.
جهز قدرة من الطرفية:
estacoda python-env setup <id>
تحقق من الحالة:
estacoda python-env status <id>
لا يثبت التنفيذ العادي للمهارات حزم Python تلقائياً.
كتالوج المهارات الرسمية
المهارات الرسمية التالية مضمنة لـ v0.1.0:
| المهارة | الغرض |
|---|---|
ascii-video | توليد تمثيلات فيديو فنية ASCII |
telegram-media-analysis | تحليل الوسائط المستلمة عبر Telegram |
youtube-knowledge-base | الاستعلام عن محتوى YouTube وتلخيصه |
المهارات الرسمية للقراءة فقط في وقت التشغيل. تتطور عبر نسخ عمل محلية ومراجعة محكومة، وليس عبر الطفرة أثناء الجلسة.
الرؤية والتصفية
المهارة مرئية في الجلسة فقط إذا:
- لم تكن مؤرشفة أو قديمة.
- قيود منصتها تطابق وقت التشغيل الحالي.
- مجموعات الأدوات المطلوبة متاحة.
- متطلبات الثقة مستوفاة.
يتم حساب الرؤية عند بدء الجلسة ولا تتغير حتى /reset أو جلسة جديدة. هذا يمنع انحراف كتالوج المهارات منتصف الجلسة.
نموذج التنفيذ
مدعوم بالمزود: افتراضيًا، يُحقن محتوى موجه المهارة المختارة في موجه النظام وينفذ المزود سير العمل. المهارات الواقعة تحت حد الإدراج المباشر تُحقن بتعليمات الجذر الكاملة من SKILL.md. أما المهارات الكبيرة فتُمثَّل بعقود حتمية بدلاً من حقن الجسم الخام مقطوعًا بصمت في الموجه.
احتياطي حتمي: إذا لم يكن هناك مزود متاح، ينفذ مسار حتمي خطوات سير العمل مباشرة.
الموارد: references/، templates/، scripts/، و assets/ المتوافقة مُفهرسة وتُحمّل عند الطلب. محتويات الموارد تُحمّل عند الحاجة ولا تُحقن في الموجهات افتراضيًا.
يمكن استرجاع محتوى الجذر الكامل للمهارة الكبيرة عبر أداة الاسترجاع المعتمدة:
skill.read({ "name": "<skill>", "mode": "full" })
ويمكن قراءة مورد محلي محدد داخل المهارة عبر path:
skill.read({ "name": "<skill>", "path": "<relative-path>" })
skill.search أداة بحث باسم مهارة محدد فقط. تبحث فقط في تعليمات SKILL.md المحملة للمهارة المسماة ومواردها المفهرسة:
skill.search({ "name": "<skill>", "query": "<text>", "maxResults": 5 })
لا تنفذ skill.search بحثًا عامًا في كل المهارات ولا توجيهًا للمهارات القريبة.
حدود الطفرة والتطور
تطور المهارات محكوم، وليس مستقلًا. النظام يقترح التغييرات؛ لا يطبقها صامتًا.
- المهارات المثبتة لا يمكن طفرتها.
- توسيع السلطة مرفوض. لا يمكن للمهارة أن تمنح نفسها صلاحيات أوسع مما لديها.
- بوابات التقييم تمنع الترقية إذا فشلت تثبيتات التقييم.
- المهارات المضمنة تتطور فقط عبر نسخ عمل محلية.
- المهارات الخارجية تبقى للقراءة فقط.
تحمل التغييرات المقترحة ChangeManifest يتضمن فرضية، وتأثير متوقع، ومستوى مخاطر، وخطة استرجاع. المقترحات عالية المخاطر أو غير الموثوقة تتطلب موافقة صريحة.
Agent Evolution
Agent Evolution هو سطح التحكم للتحسين الذاتي القابل للمراجعة. يسجّل أدلة، ومرشحين للتعلم، وproposal محكومة، وبيانات تقييم، وروابط تجارب اختيارية، وحالة مراجعة. يبقى مفتاح التوافق المحفوظ هو skills.autonomy، وتعرضه شاشات الإعداد باسم Agent Evolution.
| الوضع | السلوك |
|---|---|
none | Agent Evolution متوقف. لا تُسجّل أدلة أو proposal. |
suggest | يسجّل أدلة ومرشحين وينشئ سجلات proposal قابلة للمراجعة. لا توجد ترقية. |
proactive | يجهّز proposal مراجعة أقوى وبيانات تقييم. تبقى الترقية يدوية. |
autonomous | يسجّل قرارات ذاتية في وضع ظل فقط للمراجعة. الترقية التلقائية والاسترجاع التلقائي غير مفعّلين. |
SkillLearningManager مصدر أدلة، وليس سلطة تعديل. يملك SkillEvolutionStore سجلات التطور مثل الملاحظات، والمرشحين، وproposal، والتجارب، والتقييمات، والترقيات، واللقطات، وبيانات الاسترجاع. يملك ChangeManifestStore ملفات manifest. لا تُعدّل أصول المهارات المضمّنة أو الخارجية.
يبقى التوجيه deterministic. الاسترجاع الدلالي، وprovider embeddings، وLLM reranking، وcompact skill index fallback، وtaskClass routing، وsupporting candidates، وأدوات التوجيه الاستشارية، والترقية الذاتية الفعلية، والاسترجاع التلقائي، وskill fork/merge/archive، وhygiene scanning ليست سلوكًا مفعّلًا.
عمليات المهارات الموجهة للوكيل
يمكن للوكيل تنفيذ هذه العمليات عبر أدوات وقت التشغيل:
| العملية | الغرض |
|---|---|
list | إدراج المهارات المرئية |
read | قراءة تعليمات المهارة أو العقود أو البيانات الوصفية أو مورد محلي واحد داخل المهارة. هذه هي أداة الاسترجاع المعتمدة. |
search | البحث في تعليمات الجذر والموارد المفهرسة لمهارة واحدة مسماة. |
view | اسم مستعار مهمل للتوافق مع read |
inspect | فحص بيانات تعريف المهارة |
create | إنشاء مهارة جديدة |
patch | تصحيح ملف مهارة |
edit | تحرير ملف مهارة |
delete | حذف مهارة |
write_file | كتابة ملف داخل مهارة |
remove_file | إزالة ملف داخل مهارة |
import | استيراد مهارة من مصدر خارجي |
export | تصدير مهارة |
أوضاع الفشل
المهارة غير مرئية: تحقق من قيود المنصة، ومتطلبات مجموعة الأدوات، ومستوى الثقة. حدّث باستخدام /reset.
فشل تنفيذ المهارة: تحقق من وجود الموارد المطلوبة ومن أن مسار المزود قابل للتشغيل.
رفض طفرة المهارة: المهارات المثبتة والطفرات الموسعة للسلطة مرفوضة من مسار الطفرة.
Agent Evolution معطل: تحقق من skills.autonomy في إعداد الملف الشخصي. الافتراضي هو none.
مرتبطات
- الهندسة المعمارية — نظام المهارات في تكوين وقت التشغيل
- بيئة التشغيل — سجل المهارات وتنفيذ سير العمل
- الذاكرة — فصل Agent Evolution عن ملفات الذاكرة