إضافة Keystone تعلّم Claude Code نشر بوابة LLM: 8 مهارات ومفاتيح خارج المحادثة
إذا طلبتَ من Claude Code «ثبّت لنا بوابة LLM»، فسيختلق متغيرات بيئة غير موجودة. لبوابة Keystone صدرت إضافة تضم 8 مهارات (Skills، أي تعليمات جاهزة) بأوامر حقيقية، وخادم MCP يرى الوكيل من خلاله ما هو قيد التشغيل. أما مفاتيح المزوّدين فتُدخلها بنفسك عبر الأمر ktms init في الطرفية، ولا تصل إلى المحادثة. يمكنك تفويض عملية التثبيت إلى الوكيل، مع الاحتفاظ بالأسرار وبالموافقة على الخطة لنفسك.
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
إذا طلبتَ من الوكيل «ثبّت لنا بوابة LLM»، فسيختلق بثقة متغيرات بيئة غير موجودة، وستقضي بعد ذلك ساعة كاملة تبحث فيها عن سبب عدم عمل الإعداد. بوابة LLM هي نقطة واحدة تتصل عبرها جميع خدماتك بـ OpenAI وAnthropic وGemini وغيرها من المزوّدين: تحتفظ بالمفاتيح، وتختار النموذج، وتنتقل إلى بديل عند حدوث الأعطال. لم يعالج مطوّرو البوابة ذاتية الاستضافة Keystone (واسمها KTMS، وهي مكتوبة بلغة Go) هذه المشكلة بالإلحاح في الموجّه (prompt)، بل بحل هندسي: أصدروا إضافة لـ Claude Code تضم 8 مهارات (Skills) — وهي تعليمات جاهزة تعرف الأوامر والخيارات وحقول الإعداد الحقيقية — إلى جانب خادم MCP يرى الوكيل من خلاله ما هو قيد التشغيل فعلًا. وفي المقابل لا تصل المفاتيح إلى المحادثة.
ماذا تفعل المهارات الثماني
يتم التثبيت بأمرين: إضافة المتجر ai-process/ktms، ثم تثبيت الإضافة ktms@ai-process. ويلزم كذلك وجود أداة سطر الأوامر ktms ضمن PATH (من أرشيف الإصدار أو عبر go install). ويطابق إصدار الإضافة إصدار Keystone.
تغطي المهارات المسار كاملًا: assess (تقييم النظام وإصدار حكم بشأن الحاجة إلى بوابة)، وdeploy (Compose أو Helm، والأسرار، وترتيب أول تشغيل)، وintegrate (تحويل استدعاءات LLM في خدمة واحدة إلى البوابة)، وconfigure (التوجيه والمفاتيح والحدود في ktms.yaml مع خطة للتغييرات)، وmigrate (الانتقال من بوابة أخرى أو من استدعاءات SDK المباشرة)، وnode (عقدة GPU محلية مع رجوع احتياطي إلى السحابة)، وusage-reports (النفقات والتقارير والتنبيهات)، وproduction-review (فحص ما قبل الإطلاق وما بعده). لا حاجة إلى حفظ الأسماء: يختار الوكيل المهارة المناسبة بنفسه، بينما يشغّلها أمر الشرطة المائلة (slash command) صراحةً.
ولكي لا تتقادم المهارات، يقرأ CI في Keystone كل ملف SKILL.md ويفشل إذا ورد فيه أمر أو خيار أو أداة MCP أو قسم من README غير موجود في هذا الإصدار. وهذا يعالج مشكلة شائعة: تذكر التعليمات خيارًا حُذف قبل إصدارين، فيبدأ الوكيل بالارتجال.
كيف يبدو الأمر في مشروع تجريبي
يضم المثال ثلاث خدمات: بوت دعم يعمل عبر OpenAI SDK، وخدمة بحث عبر Anthropic SDK مع تضمينات (embeddings) من OpenAI، وعاملًا ليليًا يستدعي Gemini نحو 40 000 مرة في الليلة. لا تغيّر مهارة assess أي شيء: فهي تعثر على استدعاءات LLM الخمسة كلها مع اسم الملف ورقم السطر، وتلاحظ أمورًا لم يُسأل عنها. تحمّل جميع الخدمات ملف env_file مشتركًا، ولذلك تحصل كل خدمة على مفاتيح المزوّدين الثلاثة كلها. وستتجاهل البوابة المعامل temperature=0.3 في أحد الاستدعاءات، لذا ينبغي التحقق من جودة الإجابات بعد التحويل. كما لاحظت المهارة أن rerank.ts لا يعيد ترتيب أي شيء، بل يكتفي بشرح النتائج.
الحكم صريح: البوابة مبرَّرة، لكنها لم تكن لتلزم لو اقتصر النظام على بوت الدعم الذي يعمل بـ gpt-4o. وتبدأ الخطة من العامل الليلي: ففيه الجزء الأكبر من المال والمخاطرة، والمستخدمون لا يرون هذا الاستدعاء، ويمكن ببساطة إعادة تشغيل ليلة فاشلة.
تجمع مهارة integrate العنوان والمفتاح والمهلات وإعادة المحاولات ونسبة النفقات في وحدة عميل صغيرة واحدة. وتستبدل بالنموذج المضمَّن في الشيفرة مستوى تعقيد مع تعليل في سطر واحد: low للتصنيف والإجابات القصيرة، وmedium للتوليد العادي، وhigh للاستدلال والمستندات الطويلة. وتعطّل إعادة المحاولات في SDK، وتنفّذ مرة واحدة عقد الأخطاء: انتظار Retry-After عند 429، والتراجع عند 503، وعدم تكرار أخطاء الإعداد. ويجري الفحص الأخير على التوجيه الفعلي: يعرض الأمر ktms route explain (مخرجات Keystone 1.3.6) سلسلة النماذج. فإذا انتهت بالحالة kept فكل شيء سليم، أما no_vendor_key فتعني أن المفتاح ناقص، ويظهر ذلك قبل نشر الخدمة.
أين يقع حد الثقة
يترك الوكيل الأمر ktms init للإنسان عمدًا: فهو يطلب في طرفيتك، دون إظهار المدخلات، مفتاح المسؤول ومفاتيح المزوّدين، ويكتب ktms.yaml بالنماذج والقواعد الافتراضية، ويعرض الخطة ثم يطبّقها.
بعد ذلك تعمل configure كما يعمل Terraform: تعديل، ثم ktms config plan، ثم عرض الخطة على الإنسان، ولا يتم التطبيق إلا بعد موافقته. والقيود مضمَّنة في الأدوات، لا في الموجّه:
- خادم MCP يقرأ فقط بشكل افتراضي، ولا تظهر أدوات الكتابة إلا مع الخيار --allow-write؛
- تعيد config_plan المعرّف plan_id، وتطبّق config_apply هذه الخطة بعينها مرة واحدة، وترفض التطبيق إذا تغيّر الإعداد في الأثناء؛
- يؤخذ مفتاح المزوّد من المتغيرات KTMS_VENDOR_KEY_* فقط، ولذلك لا يستطيع الوكيل أن يدسّ في الإعداد مفتاح المسؤول أو أي سر آخر؛
- الأسماء والقيم الواردة من Keystone موسومة بوصفها بيانات، لا تعليمات.
القيود وما يمكن الاستفادة منه عمليًا
هذه إضافة من مطوّري البوابة أنفسهم، ولا تعمل إلا مع Keystone. فواجهة API المتوافقة مع OpenAI في البوابة تتجاهل temperature وtop_p وstop وseed، وتحتاج التضمينات إلى معرّف النموذج الدقيق، ولذلك لا تنتقل بعض الاستدعاءات كما هي تمامًا. والأمثلة مأخوذة من مشروع تجريبي، لا من نظام إنتاجي لجهة أخرى.
الدرس أوسع من البوابة نفسها. إذا أردتَ أن يضبط الوكيل البنية التحتية، فزوِّده بمهارات يتحقق CI من مطابقتها لإصدار المنتج، وبخادم MCP بوضع القراءة افتراضيًا، وبخطة تتطلب تأكيدًا بدل الكتابة المباشرة. واترك الأسرار للإنسان. المهارات هي Agent Skills عادية، أي مجلدات تحتوي على SKILL.md، ولذلك يمكن نسخها إلى Codex أو Cursor أو أي وكيل آخر يقرؤها، مع ربط خادمَي MCP. أما المساعدات التي لا تدعم المهارات ولا MCP، فالتعليمات نفسها متاحة لها في صورة موجّهات (prompts).
- 6 نوفمبر 2026ChatGPT وClaude في 6 من 6 تعارضات مع الاختبار انحازا بصمت إلى طرف واحد من أجل CI أخضر
- 6 نوفمبر 2026وكلاء Together AI يسرّعون نماذج LLM المفتوحة بما يصل إلى 2,6 مرة في عدد التوكنات بالثانية خلال يوم واحد
- 6 نوفمبر 2026AWS: أداة واحدة خفّضت التوكنات لكل سكربت بنسبة 95%، والمهارات عند الطلب قلّصت موجّه النظام بنسبة 97%
- 6 نوفمبر 2026NVIDIA تتنبأ بأفضل وكيل برمجة قبل الضبط الدقيق: الترتيب تطابق بنسبة 96%
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول ماذا تفعل المهارات الثماني؟
يتم التثبيت بأمرين: إضافة المتجر ai-process/ktms، ثم تثبيت الإضافة ktms@ai-process. ويلزم كذلك وجود أداة سطر الأوامر ktms ضمن PATH (من أرشيف الإصدار أو عبر go install). ويطابق إصدار الإضافة إصدار Keystone. تغطي المهارات المسار كاملًا: assess (تقييم النظام وإصدار حكم بشأن الحاجة إلى بوابة)، وdeploy (Compose أو Helm، والأسرار، وترتيب أول تشغيل)، وintegrate (تحويل استدعاءات LLM في خدمة واحدة إلى البوابة)، وconfigure (التوجيه والمفاتيح والحدود في ktms.yaml مع خطة للتغييرات)، وmigrate (الانتقال من…
ما أبرز التفاصيل حول كيف يبدو الأمر في مشروع تجريبي؟
يضم المثال ثلاث خدمات: بوت دعم يعمل عبر OpenAI SDK، وخدمة بحث عبر Anthropic SDK مع تضمينات (embeddings) من OpenAI، وعاملًا ليليًا يستدعي Gemini نحو 40 000 مرة في الليلة. لا تغيّر مهارة assess أي شيء: فهي تعثر على استدعاءات LLM الخمسة كلها مع اسم الملف ورقم السطر، وتلاحظ أمورًا لم يُسأل عنها. تحمّل جميع الخدمات ملف env_file مشتركًا، ولذلك تحصل كل خدمة على مفاتيح المزوّدين الثلاثة كلها. وستتجاهل البوابة المعامل temperature=0.3 في أحد الاستدعاءات، لذا ينبغي التحقق من جودة الإجابات بعد التحويل.
ما أبرز التفاصيل حول أين يقع حد الثقة؟
يترك الوكيل الأمر ktms init للإنسان عمدًا: فهو يطلب في طرفيتك، دون إظهار المدخلات، مفتاح المسؤول ومفاتيح المزوّدين، ويكتب ktms.yaml بالنماذج والقواعد الافتراضية، ويعرض الخطة ثم يطبّقها. بعد ذلك تعمل configure كما يعمل Terraform: تعديل، ثم ktms config plan، ثم عرض الخطة على الإنسان، ولا يتم التطبيق إلا بعد موافقته.
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.