لن تكتب SKILL.md بيدك بعد الآن: نظرة معمّقة على أمر /learn في Hermes Agent
مفهوم /learn مُجسَّدًا بتبلور شظايا معرفية متناثرة من اتجاهات شتى في مخرج واحد منظّم.
نظرة عامة
كان الأسلوب الأكثر شيوعًا لتعليم الوكيل قدرةً جديدة هو كتابة ملف المهارة يدويًا. المهارة في نهاية المطاف ورقة Markdown واحدة، لكنّ إعدادها من الصفر مع مراعاة بنية الـ frontmatter وترتيب الأقسام المحدد يستغرق وقتًا أطول مما يبدو. هذا ينطبق بشكل خاص على الإجراءات الموجودة في الأذهان لكنّ نقلها إلى الكتابة مُضنٍ، كوثائق API الداخلية، وكتب تشغيل النشر، وسير العمل المتكررة.
أمر /learn الذي أضافه Nous Research في 24 يونيو 2026 إلى إطار عمل Hermes Agent يُلغي هذه الخطوة اليدوية كليًا. أشِر إلى دليل، أو رابط URL، أو محادثة انتهيت منها للتو، أو ملاحظات لصقتها، فيجمع الوكيل الحيّ المواد مباشرةً ويؤلف SKILL.md مطابقًا للمعيار. أشعل هذا الأمر اهتمامًا واسعًا حين شارك tonbistudio مقطع عرض توضيحي على تويتر يُظهر بناء مهارة من مصادر متعددة، وبما أن ThakiCloud كانت قد ثبّتت Hermes Agent مسبقًا وتشغّله داخليًا، أجرينا التحقق بأنفسنا.
تُشغّل ThakiCloud وكلاء متعددي المستأجرين على منصة SaaS للذكاء الاصطناعي/تعلم الآلة مبنية على Kubernetes. البنية التي يبني فيها الوكيل ذاكرةً إجرائية بنفسه، ثم يخضع هذا البناء لمراجعة بشرية عبر بوابة مخصصة، تتقاطع تمامًا مع المبدأ الذي كنّا نصيغه تحت اسم “Thin Harness, Fat Skills - harness رفيع ومهارات ثرية”، أي أنّ القدرات تتراكم في المهارات لا في الـ harness. /learn أداة تخفّض حاجز الدخول لبناء تلك المهارات، مما يجعلها أكثر من مجرد ميزة مريحة.
ما هذه التقنية؟
/learn ليس محرك استيعاب مستقلًا. جوهره أنه “يبني موجّهًا يرشد الوكيل عبر المعايير ثم يُمرره كدورة عادية واحدة.” لذلك تظل عملية جمع المصادر تعمل بالأدوات التي يمتلكها الوكيل بالفعل: الأدلة المحلية تُقرأ عبر read_file وsearch_files، والوثائق الإلكترونية تُجلب عبر web_extract، وسير العمل التي أُنجزت معًا في المحادثة تُلتقط من سياق الحوار مباشرةً.
المسار الكامل لـ /learn: من وصف المصدر، إلى الجمع بأدوات الوكيل، ثم تأليف SKILL.md معياري، ثم العبور عبر بوابة write_approval وcurator.
المصادر المقبولة أربعة أنواع. فيما يلي الأمثلة المأخوذة مباشرةً من التوثيق الرسمي:
# دليل SDK أو وثائق محلية (تُقرأ عبر read_file / search_files)
/learn the REST client in ~/projects/acme-sdk, focus on auth + pagination
# صفحة وثائق إلكترونية (تُجلب عبر web_extract)
/learn https://docs.example.com/api/quickstart
# سير عمل أنجزناها معًا في هذه المحادثة
/learn how I just deployed the staging server
# ملاحظات لُصقت أو إجراء شُرح شفهيًا
/learn filing an expense: open the portal, New > Expense, attach the receipt, submit
يُنظّم الوكيل المواد المجموعة وفق “معيار التأليف الداخلي”: الوصف لا يتجاوز 60 حرفًا، وترتيب الأقسام ثابت، والصياغة مرجعها أدوات Hermes، وقاعدة صارمة بعدم اختراع أوامر غير موجودة. المنتج النهائي SKILL.md مؤلَّف من frontmatter بصيغة YAML وأقسام ثابتة في الجسم:
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux]
metadata:
hermes:
tags: [python, automation]
category: devops
---
# Skill Title
## When to Use
الشروط التي تُطلق هذه المهارة.
## Procedure
1. الخطوة الأولى
2. الخطوة الثانية
## Pitfalls
- أنماط الفشل المعروفة وكيفية معالجتها
## Verification
كيفية التحقق من صحة التنفيذ.
التخزين يتولاه أداة skill_manage. ثمة ضمانة أمان مهمة هنا: إذا كان skills.write_approval مُفعَّلًا، فإن كل كتابة مهارة من الوكيل لا تُطبَّق فورًا، بل تُرحَّل إلى ~/.hermes/pending/skills/. يرى المشغّل التغييرات المعلّقة عبر /skills pending، ويفحص الفرق الكامل عبر /skills diff <id>، ثم يوافق أو يرفض. تنطبق هذه البوابة على المهارات المُنشأة في الدورات الأمامية وعلى تلك التي اقترحها الوكيل في إطار مراجعة التحسين الذاتي الخلفية.
بفضل عدم الاعتماد على محرك استيعاب مستقل، يعمل /learn بالتماثل ذاته في واجهات CLI وTUI وبوابات المراسلة ولوحات التحكم. لا يُهم إذا كانت الخلفية الطرفية محلية أو ضمن Docker أو بعيدة. في لوحة التحكم، تظهر في صفحة Skills زر “Learn a skill” يعرض حقلًا للدليل وحقلًا لعنوان URL ومربع نص حر لتكوين طلب /learn وتشغيله.
سيناريوهات الاستخدام التي يقترحها التوثيق الرسمي ثلاثة. الأول: إعداد API الداخلي. تشغيل /learn على رابط وثائق خاص يُنتج مهارة تضم المصادقة والصفحات وأكثر الاستدعاءات استخدامًا، يستدعيها الأعضاء الجدد كأمر slash. الثاني: التقاط كتاب التشغيل. بعد إجراء نشر staging مع الوكيل، تشغيل /learn how I just deployed the staging server يجعل تلك الإجراءات قابلة للتكرار عبر CLI وأنظمة الدردشة. الثالث: تجميع المهام المتكررة. تقوم حزمة المهارات بتحميل مهارات المراجعة والاختبار وطلب السحب دفعةً واحدة بأمر slash واحد:
# ~/.hermes/skill-bundles/backend-dev.yaml
name: backend-dev
description: Backend feature work - review, test, PR workflow.
skills:
- github-code-review
- test-driven-development
- github-pr-workflow
instruction: |
Always start by writing failing tests, then implement.
يُتيح نظام المهارات نفسه البدء بحالة نظيفة. hermes skills opt-out يوقف بذر مهارات الحزمة، وhermes skills opt-in --sync يُعيده. حقل platforms يُخفي المهارات على أنظمة التشغيل غير المتوافقة، والحقول الشرطية تكشف المهارة فقط حين تتوفر مجموعة أدوات بعينها.
التثبيت والتكامل
فحصنا Hermes Agent المثبّت في بيئة ThakiCloud مباشرةً. الملف الثنائي في ~/.local/bin/hermes، ويعمل فعليًا عبر Python في ~/hermes-agent/venv.
$ ~/.local/bin/hermes --version
Hermes Agent v0.16.0 (2026.6.5) · upstream 40cea4d5
Python: 3.11.13
OpenAI SDK: 2.24.0
تتجمع جميع المهارات في ~/.hermes/skills/، وهو مصدر الحقيقة الوحيد. نظرًا للتوافق مع المعيار المفتوح agentskills.io، يمكن تهيئة أدوات متعددة لمسح مجلد مهارات مشترك. هذه التهيئة الخارجية هي صلب منظور المنصة الذي سنتناوله لاحقًا.
# ~/.hermes/config.yaml
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
استخرجنا قائمة المهارات المثبّتة مباشرةً. يتضمن التثبيت الحالي 78 مهارة مصنّفة ضمن فئات مثل apple وautonomous-ai-agents وcreative وغيرها.
$ ~/.local/bin/hermes skills list
Installed Skills
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
┃ Name ┃ Category ┃ Source ┃ Trust ┃ Status ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩
│ claude-code │ autonomous-ai-agents │ builtin │ builtin │ enabled │
│ architecture-diagram│ creative │ builtin │ builtin │ enabled │
│ humanizer │ creative │ builtin │ builtin │ enabled │
│ excalidraw │ creative │ builtin │ builtin │ enabled │
└─────────────────────┴──────────────────────┴─────────┴─────────┴─────────┘
كل مهارة مثبّتة تصبح تلقائيًا أمر slash. الاستدعاء بالاسم وحده كـ /excalidraw يُحمّل المهارة ويسأل الوكيل عمّا يمكنه مساعدتك به، والاستدعاء مع وسيطات كـ /plan design a rollout for migrating our auth provider يعالج الطلب فورًا. الأوامر الفرعية لإدارة المهارات وفيرة:
$ ~/.local/bin/hermes skills --help
{browse, search, install, inspect, list, check, update, audit,
uninstall, reset, opt-out, opt-in, repair-official, publish,
snapshot, tap, config}
ثمة آلية مدمجة تمنع تراكم المهارات إلى ما لا نهاية. curator نموذج مساعد يعمل في الخلفية بشكل دوري لمراجعة المهارات التي أنشأها الوكيل وإزالة التكرار وأرشفة المهارات القديمة. لا يمسّ مهارات الحزمة ولا المهارات المثبّتة من Hub، والأرشفة قابلة للاسترجاع ولا تحدث عمليات حذف تلقائي:
$ ~/.local/bin/hermes curator --help
{status, run, pause, resume, pin, unpin, restore,
list-archived, archive, prune, backup, rollback}
الكشف التدريجي لتخفيض تكلفة الرموز موجود أيضًا: في المستوى 0 يُحمَّل فهرس خفيف بحوالي 3,000 رمز يضم الأسماء والأوصاف فقط، ولا تُحمَّل المحتويات الكاملة إلا عند الحاجة الفعلية.
Level 0: skills_list() → [{name, description, category}, ...] (~3k رمزًا)
Level 1: skill_view(name) → المحتوى الكامل + البيانات الوصفية
Level 2: skill_view(name, path) → ملف مرجعي محدد
نتائج التجربة الفعلية
ثمة قيد يجب توثيقه بصدق هنا. النسخة المثبّتة لدى ThakiCloud هي v0.16.0 (2026.6.5)، وهي تسبق إصدار 24 يونيو 2026 الذي أضاف /learn. إذ يُبلّغ الملف الثنائي بأنه “محدَّث” بناءً على checkout git المحلي، فلم تنعكس الإصدارات الجديدة من المستودع الرئيسي تلقائيًا. لهذا لم نتمكن في هذا المقال من تشغيل /learn في بيئتنا والتقاط نتائج قابلة للقياس. قيد محاولة الاستنساخ: نسخة التثبيت تسبق إدخال /learn فالأمر غائب أصلًا.
في المقابل، تحققنا من كل ما كان ممكنًا بالقياس المباشر. الهيكل الذي يودع /learn نتائجه فيه - نظام المهارات - يعمل في بيئتنا كما هو متوقع. 78 مهارة مكشوفة كأوامر slash، ومسار التأليف الذاتي المعتمد على skill_manage، وبوابة الترحيل skills.write_approval، وتنظيف curator في الخلفية، وفهرسة الكشف التدريجي - كلها موجودة في النسخة المثبّتة. أي أن ما أضافه /learn هو نقطة دخول رفيعة تحوّل “أشر إلى مصدر فيُبنى موجّه معياري ويُمرر عبر مسار التأليف الموجود”، أما الجزء الثقيل الذي يقبع تحته فقد تحقق منه بالفعل.
سلوك /learn ذاته تحققنا منه عبر التوثيق الرسمي وتقرير MarkTechPost الصادر في 24 يونيو 2026. كلا المصدرين يُورد الحقائق ذاتها: أنواع المصادر الأربعة، وأدوات الجمع read_file/search_files/web_extract، وقيد الـ 60 حرفًا مع ترتيب الأقسام الثابت، والحفظ عبر skill_manage وبوابة write_approval. بدلًا من اختراع أرقام، نفصل بوضوح ما تحقق منه وما لم يتحقق.
التحديث إلى المستودع الرئيسي سيُتيح تشغيل /learn مباشرةً وقياس جودة المخرجات. غير أن هذا التحديث قد يؤثر على البيئة متعددة المستأجرين الجارية، لذا الأسلم التحقق في ملف تعريف معزول أولًا ثم تطبيقه. ننوي تعزيز هذا المقال بالتقاطات من /learn الفعلي في مقال لاحق.
التطبيق والانعكاسات على منصة ThakiCloud للذكاء الاصطناعي/تعلم الآلة على Kubernetes
ما يجعل /learn مثيرًا للاهتمام ليس الراحة وحدها، بل تقاطعه المباشر مع ثلاث مشكلات تواجهها منصة الوكلاء متعددة المستأجرين.
الأولى: تكلفة التقاط المعرفة الحقلية. لكل عميل كتاب نشر ومعايير API داخلية وإجراءات للاستجابة للحوادث مختلفة. نقلها يدويًا في كل مرة إلى SKILL.md يُبطئ التبني. /learn يحوّل “حوّل العمل الذي أنجزناه للتو إلى مهارة” جملةً واحدة تُحوّل الذاكرة الإجرائية فورًا إلى أصل قابل لإعادة الاستخدام. نشر staging أجراه مشغّل مرة واحدة يصبح أمرًا قابلًا للتكرار عبر CLI والدردشة معًا.
الثانية: الحوكمة. تتعامل ThakiCloud مع بيئات on-premises وself-hosting وبيئات تخضع لمتطلبات أمنية صارمة. قدرة الوكيل على كتابة مهاراته الخاصة قوية، لكنها في الوقت ذاته خطر تراكم إجراءات غير مراجَعة تلقائيًا. بنية ترحيل write_approval لكل عمليات كتابة المهارات إلى ~/.hermes/pending/skills/، مع استمرارها عبر عمليات إعادة التشغيل وإتاحة /skills diff للمراجعة البشرية الكاملة، مناسبة لهذه البيئات. إنها تصميم يفصل بين راحة التشغيل الآلي وضبط المراجعة البشرية.
الثالثة: مشاركة المهارات بين الأدوات. إعداد external_dirs في Hermes يسمح لأدوات AI متعددة بمشاركة مجلد المهارات ذاته. تُشغّل ThakiCloud بالفعل أكثر من 1,000 مهارة داخليًا وفق معيار agentskills.io نفسه. ربط Hermes بهذا الدليل المشترك يجعل المهارة المكتوبة في مكان واحد تعمل عبر Claude Code وCursor وHermes. هذا هو تجسيد مبدأ “Thin Harness, Fat Skills” - بناء القدرات في المهارات لا في الـ harness حتى تبقى الأصول قائمة حين يتغير الـ harness.
الفهرس الخفيف بـ 3,000 رمز في الكشف التدريجي مهم أيضًا من منظور تكلفة الخدمة. حتى مع نمو المهارات لتبلغ مئات، لا يدخل سياق كل دورة إلا الفهرس، وتُحمَّل المحتويات الكاملة عند الطلب فقط. في بيئة تُدار فيها خدمة vLLM متعددة المستأجرين مع متابعة تكلفة الرمز، هذا النمط يستحق التبني كما هو.
القيود والاعتراضات
أكبر قيد هو أن جودة المخرجات تستلزم في نهاية المطاف مراجعة بشرية. /learn يضع قاعدة “لا اختراع لأوامر غير موجودة”، لكن النماذج الصغيرة قد تُسيء فهم ما تعلّمته. يُقرّ التوثيق الرسمي بذلك ويوصي بتفعيل write_approval عند استخدام نماذج أصغر أو في البيئات الحساسة أمنيًا. بعبارة أخرى: /learn يُلغي تكلفة الكتابة لكنه لا يُلغي تكلفة المراجعة. بل مع سهولة توليد المهارات قد تتراكم مهارات رديئة بسرعة إن غابت بوابة المراجعة وعملية curator.
ثانيًا: مصداقية المصدر تحدد مصداقية المخرج. إذا كانت الوثيقة الخارجية المجلوبة عبر web_extract غير دقيقة أو قديمة، فالمهارة المبنية فوقها ترث الخطأ ذاته. سهولة “مهارة من رابط URL واحد” تعني أن مسؤولية التحقق من المصدر تنتقل إلى المستخدم.
ثالثًا: الفجوة الواضحة في هذا التحقق هي أن نسخة التثبيت لدينا تسبق /learn فلم نتمكن من قياس مخرجاته الفعلية. تحققنا من صحة السلوك عبر التوثيق الرسمي والتقارير، لكن مقاييس كجودة المخرج ووقت التأليف ومعدل الامتثال للمعيار لم نلتقطها. سنتولى ذلك بعد تشغيل الإصدار المستودع الرئيسي في ملف تعريف معزول ونوثقه في مقال لاحق.
خلاصة القول: /learn تصميم يُزيل احتكاك كتابة المهارات ويُحوّل المرحلة المراجعة الطبيعية التي كان الاحتكاك يؤديها نحو بوابات وcurator. من منظور تشغيل منصة وكلاء متعددة المستأجرين، قراءته كتصميم حوكمة لا كميزة راحة أدق وأوفق.
المصادر (Sources)
- Hermes Agent official documentation, Skills System: https://hermes-agent.nousresearch.com/docs/user-guide/features/skills
- MarkTechPost, “Nous Research Adds /learn to Hermes Agent’s Skills System” (2026-06-24): https://www.marktechpost.com/2026/06/24/nous-research-adds-learn-to-hermes-agents-skills-system-capturing-workflows-as-slash-commands-without-hand-writing-skill-md/
- NousResearch/hermes-agent (GitHub): https://github.com/NousResearch/hermes-agent
- Original tweet (demo video, tonbistudio): https://x.com/hjguyhan/status/2070135061429854577