إنتقل إلى المحتوى الرئيسي

المهارات

المهارات هي مستندات معرفة إجرائية تحملها EstaCoda إلى سياق الموجهات. تخبر الوكيل كيفية أداء مهام محددة. المهارات Markdown أولاً، تُكشف تدريجيًا، ومستقرة بالجلسة.

تشرح هذه الصفحة من أين تأتي المهارات، وكيف تُبنى، وما يستطيع النظام فعله وما لا يستطيع.


ما هي المهارات

المهارة هي دليل يحتوي على ملف SKILL.md وموارد اختيارية (references/، templates/، scripts/). يُعرّف SKILL.md الغرض والتعليمات وسلوك التنفيذ للمهارة.

المهارات ليست إضافات. لا تنفذ شيفرة خارج حلقة الوكيل. إنها تعليمات وموارد يقرأها الوكيل ويتبعها.


مصادر المهارات

تحمل المهارات من ثلاثة مصادر بهذا الترتيب:

  1. مهارات محلية للملف الشخصي~/.estacoda/profiles/<id>/skills/. قابلة للتغيير. أنشأها المشغل أو تعلمتها من سير العمل.
  2. مهارات رسمية مضمنة — مُشحَنة في المستودع تحت دليل المهارات. للقراءة فقط في وقت التشغيل. يمكن تطوير نسخ عمل محلية.
  3. جذور خارجية مُهيأةexternalSkillRoots في إعداد الملف الشخصي. للقراءة فقط.

يتم تصفية الكتالوج المرئي لكل جلسة باستخدام شروط وقت التشغيل (المنصة، توفر مجموعة الأدوات، مستوى الثقة). الرؤية لا تتغير منتصف الجلسة؛ تُحدَّث عبر /reset أو جلسة جديدة.


بيانات SKILL.md الأمامية

يجب أن تحتوي كل مهارة على ملف SKILL.md مع بيانات أمامية YAML:

---
name: skill-name
description: ما تفعله هذه المهارة
---

الحقول الافتراضية عند الحذف:

الحقلالافتراضي
version0.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.

الوضعالسلوك
noneAgent 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.


مرتبطات