<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://thakicloud.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://thakicloud.github.io/" rel="alternate" type="text/html" /><updated>2026-06-27T04:13:42+09:00</updated><id>https://thakicloud.github.io/feed.xml</id><title type="html">Thaki Cloud Tech Blog | ThakiCloud | 다키클라우드 기술 블로그</title><subtitle>Thaki Cloud (ThakiCloud, 다키클라우드, thaki cloud, THAKI CLOUD, ثاكي كلاود)는 AI/ML Engineering, LLMOps, DevOps 분야의 최신 기술과 실무 경험을 공유하는 전문 기술 블로그입니다. 머신러닝 모델 운영, 쿠버네티스, 클라우드 인프라, AI 엔지니어링 커리어, 인공지능 기술 블로그, 다키클라우드 개발 팀의 깊이 있는 인사이트를 제공합니다. مدونة تقنية متخصصة في هندسة الذكاء الاصطناعي والحوسبة السحابية.</subtitle><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><entry xml:lang="ar"><title type="html">وكيل ذكاء اصطناعي يكتب الأوراق البحثية - نقل سير عمل الكتابة بحزمة Skill مفتوحة المصدر</title><link href="https://thakicloud.github.io/ar/dev/ai-agent-research-paper-skills/" rel="alternate" type="text/html" title="وكيل ذكاء اصطناعي يكتب الأوراق البحثية - نقل سير عمل الكتابة بحزمة Skill مفتوحة المصدر" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/dev/ai-agent-research-paper-skills</id><content type="html" xml:base="https://thakicloud.github.io/ar/dev/ai-agent-research-paper-skills/"><![CDATA[<p>كلما اقترب موعد تسليم الورقة البحثية، وجد الباحث نفسه يكرر نفس المهام: يُعيد صياغة المقدمة، ويتحقق من انسجام حجج الملخص مع أدلتها، ويُسبق المراجع إلى الجمل الإشكالية. هذه الخبرة عادةً ما تظل حبيسة ذاكرة المشرف أو موزّعة في ملاحظات متفرقة. المشروع المفتوح المصدر <a href="https://github.com/Master-cai/Research-Paper-Writing-Skills">Research-Paper-Writing-Skills</a> الذي أثار اهتماماً واسعاً على X مؤخراً يُجمّع هذه الخبرة في حزمة Skill يستطيع وكيل الترميز الذكي استدعاءها مباشرةً. والأهم ليس أنها “مجموعة برومبتات أخرى”، بل أنها صيغة قابلة للنقل تُضمَّن بالتساوي في Codex وClaude Code وGemini.</p>

<p><img src="/assets/images/ai-agent-research-paper-skills-hero.png" alt="صورة مجردة تُظهر وحدة معرفية مركزية تتفرع منها ثلاثة تدفقات بيانات نحو ثلاثة أدوات مختلفة" /></p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>يقوم هذا المشروع على ملاحظات تعليمية نشرها الأستاذ بنغ سيدا (彭思达) من جامعة تشجيانغ الصينية في مستودع <a href="https://github.com/pengsida/learning_research">learning_research</a>، ويُعيد صياغة خبرة كتابة الأوراق البحثية في هيئة حزمة Agent Skill. وفق وصف المستودع، يركز المشروع على أوراق ML وCV وNLP، وقد مرّ بعمليات تنظيم وهيكلة تستهدف Codex وClaude Code وGemini. الإسهام الجوهري ليس نسخ نص الملاحظات الأصلية، بل تفكيك النصائح المتناثرة إلى وحدات عمل يمكن للوكيل استدعاؤها باعتبارها قدرات قابلة لإعادة الاستخدام.</p>

<p>لماذا تستقطب هذه الصيغة الاهتمام الآن؟ مع انتشار وكلاء الترميز الذكي، بات الناس يعتبرون “كيف ومتى تُوجّه هذا النموذج” أصلاً لا تقل قيمته عن النموذج نفسه. معرفة العمل المنظمة جيداً يكفي بناؤها مرة واحدة لتتكرر عبر أدوات وأشخاص متعددين. والمهام ذات الإجراءات الواضحة ومعايير الجودة المحددة - ككتابة الأوراق البحثية - تلائم هذه الصيغة بشكل خاص. ThakiCloud بدورها تُشغّل جزءاً كبيراً من عملياتها الداخلية عبر مئات الـ Skills، ولذا ترى في هذا الاتجاه تحولاً هيكلياً في تشغيل الوكلاء لا مجرد موضة عابرة.</p>

<h2 id="ما-هو-agent-skill">ما هو Agent Skill؟</h2>

<p>Agent Skill حزمة تُخبر الوكيل بكيفية تنفيذ مهمة بعينها. تتمحور عادةً حول ملف تعليمات <code class="language-plaintext highlighter-rouge">SKILL.md</code>، وتضم عند الحاجة وثائق مرجعية وسكريبتات وقوالب. لها ثلاث خصائص جوهرية: أولاً، تخضع لإدارة الإصدارات - يمكن تتبع تاريخ تعديلاتها في المستودع فتتراكم أصلاً لا تنتهي بانتهاء البرومبت. ثانياً، تُستدعى عند الحاجة فقط - بدلاً من حشو كل المعرفة في السياق دفعة واحدة، يُحمَّل فقط الـ Skill المرتبط بالمهمة في تلك اللحظة. ثالثاً، لا تتقيد بـ harness بعينه - الهدف أن يُشغَّل الـ Skill نفسه في Claude Code وCodex وGemini على حد سواء.</p>

<p>هذه الخاصية الثالثة هي ما يُجلّي قيمة المشروع أكثر من غيره. النماذج تتبدل وأدوات CLI تتبدل، لكن معرفة العمل كـ”كيف تكتب مقدمة جيدة” تدوم أطول بكثير. حين تبني قدراتك في الـ Skill لا في الأداة، لن تضطر إلى إعادة بناء خبرتك في كل مرة تُبدّل فيها الأداة. هذا ما نسميه داخلياً مبدأ “harness رفيع، Skill كثيف”: نُبقي الـ harness - حلقة النموذج والصلاحيات وإدخال/إخراج الملفات - رفيعاً، ونُكدّس المعرفة الميدانية والحكم وحالات الفشل في الـ Skill.</p>

<p><img src="/assets/images/ai-agent-research-paper-skills-diagram.png" alt="هيكل يُظهر حزمة Skill واحدة قابلة للنقل تحتوي على ملف SKILL.md ومواد مرجعية، مُدمجة بالتساوي في ثلاثة harness: Claude Code وCodex وGemini، لتنفيذ مهام كتابة الأوراق البحثية" /></p>

<p>جوهر الشكل أعلاه أن حزمة الـ Skill واحدة في الوسط. الأدوات الثلاثة لا تحمل كل منها برومبتاً مختلفاً؛ بل تتشارك نفس معرفة العمل. هنا يكمن الفارق الجوهري عن لصق سطر برومبت في نافذة دردشة.</p>

<h2 id="استعراض-research-paper-writing-skills">استعراض Research-Paper-Writing-Skills</h2>

<p>المهام التي تتناولها الحزمة تتطابق مع المراحل الفعلية لكتابة الورقة البحثية. من أمثلة الاستخدام المنشورة: استدعاء <code class="language-plaintext highlighter-rouge">$research-paper-writing</code> لتحسين المقدمة وصقل فقراتها الأولى، أو إعادة كتابة الملخص مع التحقق من توافق الادعاءات مع الأدلة. أي أن البنية لا تقدم طلباً مبهماً كـ”اكتب لي بشكل جيد”، بل تفصل المهام الفرعية المتكررة في كتابة الأوراق إلى قدرات مستقلة. وهذا ينسجم مع مبدأ التصميم الجيد للبرومبت: فعل واحد يقابله ناتج واحد.</p>

<p>اللافت أيضاً أن المشروع يستهدف أدوات ترميز ذكاء اصطناعي متعددة في آنٍ واحد. المستخدم يُفعّل نفس القدرة بمجرد نسخ الحزمة إلى مجلد الـ Skill الخاص ببيئته. هذا التوجه نحو harnesses متعددة ليس سمة هذا المشروع وحده؛ بل يتشاركه عدد من المشاريع المفتوحة المصدر التي ظهرت مؤخراً كمجموعات Skills أكاديمية مبنية على Codex، ومكتبات Skill للبحث الذكاء الاصطناعي العامة. علامة على أن ثمة محاولات متزامنة لنقل سير عمل البحث بأكمله إلى بيئة Skills.</p>

<p>ملاحظة ضرورية: كُتب هذا المقال استناداً إلى الوصف العام للمستودع وأمثلة الاستخدام المنشورة، ولم يُقطع بأرقام تفصيلية كعدد النجوم أو تكوين الملفات الداخلي لأنها قد تتغير بمرور الوقت. إن كنت تدرس الاعتماد الفعلي، فراجع مستودع المصدر والترخيص وطريقة إسناد ملاحظات المؤلف الأصلي مباشرةً.</p>

<h2 id="التثبيت-والاستخدام">التثبيت والاستخدام</h2>

<p>نموذج تثبيت Agent Skill بسيط في مجمله. تنزّل الحزمة وتضعها في مسار الـ Skill الذي تتعرف عليه الأداة، فيستدعي الوكيل الـ Skill المناسب بحسب المهمة. التدفق العام كالتالي:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># استنساخ المستودع</span>
git clone https://github.com/Master-cai/Research-Paper-Writing-Skills.git

<span class="c"># نسخه إلى مجلد Skill الخاص بأداتك (راجع توثيق كل أداة للمسار الصحيح)</span>
<span class="c"># مثال: وضعه تحت .claude/skills/ في مشروع Claude Code</span>
<span class="nb">cp</span> <span class="nt">-r</span> Research-Paper-Writing-Skills/&lt;skill-dir&gt; .claude/skills/
</code></pre></div></div>

<p>بعد الوضع في مكانه، تستدعي الـ Skill من جلسة الوكيل وتُعطيه المهمة. تُلقي طلباً بلغة طبيعية لصقل مسودة مقدمة أو فحص انسجام ادعاءات الملخص مع أدلتها، فتُطبَّق الإجراءات ومعايير التحقق المضمّنة في الـ Skill. بما أن مسار تعرف الـ Skill وأعراف استدعائه تتفاوت قليلاً بين الأدوات، يُستحسن اتباع توثيق كل أداة للمسار الفعلي. الأهم أن الـ Skill المُثبَّت مرة واحدة يُعاد استخدامه في كل جلسات تلك الأداة - فيختفي عناء لصق البرومبت نفسه في كل مرة.</p>

<h2 id="التطبيق-والدلالات-في-منصة-thakicloud-للذكاء-الاصطناعي-على-kubernetes">التطبيق والدلالات في منصة ThakiCloud للذكاء الاصطناعي على Kubernetes</h2>

<p>منصة ThakiCloud للذكاء الاصطناعي تُشغّل وكلاء ومهام دُفعية لعملاء متعددين فوق Kubernetes. عملياتنا الداخلية بنيت أصلاً على محور الـ Skills، لذا الصيغة التي يعرضها هذا المشروع ليست غريبة عنا. الأهم هو أن النمط ذاته ينتشر بسرعة خارجياً.</p>

<p>أولاً، ثمة قيمة مباشرة لعلماء البيانات وكوادر البحث. الفرق التي تتعامل مع المنصة تكتب أوراقاً بحثية وتقارير تقنية بشكل متكرر. تثبيت Skills كتابة بحثية مُختبَرة فوق الأدوات الداخلية المعيارية يتيح مراجعة جوانب كهيكل المقدمة وانسجام الادعاءات-الأدلة في الملخص بمعيار متسق. هذه طريقة لرفع متوسط الجودة دون الحاجة إلى ترقية رتبة النموذج.</p>

<p>ثانياً، استقلالية الـ harness تنسجم مع التشغيل متعدد المستأجرين. قد يتباين عملاء مختلفون في بيئة الوكيل المفضلة لديهم، لكن حين تُخزَّن القدرة في الـ Skill يمكن إعادة استخدام نفس معرفة العمل بصرف النظر عن البيئة. وبما أن القدرة لا ترتبط بأداة مورّد بعينه، يسهل نقل نفس الأصول إلى بيئات العملاء ذوي المتطلبات الصارمة للاستضافة الذاتية. وهذا يتوافق مع استراتيجيتنا التي تُولي الأولوية للاستضافة الذاتية وكفاءة التكلفة.</p>

<p>ثالثاً، يُقدّم المشروع درساً حول ضرورة الانضباط في التعامل مع الـ Skills بوصفها أصولاً تشغيلية. الـ Skill يُكبّد تكلفة سياق في كل جلسة من لحظة فهرسته. لذا نُمرّر كل Skill جديد عندنا بسؤال: “هل سيُخطئ الوكيل بغيابه؟”، ونُدوّن حالات الفشل صراحةً. تطبيق نفس البوابة عند اعتماد Skills خارجية يُقلّل من مخاطر تراكم Skills يُضعف دقة البحث بدلاً من تعزيزها.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>لهذا النهج نقاط ضعف واضحة. أولاً، لا توجد مقاييس نشر موضوعية تقيس جودة النصوص الناتجة. كتابة الأوراق البحثية مهمة تستلزم بطبيعتها حكماً بشرياً، ولا مناص من أن يراجع الإنسان المسودة التي أنتجها الـ Skill بمعاييره. لهذا لم نورد أرقاماً أدائية في هذا المقال - لا يوجد قياس ميداني مُوثَّق، واختراع الأرقام هو آخر ما ينبغي فعله.</p>

<p>ثانياً، ثمة مسألة المصادر والأعمال المشتقة. الحزمة نتاج إعادة هيكلة ملاحظات عامة لمؤلف آخر. حتى لو كان الإسناد صريحاً، يقع على عاتق الجهة المعتمِدة مسؤولية التحقق المباشر من الترخيص ونطاق إسناد المصدر. يزداد هذا أهمية حين تُضاف الحزمة إلى معايير داخلية مؤسسية.</p>

<p>ثالثاً، المساعدة في الكتابة لا تحل محل التفكير. الورقة الجيدة تنبثق من بحث جيد. الـ Skill يُسهم في الصياغة والمراجعة فحسب؛ لا يُحيل نتائج متواضعة إلى ورقة رصينة. عدم الخلط بين ما تملأه الأداة وما يتحمله الباحث حتى النهاية شرط لاستخدام هذه الصيغة بشكل صحي.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>Research-Paper-Writing-Skills: <a href="https://github.com/Master-cai/Research-Paper-Writing-Skills">https://github.com/Master-cai/Research-Paper-Writing-Skills</a></li>
  <li>ملاحظات المؤلف الأصلية learning_research (بنغ سيدا): <a href="https://github.com/pengsida/learning_research">https://github.com/pengsida/learning_research</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="ai-agent" /><category term="agent-skills" /><category term="claude-code" /><category term="paper-writing" /><category term="llm" /><summary type="html"><![CDATA[مشروع مفتوح المصدر يُحوّل خبرة الأستاذ في كتابة الأوراق البحثية إلى حزمة Skill قابلة للاستدعاء من Codex أو Claude Code أو Gemini. نستعرض الفارق عن مجموعات البرومبت التقليدية، وأهمية صيغة Agent Skill، ودلالة هذا الاتجاه من منظور ThakiCloud التي تُشغّل منصة وكلاء تضم مئات الـ Skills.]]></summary></entry><entry xml:lang="ar"><title type="html">NVIDIA GLM-5.2-NVFP4: خدمة نموذج MoE رائد بحجم 753B بدقة 4 بت</title><link href="https://thakicloud.github.io/ar/llmops/nvidia-glm-5-2-nvfp4/" rel="alternate" type="text/html" title="NVIDIA GLM-5.2-NVFP4: خدمة نموذج MoE رائد بحجم 753B بدقة 4 بت" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/nvidia-glm-5-2-nvfp4</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/nvidia-glm-5-2-nvfp4/"><![CDATA[<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-hero.png" alt="صورة تجريدية لشبكة عصبية بدقة 16 بت تتكثّف في نواة مدمجة بدقة 4 بت" />
<em>تصوّر مفاهيمي لتكثيف أوزان 16 بت إلى 4 بت.</em></p>

<p>بالنسبة لأي فريق يحاول خدمة نموذج استدلال من الطراز الرائد على بنيته التحتية الخاصة، فإن أول جدار يصطدم به هو ذاكرة وحدة معالجة الرسوميات (GPU). تحميل 753 مليار معامل بدقة 16 بت يتطلب ما يقارب 1.5 تيرابايت، أي عدة عُقد GPU. نموذج <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code>، الذي صدر على Hugging Face في 25 يونيو 2026، يكمّم نموذج GLM-5.2 من ZAI (zai-org) إلى 4 بت في محاولة لخفض هذا الجدار.</p>

<p>هذه المقالة ليست تعريفاً بنموذج GLM-5.2 نفسه. كيف يعيد طول رموز الاستدلال في النموذج تشكيل حسابات تكلفة الاستضافة الذاتية مشروح في <a href="https://thakicloud.github.io/ar/llmops/glm-5-2-reasoning-token-economics/">مقالة اقتصاديات رموز الاستدلال</a>، وتكميم GGUF بدقة 1 بت للعتاد الاستهلاكي في <a href="https://thakicloud.github.io/ar/llmops/unsloth-glm-5-2-1bit-gguf/">مقالة Unsloth GGUF</a>. هذه المقالة تنظر إلى مسار مركز البيانات: ما البنية التي اختارها تكميم NVFP4 الرسمي من NVIDIA، وعلى أي عتاد يُخدَم، وماذا يعني ذلك لمشغّل يدير خدمة متعددة المستأجرين.</p>

<p>كل رقم دقة هنا هو قياس رسمي منشور في بطاقة نموذج NVIDIA. النموذج بحجم 753B مخصص لـ Blackwell فقط ويتطلب توازياً موتّرياً بمقدار 8، لذا لم نتمكن من إعادة إنتاجه في بيئة تطوير ThakiCloud. لذلك فهذه المقالة تحليل مبني على مواد عامة ولم نختلق أي أرقام إعادة إنتاج. الأرقام التي تختلف بين المصادر مُعلَّمة بـ <code class="language-plaintext highlighter-rouge">[تقديري]</code>.</p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p><code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> هو نسخة من <code class="language-plaintext highlighter-rouge">zai-org/GLM-5.2</code> لـ ZAI مكمَّمة بأداة NVIDIA Model Optimizer (ModelOpt). النموذج الأساس هو بنية مزيج خبراء (MoE) للاستدلال والبرمجة، بإجمالي 753 مليار معامل يُفعَّل منها 40 مليار فقط لكل رمز. بنيته الشبكية هي <code class="language-plaintext highlighter-rouge">GlmMoeDsaForCausalLM</code>، ويستخدم انتباهاً متناثراً مع مُفهرِس IndexShare لدعم سياق يصل إلى مليون رمز. الترخيص هو MIT، مثل النموذج الأساس، ويتيح الاستخدام التجاري وغير التجاري.</p>

<p>جوهر الأمر في جملة واحدة: <strong>MoE يقلّل الحوسبة، والتكميم الانتقائي بـ NVFP4 يقلّل الذاكرة، والأجزاء الحسّاسة للدقة تُستثنى عمداً من التكميم.</strong> بفضل بنية MoE، حتى عند 753B تظل الحوسبة لكل رمز محصورة في خبراء الـ 40B المفعَّلين. ثم يُنزِل NVFP4 أوزان الخبراء الموجَّهين، التي تشكّل معظم بصمة الذاكرة، من 16 بت إلى 4 بت، مع إبقاء الخبير المشترك غير مكمَّم بدقة BF16 لتقليل خسارة الدقة.</p>

<p>التوقيت مهم. صدور نموذج مفتوح الأوزان قوي بترخيص MIT يتزامن مع إعادة NVIDIA إصداره، مُحسَّناً لعتادها، في صيغة قابلة للخدمة مباشرة. بالنسبة للمؤسسات التي توازن سيادة النماذج، هذه ليست قضية سياسات مجردة بل خيار معماري آنيّ: أي GPU يشغّل ماذا، وكيف.</p>

<h2 id="ما-هو-هذا-النموذج">ما هو هذا النموذج</h2>

<p>GLM-5.2 هو نموذج استدلال وبرمجة من نوع MoE من ZAI. على عكس النموذج الكثيف (dense) التقليدي، يضع عدة شبكات خبراء داخل كل كتلة محوِّل ويفعّل مجموعة فرعية فقط لكل رمز إدخال. يحمل GLM-5.2 إجمالي 753 مليار معامل، لكن 40 مليار فقط تشارك فعلياً في توليد رمز معيّن. “سعته المعرفية” من فئة 753B، بينما حوسبة الاستدلال أقرب إلى نموذج كثيف بحجم 40B.</p>

<p>علاوة على ذلك، يستخدم GLM-5.2 انتباهاً متناثراً مع مُفهرِس IndexShare. التصميم يدعم سياق مليون رمز مع تجنّب تكلفة الانتباه الكامل الذي يقارن كل زوج رموز. تسمّي بطاقة النموذج هذه البنية <code class="language-plaintext highlighter-rouge">glm_moe_dsa</code> وتتطلب <code class="language-plaintext highlighter-rouge">transformers&gt;=5.3.0</code> للتشغيل. هاتان الطبقتان من التناثر، تناثر MoE وتناثر الانتباه، تتكاملان لتقديم استدلال من الطراز الرائد بحوسبة اقتصادية نسبياً، وهذه نقطة انطلاق GLM-5.2.</p>

<p>NVFP4 هو نوع بيانات عائم بدقة 4 بت عرّفته NVIDIA. المفتاح أنه عائم وليس عدداً صحيحاً بـ 4 بت. على وجه التحديد، يحزم قيماً عائمة صغيرة (E2M1) في كتل من 16 عنصراً ويرفق بكل كتلة مقياس FP8 (E4M3)، وهو تحجيم على مستوى الكتل بمرحلتين. لأن كل كتلة تتتبّع مداها الديناميكي الخاص، يحافظ على أذيال التوزيع أفضل بكثير من التكميم الصحيح البسيط. تذكر NVIDIA بوضوح في بطاقة النموذج أن هذا ليس نموذجاً درّبته من الصفر بل نسخة مكمَّمة من نموذج طرف ثالث، أُنتجت بأداة NVIDIA Model Optimizer مفتوحة المصدر.</p>

<h2 id="المفتاح-هو-التكميم-الانتقائي">المفتاح هو التكميم “الانتقائي”</h2>

<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-diagram.png" alt="مخطط لاستراتيجية التكميم الانتقائي ومسار الخدمة في GLM-5.2-NVFP4" />
<em>تُكمَّم فقط المعاملات الخطية لخبراء MoE الموجَّهين إلى NVFP4؛ ويبقى الخبير المشترك والانتباه بدقة BF16.</em></p>

<p>أهم قرار تصميمي في هذا النموذج هو “ما الذي لم يُكمَّم”. باقتباس بطاقة النموذج مباشرة: “تُكمَّم فقط أوزان وتنشيطات المعاملات الخطية داخل كتل المحوِّل في خبراء MoE. الخبير المشترك غير مكمَّم.” باختصار:</p>

<ul>
  <li><strong>مكمَّم إلى NVFP4 (4 بت)</strong>: أوزان وتنشيطات المعاملات الخطية لخبراء MoE الموجَّهين. بما أن هنا تعيش معظم معاملات الـ 753B، يأتي تقريباً كل توفير الذاكرة من هنا.</li>
  <li><strong>محفوظ بدقة BF16 (16 بت)</strong>: الخبير المشترك، ومسار الانتباه المتناثر IndexShare. هذه يعبرها كل رمز، فلها أثر كبير على الدقة.</li>
</ul>

<p>الاستراتيجية منطقية بسبب كيفية توزيع معاملات MoE. الخبراء الموجَّهون كثيرون ويهيمنون على إجمالي عدد المعاملات، لكن كل رمز يستخدم القليل منهم فقط. أما الخبير المشترك والانتباه فيحملان حصة أصغر من المعاملات لكن يعبرهما كل رمز. لذا فإن “4 بت بقوة حيث يوجد الكثير المستخدَم بتناثر، و16 بت بدقة حيث يوجد القليل لكنه يُستخدم دائماً” مقايضة سليمة تلتقط الذاكرة والدقة معاً. هذا التكميم الانتقائي هو السبب الجذري لبقاء جدول الدقة شبه خالٍ من الخسارة.</p>

<p>استخدمت المعايرة (calibration) مجموعات بيانات عائلة Nemotron من NVIDIA. تسمّي بطاقة النموذج Nemotron-SFT-Instruction-Following-Chat-v2 وNemotron-Science-v1 وNemotron-Competitive-Programming-v1 وNemotron-SFT-Agentic-v2 وNemotron-Math-v2 وNemotron-SFT-SWE-v2 وNemotron-SFT-Multilingual-v1 كبيانات معايرة. المزيج يشمل الاستدلال والعلوم والبرمجة والوكلاء والرياضيات ومتعدد اللغات، بما يتماشى مع طبيعة معايير التقييم.</p>

<h2 id="القياسات-المنشورة-الدقة-مقابل-fp8">القياسات المنشورة: الدقة مقابل FP8</h2>

<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-results.png" alt="رسم بياني شريطي يقارن خط أساس FP8 ودرجات معايير NVFP4" />
<em>قياسات عامة من بطاقة نموذج nvidia/GLM-5.2-NVFP4. خط الأساس هو GLM-5.2-FP8.</em></p>

<p>المقارنة التي نشرتها NVIDIA في بطاقة النموذج أدناه. اللافت أن خط الأساس ليس BF16 بل <code class="language-plaintext highlighter-rouge">GLM-5.2-FP8</code> المضغوط أصلاً. أي أن هذا هو السؤال الأصعب: “كم يخسر 4 بت مقارنة بنموذج خُفِّض أصلاً إلى 8 بت”، بدلاً من “مقارنة بالأصل غير المضغوط”.</p>

<table>
  <thead>
    <tr>
      <th>المعيار</th>
      <th>خط الأساس (FP8)</th>
      <th>NVFP4</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPQA Diamond</td>
      <td>89.52</td>
      <td>89.39</td>
    </tr>
    <tr>
      <td>SciCode</td>
      <td>49.85</td>
      <td>49.04</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>74.95</td>
      <td>75.81</td>
    </tr>
    <tr>
      <td>AA-LCR</td>
      <td>69.38</td>
      <td>70.13</td>
    </tr>
    <tr>
      <td>τ²-Bench Telecom</td>
      <td>97.9</td>
      <td>98.25</td>
    </tr>
  </tbody>
</table>

<p>كانت إعدادات القياس درجة حرارة 1.0 وtop_p 0.95، بحد أقصى للرموز الجديدة 100000 لـ GPQA Diamond و64000 للبقية. قِيس AA-LCR بـ SGLang؛ والبقية بـ vLLM. المعايير الخمسة تقيّم على التوالي الاستدلال العلمي بمستوى الدراسات العليا (GPQA Diamond، 448 سؤالاً)، والبرمجة العلمية (SciCode)، واتّباع التعليمات (IFBench)، واستذكار السياق الطويل (AA-LCR)، واستخدام الأدوات الوكيلي (τ²-Bench Telecom).</p>

<p>انخفض GPQA (−0.13) وSciCode (−0.81) قليلاً، بينما كان IFBench (+0.86) وAA-LCR (+0.75) وτ²-Bench Telecom (+0.35) أعلى فعلياً تحت NVFP4. قد يبدو تفوّق 4 بت على 8 بت غير بديهي، لكن فروقاً بهذا الحجم تُقرأ بأمان أكبر كضوضاء تباين أخذ العينات لا كخسارة تكميم. الرسالة الجوهرية أن “ضغط FP8 خطوة إضافية إلى 4 بت يُبقي الدقة ثابتة فعلياً”، وهي نتيجة مباشرة لاستراتيجية التكميم الانتقائي الموصوفة أعلاه.</p>

<h2 id="النشر-vllm-وsglang">النشر: vLLM وSGLang</h2>

<p>يدعم هذا النموذج رسمياً بيئتي التشغيل SGLang وvLLM، ويتطلب عتاد NVIDIA Blackwell، ويعمل على Linux. لأن نوى موتّرات NVFP4 موجودة فقط في جيل Blackwell، فإن عدم القدرة على استخدام مسار 4 بت هذا مباشرة على وحدات GPU الأقدم قيد مهم. أمر الخدمة عبر SGLang الذي توفّره بطاقة النموذج هو:</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install</span> <span class="nt">-U</span> <span class="s2">"transformers&gt;=5.3.0"</span> <span class="o">&amp;&amp;</span> <span class="se">\</span>
python3 <span class="nt">-m</span> sglang.launch_server <span class="se">\</span>
    <span class="nt">--model</span> nvidia/GLM-5.2-NVFP4 <span class="se">\</span>
    <span class="nt">--tensor-parallel-size</span> 8 <span class="se">\</span>
    <span class="nt">--quantization</span> modelopt_fp4 <span class="se">\</span>
    <span class="nt">--tool-call-parser</span> glm47 <span class="se">\</span>
    <span class="nt">--reasoning-parser</span> glm45 <span class="se">\</span>
    <span class="nt">--trust-remote-code</span> <span class="se">\</span>
    <span class="nt">--chunked-prefill-size</span> 131072 <span class="se">\</span>
    <span class="nt">--mem-fraction-static</span> 0.80
</code></pre></div></div>

<p>بضع إشارات تستحق القراءة هنا. <code class="language-plaintext highlighter-rouge">--tensor-parallel-size 8</code> يعني أن النموذج يفترض عُقدة من 8 وحدات GPU لا واحدة. <code class="language-plaintext highlighter-rouge">--quantization modelopt_fp4</code> يخبر بيئة التشغيل بالتعرّف على صيغة NVFP4 التي أنتجها ModelOpt. <code class="language-plaintext highlighter-rouge">--chunked-prefill-size 131072</code> يقسّم التعبئة المسبقة عند معالجة سياق المليون رمز لمنع قفزات الذاكرة، وهي قيمة تحكم الاستقرار في خدمة السياق الطويل. <code class="language-plaintext highlighter-rouge">--tool-call-parser glm47</code> و<code class="language-plaintext highlighter-rouge">--reasoning-parser glm45</code> يحلّلان صيغتَي استدعاء الأدوات ورموز الاستدلال لعائلة GLM، وهما يرتبطان مباشرة بأحمال العمل الوكيلية.</p>

<p>من ناحية الذاكرة، تقدير تقريبي: خدمة 753B بدقة BF16 تحتاج نحو 1.5 تيرابايت [تقديري]. بما أن الخبراء الموجَّهين يهيمنون على عدد المعاملات ويُنزَلون إلى 4 بت، تنخفض ذاكرة الأوزان الفعلية إلى نحو الثلث فتقع في نطاق قابل للتحميل على عُقدة واحدة بتوازٍ موتّري ثماني (تُبلِغ مرايا NVFP4 المجتمعية عن نحو 1.37 تيرابايت إلى 459 جيجابايت، أي نحو 3 أضعاف [تقديري]). لأن بطاقة النموذج لا تذكر الحجم الدقيق بالجيجابايت قبل التكميم وبعده، يحمل هذا الرقم علامة <code class="language-plaintext highlighter-rouge">[تقديري]</code>. ما لا لبس فيه أن أمر <code class="language-plaintext highlighter-rouge">--tensor-parallel-size 8</code> نفسه يشير إلى أن “8 وحدات Blackwell يمكنها خدمة نموذج استدلال بحجم 753B بسياق مليون رمز”.</p>

<h2 id="تطبيقه-على-منصة-thakicloud-السحابية-لخدمات-aiml-على-k8s">تطبيقه على منصة ThakiCloud السحابية لخدمات AI/ML على K8s</h2>

<p>تشغّل ThakiCloud منصة متعددة المستأجرين تجدوِل وحدات GPU عبر Kueue على K8s وتخدم النماذج عبر vLLM. في هذه البيئة، يهمّ نموذج مكمَّم مسبقاً من الطراز الرائد مثل <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> بثلاث طرق.</p>

<p>أولاً، <strong>يتّسع نطاق مرشّحي الخدمة.</strong> يُستبعَد نموذج استدلال من فئة 753B عادةً مبكراً من النظر في الاستضافة الذاتية، لكن إذا جعل تكميم 4 بت الأوزان مع هامش KV تناسب عُقدة Blackwell واحدة بـ 8 وحدات GPU، تصبح الخدمة الذاتية داخل المؤسسة خياراً واقعياً. باستخدام ResourceFlavor وClusterQueue في Kueue لتخصيص تجمّع عُقد Blackwell لاستدلال NVFP4، يتحوّل هامش الذاكرة المكتسب عبر التكميم مباشرة إلى عدد المستأجرين المخدومين معاً. بالنسبة للعملاء الذين لا يستطيعون إرسال البيانات إلى واجهات برمجية خارجية، خصوصاً القطاع العام والمالية حيث تُشترَط الاستضافة الذاتية وسيادة البيانات، فإن إبقاء الاستدلال الرائد داخلياً ميزة تنافسية بحد ذاتها.</p>

<p>ثانياً، <strong>لست مضطراً لتشغيل خط أنابيب التكميم بنفسك.</strong> معايرة وتكميم 753B بـ ModelOpt يتطلبان وقت GPU وهندسة كبيرين. إذا أمكننا أخذ نموذج معتمَد من NVIDIA ووضعه مباشرة على vLLM/SGLang، يمكننا تركيز الموارد على التوجيه متعدد المستأجرين والتوسّع التلقائي ومراقبة التكلفة بدلاً من التحقق من التكميم. ومع ذلك، يحوي نظام مهارات ThakiCloud بالفعل سير عمل داخلياً يكمّم عائلة Qwen3-MoE إلى NVFP4، لذا فإن الوصفة التي طبّقتها NVIDIA على GLM-5.2، أي “الخبراء إلى 4 بت، الخبير المشترك والانتباه بـ BF16”، تصبح نمطاً عاماً يمكننا اقتباسه مباشرة عند تكميم نماذج مجال العملاء بأنفسنا.</p>

<p>ثالثاً، <strong>يستحق التكميم الانتقائي الإدراج في معايير اعتماد النماذج لدينا.</strong> المبدأ الذي أظهره هذا النموذج، “بقوة حيث يوجد الكثير المتناثر، وبتحفّظ حيث يُستخدم دائماً”، ينطبق كما هو عند تكميم نماذج MoE أخرى داخلياً. بدلاً من سحق الكل ببساطة إلى 4 بت، يمكن أن يصبح الحفاظ على الخبير المشترك والانتباه بنداً في بوابة اعتماد النماذج. غير أن قيد Blackwell-only مرتبط مباشرة بتكوين تجمّع GPU لدينا، لذا يجب أن تذكر خارطة طريق الاعتماد أن استخدام مسار NVFP4 يفترض تأمين عُقد Blackwell.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>أكبر قيد هو <strong>التبعية للعتاد.</strong> يفترض مسار NVFP4 بـ 4 بت نوى موتّرات Blackwell، لذا فإن البيئات التي تملك أجيالاً أقدم فقط مثل Hopper (H100/H200) لا يمكنها تحقيق فوائد هذا النموذج كما هي. سردية “4 بت تجعله رخيصاً” تصحّ فقط عندما تكون عُقد Blackwell مؤمَّنة أو مخطَّطة، وهي فعلاً تفترض إنفاقاً رأسمالياً جديداً.</p>

<p>ثانياً، <strong>نطاق المعايير.</strong> جدول الدقة في بطاقة النموذج محصور في خمسة معايير، جميعها قريبة من مهام الاستدلال والبرمجة والوكلاء باللغة الإنجليزية. الجودة الواقعية متعددة اللغات بما فيها الكورية، واستقرار الاستذكار عند ملء سياق المليون رمز حتى آخره، لا يمكن استنتاجهما من الجدول العام وحده. تقييم منفصل على بيانات مجالنا يقيس التراجع مقابل BF16/FP8 ضروري قبل الاعتماد.</p>

<p>ثالثاً، <strong>عدم يقين أرقام الذاكرة.</strong> كما ذُكر، لا تنشر بطاقة النموذج الحجم الدقيق بالجيجابايت قبل التكميم وبعده. تقدير الذاكرة في هذه المقالة محسوب عكسياً من عدد المعاملات ونطاق التكميم، لذا في النشر الفعلي، إضافة ذاكرة KV ومخازن التعبئة المسبقة للمليون رمز تجعل الذاكرة الفعلية لكل عُقدة أكبر من تقدير الأوزان وحدها. يجب أن يبني التخطيط التشغيلي على ذروة الذاكرة لا على ذاكرة الأوزان.</p>

<p>رابعاً، <strong>وجها التكميم الانتقائي.</strong> إبقاء الخبير المشترك والانتباه بـ BF16 حمى الدقة، لكنه أيضاً يجعل توفير الذاكرة أصغر من “الكل بـ 4 بت”. أي أن هذا النموذج اختار “ضغطاً يحمي الدقة” لا “أقصى ضغط”. لبيئة تكلفة قصوى تهدف إلى تشغيله على وحدة GPU واحدة لمحطة عمل، تناسب مقايضة GGUF بـ 1 بت الأكثر جرأة، بجودة أدنى، بشكل أفضل.</p>

<p>باختصار، <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> حالة لإنزال نموذج استدلال MoE رائد بحجم 753B إلى 4 بت دون خسارة دقة، ما يجعل الخدمة الذاتية على عُقدة Blackwell بـ 8 وحدات GPU خياراً واقعياً. من منظور ThakiCloud، يضيف ورقة أخرى لتقديم الاستدلال الرائد للعملاء ذوي متطلبات الاستضافة الداخلية وسيادة البيانات، ومناسبة لإدراج المبدأ العام “التكميم الانتقائي” في معايير اعتماد النماذج. لكن ذلك الباب لا يُفتَح إلا بمفتاح Blackwell.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li><a href="https://huggingface.co/nvidia/GLM-5.2-NVFP4">nvidia/GLM-5.2-NVFP4 · Hugging Face</a></li>
  <li><a href="https://huggingface.co/zai-org/GLM-5.2">النموذج الأساس GLM-5.2 (ZAI) · Hugging Face</a></li>
  <li><a href="https://github.com/NVIDIA/Model-Optimizer">NVIDIA Model Optimizer · GitHub</a></li>
  <li><a href="https://developer.nvidia.com/blog/introducing-nvfp4-for-efficient-and-accurate-low-precision-inference/">Introducing NVFP4 for Efficient and Accurate Low-Precision Inference · NVIDIA Technical Blog</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="nvfp4" /><category term="quantization" /><category term="vllm" /><category term="sglang" /><category term="glm" /><category term="moe" /><category term="inference-optimization" /><category term="model-optimizer" /><summary type="html"><![CDATA[كمّمت NVIDIA نموذج الاستدلال GLM-5.2 من ZAI (MoE بحجم 753B) إلى NVFP4 (4 بت) ونشرته على Hugging Face. بدلاً من سحق كل الأوزان إلى 4 بت، تُكمَّم فقط المعاملات الخطية لخبراء MoE الموجَّهين، بينما يبقى الخبير المشترك والانتباه بدقة BF16، وهو تكميم انتقائي يحافظ على الدقة شبه ثابتة مقابل خط أساس FP8. نستعرض استراتيجية التكميم والقياسات المنشورة وأوامر النشر عبر vLLM/SGLang من منظور منصة الخدمة متعددة المستأجرين على K8s لدى ThakiCloud.]]></summary></entry><entry xml:lang="ar"><title type="html">Ornith-1.0: نموذج برمجة مفتوح المصدر يبني سقالات التعلم المعزز بنفسه</title><link href="https://thakicloud.github.io/ar/llmops/ornith-1-self-scaffolding-coding-model/" rel="alternate" type="text/html" title="Ornith-1.0: نموذج برمجة مفتوح المصدر يبني سقالات التعلم المعزز بنفسه" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/ornith-1-self-scaffolding-coding-model</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/ornith-1-self-scaffolding-coding-model/"><![CDATA[<p><img src="/assets/images/ornith-1-self-scaffolding-coding-model-hero.png" alt="صورة تجريدية تجسّد بنية التسقيل الذاتي التي تبني سقالاتها بنفسها" />
<em>صورة تجسّد التعلم المعزز بالتسقيل الذاتي حين يبني النموذج سقالات تدريبه بنفسه.</em></p>

<p>بات التنافس بين نماذج البرمجة مفتوحة الأوزان يتجاوز سؤال “كم تبلغ درجة المعيار؟” إلى سؤال أعمق: “بأي منهجية تدريب تحققت تلك الدرجة؟” <code class="language-plaintext highlighter-rouge">Ornith-1.0</code> الذي أصدرته DeepReinforce في 25 يونيو 2026 هو نموذج تصدّر فيه المنهجية ذاتها العناوين. صُمّم التعلم المعزز فيه ليجعل النموذج يولّد الحلول ويكتب في الوقت ذاته <strong>سقالات التدريب (scaffold)</strong> التي تقود تلك الحلول.</p>

<p>هذا المقال لا يعرض نتائج إعادة تشغيل المعايير بشكل مستقل. تشغيل نموذج بحجم 397B على معايير البرمجة يستلزم عقد GPU متعددة وساعات استدلال، لذا لم يُجرَ ذلك في هذا التحليل الآني. وعليه، فجميع الأرقام الواردة هنا <strong>أرقام أعلنتها DeepReinforce في مواد مفتوحة</strong>، وما يتضارب بين المصادر مُشار إليه بـ<code class="language-plaintext highlighter-rouge">[تقديري]</code>. لم تُخترع أي أرقام.</p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p><code class="language-plaintext highlighter-rouge">Ornith-1.0</code> ليس نموذجاً واحداً، بل عائلة نماذج مفتوحة المصدر متخصصة في البرمجة. تنقسم إلى أربعة أحجام: 9B كثيف، و31B كثيف، و35B Mixture-of-Experts (MoE)، و397B MoE الرائد، وجميعها بترخيص MIT منشور على نطاق <code class="language-plaintext highlighter-rouge">deepreinforce-ai</code> في Hugging Face وجاهز للتنزيل الفوري. إلى جانبها نسخ مكمّمة: 9B و35B بصيغة GGUF، و35B و397B بصيغة FP8، مما يدل على أن طيف النشر (من GPU فردي على الحافة إلى عقد متعددة في مراكز البيانات) كان مقصوداً منذ البداية.</p>

<p>من منظور ThakiCloud، يبرز أمران فوراً: الترخيص وإمكانية الاستضافة الذاتية. MIT لا يفرق بين التجاري وغير التجاري، ولا يحمل أي عبء قانوني من الشروط الفيروسية أو البنود غير التجارية. للمؤسسات الراغبة في تشغيل عوامل برمجة على بنيتها التحتية الخاصة دون إرسال الكود إلى واجهات برمجة خارجية، هذا الترخيص هو الجواب الأكثر وضوحاً بـ”نعم”.</p>

<p>يمكن تلخيص جوهر النموذج في جملة واحدة: <strong>لا تتعلم Ornith-1.0 في مرحلة التعلم المعزز الحلولَ وحسب، بل تتعلم أيضاً السقالات المهمية التي تقود تلك الحلول.</strong> ومعالجة السقالة بوصفها هدفاً يتطور عوضاً عن كونها أداة ثابتة هي الفارق عن نماذج RL البرمجية الأخرى.</p>

<p>وصف التغريدة الأصلية للنموذج بأنه “أول نموذج مفتوح المصدر من مختبر أمريكي يبرمج على مستوى الحدود.” غير أن مقر DeepReinforce لم يتحقق بشكل مستقل من المصادر المفتوحة، لذا يُركز هذا المقال على الآليات القابلة للتحقق والأرقام المعلنة، لا على أُطر الجنسية.</p>

<h2 id="ما-هذا-النموذج">ما هذا النموذج؟</h2>

<p><code class="language-plaintext highlighter-rouge">Ornith-1.0</code> مبني على تدريب ما بعد التدريب المسبق (post-training) فوق نماذج أساس مدرّبة مسبقاً. أعلنت DeepReinforce أنها استخدمت Gemma 4 وعائلة Qwen 3.5 كأساس، أي أن الأمر لا يتعلق بتدريب مسبق من الصفر، بل بتطبيق <strong>تعلم معزز مخصص</strong> على قواعد مفتوحة قوية لرفع قدرات البرمجة. يتشابه هذا مع ما تفعله NVIDIA حين تعيد توزيع نماذج جهات خارجية مكمّمة، أي مبدأ “القاعدة أصل مشترك، والتمييز في ما بعد التدريب”، وهو نمط تقسيم عمل بارز في المنظومة المفتوحة الراهنة.</p>

<p>النموذج في جوهره نموذج استدلال (reasoning). يفتح استجاباته بكتلة <code class="language-plaintext highlighter-rouge">&lt;think&gt; … &lt;/think&gt;</code> ليطوّر عملية التفكير أولاً قبل إعطاء الإجابة النهائية. وصفة الخدمة المعلنة توجّه إلى تفعيل محلل reasoning يفصل عملية التفكير في حقل <code class="language-plaintext highlighter-rouge">reasoning_content</code> مستقل، ومحلل tool-call يعرض كتل استدعاء الأدوات بصيغة <code class="language-plaintext highlighter-rouge">tool_calls</code> متوافقة مع OpenAI. القصد التصميمي واضح: يُوصل مباشرة في حلقات العوامل. أقصى طول للسياق هو 262,144 رمز، وهو طول يستهدف مهام البرمجة ذات الأفق الطويل التي تدفع فيها مستودعات كاملة دفعة واحدة.</p>

<p>DeepReinforce ليست وافداً جديداً على التعلم المعزز. <code class="language-plaintext highlighter-rouge">CUDA-L1</code> الصادر عام 2025 استخدم التعلم المعزز لتحسين نواة CUDA تلقائياً، وأفاد بتسارع متوسط 3.12× وتسارع ذروة يبلغ عشرات الأضعاف على مهام GPU متعددة. الخط البحثي المتواصل القائل “اجعل الكود/النواة تحسّن نفسها بالتعلم المعزز” يمتد الآن إلى هذا النموذج البرمجي.</p>

<h2 id="الجوهر-تعلم-معزز-بتسقيل-ذاتي">الجوهر: تعلم معزز بتسقيل ذاتي</h2>

<p>في معظم تدريب RL العاملاتي، يُثبّت البشر السقالة (بنية التوجيه، واتفاقيات استخدام الأدوات، وإطار تحليل المهمة) ثم تتعلم السياسة ضمنها فحسب. إن كانت السقالة جيدة ارتفعت الدرجات، وإن كانت رديئة صطدمت السياسة بسقف بمعزل عن جودتها. والمشكلة أن السقالة المثالية تختلف من مهمة إلى أخرى. تتجاوز Ornith-1.0 ذلك بأن ترفع السقالة من <strong>ثابت</strong> إلى <strong>متغيّر قابل للتعلم</strong>.</p>

<p>وفق وصف DeepReinforce، تسير كل خطوة RL في مرحلتين: أولاً يقترح النموذج <strong>سقالة مكيّفة</strong> شرطياً بالمهمة المعطاة، ثم يولّد <strong>طرح حل (rollout)</strong> شرطياً بتلك السقالة. يُنشر مكسب المكافأة على كلتا المرحلتين، أي أن “أي سقالة بُنيت؟” و”ماذا حُلّ فوقها؟” كلاهما يُقيَّم ويُحسَّن معاً. السقالة تصبح هدفاً يتطور بالتزامن مع السياسة.</p>

<pre><code class="language-mermaid">flowchart LR
    T["المهمة (Task)"] --&gt; S1
    subgraph RLSTEP["خطوة RL (مرحلتان)"]
      direction TB
      S1["المرحلة 1: اقتراح السقالة&lt;br/&gt;(شرطي بالمهمة)"] --&gt; S2["المرحلة 2: طرح الحل&lt;br/&gt;(شرطي بالسقالة)"]
    end
    S2 --&gt; R["المكافأة (reward)"]
    R -. "ينتشر إلى السقالة" .-&gt; S1
    R -. "ينتشر إلى السياسة" .-&gt; S2
    S1 -. "تطور مشترك" .- S2
</code></pre>

<p>أهمية هذا التصميم تتجلى في وجهين: أولاً يزول عنق الزجاجة المتمثل في ضبط السقالات يدوياً من قِبل البشر، فحتى لو تغيّر توزيع المهام يعيد النموذج بناء سقالاته. ثانياً لأن السقالة معرّضة مباشرة لإشارة المكافأة، يمكن تصحيح نمط الفشل الشائع “السياسة سليمة لكن السقالة رديئة فتضيع الدرجات” داخل حلقة التعلم ذاتها. يتشابه هذا مع فكرة <a href="https://thakicloud.github.io/ar/llmops/">نمط Loop Engineering</a> حين تُستخدم أدوات خارجية (مترجمات، اختبارات) إشارةً للمكافأة، مع خطوة إضافية: <strong>السقالة ذاتها</strong> أصبحت هدفاً تلقى المكافأة.</p>

<h2 id="المعايير-المعلنة">المعايير المعلنة</h2>

<p>الأرقام الرائدة التي أعلنتها DeepReinforce لنموذجها الأكبر هي كالتالي. جميعها بحسب إعلان الشركة ولم تُعاد نسخها في بيئتنا.</p>

<table>
  <thead>
    <tr>
      <th>المعيار</th>
      <th>Ornith-1.0-397B</th>
      <th>للمقارنة</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>SWE-Bench Verified</td>
      <td>82.4</td>
      <td>Claude Opus 4.8: 87.6 (الوحيد الذي يتفوق في القائمة)</td>
    </tr>
    <tr>
      <td>Terminal-Bench 2.1</td>
      <td>77.5</td>
      <td>الأعلى بين نماذج مفتوحة المصدر من حجم مماثل وفق الإعلان</td>
    </tr>
    <tr>
      <td>SWE-Bench Pro</td>
      <td>62.2 <code class="language-plaintext highlighter-rouge">[تقديري]</code></td>
      <td>تباين بين المصادر</td>
    </tr>
  </tbody>
</table>

<p>تدّعي DeepReinforce تحقيق أعلى أداء بين النماذج مفتوحة المصدر من الحجم ذاته على Terminal-Bench 2.1 وSWE-Bench وNL2Repo وOpenClaw. ويبرز تحديداً أن 35B MoE يتفوق على بعض النماذج الأكبر حجماً، ما يُفسَّر بأن ندرة MoE مقترنة بما بعد التدريب التسقيلي الذاتي ترفع الكفاءة نسبةً إلى عدد المعاملات النشطة. بيد أن معايير SWE-Bench تتفاوت تفاوتاً كبيراً بين نسخها (Verified/Pro/الأصلية)، والمقارنة المباشرة دون التحقق من النسخة المستخدمة ضربٌ من المجازفة، ولهذا وُضعت قيمة SWE-Bench Pro بعلامة <code class="language-plaintext highlighter-rouge">[تقديري]</code>.</p>

<p>أهم ما يلفت انتباه المشغّل ليس الأرقام ذاتها، بل أن <strong>مصدرها آلية مُعلنة</strong>. أرقام النماذج المغلقة لا يمكن إعادة إنتاجها، أما الأوزان المُرخّصة بـMIT والوصف التدريبي المنشور فإنهما يفتحان باب التحقق المستقل.</p>

<h2 id="التثبيت-والخدمة">التثبيت والخدمة</h2>

<p>صُمّمت Ornith-1.0 لتعمل مباشرة على مكدسات الاستدلال القياسية. منطق تدرّج التحقق ينطبق هنا: ابدأ بالأصغر. صُمّم 9B للعمل على GPU فردي، وهو نقطة انطلاق مناسبة لاختبار تكامل أنابيب العمل.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># تنزيل الأوزان من Hugging Face (مثال: 9B)</span>
huggingface-cli download deepreinforce-ai/Ornith-1.0-9B <span class="se">\</span>
  <span class="nt">--local-dir</span> ./ornith-1.0-9b
</code></pre></div></div>

<p>بما أنه نموذج استدلال واستدعاء أدوات في آن، يلزم عند الخدمة تفعيل محلل reasoning ومحلل tool-call معاً ليُفصلا عملية التفكير واستدعاءات الأدوات في حقول منظّمة. الشكل النموذجي لتشغيل vLLM هو الآتي، وأسماء المحللات الدقيقة تُرجع إلى بطاقة النموذج.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># خدمة vLLM (شكل نموذجي، أسماء المحللات تتبع بطاقة النموذج)</span>
vllm serve deepreinforce-ai/Ornith-1.0-9B <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span> <span class="se">\</span>
  <span class="nt">--tool-call-parser</span> &lt;محدد في بطاقة النموذج&gt; <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> &lt;محدد في بطاقة النموذج&gt;
</code></pre></div></div>

<p>عند تشغيل 397B MoE الرائد، الذاكرة هي العائق الأول. لذا نُشرت نسخة FP8 (<code class="language-plaintext highlighter-rouge">Ornith-1.0-397B-FP8</code>) منذ البداية: تخفّض ذاكرة الأوزان بنسبة النصف مقارنة بـBF16، مما يقلص عدد العقد ودرجة التوازي الموتّري. أما 35B MoE فهو نقطة التوازن المثلى التي يمثّل فيها MoE ميزته الجوهرية “معاملات نشطة أقل، طاقة معرفية أكبر”، وهو مرشح واقعي للخدمة على عقدة واحدة بـGPU متعدد.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 397B: نسخة FP8 مع توازي موتّري للتعامل مع جدار الذاكرة (هيكل إرشادي)</span>
vllm serve deepreinforce-ai/Ornith-1.0-397B-FP8 <span class="se">\</span>
  <span class="nt">--tensor-parallel-size</span> 8 <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span>
</code></pre></div></div>

<h2 id="التطبيق-والدلالات-على-منصة-thakicloud-لـk8s-aiml-saas">التطبيق والدلالات على منصة ThakiCloud لـK8s AI/ML SaaS</h2>

<p>تُجدوِل منصة ThakiCloud للذكاء الاصطناعي أحمال GPU عبر Kueue فوق K8s، وتخدم الاستدلال متعدد المستأجرين عبر vLLM، وتُشغّل عوامل متعددة المستأجرين. نموذج كـOrnith-1.0 ذو صلة بهذا المكدس في ثلاثة محاور:</p>

<p>أولاً <strong>السيادة على نموذج عوامل البرمجة الداخلية</strong>. الكود من أكثر الأصول حساسية. الطلب على تشغيل عوامل برمجة داخل البنية التحتية الخاصة أو المستأجر المخصص دون إرسال الكود إلى واجهات برمجة مغلقة حاجةٌ كبرى في البيئات المقيّدة بمتطلبات تداول البيانات كالقطاع المالي والحكومي والدفاعي. رخصة MIT مع أوزان قابلة للاستضافة الذاتية هي الإجابة الدقيقة على هذا الطلب. سياق 262K والإخراج بصيغة <code class="language-plaintext highlighter-rouge">tool_calls</code> المتوافقة مع OpenAI تتيح استبدال النموذج الأساسي في حلقات عوامل قائمة دون إعادة هندسة.</p>

<p>ثانياً <strong>طيف الأحجام يتوافق مع حسابات التكلفة متعددة المستأجرين</strong>. يمكن توزيع الأدوار: 9B للمهام المساعدة الخفيفة أو مستويات المستأجرين المنخفضة التكلفة، و35B MoE كنموذج الخدمة الرئيسي بكفاءة عالية للمعاملات النشطة، و397B لأحواض المهام الصعبة حصراً. في بيئة تجدوِل GPU عبر Kueue، تحويل “أي حجم لأي مستأجر بأي أولوية” مباشرةً إلى تكلفة وحدة. امتلاك خيار الحجم في عائلة واحدة يعني المرونة التشغيلية وتحسين التكلفة في آنٍ.</p>

<p>ثالثاً <strong>المنهجية التسقيلية الذاتية تطرح دلالة أعمق لنا</strong>. تُشغّل ThakiCloud عوامل متخصصة بالنطاق لعملاء متعددين. تكلفة ضبط السقالات يدوياً لكل مهمة ترتفع خطياً مع تضاعف النطاقات. فكرة “رفع السقالة إلى هدف قابل للتعلم” هي نمط يمكن اقتباسه مباشرة حين تصمّم أنابيب عمل داخلية لتحسين توجيهات عوامل النطاق واتفاقيات الأدوات تلقائياً بإشارة المكافأة، بدلاً من الاعتماد على ضبط بشري في كل مرة. حتى لو لم تُعتمد الأوزان ذاتها، الآلية قابلة للزرع في محرك سير عمل داخلي.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>أبرز القيود هو <strong>التناظر اللامتكافئ في التحقق</strong>. الأوزان والوصف التدريبي منشوران، لكن أرقام المعايير المعلنة قياسات داخلية لم تُعاد نسخها هنا. معايير SWE-Bench تتفاوت تفاوتاً كبيراً بحسب النسخة والتهيئة، والنموذج ذاته يُعطي نتائج مختلفة بحسب درجة الحرارة وإعدادات إعادة المحاولة والبيئة. الانتقال المباشر من هذه الأرقام إلى استنتاج “تجاوز النماذج الحدودية” استنتاجٌ متسرع. قرار التبنّي الفعلي يحتاج تقييماً مستقلاً على عيّنة من قواعد الكود الداخلية.</p>

<p>ثانياً <strong>التكلفة التشغيلية</strong>. 397B MoE جذاب بأرقامه، لكن ذاكرة GPU وعدد العقد المطلوبان حاجزان واقعيان عند الاستضافة الذاتية. نسخة FP8 تخفّف ذلك، لكن المقايضة “مفتوح المصدر إذاً مجاني” لا تصح، والأدق هو “مفتوح المصدر إذاً تكلفة البنية التحتية علينا”. مقارنة تكلفة رمز واجهة البرمجة المغلقة بتكلفة عقدة الاستضافة الذاتية يستلزم تحليلاً بنمط الحمل الفعلي.</p>

<p>ثالثاً <strong>تساؤل التعميم في التسقيل الذاتي</strong>. التصميم القائل بأن النموذج يبني سقالته بنفسه أنيقٌ من حيث المفهوم، لكن ليس هناك تحقق خارجي حتى الآن من أن جودة السقالة لا تتدهور على مهام بعيدة عن توزيع التدريب. لا يمكن استبعاد احتمال أن تكون السقالة قد انحدرت نحو التخصص المفرط في أشكال معايير محددة. هذا مما سيتضح حين تُنشر إعادة إنتاج مستقلة بالأوزان المفتوحة.</p>

<p>خلاصة القول: Ornith-1.0 نموذج يستحق الاهتمام لمنهجيته قبل درجاته. كونه مرخّصاً بـMIT يجعله مرشحاً واقعياً لعوامل البرمجة ذاتية الاستضافة، وآلية التسقيل الذاتي فكرة يستحق اقتباسها في تصميم أنابيب تدريب العوامل سواء اعتُمدت الأوزان أم لا. لكن جميع أرقام المعايير تبقى “أرقاماً مُعلنة” ريثما تخضع للتقييم الذاتي.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>DeepReinforce، “Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding” (يونيو 2026): <a href="https://deep-reinforce.com/ornith_1_0.html">https://deep-reinforce.com/ornith_1_0.html</a></li>
  <li>بطاقات النموذج على Hugging Face: <a href="https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B">https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B</a>، <a href="https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B">https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B</a></li>
  <li>GitHub: <a href="https://github.com/deepreinforce-ai/Ornith-1">https://github.com/deepreinforce-ai/Ornith-1</a></li>
  <li>MarkTechPost، “DeepReinforce Releases Ornith-1.0” (2026-06-25): <a href="https://www.marktechpost.com/2026/06/25/deepreinforce-releases-ornith-1-0-an-open-source-coding-model-family-that-learns-its-own-rl-scaffolds/">https://www.marktechpost.com/2026/06/25/deepreinforce-releases-ornith-1-0-an-open-source-coding-model-family-that-learns-its-own-rl-scaffolds/</a></li>
  <li>Tech Times (2026-06-26): <a href="https://www.techtimes.com/articles/319122/20260626/open-source-coding-model-ornith-10-writes-its-own-training-scaffold-reinforcement-learning.htm">https://www.techtimes.com/articles/319122/20260626/open-source-coding-model-ornith-10-writes-its-own-training-scaffold-reinforcement-learning.htm</a></li>
  <li>DeepReinforce، CUDA-L1 (بحث سابق): <a href="https://deepreinforce-ai.github.io/cudal1_blog/">https://deepreinforce-ai.github.io/cudal1_blog/</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="ornith" /><category term="deepreinforce" /><category term="reinforcement-learning" /><category term="coding-agent" /><category term="self-scaffolding" /><category term="open-weights" /><category term="vllm" /><category term="moe" /><summary type="html"><![CDATA[Ornith-1.0 الصادر عن DeepReinforce في 25 يونيو 2026 هو عائلة نماذج برمجة مفتوحة المصدر تعتمد آلية التسقيل الذاتي (self-scaffolding)، حيث يكتب النموذج بنفسه سقالات التدريب بالتعلم المعزز. أربعة أحجام: 9B و31B كثيفان و35B و397B MoE، رخصة MIT، سياق 262K، وSWE-Bench Verified 82.4، مع تحليل من منظور خدمة الاستدلال متعدد المستأجرين وعوامل البرمجة الذاتية على K8s في ThakiCloud.]]></summary></entry><entry xml:lang="ar"><title type="html">ذاكرة الوكيل أصبحت الآن نظام بيانات: تحليل Agent-Native Memory من منظور إدارة البيانات</title><link href="https://thakicloud.github.io/ar/research/agent-native-memory-system/" rel="alternate" type="text/html" title="ذاكرة الوكيل أصبحت الآن نظام بيانات: تحليل Agent-Native Memory من منظور إدارة البيانات" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/research/agent-native-memory-system</id><content type="html" xml:base="https://thakicloud.github.io/ar/research/agent-native-memory-system/"><![CDATA[<p><img src="/assets/images/agent-native-memory-system-hero.png" alt="صورة تجريدية تُظهر بيانات طبقية تتدفق عبر بنية شبكية تجمع بين الشبكات العصبية وقواعد البيانات، مع خلايا ذاكرة تتشكل وتتلاشى" /></p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>من عمل مع وكلاء LLM لفترة كافية، يصطدم حتماً بالجدار ذاته: الوكيل يُجيب بكفاءة على الاستفسارات الفردية، لكنه حين يواجه مهام ممتدة لأيام أو سياقات تتقاطع عبر جلسات متعددة، ينسى ما فعله. من هنا ظهر مفهوم “ذاكرة الوكيل”، الذي بدأ في صورته الأولى مجرد تنويع على RAG: تخزين المحادثة في مخزن متجهي ثم استرجاعها.</p>

<p>غير أن ورقة arXiv المنشورة في 23 يونيو 2026 بعنوان <a href="https://arxiv.org/abs/2606.24775">Are We Ready For An Agent-Native Memory System?</a> تطرح منظوراً يمكن تلخيصه في جملة واحدة: ذاكرة الوكيل لم تعد أداةً للتعزيز بالاسترجاع، بل تطورت لتصبح <strong>نظام إدارة بيانات متكاملاً (data management system)</strong> يتولى التخزين الدائم والاسترجاع والتحديث والدمج وإدارة دورة الحياة الديناميكية معاً. هذه الورقة هي التي لخّصها dair_ai بالقول: “ذاكرة الوكيل أصبحت الآن نظام بيانات”.</p>

<p>أهمية هذا المنظور بالنسبة لمن يُشغّل وكلاء متعددي المستأجرين فوق Kubernetes كما تفعل ThakiCloud، أن الذاكرة تتحول من “ميزة” إلى “نظام تشغيلي”، وهذا يستتبع فوراً قرارات تتعلق بالتكلفة والمتانة والهندسة المعمارية. تستند هذه المقالة إلى الملخص الرسمي للورقة و<a href="https://github.com/OpenDataBox/MemoryData">الكود المنشور</a> لاستخلاص الحجج الجوهرية وما يمكن أن تُفيد به منصتنا.</p>

<blockquote>
  <p>📄 <strong>المراجعة المتعمقة الكاملة (DOCX)</strong>: <a href="https://drive.google.com/file/d/1wLivKobOMtAKQ1zwCmG-O8wdebyZRbcz/view">نزّل المراجعة التفصيلية من Google Drive</a>.</p>
</blockquote>

<h2 id="ما-الذي-تبحثه-هذه-الدراسة">ما الذي تبحثه هذه الدراسة؟</h2>

<p>إشكالية الورقة بسيطة لكنها حادة: كانت طرق تقييم ذاكرة الوكيل حتى الآن تقتصر في معظمها على <strong>مقاييس النجاح الشامل من طرف إلى طرف (end-to-end)</strong>. درجات مثل F1 أو BLEU تُجيب فقط على “هل أجاب الوكيل بصورة صحيحة؟”، فيما يبقى النظام الداخلي للذاكرة التي أنتجت تلك الإجابة صندوقاً أسود مغلقاً.</p>

<p>ينتج عن ذلك غياب الإجابات عن أسئلة جوهرية يحتاجها المشغّل: ما <strong>التكلفة التشغيلية</strong> للحفاظ على الذاكرة؟ ما <strong>مقايضات البنية المعمارية</strong> التي تترتب على طريقة تركيب الوحدات؟ وما مستوى <strong>المتانة</strong> حين تتبدل المعرفة باستمرار؟ لا تستطيع درجة واحدة الإجابة عن أي من هذه التساؤلات.</p>

<p>لذلك أجرى المؤلفون، وهم Wei Zhou وXuanhe Zhou وGuoliang Li وZhiyu Li وFeiyu Xiong وآخرون، ولافتٌ أن في صفوفهم باحثين متخصصين في أنظمة قواعد البيانات مما يشكّل هوية الورقة، تجارب منهجية على الذاكرة <strong>من منظور إدارة البيانات</strong>. ويتجسد هذا في إطار تحليلي يُفكّك ذاكرة الوكيل إلى أربع وحدات جوهرية.</p>

<p><img src="/assets/images/agent-native-memory-system-diagram.png" alt="مخطط هيكلي يُبيّن الوحدات الأربع للذاكرة المحيطة بتنفيذ الوكيل (التمثيل والتخزين، الاستخراج، الاسترجاع والتوجيه، الصيانة)، مع تدفقات الكتابة والقراءة والدمج" /></p>

<p>الوحدات الأربع هي:</p>

<ol>
  <li><strong>التمثيل والتخزين (Representation &amp; Storage)</strong>: بأي شكل تُحفظ الذكريات وأين تُخزّن؟ طريقة التمثيل، متجهات أو رسوم بيانية أو أشجار أو نص عادي، تُحدد مباشرةً <strong>دقة التمثيل (representation fidelity)</strong>.</li>
  <li><strong>الاستخراج (Extraction)</strong>: مرحلة انتقاء ما يستحق التذكر خلال تنفيذ الوكيل. لا يمكن تخزين كل الرموز، فهنا يُفرز الإشارة من الضجيج.</li>
  <li><strong>الاسترجاع والتوجيه (Retrieval &amp; Routing)</strong>: مرحلة الوصول إلى الذكرى الصحيحة في اللحظة المناسبة وإعادتها عبر المسار الملائم. يتجلى هنا مقياس <strong>دقة الاسترجاع (retrieval precision)</strong>.</li>
  <li><strong>الصيانة (Maintenance)</strong>: مرحلة دمج الذكريات القديمة وتحديثها وتنظيفها. هنا تُحدَّد <strong>دقة التحديث (update correctness)</strong> و<strong>الاستقرار طويل الأمد (long-horizon stability)</strong>.</li>
</ol>

<p>من يعرف قواعد البيانات لن يجد هذا الإطار غريباً: التمثيل والتخزين يوازيان محرك التخزين، والاستخراج يوازي خط أنابيب الاستيعاب، والاسترجاع والتوجيه يوازيان مخطط الاستعلام، والصيانة توازي الضغط وجمع البيانات المهملة. في هذا التوازي تكمن الدلالة التي تُسمّيها الورقة “منظور إدارة البيانات”.</p>

<h2 id="الاكتشافات-الجوهرية">الاكتشافات الجوهرية</h2>

<p>تُقيّم الورقة على هذا الإطار <strong>12 نظام ذاكرة تمثيلياً و2 خطوط أساسية مرجعية</strong> عبر <strong>5 أعباء عمل معيارية و11 مجموعة بيانات</strong>. قياس أنظمة متعددة بمقياس موحّد، لا نموذج واحد ولا مجموعة بيانات واحدة، هو ما يمنح هذه الدراسة ثقلها. ثمة ثلاثة استنتاجات يمكن استخلاصها مباشرةً من الملخص.</p>

<p><strong>أولاً، لا توجد بنية واحدة تُهيمن على جميع الحالات.</strong> الإجابة عن سؤال “أيّ بنية ذاكرة هي الأفضل؟” هي “يتوقف الأمر”. والأدق: تكمن الفاعلية في مدى توافق بنية الذاكرة مع <strong>عنق الزجاجة في عبء العمل (workload bottleneck)</strong>. البنية المثلى لعبء عمل يُشكّل فيه الاسترجاع عنق الزجاجة تختلف عنها في عبء عمل تكون فيه عمليات التحديث هي العائق. هذا يدحض مباشرةً الوصفات المبسّطة من قبيل “ذاكرة الرسم البياني هي الأفضل دائماً” أو “يكفي مخزن المتجهات”.</p>

<p><strong>ثانياً، تفكيك الوحدات يكشف مواطن المسؤولية بدقة.</strong> يُكمّي المؤلفون عبر تجارب استئصال (ablation) دقيقة الأثرَ المنفرد لكل وحدة على دقة التمثيل ودقة الاسترجاع ودقة التحديث والاستقرار طويل الأمد. ما كان مختبئاً في درجة شاملة واحدة، “أيّ الوحدات تُفسد ماذا”، يصبح ظاهراً للعيان. من منظور التشغيل، هذه هي القيمة الحقيقية: حين تُعطي الذاكرة إجابة خاطئة، يجب أن نتمكن من تحديد ما إذا كانت المشكلة في الاستخراج أم في الاسترجاع حتى يمكن الإصلاح.</p>

<p><strong>ثالثاً، تُبرز الصيانة مقايضات واضحة بين التكلفة والأداء.</strong> في أعباء العمل الواقعية، تُظهر النتائج أن <strong>الصيانة المحلية (localized maintenance) أكثر كفاءةً من الإعادة الشاملة للتنظيم (global reorganization)</strong>. معالجة الأجزاء المتغيرة فقط أقل تكلفةً من إعادة بناء الذاكرة بأكملها دورياً، وهي الحدسية ذاتها التي تجعل الضغط التدريجي في قواعد البيانات أرخص من إعادة البناء الكاملة. في الخدمات الحساسة للتكلفة، يمكن لهذا السطر الواحد أن يُغيّر قرارات التصميم.</p>

<p>خلاصة القول: لا تقدّم هذه الورقة وصفةً لـ”كيفية بناء ذاكرة وكيل أفضل”، بل تضع <strong>إطاراً لقياس ذاكرة الوكيل ومقارنتها بوصفها نظاماً</strong>. وعلى هذا الإطار تُثبت غياب الحل الواحد الأمثل، وتكشف أن توافق عبء العمل وتكاليف الصيانة هما الرافعتان الحقيقيتان.</p>

<h2 id="الدلالات-والتطبيقات-على-منصة-thakicloud-k8s-aiml-saas">الدلالات والتطبيقات على منصة ThakiCloud K8s AI/ML SaaS</h2>

<p>تُشغّل منصة ThakiCloud للذكاء الاصطناعي وكلاء متعددي المستأجرين فوق Kubernetes، وثمة نقاط اتصال مباشرة بين منظور هذه الورقة وواقع منصتنا.</p>

<p><strong>اعتبار الذاكرة نظام بيانات يُدار لكل مستأجر.</strong> إذا كانت ذاكرة الوكيل نظام إدارة بيانات، فهذا يعني أن لكل مستأجر تكاليف تخزين ومواعيد استجابة وأحمال تحديث مستقلة تستوجب الإدارة. في بيئة متعددة المستأجرين، ضمان ألا تمتص صيانة ذاكرة مستأجر واحد موارد GPU أو I/O مستأجرين آخرين هو مشكلة من الطراز ذاته الذي نُعالجه بـKueue حين نُجدوّل أحمال GPU ونعزلها. الذاكرة أيضاً ينبغي أن تُعامَل بوصفها “عبء عمل له ميزانية موارد” لا “ميزة”.</p>

<p><strong>تصميم لا يفرض بنية ذاكرة واحدة.</strong> خلاصة “لا توجد بنية واحدة تُهيمن على جميع الحالات” تعني أن المنصة ينبغي ألا تُثبّت واجهة خلفية واحدة للذاكرة، بل توفر <strong>تجريداً يتيح استبدال بنية الذاكرة وإعادة تكوينها بحسب عبء العمل</strong>. حسب ما إذا كان وكيل العميل يتعامل مع محادثات طويلة الأمد أو تحديثات معرفية متكررة، يجب إمكانية التبديل بين بنية تُركّز على الاسترجاع وأخرى تُركّز على الصيانة. التفكيك إلى أربع وحدات يُشكّل حدود التجريد القابلة للاستبدال بصورة طبيعية.</p>

<p><strong>أصول من منظور التشغيل المحلي وكفاءة التكلفة.</strong> نتيجة أن الصيانة المحلية أرخص من إعادة التنظيم الشاملة بالغة الأهمية خاصةً للعملاء الذين يستضيفون بنيتهم محلياً. إنها توفر مبدأ تصميم يُمكّنهم من التحكم في تكاليف صيانة الذاكرة ضمن ميزانية GPU وتخزين محدودة دون التبعية لخدمات الذاكرة الخارجية المُدارة. في بيئات العملاء التي تحول فيها متطلبات السيادة الرقمية أو أمن البيانات دون استخدام واجهات API خارجية، تُصبح القدرة على “التنبؤ بتكاليف الذاكرة والتحكم فيها داخل المجموعة الخاصة” ميزةً تنافسية قائمة بذاتها.</p>

<p>ثمة خطوتان عمليتان يمكننا اتخاذهما الآن: الأولى اتخاذ تفكيك الوحدات الأربع وتصنيف أعباء العمل من <a href="https://github.com/OpenDataBox/MemoryData">كود MemoryData</a> نقطةَ انطلاق لقياس ذاكرة المستأجرين بمقاييس لكل وحدة (دقة التمثيل / دقة الاسترجاع / دقة التحديث / الاستقرار طويل الأمد) بدلاً من درجة شاملة واحدة. الثانية تصميم سياسة الصيانة بحيث تُعطى الأولوية للتحديث المحلي على إعادة التنظيم الشاملة، مما يُرسّخ سقفاً للتكلفة في مرحلة التصميم ذاتها.</p>

<h2 id="القيود-والانتقادات">القيود والانتقادات</h2>

<p>للموضوعية، ثمة نقاط ينبغي مراعاتها قبل تبنّي هذا البحث على علّاته.</p>

<p>أولاً، <strong>هذه ورقة قياسية وليست اقتراحاً لنظام ذاكرة جديد.</strong> من يتوقع خارطة طريق لـ”كيفية بناء ذاكرة أفضل” قد يخيب ظنه؛ ما يُقدَّم هو إطار مقارنة وتشخيص، وتُشار إلى “اتجاهات واعدة نحو ذاكرة أصيلة للوكيل” لكن التنفيذ يبقى مهمةً لأبحاث لاحقة.</p>

<p>ثانياً، <strong>محدودية التعميم في المعيار.</strong> 5 أعباء عمل و11 مجموعة بيانات ليست قليلة، لكن النطاق الذي يواجهه الوكيل فعلياً أوسع بكثير. خلاصة “يتفاوت الأمثل بحسب عنق الزجاجة في عبء العمل” تعني ضمنياً أنه إذا اختلف توزيع أعباء عمل عملائنا الفعلية عن توزيع هذا المعيار، فلن تنتقل التصنيفات الواردة في الورقة مباشرةً إلى سياقنا. القياس في كل بيئة نشر على حدة يبقى ضرورياً.</p>

<p>ثالثاً، <strong>التحيز المحتمل الناجم عن تركيبة المؤلفين.</strong> ميل المؤلفين نحو أنظمة قواعد البيانات يُقوّي إطار “رؤية الذاكرة كإدارة بيانات”، لكنه قد يُضعف الإضاءة على المنظورات الأخرى كالذاكرة الإبيسودية أو إدارة الذاكرة القائمة على تعلم السياسات. إدارة البيانات عدسة قوية، لكنها ليست العدسة الوحيدة.</p>

<p>بالرغم من ذلك، رسالة الورقة الجوهرية، “اقيس ذاكرة الوكيل بوصفها نظاماً”، لا يسهل دحضها بالنسبة لمنصة كمنصتنا تضطر فعلاً إلى تشغيل هذه الذاكرة. حين تبدأ برؤية الذاكرة بمنظور الوحدات والتكاليف لا الدرجات، يصبح ما يمكن إصلاحه مرئياً للمرة الأولى.</p>

<h2 id="المصادر">المصادر</h2>

<ul>
  <li>الورقة: <a href="https://arxiv.org/abs/2606.24775">Are We Ready For An Agent-Native Memory System? (arXiv 2606.24775)</a></li>
  <li>HF Papers: <a href="https://hf.co/papers/2606.24775">hf.co/papers/2606.24775</a></li>
  <li>الكود المنشور: <a href="https://github.com/OpenDataBox/MemoryData">github.com/OpenDataBox/MemoryData</a></li>
  <li>السياق الأصلي: dair_ai، “Agent memory is a data system now”</li>
</ul>

<blockquote>
  <p>📄 <strong>المراجعة المتعمقة الكاملة (DOCX)</strong>: <a href="https://drive.google.com/file/d/1wLivKobOMtAKQ1zwCmG-O8wdebyZRbcz/view">نزّل المراجعة التفصيلية من Google Drive</a>.</p>
</blockquote>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="research" /><category term="agent-memory" /><category term="llm-agent" /><category term="data-management" /><category term="long-term-memory" /><category term="retrieval" /><category term="benchmark" /><category term="on-premise" /><summary type="html"><![CDATA[تتناول ورقة arXiv 2606.24775 بعنوان 'Are We Ready For An Agent-Native Memory System?' ذاكرة وكلاء LLM باعتبارها نظام إدارة بيانات متكاملاً لا مجرد RAG، وتُفكّك 12 نظام ذاكرة إلى 4 وحدات وتقيسها. نستعرض هنا الحجج الجوهرية ودلالاتها من منظور منصة ThakiCloud، استناداً إلى الملخص الرسمي والكود المنشور.]]></summary></entry><entry xml:lang="ar"><title type="html">لن تكتب SKILL.md بيدك بعد الآن: نظرة معمّقة على أمر /learn في Hermes Agent</title><link href="https://thakicloud.github.io/ar/technique/hermes-agent-learn-skills/" rel="alternate" type="text/html" title="لن تكتب SKILL.md بيدك بعد الآن: نظرة معمّقة على أمر /learn في Hermes Agent" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/technique/hermes-agent-learn-skills</id><content type="html" xml:base="https://thakicloud.github.io/ar/technique/hermes-agent-learn-skills/"><![CDATA[<p><img src="/assets/images/hermes-agent-learn-skills-hero.png" alt="عملية تأليف المهارات ممثَّلة بتقارب شظايا معرفية متفرقة إلى بنية متبلورة واحدة" />
<em>مفهوم /learn مُجسَّدًا بتبلور شظايا معرفية متناثرة من اتجاهات شتى في مخرج واحد منظّم.</em></p>

<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>كان الأسلوب الأكثر شيوعًا لتعليم الوكيل قدرةً جديدة هو كتابة ملف المهارة يدويًا. المهارة في نهاية المطاف ورقة Markdown واحدة، لكنّ إعدادها من الصفر مع مراعاة بنية الـ frontmatter وترتيب الأقسام المحدد يستغرق وقتًا أطول مما يبدو. هذا ينطبق بشكل خاص على الإجراءات الموجودة في الأذهان لكنّ نقلها إلى الكتابة مُضنٍ، كوثائق API الداخلية، وكتب تشغيل النشر، وسير العمل المتكررة.</p>

<p>أمر <code class="language-plaintext highlighter-rouge">/learn</code> الذي أضافه Nous Research في 24 يونيو 2026 إلى إطار عمل Hermes Agent يُلغي هذه الخطوة اليدوية كليًا. أشِر إلى دليل، أو رابط URL، أو محادثة انتهيت منها للتو، أو ملاحظات لصقتها، فيجمع الوكيل الحيّ المواد مباشرةً ويؤلف <code class="language-plaintext highlighter-rouge">SKILL.md</code> مطابقًا للمعيار. أشعل هذا الأمر اهتمامًا واسعًا حين شارك tonbistudio مقطع عرض توضيحي على تويتر يُظهر بناء مهارة من مصادر متعددة، وبما أن ThakiCloud كانت قد ثبّتت Hermes Agent مسبقًا وتشغّله داخليًا، أجرينا التحقق بأنفسنا.</p>

<p>تُشغّل ThakiCloud وكلاء متعددي المستأجرين على منصة SaaS للذكاء الاصطناعي/تعلم الآلة مبنية على Kubernetes. البنية التي يبني فيها الوكيل ذاكرةً إجرائية بنفسه، ثم يخضع هذا البناء لمراجعة بشرية عبر بوابة مخصصة، تتقاطع تمامًا مع المبدأ الذي كنّا نصيغه تحت اسم “Thin Harness, Fat Skills - harness رفيع ومهارات ثرية”، أي أنّ القدرات تتراكم في المهارات لا في الـ harness. <code class="language-plaintext highlighter-rouge">/learn</code> أداة تخفّض حاجز الدخول لبناء تلك المهارات، مما يجعلها أكثر من مجرد ميزة مريحة.</p>

<h2 id="ما-هذه-التقنية">ما هذه التقنية؟</h2>

<p><code class="language-plaintext highlighter-rouge">/learn</code> ليس محرك استيعاب مستقلًا. جوهره أنه “يبني موجّهًا يرشد الوكيل عبر المعايير ثم يُمرره كدورة عادية واحدة.” لذلك تظل عملية جمع المصادر تعمل بالأدوات التي يمتلكها الوكيل بالفعل: الأدلة المحلية تُقرأ عبر <code class="language-plaintext highlighter-rouge">read_file</code> و<code class="language-plaintext highlighter-rouge">search_files</code>، والوثائق الإلكترونية تُجلب عبر <code class="language-plaintext highlighter-rouge">web_extract</code>، وسير العمل التي أُنجزت معًا في المحادثة تُلتقط من سياق الحوار مباشرةً.</p>

<p><img src="/assets/images/hermes-agent-learn-skills-diagram.png" alt="مسار /learn من جمع المصادر إلى تأليف SKILL.md معياري ثم العبور عبر البوابة ليصبح أمر slash" />
<em>المسار الكامل لـ /learn: من وصف المصدر، إلى الجمع بأدوات الوكيل، ثم تأليف SKILL.md معياري، ثم العبور عبر بوابة write_approval وcurator.</em></p>

<p>المصادر المقبولة أربعة أنواع. فيما يلي الأمثلة المأخوذة مباشرةً من التوثيق الرسمي:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code># دليل 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 &gt; Expense, attach the receipt, submit
</code></pre></div></div>

<p>يُنظّم الوكيل المواد المجموعة وفق “معيار التأليف الداخلي”: الوصف لا يتجاوز 60 حرفًا، وترتيب الأقسام ثابت، والصياغة مرجعها أدوات Hermes، وقاعدة صارمة بعدم اختراع أوامر غير موجودة. المنتج النهائي <code class="language-plaintext highlighter-rouge">SKILL.md</code> مؤلَّف من frontmatter بصيغة YAML وأقسام ثابتة في الجسم:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">name</span><span class="pi">:</span> <span class="s">my-skill</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Brief description of what this skill does</span>
<span class="na">version</span><span class="pi">:</span> <span class="s">1.0.0</span>
<span class="na">platforms</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">macos</span><span class="pi">,</span> <span class="nv">linux</span><span class="pi">]</span>
<span class="na">metadata</span><span class="pi">:</span>
  <span class="na">hermes</span><span class="pi">:</span>
    <span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">python</span><span class="pi">,</span> <span class="nv">automation</span><span class="pi">]</span>
    <span class="na">category</span><span class="pi">:</span> <span class="s">devops</span>
<span class="nn">---</span>

<span class="c1"># Skill Title</span>

<span class="c1">## When to Use</span>
<span class="s">الشروط التي تُطلق هذه المهارة.</span>

<span class="c1">## Procedure</span>
<span class="s">1. الخطوة الأولى</span>
<span class="s">2. الخطوة الثانية</span>

<span class="c1">## Pitfalls</span>
<span class="pi">-</span> <span class="s">أنماط الفشل المعروفة وكيفية معالجتها</span>

<span class="c1">## Verification</span>
<span class="s">كيفية التحقق من صحة التنفيذ.</span>
</code></pre></div></div>

<p>التخزين يتولاه أداة <code class="language-plaintext highlighter-rouge">skill_manage</code>. ثمة ضمانة أمان مهمة هنا: إذا كان <code class="language-plaintext highlighter-rouge">skills.write_approval</code> مُفعَّلًا، فإن كل كتابة مهارة من الوكيل لا تُطبَّق فورًا، بل تُرحَّل إلى <code class="language-plaintext highlighter-rouge">~/.hermes/pending/skills/</code>. يرى المشغّل التغييرات المعلّقة عبر <code class="language-plaintext highlighter-rouge">/skills pending</code>، ويفحص الفرق الكامل عبر <code class="language-plaintext highlighter-rouge">/skills diff &lt;id&gt;</code>، ثم يوافق أو يرفض. تنطبق هذه البوابة على المهارات المُنشأة في الدورات الأمامية وعلى تلك التي اقترحها الوكيل في إطار مراجعة التحسين الذاتي الخلفية.</p>

<p>بفضل عدم الاعتماد على محرك استيعاب مستقل، يعمل <code class="language-plaintext highlighter-rouge">/learn</code> بالتماثل ذاته في واجهات CLI وTUI وبوابات المراسلة ولوحات التحكم. لا يُهم إذا كانت الخلفية الطرفية محلية أو ضمن Docker أو بعيدة. في لوحة التحكم، تظهر في صفحة Skills زر “Learn a skill” يعرض حقلًا للدليل وحقلًا لعنوان URL ومربع نص حر لتكوين طلب <code class="language-plaintext highlighter-rouge">/learn</code> وتشغيله.</p>

<p>سيناريوهات الاستخدام التي يقترحها التوثيق الرسمي ثلاثة. الأول: إعداد API الداخلي. تشغيل <code class="language-plaintext highlighter-rouge">/learn</code> على رابط وثائق خاص يُنتج مهارة تضم المصادقة والصفحات وأكثر الاستدعاءات استخدامًا، يستدعيها الأعضاء الجدد كأمر slash. الثاني: التقاط كتاب التشغيل. بعد إجراء نشر staging مع الوكيل، تشغيل <code class="language-plaintext highlighter-rouge">/learn how I just deployed the staging server</code> يجعل تلك الإجراءات قابلة للتكرار عبر CLI وأنظمة الدردشة. الثالث: تجميع المهام المتكررة. تقوم حزمة المهارات بتحميل مهارات المراجعة والاختبار وطلب السحب دفعةً واحدة بأمر slash واحد:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># ~/.hermes/skill-bundles/backend-dev.yaml</span>
<span class="na">name</span><span class="pi">:</span> <span class="s">backend-dev</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Backend feature work - review, test, PR workflow.</span>
<span class="na">skills</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">github-code-review</span>
  <span class="pi">-</span> <span class="s">test-driven-development</span>
  <span class="pi">-</span> <span class="s">github-pr-workflow</span>
<span class="na">instruction</span><span class="pi">:</span> <span class="pi">|</span>
  <span class="s">Always start by writing failing tests, then implement.</span>
</code></pre></div></div>

<p>يُتيح نظام المهارات نفسه البدء بحالة نظيفة. <code class="language-plaintext highlighter-rouge">hermes skills opt-out</code> يوقف بذر مهارات الحزمة، و<code class="language-plaintext highlighter-rouge">hermes skills opt-in --sync</code> يُعيده. حقل <code class="language-plaintext highlighter-rouge">platforms</code> يُخفي المهارات على أنظمة التشغيل غير المتوافقة، والحقول الشرطية تكشف المهارة فقط حين تتوفر مجموعة أدوات بعينها.</p>

<h2 id="التثبيت-والتكامل">التثبيت والتكامل</h2>

<p>فحصنا Hermes Agent المثبّت في بيئة ThakiCloud مباشرةً. الملف الثنائي في <code class="language-plaintext highlighter-rouge">~/.local/bin/hermes</code>، ويعمل فعليًا عبر Python في <code class="language-plaintext highlighter-rouge">~/hermes-agent/venv</code>.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes <span class="nt">--version</span>
Hermes Agent v0.16.0 <span class="o">(</span>2026.6.5<span class="o">)</span> · upstream 40cea4d5
Python: 3.11.13
OpenAI SDK: 2.24.0
</code></pre></div></div>

<p>تتجمع جميع المهارات في <code class="language-plaintext highlighter-rouge">~/.hermes/skills/</code>، وهو مصدر الحقيقة الوحيد. نظرًا للتوافق مع المعيار المفتوح agentskills.io، يمكن تهيئة أدوات متعددة لمسح مجلد مهارات مشترك. هذه التهيئة الخارجية هي صلب منظور المنصة الذي سنتناوله لاحقًا.</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># ~/.hermes/config.yaml</span>
<span class="na">skills</span><span class="pi">:</span>
  <span class="na">external_dirs</span><span class="pi">:</span>
    <span class="pi">-</span> <span class="s">~/.agents/skills</span>
    <span class="pi">-</span> <span class="s">/home/shared/team-skills</span>
    <span class="pi">-</span> <span class="s">${SKILLS_REPO}/skills</span>
</code></pre></div></div>

<p>استخرجنا قائمة المهارات المثبّتة مباشرةً. يتضمن التثبيت الحالي 78 مهارة مصنّفة ضمن فئات مثل apple وautonomous-ai-agents وcreative وغيرها.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes skills list
                                Installed Skills
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
┃ Name                ┃ Category             ┃ Source  ┃ Trust   ┃ Status  ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩
│ claude-code         │ autonomous-ai-agents │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ architecture-diagram│ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ humanizer           │ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ excalidraw          │ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
└─────────────────────┴──────────────────────┴─────────┴─────────┴─────────┘
</code></pre></div></div>

<p>كل مهارة مثبّتة تصبح تلقائيًا أمر slash. الاستدعاء بالاسم وحده كـ <code class="language-plaintext highlighter-rouge">/excalidraw</code> يُحمّل المهارة ويسأل الوكيل عمّا يمكنه مساعدتك به، والاستدعاء مع وسيطات كـ <code class="language-plaintext highlighter-rouge">/plan design a rollout for migrating our auth provider</code> يعالج الطلب فورًا. الأوامر الفرعية لإدارة المهارات وفيرة:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes skills <span class="nt">--help</span>
<span class="o">{</span>browse, search, <span class="nb">install</span>, inspect, list, check, update, audit,
 uninstall, reset, opt-out, opt-in, repair-official, publish,
 snapshot, tap, config<span class="o">}</span>
</code></pre></div></div>

<p>ثمة آلية مدمجة تمنع تراكم المهارات إلى ما لا نهاية. curator نموذج مساعد يعمل في الخلفية بشكل دوري لمراجعة المهارات التي أنشأها الوكيل وإزالة التكرار وأرشفة المهارات القديمة. لا يمسّ مهارات الحزمة ولا المهارات المثبّتة من Hub، والأرشفة قابلة للاسترجاع ولا تحدث عمليات حذف تلقائي:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes curator <span class="nt">--help</span>
<span class="o">{</span>status, run, pause, resume, pin, unpin, restore,
 list-archived, archive, prune, backup, rollback<span class="o">}</span>
</code></pre></div></div>

<p>الكشف التدريجي لتخفيض تكلفة الرموز موجود أيضًا: في المستوى 0 يُحمَّل فهرس خفيف بحوالي 3,000 رمز يضم الأسماء والأوصاف فقط، ولا تُحمَّل المحتويات الكاملة إلا عند الحاجة الفعلية.</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Level 0: skills_list()           → [{name, description, category}, ...]   (~3k رمزًا)
Level 1: skill_view(name)        → المحتوى الكامل + البيانات الوصفية
Level 2: skill_view(name, path)  → ملف مرجعي محدد
</code></pre></div></div>

<h2 id="نتائج-التجربة-الفعلية">نتائج التجربة الفعلية</h2>

<p>ثمة قيد يجب توثيقه بصدق هنا. النسخة المثبّتة لدى ThakiCloud هي <code class="language-plaintext highlighter-rouge">v0.16.0 (2026.6.5)</code>، وهي تسبق إصدار 24 يونيو 2026 الذي أضاف <code class="language-plaintext highlighter-rouge">/learn</code>. إذ يُبلّغ الملف الثنائي بأنه “محدَّث” بناءً على checkout git المحلي، فلم تنعكس الإصدارات الجديدة من المستودع الرئيسي تلقائيًا. لهذا لم نتمكن في هذا المقال من تشغيل <code class="language-plaintext highlighter-rouge">/learn</code> في بيئتنا والتقاط نتائج قابلة للقياس. قيد محاولة الاستنساخ: نسخة التثبيت تسبق إدخال <code class="language-plaintext highlighter-rouge">/learn</code> فالأمر غائب أصلًا.</p>

<p>في المقابل، تحققنا من كل ما كان ممكنًا بالقياس المباشر. الهيكل الذي يودع <code class="language-plaintext highlighter-rouge">/learn</code> نتائجه فيه - نظام المهارات - يعمل في بيئتنا كما هو متوقع. 78 مهارة مكشوفة كأوامر slash، ومسار التأليف الذاتي المعتمد على <code class="language-plaintext highlighter-rouge">skill_manage</code>، وبوابة الترحيل <code class="language-plaintext highlighter-rouge">skills.write_approval</code>، وتنظيف curator في الخلفية، وفهرسة الكشف التدريجي - كلها موجودة في النسخة المثبّتة. أي أن ما أضافه <code class="language-plaintext highlighter-rouge">/learn</code> هو نقطة دخول رفيعة تحوّل “أشر إلى مصدر فيُبنى موجّه معياري ويُمرر عبر مسار التأليف الموجود”، أما الجزء الثقيل الذي يقبع تحته فقد تحقق منه بالفعل.</p>

<p>سلوك <code class="language-plaintext highlighter-rouge">/learn</code> ذاته تحققنا منه عبر التوثيق الرسمي وتقرير MarkTechPost الصادر في 24 يونيو 2026. كلا المصدرين يُورد الحقائق ذاتها: أنواع المصادر الأربعة، وأدوات الجمع <code class="language-plaintext highlighter-rouge">read_file</code>/<code class="language-plaintext highlighter-rouge">search_files</code>/<code class="language-plaintext highlighter-rouge">web_extract</code>، وقيد الـ 60 حرفًا مع ترتيب الأقسام الثابت، والحفظ عبر <code class="language-plaintext highlighter-rouge">skill_manage</code> وبوابة <code class="language-plaintext highlighter-rouge">write_approval</code>. بدلًا من اختراع أرقام، نفصل بوضوح ما تحقق منه وما لم يتحقق.</p>

<p>التحديث إلى المستودع الرئيسي سيُتيح تشغيل <code class="language-plaintext highlighter-rouge">/learn</code> مباشرةً وقياس جودة المخرجات. غير أن هذا التحديث قد يؤثر على البيئة متعددة المستأجرين الجارية، لذا الأسلم التحقق في ملف تعريف معزول أولًا ثم تطبيقه. ننوي تعزيز هذا المقال بالتقاطات من <code class="language-plaintext highlighter-rouge">/learn</code> الفعلي في مقال لاحق.</p>

<h2 id="التطبيق-والانعكاسات-على-منصة-thakicloud-للذكاء-الاصطناعيتعلم-الآلة-على-kubernetes">التطبيق والانعكاسات على منصة ThakiCloud للذكاء الاصطناعي/تعلم الآلة على Kubernetes</h2>

<p>ما يجعل <code class="language-plaintext highlighter-rouge">/learn</code> مثيرًا للاهتمام ليس الراحة وحدها، بل تقاطعه المباشر مع ثلاث مشكلات تواجهها منصة الوكلاء متعددة المستأجرين.</p>

<p>الأولى: تكلفة التقاط المعرفة الحقلية. لكل عميل كتاب نشر ومعايير API داخلية وإجراءات للاستجابة للحوادث مختلفة. نقلها يدويًا في كل مرة إلى <code class="language-plaintext highlighter-rouge">SKILL.md</code> يُبطئ التبني. <code class="language-plaintext highlighter-rouge">/learn</code> يحوّل “حوّل العمل الذي أنجزناه للتو إلى مهارة” جملةً واحدة تُحوّل الذاكرة الإجرائية فورًا إلى أصل قابل لإعادة الاستخدام. نشر staging أجراه مشغّل مرة واحدة يصبح أمرًا قابلًا للتكرار عبر CLI والدردشة معًا.</p>

<p>الثانية: الحوكمة. تتعامل ThakiCloud مع بيئات on-premises وself-hosting وبيئات تخضع لمتطلبات أمنية صارمة. قدرة الوكيل على كتابة مهاراته الخاصة قوية، لكنها في الوقت ذاته خطر تراكم إجراءات غير مراجَعة تلقائيًا. بنية ترحيل <code class="language-plaintext highlighter-rouge">write_approval</code> لكل عمليات كتابة المهارات إلى <code class="language-plaintext highlighter-rouge">~/.hermes/pending/skills/</code>، مع استمرارها عبر عمليات إعادة التشغيل وإتاحة <code class="language-plaintext highlighter-rouge">/skills diff</code> للمراجعة البشرية الكاملة، مناسبة لهذه البيئات. إنها تصميم يفصل بين راحة التشغيل الآلي وضبط المراجعة البشرية.</p>

<p>الثالثة: مشاركة المهارات بين الأدوات. إعداد <code class="language-plaintext highlighter-rouge">external_dirs</code> في Hermes يسمح لأدوات AI متعددة بمشاركة مجلد المهارات ذاته. تُشغّل ThakiCloud بالفعل أكثر من 1,000 مهارة داخليًا وفق معيار agentskills.io نفسه. ربط Hermes بهذا الدليل المشترك يجعل المهارة المكتوبة في مكان واحد تعمل عبر Claude Code وCursor وHermes. هذا هو تجسيد مبدأ “Thin Harness, Fat Skills” - بناء القدرات في المهارات لا في الـ harness حتى تبقى الأصول قائمة حين يتغير الـ harness.</p>

<p>الفهرس الخفيف بـ 3,000 رمز في الكشف التدريجي مهم أيضًا من منظور تكلفة الخدمة. حتى مع نمو المهارات لتبلغ مئات، لا يدخل سياق كل دورة إلا الفهرس، وتُحمَّل المحتويات الكاملة عند الطلب فقط. في بيئة تُدار فيها خدمة vLLM متعددة المستأجرين مع متابعة تكلفة الرمز، هذا النمط يستحق التبني كما هو.</p>

<h2 id="القيود-والاعتراضات">القيود والاعتراضات</h2>

<p>أكبر قيد هو أن جودة المخرجات تستلزم في نهاية المطاف مراجعة بشرية. <code class="language-plaintext highlighter-rouge">/learn</code> يضع قاعدة “لا اختراع لأوامر غير موجودة”، لكن النماذج الصغيرة قد تُسيء فهم ما تعلّمته. يُقرّ التوثيق الرسمي بذلك ويوصي بتفعيل <code class="language-plaintext highlighter-rouge">write_approval</code> عند استخدام نماذج أصغر أو في البيئات الحساسة أمنيًا. بعبارة أخرى: <code class="language-plaintext highlighter-rouge">/learn</code> يُلغي تكلفة الكتابة لكنه لا يُلغي تكلفة المراجعة. بل مع سهولة توليد المهارات قد تتراكم مهارات رديئة بسرعة إن غابت بوابة المراجعة وعملية curator.</p>

<p>ثانيًا: مصداقية المصدر تحدد مصداقية المخرج. إذا كانت الوثيقة الخارجية المجلوبة عبر <code class="language-plaintext highlighter-rouge">web_extract</code> غير دقيقة أو قديمة، فالمهارة المبنية فوقها ترث الخطأ ذاته. سهولة “مهارة من رابط URL واحد” تعني أن مسؤولية التحقق من المصدر تنتقل إلى المستخدم.</p>

<p>ثالثًا: الفجوة الواضحة في هذا التحقق هي أن نسخة التثبيت لدينا تسبق <code class="language-plaintext highlighter-rouge">/learn</code> فلم نتمكن من قياس مخرجاته الفعلية. تحققنا من صحة السلوك عبر التوثيق الرسمي والتقارير، لكن مقاييس كجودة المخرج ووقت التأليف ومعدل الامتثال للمعيار لم نلتقطها. سنتولى ذلك بعد تشغيل الإصدار المستودع الرئيسي في ملف تعريف معزول ونوثقه في مقال لاحق.</p>

<p>خلاصة القول: <code class="language-plaintext highlighter-rouge">/learn</code> تصميم يُزيل احتكاك كتابة المهارات ويُحوّل المرحلة المراجعة الطبيعية التي كان الاحتكاك يؤديها نحو بوابات وcurator. من منظور تشغيل منصة وكلاء متعددة المستأجرين، قراءته كتصميم حوكمة لا كميزة راحة أدق وأوفق.</p>

<h2 id="المصادر-sources">المصادر (Sources)</h2>

<ul>
  <li>Hermes Agent official documentation, Skills System: <a href="https://hermes-agent.nousresearch.com/docs/user-guide/features/skills">https://hermes-agent.nousresearch.com/docs/user-guide/features/skills</a></li>
  <li>MarkTechPost, “Nous Research Adds /learn to Hermes Agent’s Skills System” (2026-06-24): <a href="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/">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/</a></li>
  <li>NousResearch/hermes-agent (GitHub): <a href="https://github.com/NousResearch/hermes-agent">https://github.com/NousResearch/hermes-agent</a></li>
  <li>Original tweet (demo video, tonbistudio): <a href="https://x.com/hjguyhan/status/2070135061429854577">https://x.com/hjguyhan/status/2070135061429854577</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="technique" /><category term="ai-coding" /><category term="hermes-agent" /><category term="agent-skills" /><category term="skill-authoring" /><category term="agentskills-io" /><category term="platform-engineering" /><summary type="html"><![CDATA[أمر /learn الذي أضافه Nous Research إلى Hermes Agent يحوّل أيّ مصدر تشير إليه - دليلًا، أو رابطًا، أو محادثة انتهيت منها للتو، أو ملاحظات لصقتها - إلى مهارة قابلة لإعادة الاستخدام، دون كتابة سطر واحد في SKILL.md. قمنا بتشغيل Hermes المثبّت لدينا مباشرةً لقياس هيكل نظام المهارات، ونوضح آلية عمل /learn وما يعنيه من منظور تشغيل وكلاء متعددي المستأجرين على منصة ThakiCloud للذكاء الاصطناعي/تعلم الآلة المعتمدة على Kubernetes.]]></summary></entry><entry xml:lang="en"><title type="html">AI Agents That Write Papers - Moving Your Writing Workflow to an Open-Source Skill Package</title><link href="https://thakicloud.github.io/en/dev/ai-agent-research-paper-skills/" rel="alternate" type="text/html" title="AI Agents That Write Papers - Moving Your Writing Workflow to an Open-Source Skill Package" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/dev/ai-agent-research-paper-skills</id><content type="html" xml:base="https://thakicloud.github.io/en/dev/ai-agent-research-paper-skills/"><![CDATA[<p>As a paper deadline approaches, researchers repeat the same tasks: polish the introduction, verify that the abstract’s claims and evidence align, and preemptively fix any sentence a reviewer might target. That expertise typically lives inside an advisor’s head or scattered across notes. <a href="https://github.com/Master-cai/Research-Paper-Writing-Skills">Research-Paper-Writing-Skills</a>, a recently trending open-source project on X, packages exactly that expertise into a Skill package that AI coding agents can call directly. The key distinction is that this is not yet another collection of prompts – it is a portable format that plugs the same capability into Codex, Claude Code, and Gemini alike.</p>

<p><img src="/assets/images/ai-agent-research-paper-skills-hero.png" alt="Abstract image of a modular knowledge unit in the center sending three data streams to three different tools" /></p>

<h2 id="overview">Overview</h2>

<p>This project is built on top of <a href="https://github.com/pengsida/learning_research">learning_research</a>, a research primer published by Professor Pengsi Da (pengsida) of Zhejiang University in China. It reframes that paper-writing knowledge as an Agent Skill package. According to the repository description, the package focuses on ML, CV, and NLP paper writing, and was curated and structured specifically for Codex, Claude Code, and Gemini. The contribution is not a copy of the original text – it takes scattered advice, breaks it into work units, and turns each unit into a reusable capability that an agent can invoke.</p>

<p>Why is this format attracting attention now? As AI coding agents have become mainstream, people have started treating not the model itself but “what to ask the model and how” as a durable asset. Well-organized task knowledge, once created, replicates across tools and teams. Tasks with clear procedures and explicit quality criteria – paper writing being a prime example – are a natural fit for this format. ThakiCloud already organizes much of its internal operations around hundreds of Skills, so we read this trend as a structural shift in how agents are run, not a passing fad.</p>

<h2 id="what-is-an-agent-skill">What is an Agent Skill</h2>

<p>An Agent Skill is a package that tells an agent how to perform a specific task. It centers on a <code class="language-plaintext highlighter-rouge">SKILL.md</code> instruction file and optionally includes reference documents, scripts, and templates. It has three defining properties. First, it is version-controlled: stored in a repository and tracked over time, it accumulates as an asset rather than a one-off prompt. Second, it is loaded on demand: instead of stuffing all knowledge into the context every time, only the Skills relevant to the current task are loaded. Third, it is harness-independent: the same Skill can be used in Claude Code, Codex, and Gemini – that is the design goal.</p>

<p>The third property best explains the value of this project. Models keep changing, and CLI tools keep changing. But “how to write a strong introduction” as task knowledge outlasts both by a wide margin. Accumulating capability in the Skill rather than in the tool means that expertise does not have to be rebuilt every time the tool changes. Internally, we call this the “thin harness, fat Skills” principle: keep the model loop, permissions, and file I/O thin; pack domain knowledge, judgment, and failure cases thickly into the Skill.</p>

<p><img src="/assets/images/ai-agent-research-paper-skills-diagram.png" alt="Diagram showing a single portable Skill package containing a SKILL.md instruction file and reference materials, plugged equally into Claude Code, Codex, and Gemini to perform paper-writing tasks" /></p>

<p>The central point of the diagram is that there is exactly one Skill package in the middle. The three tools are not each carrying separate prompts – they share the same task knowledge. That is the fundamental difference from pasting a one-liner prompt into a chat window.</p>

<h2 id="research-paper-writing-skills-in-detail">Research-Paper-Writing-Skills in Detail</h2>

<p>The tasks this package covers map directly to the actual stages of writing a paper. Published usage examples show calling <code class="language-plaintext highlighter-rouge">$research-paper-writing</code> to refine an introduction, or invoking the Skill to rewrite an abstract and verify that claims and evidence are properly paired. Rather than a vague “write this better” request, the design separates the recurring sub-tasks of paper writing into distinct, callable capabilities. This matches the principle that one verb should produce one deliverable.</p>

<p>The multi-harness orientation is also notable. A user can activate the same capability by simply copying the package to the Skill directory recognized by whichever tool they use. This direction is not unique to this project – several recently published open-source efforts, including academic Skill collections centered on Codex and general-purpose AI research Skill libraries, share the same orientation. It is a signal that a simultaneous push is underway to move the entire research workflow into a Skill ecosystem.</p>

<p>One point worth being explicit about: this post is based on the public description and usage examples from the repository. Specific counts such as star ratings, or internal file structures, can change over time and are not stated as fixed facts here. If you are evaluating adoption, check the repository directly along with the license and attribution requirements for the original author’s notes.</p>

<h2 id="installation-and-use">Installation and Use</h2>

<p>The installation model for Agent Skills is generally straightforward. Clone the package and place it in the Skill path recognized by the tool you use; the agent then loads the relevant Skill for each task. The general flow is:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Clone the repository</span>
git clone https://github.com/Master-cai/Research-Paper-Writing-Skills.git

<span class="c"># Copy to the Skill directory of your tool (check each tool's docs for the exact path)</span>
<span class="c"># Example: place under .claude/skills/ in a Claude Code project</span>
<span class="nb">cp</span> <span class="nt">-r</span> Research-Paper-Writing-Skills/&lt;skill-dir&gt; .claude/skills/
</code></pre></div></div>

<p>Once placed, invoke the Skill from an agent session to request work – ask in natural language to refine an introduction draft or check whether the abstract’s claims and evidence are consistent, and the procedures and criteria embedded in the Skill are applied. Because the Skill path and invocation convention differ slightly by tool, follow each tool’s documentation for the actual placement path. The key point is that a Skill placed once is reused across all sessions in that tool. The overhead of copying the same prompt repeatedly disappears.</p>

<h2 id="applying-it-on-the-thakicloud-k8s-aiml-saas-platform">Applying It on the ThakiCloud K8s AI/ML SaaS Platform</h2>

<p>ThakiCloud’s AI platform runs agents and batch workloads for diverse customers on top of Kubernetes. Our internal operations are already organized around Skills, so the format this project demonstrates is familiar. What matters more is that the same pattern is spreading rapidly in the broader community.</p>

<p>First, there is direct value for data scientists and researchers. Teams working on the platform write papers and technical reports regularly. Attaching proven paper-writing Skills to the standard internal toolchain lets teams apply consistent standards to error-prone areas such as introduction structure and abstract claim-evidence alignment – raising average quality without upgrading the model tier.</p>

<p>Second, harness independence pairs well with multi-tenant operations. Different customers may prefer different agent environments, but encapsulating capability in a Skill allows the same task knowledge to be reused regardless of environment. Capability is not locked to any one vendor’s tool, which makes it straightforward to port the same asset into on-premises deployments where customers have strong self-hosting requirements. That aligns with our strategy around self-hosting and cost efficiency.</p>

<p>Third, this project reinforces the lesson that Skills need to be managed as operational assets with discipline. A Skill carries a per-session context cost from the moment it is indexed. We therefore apply a question to every new Skill: “would the agent make a mistake without this?” We also document failure cases explicitly. Applying the same gate to externally sourced Skills prevents a growing Skill library from degrading retrieval accuracy – a real risk when the corpus exceeds what a retriever can distinguish cleanly.</p>

<h2 id="limitations-and-counterpoints">Limitations and Counterpoints</h2>

<p>This approach has clear weaknesses. First, there are no published objective metrics for the quality of text the package produces. Paper writing is inherently a judgment-intensive task, and whether the Skill-generated draft meets a human reader’s standard ultimately requires human review. That is why this post includes no performance figures – fabricating numbers without empirical measurement is exactly what should be avoided.</p>

<p>Second, there is the question of provenance and derivative works. This package is a repackaging of someone else’s public notes. Even though the original author is credited, organizations adopting it bear the responsibility to verify the license terms and the scope of required attribution themselves – more so when embedding it in internal standards.</p>

<p>Third, writing assistance does not replace thinking. A strong introduction comes from strong research. A Skill helps with expression and checking; it cannot transform thin results into a substantive paper. Distinguishing clearly between what the tool can supply and what the researcher must own is the prerequisite for using this format in a healthy way.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li>Research-Paper-Writing-Skills: <a href="https://github.com/Master-cai/Research-Paper-Writing-Skills">https://github.com/Master-cai/Research-Paper-Writing-Skills</a></li>
  <li>Original research primer learning_research (pengsida): <a href="https://github.com/pengsida/learning_research">https://github.com/pengsida/learning_research</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="ai-agent" /><category term="agent-skills" /><category term="claude-code" /><category term="paper-writing" /><category term="llm" /><summary type="html"><![CDATA[An open-source project bundles a professor's paper-writing expertise into a Skill package that works across Codex, Claude Code, and Gemini. We examine how it differs from a plain prompt collection, why the Agent Skill format matters, and what this trend signals for ThakiCloud -- an organization running an agent platform with hundreds of Skills.]]></summary></entry><entry xml:lang="en"><title type="html">NVIDIA GLM-5.2-NVFP4: Serving a 753B Frontier MoE at 4-Bit Precision</title><link href="https://thakicloud.github.io/en/llmops/nvidia-glm-5-2-nvfp4/" rel="alternate" type="text/html" title="NVIDIA GLM-5.2-NVFP4: Serving a 753B Frontier MoE at 4-Bit Precision" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/nvidia-glm-5-2-nvfp4</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/nvidia-glm-5-2-nvfp4/"><![CDATA[<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-hero.png" alt="Abstract image of a 16-bit neural network lattice condensing into a compact 4-bit core" />
<em>A conceptual visualization of 16-bit weights being compressed down to 4-bit.</em></p>

<p>For teams trying to serve a frontier-class reasoning model on their own infrastructure, the first obstacle is almost always GPU memory. Loading 753B parameters at 16-bit requires close to 1.5 TB of memory, which translates directly to multiple GPU nodes. <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code>, released on Hugging Face on June 25, 2026, is NVIDIA’s attempt to lower that barrier by quantizing ZAI’s (zai-org) GLM-5.2 to 4-bit precision.</p>

<p>This post is not an introduction to GLM-5.2 as a model. How the model’s long reasoning token lengths change the economics of self-hosting is covered in the <a href="https://thakicloud.github.io/en/llmops/glm-5-2-reasoning-token-economics/">reasoning token economics post</a>, and the 1-bit GGUF quantization for consumer hardware is covered in the <a href="https://thakicloud.github.io/en/llmops/unsloth-glm-5-2-1bit-gguf/">Unsloth GGUF post</a>. The focus here is the datacenter track: what architectural choices NVIDIA’s NVFP4 quantization makes, what hardware it targets, how serving is set up, and what it means for teams running multi-tenant inference.</p>

<p>All accuracy figures in this post are official measurements published by NVIDIA in the model card. Because the 753B model requires NVIDIA Blackwell with 8-way tensor parallelism, we were not able to reproduce results in ThakiCloud’s development environment. This post is therefore an analysis based on public information; no numbers have been fabricated. Values that could not be independently verified are marked <code class="language-plaintext highlighter-rouge">[estimated]</code>.</p>

<h2 id="overview">Overview</h2>

<p><code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> is a quantized version of ZAI’s <code class="language-plaintext highlighter-rouge">zai-org/GLM-5.2</code>, produced with NVIDIA Model Optimizer (ModelOpt). The base model is a Mixture-of-Experts (MoE) architecture designed for reasoning and coding. Of its 753B total parameters, only 40B are activated per token. The network architecture is <code class="language-plaintext highlighter-rouge">GlmMoeDsaForCausalLM</code>, and it supports contexts up to 1M tokens through sparse attention using an IndexShare indexer. The license is MIT, identical to the base model, allowing both commercial and non-commercial use.</p>

<p>The key idea in one sentence: <strong>MoE reduces compute, and selective NVFP4 quantization reduces memory, while deliberately excluding accuracy-sensitive components from quantization.</strong> The MoE structure ensures that despite 753B total parameters, inference cost per token is bounded by the 40B active experts. NVFP4 then reduces the memory footprint of the routing experts, which hold the vast majority of parameters, from 16-bit to 4-bit. The shared experts, however, remain in BF16, minimizing accuracy loss.</p>

<p>The timing also carries a signal. The trend of strong open-weight models being released under MIT, combined with NVIDIA immediately repackaging them into deployable form optimized for its own hardware, is becoming a pattern. For organizations thinking about model sovereignty, this is not an abstract policy question; it is a concrete architecture decision: which GPUs, which model, and how.</p>

<h2 id="what-this-model-is">What this model is</h2>

<p>GLM-5.2 is a MoE reasoning and coding model released by ZAI. Unlike conventional dense models, it places multiple expert networks inside each transformer block and activates only a subset per input token. GLM-5.2 has 753B total parameters, but when generating a single token, only 40B active parameters participate in the computation. In other words, the model’s knowledge capacity is at the 753B scale, but inference compute cost is closer to a 40B dense model.</p>

<p>In addition, GLM-5.2 uses sparse attention through an IndexShare indexer. The design supports a 1M-token context window while avoiding the quadratic cost of full attention over all token pairs. The model card labels this architecture <code class="language-plaintext highlighter-rouge">glm_moe_dsa</code> and requires <code class="language-plaintext highlighter-rouge">transformers&gt;=5.3.0</code>. These two forms of sparsity, MoE sparsity and attention sparsity, combine to deliver frontier-level reasoning capability at comparatively contained compute.</p>

<p>NVFP4 is a 4-bit floating-point data type defined by NVIDIA. The key distinction from integer 4-bit is that it is floating-point. Specifically, it groups 16 small floating-point (E2M1) values into a block and attaches a per-block FP8 (E4M3) scale, a two-level block-scaling scheme. Because the dynamic range is tracked per block, tail values in the distribution are better preserved than with simple integer quantization. NVIDIA is explicit in the model card that this is a quantized third-party model rather than one NVIDIA trained from scratch, and that the open-source NVIDIA Model Optimizer was used for quantization.</p>

<h2 id="the-core-design-decision-selective-quantization">The core design decision: selective quantization</h2>

<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-diagram.png" alt="Diagram of GLM-5.2-NVFP4 selective quantization strategy and serving paths" />
<em>Only the linear operators inside MoE routing experts are quantized to NVFP4; shared experts and attention remain in BF16.</em></p>

<p>The most important design decision in this model is what was left unquantized. Quoting the model card directly: “only the weights and activations of linear operators inside transformer blocks within MoE experts are quantized; shared experts are not quantized.” Concretely:</p>

<ul>
  <li><strong>Quantized to NVFP4 (4-bit)</strong>: weights and activations of linear operators in MoE routing experts. This section accounts for the vast majority of the 753B parameters, so nearly all of the memory savings come from here.</li>
  <li><strong>Preserved in BF16 (16-bit)</strong>: shared experts and the IndexShare sparse attention path. Every token passes through these on every forward pass, so their accuracy impact is disproportionately large.</li>
</ul>

<p>This strategy makes sense given how parameters are distributed in MoE models. Routing experts are numerous and collectively hold the overwhelming share of parameters, but each token only activates a fraction of them. Shared experts and attention, by contrast, hold a smaller share of parameters but are used by every token without exception. Quantizing aggressively where there are many parameters used sparsely, and conservatively where there are few parameters used always, is a reasonable tradeoff that buys memory savings without paying much in accuracy. The near-flat accuracy numbers in the benchmark table are a direct consequence of this selective approach.</p>

<p>Quantization calibration used NVIDIA’s Nemotron-family datasets. The model card lists Nemotron-SFT-Instruction-Following-Chat-v2, Nemotron-Science-v1, Nemotron-Competitive-Programming-v1, Nemotron-SFT-Agentic-v2, Nemotron-Math-v2, Nemotron-SFT-SWE-v2, and Nemotron-SFT-Multilingual-v1. The mix covers reasoning, science, coding, agentic tasks, math, and multilingual data, aligned in character with the evaluation benchmarks.</p>

<h2 id="public-benchmarks-accuracy-vs-fp8">Public benchmarks: accuracy vs. FP8</h2>

<p><img src="/assets/images/nvidia-glm-5-2-nvfp4-results.png" alt="Bar chart comparing benchmark scores between the FP8 baseline and NVFP4" />
<em>Official measurements from the nvidia/GLM-5.2-NVFP4 model card. The baseline is GLM-5.2-FP8.</em></p>

<p>The accuracy comparison published in the model card is shown below. The baseline is not BF16 but the already-compressed <code class="language-plaintext highlighter-rouge">GLM-5.2-FP8</code>, making this a more demanding comparison: not “how much does 4-bit lose vs. the original” but “how much does 4-bit lose vs. 8-bit.”</p>

<table>
  <thead>
    <tr>
      <th>Benchmark</th>
      <th>baseline (FP8)</th>
      <th>NVFP4</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GPQA Diamond</td>
      <td>89.52</td>
      <td>89.39</td>
    </tr>
    <tr>
      <td>SciCode</td>
      <td>49.85</td>
      <td>49.04</td>
    </tr>
    <tr>
      <td>IFBench</td>
      <td>74.95</td>
      <td>75.81</td>
    </tr>
    <tr>
      <td>AA-LCR</td>
      <td>69.38</td>
      <td>70.13</td>
    </tr>
    <tr>
      <td>tau2-Bench Telecom</td>
      <td>97.9</td>
      <td>98.25</td>
    </tr>
  </tbody>
</table>

<p>Measurement conditions: temperature 1.0, top_p 0.95, max_new_tokens 100000 for GPQA Diamond, 64000 for the rest. AA-LCR was measured with SGLang; the remaining four with vLLM. The five benchmarks evaluate graduate-level scientific reasoning (GPQA Diamond, 448 questions), scientific coding (SciCode), instruction following (IFBench), long-context recall (AA-LCR), and agentic tool use (tau2-Bench Telecom).</p>

<p>GPQA drops by 0.13 and SciCode by 0.81, while IFBench (+0.86), AA-LCR (+0.75), and tau2-Bench Telecom (+0.35) actually come in higher for NVFP4. That a 4-bit model outperforms an 8-bit one on some tasks may seem counterintuitive, but differences at this scale are better interpreted as sampling variance noise than as quantization artifacts. The headline finding is: compressing FP8 a further step down to 4-bit leaves accuracy essentially flat, which is the direct payoff of the selective quantization strategy described above.</p>

<h2 id="deployment-vllm-and-sglang">Deployment: vLLM and SGLang</h2>

<p>This checkpoint officially supports SGLang and vLLM, and requires NVIDIA Blackwell hardware running Linux. NVFP4 tensor cores exist only in the Blackwell generation, so the 4-bit path cannot be used as-is on prior-generation GPUs. The SGLang serving command from the model card is:</p>

<div class="language-sh highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pip <span class="nb">install</span> <span class="nt">-U</span> <span class="s2">"transformers&gt;=5.3.0"</span> <span class="o">&amp;&amp;</span> <span class="se">\</span>
python3 <span class="nt">-m</span> sglang.launch_server <span class="se">\</span>
    <span class="nt">--model</span> nvidia/GLM-5.2-NVFP4 <span class="se">\</span>
    <span class="nt">--tensor-parallel-size</span> 8 <span class="se">\</span>
    <span class="nt">--quantization</span> modelopt_fp4 <span class="se">\</span>
    <span class="nt">--tool-call-parser</span> glm47 <span class="se">\</span>
    <span class="nt">--reasoning-parser</span> glm45 <span class="se">\</span>
    <span class="nt">--trust-remote-code</span> <span class="se">\</span>
    <span class="nt">--chunked-prefill-size</span> 131072 <span class="se">\</span>
    <span class="nt">--mem-fraction-static</span> 0.80
</code></pre></div></div>

<p>Several signals are worth noting. <code class="language-plaintext highlighter-rouge">--tensor-parallel-size 8</code> means the model assumes an 8-GPU node, not a single GPU. <code class="language-plaintext highlighter-rouge">--quantization modelopt_fp4</code> tells the runtime to recognize the NVFP4 format produced by ModelOpt. <code class="language-plaintext highlighter-rouge">--chunked-prefill-size 131072</code> splits the prefill phase when handling 1M-token contexts to prevent memory spikes, and is a stability-critical setting for long-context serving. <code class="language-plaintext highlighter-rouge">--tool-call-parser glm47</code> and <code class="language-plaintext highlighter-rouge">--reasoning-parser glm45</code> handle the GLM-family’s tool-call and reasoning-token formats, wiring directly into agentic workloads.</p>

<p>For a rough memory estimate: loading 753B at BF16 would require roughly 1.5 TB [estimated]. Because the routing experts hold most of the parameters and are quantized to 4-bit, actual weight memory drops to around one-third of that, putting it within range of a single 8-way tensor-parallel node (community NVFP4 mirror reports suggest roughly 1.37 TB to 459 GB, approximately a 3x reduction [estimated]). The model card does not publish exact GB figures before and after quantization, so these memory values carry the <code class="language-plaintext highlighter-rouge">[estimated]</code> label. What is unambiguous is that <code class="language-plaintext highlighter-rouge">--tensor-parallel-size 8</code> signals: a single Blackwell 8-GPU node can serve this 753B reasoning model with a 1M-token context.</p>

<h2 id="implications-for-thakiclouds-kubernetes-aiml-saas-platform">Implications for ThakiCloud’s Kubernetes AI/ML SaaS platform</h2>

<p>ThakiCloud operates a multi-tenant platform that schedules GPUs with Kueue and serves models with vLLM on Kubernetes. In that environment, a pre-quantized frontier checkpoint like <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> is meaningful on three fronts.</p>

<p>First, <strong>the pool of self-hostable candidates grows.</strong> A 753B-scale reasoning model is normally ruled out of self-hosting consideration early, but if a 4-bit quantization brings weights and KV headroom within a single 8-GPU Blackwell node, on-premises serving becomes a realistic option. Using Kueue’s ResourceFlavor and ClusterQueue to carve out a dedicated Blackwell node pool for NVFP4 inference means the memory headroom gained through quantization translates directly into more concurrent tenants served. For customers who cannot send data to external APIs, particularly regulated sectors like government or finance where self-hosting and data sovereignty are requirements, providing frontier reasoning capability on-premises is itself a competitive differentiator.</p>

<p>Second, <strong>the quantization pipeline does not need to be run internally.</strong> Calibrating and quantizing a 753B model with ModelOpt is a substantial GPU-hours and engineering undertaking on its own. If a NVIDIA-validated checkpoint can be pulled and loaded directly into vLLM or SGLang, internal effort can shift from quantization validation to multi-tenant routing, autoscaling, and cost observability. That said, ThakiCloud’s skill system already has an internal workflow for quantizing Qwen3-MoE-family models to NVFP4, so the recipe NVIDIA used for GLM-5.2, “routing experts at 4-bit, shared experts and attention at BF16,” is now a general pattern we can apply when quantizing customer-domain models.</p>

<p>Third, <strong>selective quantization is worth encoding into our model intake criteria.</strong> The principle this model demonstrates, quantize aggressively where parameters are numerous and sparsely used, conservatively where they are few and always active, transfers directly to how we evaluate other MoE models. Rather than blanket 4-bit across the board, checking whether shared experts and attention are preserved can become a specific gate in the model intake review. That said, the Blackwell requirement is a hard constraint tied directly to our GPU pool composition. Any plan to use the NVFP4 path must explicitly list Blackwell node availability as a prerequisite in the adoption roadmap.</p>

<h2 id="limitations-and-counterpoints">Limitations and counterpoints</h2>

<p>The biggest limitation is <strong>hardware lock-in.</strong> The NVFP4 4-bit path requires Blackwell tensor cores, so environments with only prior-generation GPUs such as Hopper (H100/H200) cannot directly leverage this checkpoint’s advantages. The narrative of “cheap because it’s 4-bit” only holds if Blackwell nodes are already available or planned, and in many cases implies new capital expenditure.</p>

<p>Second, <strong>benchmark scope is narrow.</strong> The model card’s accuracy table covers five benchmarks, all oriented toward English-language reasoning, coding, and agentic tasks. Multilingual quality in real-world use (including Korean), and recall stability when the full 1M-token context is actually filled, cannot be assessed from the published table alone. Internal evaluation against domain-specific data, measuring regression relative to BF16 and FP8 baselines, is required before adoption.</p>

<p>Third, <strong>memory figures are uncertain.</strong> As noted above, the model card does not publish exact memory usage before and after quantization. The memory estimates in this post are back-calculated from parameter count and quantization scope. In production, adding KV cache and the 1M prefill buffer on top of weight memory means peak memory per node exceeds the weight-only estimate. Capacity planning must be based on peak memory, not weight memory alone.</p>

<p>Fourth, <strong>selective quantization is a tradeoff in both directions.</strong> Keeping shared experts and attention in BF16 preserves accuracy, but it also means memory savings are smaller than a full 4-bit approach. This model is “compress as far as accuracy allows,” not “compress as much as physically possible.” For extreme cost-constrained environments where loading onto a single workstation GPU is the goal, more aggressive options like 1-bit GGUF may be a better fit, at the cost of additional quality loss.</p>

<p>In summary, <code class="language-plaintext highlighter-rouge">nvidia/GLM-5.2-NVFP4</code> is a concrete example of bringing a frontier 753B MoE reasoning model down to 4-bit without meaningful accuracy loss, making self-serving on a Blackwell 8-GPU node a viable choice. For ThakiCloud, it adds one more card to the hand for delivering frontier reasoning to customers with on-premises or data-sovereignty requirements, and it provides a general-purpose principle, selective quantization, that can be embedded directly into our model intake process. The door opens with a Blackwell key.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li><a href="https://huggingface.co/nvidia/GLM-5.2-NVFP4">nvidia/GLM-5.2-NVFP4 on Hugging Face</a></li>
  <li><a href="https://huggingface.co/zai-org/GLM-5.2">Base model GLM-5.2 (ZAI) on Hugging Face</a></li>
  <li><a href="https://github.com/NVIDIA/Model-Optimizer">NVIDIA Model Optimizer on GitHub</a></li>
  <li><a href="https://developer.nvidia.com/blog/introducing-nvfp4-for-efficient-and-accurate-low-precision-inference/">Introducing NVFP4 for Efficient and Accurate Low-Precision Inference (NVIDIA Technical Blog)</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="nvfp4" /><category term="quantization" /><category term="vllm" /><category term="sglang" /><category term="glm" /><category term="moe" /><category term="inference-optimization" /><category term="model-optimizer" /><summary type="html"><![CDATA[NVIDIA has released a NVFP4 (4-bit) quantization of ZAI's 753B MoE reasoning model GLM-5.2 on Hugging Face. Rather than blanket-quantizing every weight, the approach selectively reduces only the linear operators inside MoE routing experts to 4-bit while keeping shared experts and attention in BF16, preserving accuracy almost on par with the FP8 baseline. This post covers the quantization strategy, public benchmark results, and vLLM/SGLang deployment commands from the perspective of ThakiCloud's Kubernetes multi-tenant serving platform.]]></summary></entry><entry xml:lang="en"><title type="html">Ornith-1.0: An Open Coding Model That Writes Its Own RL Scaffolds</title><link href="https://thakicloud.github.io/en/llmops/ornith-1-self-scaffolding-coding-model/" rel="alternate" type="text/html" title="Ornith-1.0: An Open Coding Model That Writes Its Own RL Scaffolds" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/ornith-1-self-scaffolding-coding-model</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/ornith-1-self-scaffolding-coding-model/"><![CDATA[<p><img src="/assets/images/ornith-1-self-scaffolding-coding-model-hero.png" alt="Abstract image depicting a self-scaffolding structure building its own foundation layer by layer" />
<em>An abstract representation of self-scaffolding reinforcement learning, where a model constructs its own training scaffold from the ground up.</em></p>

<p>Competition among open-weight coding models has moved beyond “what benchmark score did you hit?” toward “what training method produced that score?” <code class="language-plaintext highlighter-rouge">Ornith-1.0</code>, released by DeepReinforce on June 25, 2026, is a model where the methodology itself is the headline. The reinforcement learning design lets the model <strong>write the training scaffold that guides its own solutions</strong> at the same time it generates those solutions.</p>

<p>The benchmark numbers in this post are not results we reproduced ourselves. Running a 397B model through coding benchmarks requires multi-GPU nodes and hours of inference, which we did not do for this intraday analysis. Every score cited here is <strong>a figure stated in DeepReinforce’s public materials</strong>; values where sources differ are marked <code class="language-plaintext highlighter-rouge">[estimated]</code>. We have not fabricated any reproduction numbers.</p>

<h2 id="overview">Overview</h2>

<p><code class="language-plaintext highlighter-rouge">Ornith-1.0</code> is not a single model but an open-source family specialized for coding. It spans four sizes: 9B dense, 31B dense, 35B Mixture-of-Experts (MoE), and the 397B MoE flagship. All four are MIT-licensed and immediately downloadable from the <code class="language-plaintext highlighter-rouge">deepreinforce-ai</code> namespace on Hugging Face. Quantized variants, including 9B and 35B GGUF and 35B and 397B FP8, are also available, signaling an intentional deployment spectrum from single-GPU edge to multi-node datacenter.</p>

<p>Two things stand out immediately from ThakiCloud’s perspective: the license and self-hosting viability. MIT imposes no copyleft infection, no non-commercial clause, and no legal friction for commercial or non-commercial use. For organizations that want to run a coding agent on their own infrastructure without sending proprietary code to an external API, MIT is the cleanest possible “yes, you can.”</p>

<p>The one-sentence summary: <strong>Ornith-1.0 does not just learn solutions during the RL phase; it also learns the per-task training scaffold that produces those solutions.</strong> Treating the scaffold as a learned variable rather than a fixed constant is the key divergence from other RL coding models.</p>

<p>The original announcement tweet described this as “the first open-source model from a US lab that codes at frontier level.” We were unable to independently verify DeepReinforce’s headquarters location from public sources, so this post focuses on the verifiable mechanism and public numbers rather than the geographic framing.</p>

<h2 id="what-this-model-is">What This Model Is</h2>

<p><code class="language-plaintext highlighter-rouge">Ornith-1.0</code> is built by applying post-training on top of pretrained base models. DeepReinforce stated it used Gemma 4 and Qwen 3.5 series as bases. This means the model was not pretrained from scratch; instead, the team applied <strong>their own RL post-training</strong> to strong open bases to sharpen coding capability. That structure mirrors the broader open ecosystem trend of “base as shared asset, differentiation through post-training,” similar to how NVIDIA redistributes third-party models after quantization.</p>

<p>The model itself is a reasoning model. By default it opens assistant responses with a <code class="language-plaintext highlighter-rouge">&lt;think&gt; ... &lt;/think&gt;</code> block, working through its reasoning before producing a final answer. The published serving recipe activates a reasoning parser that routes this thinking process to a separate <code class="language-plaintext highlighter-rouge">reasoning_content</code> field, alongside a tool-call parser that exposes the model’s tool invocation blocks as OpenAI-style <code class="language-plaintext highlighter-rouge">tool_calls</code>. The design intent is clear: plug it straight into an existing agent loop. The maximum context length is 262,144 tokens, sized for long-horizon coding tasks that push a large repository into a single context window.</p>

<p>DeepReinforce is not new to RL work. Their 2025 <code class="language-plaintext highlighter-rouge">CUDA-L1</code> project used reinforcement learning to auto-optimize CUDA kernels, reporting a mean 3.12x speedup and peak gains orders of magnitude higher on multiple GPU tasks. The consistent research thread of “use reinforcement learning to make code or kernels improve themselves” runs directly into this coding model.</p>

<h2 id="the-core-reinforcement-learning-that-writes-its-own-scaffold">The Core: Reinforcement Learning That Writes Its Own Scaffold</h2>

<p>Most agentic RL training fixes the scaffold (prompt structure, tool-use conventions, task decomposition template) by hand and then trains the policy within it. A good scaffold raises scores; a bad one caps performance no matter how strong the policy becomes. The problem is that a different scaffold works best for each task type. Ornith-1.0 promotes the scaffold from a <strong>fixed constant to a learned variable</strong>.</p>

<p>According to DeepReinforce’s description, each RL step proceeds in two stages. First, the model proposes a <strong>refined scaffold conditioned on the given task</strong>. Second, it <strong>generates a solution rollout conditioned on that scaffold</strong>. The reward propagates back through both stages: “what scaffold did you build?” and “what did you solve on top of it?” are scored together and improved together. The scaffold co-evolves with the policy.</p>

<pre><code class="language-mermaid">flowchart LR
    T["Task"] --&gt; S1
    subgraph RLSTEP["RL step (2 stages)"]
      direction TB
      S1["Stage 1: Propose scaffold&lt;br/&gt;(conditioned on task)"] --&gt; S2["Stage 2: Solution rollout&lt;br/&gt;(conditioned on scaffold)"]
    end
    S2 --&gt; R["Reward"]
    R -. "propagate to scaffold" .-&gt; S1
    R -. "propagate to policy" .-&gt; S2
    S1 -. "Co-evolve" .- S2
</code></pre>

<p>This structure matters for two reasons. First, the bottleneck of humans hand-tuning scaffolds disappears. When the task distribution shifts, the model re-builds its scaffold on its own. Second, because the scaffold is exposed directly to the reward signal, the common failure mode of “the policy is fine but the scaffold is bad so the score never climbs” becomes correctable inside the training loop. This is in the same family as the <a href="https://thakicloud.github.io/en/llmops/">Loop Engineering pattern</a> that uses external tools (compilers, tests) as reward signals, but goes one step further by adding <strong>the scaffold itself</strong> to the set of things receiving that reward.</p>

<h2 id="public-benchmarks">Public Benchmarks</h2>

<p>The flagship numbers DeepReinforce published are as follows. All are from their own evaluation; none were reproduced in our environment.</p>

<table>
  <thead>
    <tr>
      <th>Benchmark</th>
      <th>Ornith-1.0-397B</th>
      <th>Comparison</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>SWE-Bench Verified</td>
      <td>82.4</td>
      <td>Claude Opus 4.8 87.6 (the only model in the comparison that exceeds it)</td>
    </tr>
    <tr>
      <td>Terminal-Bench 2.1</td>
      <td>77.5</td>
      <td>Reported as SOTA among open-source at this scale</td>
    </tr>
    <tr>
      <td>SWE-Bench Pro</td>
      <td>62.2 <code class="language-plaintext highlighter-rouge">[estimated]</code></td>
      <td>Sources differ</td>
    </tr>
  </tbody>
</table>

<p>DeepReinforce claims top-tier performance among open-source models of comparable size on Terminal-Bench 2.1, SWE-Bench, NL2Repo, and OpenClaw. Notably, the 35B MoE is reported to outperform some larger models, which reads as MoE sparsity combined with self-scaffolding post-training raising efficiency relative to active parameter count. That said, SWE-Bench variants (Verified, Pro, original) differ substantially in scoring, and comparing numbers without confirming which variant was used is risky. That is why the SWE-Bench Pro figure is marked <code class="language-plaintext highlighter-rouge">[estimated]</code>.</p>

<p>More meaningful than the scores for anyone running these in production is that <strong>the source of the scores is a publicly described mechanism</strong>. Closed-model scores cannot be reproduced, but MIT-released weights and a published training description leave the door open for external verification.</p>

<h2 id="installation-and-serving">Installation and Serving</h2>

<p>Ornith-1.0 is packaged to run on standard inference stacks without modification. Starting with the smallest model before validating is the right discipline for self-hosting. The 9B is designed for a single GPU and is a reasonable starting point for pipeline integration testing.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Download weights from Hugging Face (e.g., 9B)</span>
huggingface-cli download deepreinforce-ai/Ornith-1.0-9B <span class="se">\</span>
  <span class="nt">--local-dir</span> ./ornith-1.0-9b
</code></pre></div></div>

<p>Because this is both a reasoning model and a tool-calling model, serving it requires both the reasoning parser and the tool-call parser to be active so that the thinking process and tool invocations arrive as structured fields rather than raw text. A representative vLLM startup looks like this; confirm the exact parser names from each model card’s serving recipe.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># vLLM serving (representative form -- confirm parser names from model card)</span>
vllm serve deepreinforce-ai/Ornith-1.0-9B <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span> <span class="se">\</span>
  <span class="nt">--tool-call-parser</span> &lt;see model card&gt; <span class="se">\</span>
  <span class="nt">--reasoning-parser</span> &lt;see model card&gt;
</code></pre></div></div>

<p>For the 397B MoE flagship, memory is the first wall. That is why the FP8 variant (<code class="language-plaintext highlighter-rouge">Ornith-1.0-397B-FP8</code>) ships alongside. It cuts weight memory roughly in half compared to BF16, reducing the node count and tensor parallel degree needed. The 35B MoE sits at the point where MoE’s advantage of “small active parameters, large knowledge capacity” is most balanced; it is a realistic candidate for single-node multi-GPU deployment.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># 397B: FP8 variant + tensor parallelism to lower the memory wall (skeleton example)</span>
vllm serve deepreinforce-ai/Ornith-1.0-397B-FP8 <span class="se">\</span>
  <span class="nt">--tensor-parallel-size</span> 8 <span class="se">\</span>
  <span class="nt">--max-model-len</span> 262144 <span class="se">\</span>
  <span class="nt">--enable-auto-tool-choice</span>
</code></pre></div></div>

<h2 id="implications-for-the-thakicloud-k8s-aiml-saas-platform">Implications for the ThakiCloud K8s AI/ML SaaS Platform</h2>

<p>ThakiCloud’s AI platform schedules GPU workloads with Kueue on Kubernetes, serves multi-tenant inference with vLLM, and operates multi-tenant agents. A model like Ornith-1.0 is relevant to this stack in three ways.</p>

<p><strong>First, model sovereignty for in-house coding agents.</strong> Code is among the most sensitive assets an organization holds. The demand for running a coding agent on-premises or in a dedicated tenant, without routing internal code through a closed API, is especially strong in regulated environments such as finance, government, and defense. MIT license plus self-hostable weights answers that demand cleanly. The 262K context and OpenAI-style <code class="language-plaintext highlighter-rouge">tool_calls</code> output mean the base model can be swapped into an existing agent loop without changing the surrounding infrastructure.</p>

<p><strong>Second, the size spectrum aligns with multi-tenant cost calculation.</strong> The 9B suits lightweight auxiliary tasks or a low-cost per-tenant tier. The 35B MoE, with its efficiency advantage in active parameters, works as the primary serving workhorse. The 397B fits a dedicated high-difficulty task pool. When GPU scheduling with Kueue determines which tenant gets which model at which priority, the unit economics are direct. Having a range of sizes within a single family means operational flexibility translates directly into cost savings.</p>

<p><strong>Third, the self-scaffolding methodology is itself something we can borrow.</strong> ThakiCloud operates domain-specific agents across diverse customer environments. The cost of hand-carving per-task scaffolds grows linearly with the number of domains. The idea of “promote the scaffold to a learned variable” is a pattern we can adapt directly when designing internal pipelines that auto-improve an agent’s prompts and tool conventions through a reward signal, rather than requiring a human to tune them each time. Even if we do not adopt the model outright, the mechanism is transferable to our workflow engine.</p>

<h2 id="limitations-and-counterarguments">Limitations and Counterarguments</h2>

<p>The biggest limitation is <strong>asymmetric verification</strong>. The weights and training description are public, but the benchmark numbers are self-reported and were not reproduced in our environment. SWE-Bench variants differ substantially in score, and the same model can produce different results depending on harness configuration, temperature, and retry settings. Jumping from the reported numbers to “this has caught up to frontier” is premature. Any actual adoption decision requires internal evaluation against a sample of our own codebase.</p>

<p>The second concern is <strong>operational cost</strong>. The 397B MoE scores look attractive, but self-hosting at that scale means GPU memory and node count are a real constraint. The FP8 variant helps, but “open” does not mean “free” – it means we bear the infrastructure cost ourselves. The comparison between closed API token pricing and self-hosting node pricing only resolves in our favor at specific workload patterns, and that requires working through the numbers.</p>

<p>The third is <strong>generalization of self-scaffolding</strong>. The design is elegant, but there is no externally verified guarantee that scaffold quality holds up on unfamiliar tasks outside the training distribution. It is also plausible that the scaffold overfit to the reward signal and learned to build structures that perform well specifically on these benchmark formats. This question can only be settled when independent parties reproduce results with the public weights.</p>

<p>In summary, Ornith-1.0 is a model worth watching for its <strong>method</strong> more than its scores. The MIT open-weight release makes it a realistic candidate for self-hosted coding agents, and the self-scaffolding mechanism has ideas worth borrowing for agent training pipeline design regardless of whether you adopt the model itself. That said, all benchmark claims should be held as “announced figures” until validated through your own evaluation.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li>DeepReinforce, “Ornith-1.0: Self-Scaffolding LLMs for Agentic Coding” (2026-06): <a href="https://deep-reinforce.com/ornith_1_0.html">https://deep-reinforce.com/ornith_1_0.html</a></li>
  <li>Hugging Face model cards: <a href="https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B">https://huggingface.co/deepreinforce-ai/Ornith-1.0-397B</a>, <a href="https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B">https://huggingface.co/deepreinforce-ai/Ornith-1.0-9B</a></li>
  <li>GitHub: <a href="https://github.com/deepreinforce-ai/Ornith-1">https://github.com/deepreinforce-ai/Ornith-1</a></li>
  <li>MarkTechPost, “DeepReinforce Releases Ornith-1.0” (2026-06-25): <a href="https://www.marktechpost.com/2026/06/25/deepreinforce-releases-ornith-1-0-an-open-source-coding-model-family-that-learns-its-own-rl-scaffolds/">https://www.marktechpost.com/2026/06/25/deepreinforce-releases-ornith-1-0-an-open-source-coding-model-family-that-learns-its-own-rl-scaffolds/</a></li>
  <li>Tech Times (2026-06-26): <a href="https://www.techtimes.com/articles/319122/20260626/open-source-coding-model-ornith-10-writes-its-own-training-scaffold-reinforcement-learning.htm">https://www.techtimes.com/articles/319122/20260626/open-source-coding-model-ornith-10-writes-its-own-training-scaffold-reinforcement-learning.htm</a></li>
  <li>DeepReinforce, CUDA-L1 (prior research): <a href="https://deepreinforce-ai.github.io/cudal1_blog/">https://deepreinforce-ai.github.io/cudal1_blog/</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="ornith" /><category term="deepreinforce" /><category term="reinforcement-learning" /><category term="coding-agent" /><category term="self-scaffolding" /><category term="open-weights" /><category term="vllm" /><category term="moe" /><summary type="html"><![CDATA[Released by DeepReinforce on June 25, 2026, Ornith-1.0 is an open-source coding model family built on a self-scaffolding mechanism: during reinforcement learning, the model writes the training scaffold that guides its own solutions. We examine the four-size lineup (9B/31B dense and 35B/397B MoE), its MIT license, 262K context, and the reported SWE-Bench Verified score of 82.4 through the lens of ThakiCloud's K8s multi-tenant serving and in-house coding agent infrastructure.]]></summary></entry><entry xml:lang="en"><title type="html">Agent Memory Is Now a Data System: A Data-Management Lens on Agent-Native Memory</title><link href="https://thakicloud.github.io/en/research/agent-native-memory-system/" rel="alternate" type="text/html" title="Agent Memory Is Now a Data System: A Data-Management Lens on Agent-Native Memory" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/research/agent-native-memory-system</id><content type="html" xml:base="https://thakicloud.github.io/en/research/agent-native-memory-system/"><![CDATA[<p><img src="/assets/images/agent-native-memory-system-hero.png" alt="Abstract image of layered data flowing through a lattice of neural networks and databases, with memory cells forming and dissolving" /></p>

<h2 id="overview">Overview</h2>

<p>Anyone who has run LLM agents for any length of time will have hit the same wall. Agents handle one-shot question-answering well, but the moment you span tasks across days or context across multiple sessions, the agent forgets what it has done. That is where “agent memory” entered the picture, and at first it was little more than a RAG variant: store conversations in a vector store, retrieve on demand.</p>

<p>The arXiv paper <a href="https://arxiv.org/abs/2606.24775">Are We Ready For An Agent-Native Memory System?</a>, published on June 23, 2026, reframes this entire trajectory in a single observation. Agent memory is no longer a retrieval-augmentation device; it has evolved into a <strong>full data-management system responsible for persistent storage, retrieval, updating, consolidation, and dynamic lifecycle management</strong>. This is the paper dair_ai summarized as “Agent memory is a data system now.”</p>

<p>The reframing matters because for a platform like ThakiCloud, which actually runs multi-tenant agents on Kubernetes, the moment memory becomes a “system to operate” rather than a “feature to enable,” cost, robustness, and architectural choices all follow. This post summarizes the core claims from the official abstract and the <a href="https://github.com/OpenDataBox/MemoryData">public code</a>, and draws out what is actionable from the perspective of our platform.</p>

<blockquote>
  <p>📄 <strong>Full deep review (DOCX)</strong>: <a href="https://drive.google.com/file/d/1wLivKobOMtAKQ1zwCmG-O8wdebyZRbcz/view">Download the detailed peer review on Google Drive</a>.</p>
</blockquote>

<h2 id="what-this-research-does">What This Research Does</h2>

<p>The problem the paper identifies is simple but pointed. Most existing methods for evaluating agent memory stop at <strong>end-to-end task success metrics</strong>. Scores like F1 or BLEU answer the question “did it answer the question well?” while treating the memory system that produced the answer as a complete black box.</p>

<p>That framing hides exactly what an operator needs to know: how much <strong>operational cost</strong> does maintaining memory incur, what are the <strong>architectural trade-offs</strong> across different module combinations, and how robust is the system when knowledge keeps changing? A single aggregate score answers none of these.</p>

<p>The authors (Wei Zhou, Xuanhe Zhou, Guoliang Li, Zhiyu Li, Feiyu Xiong, and others, notably including database-systems researchers, which explains the paper’s character) therefore study memory systematically from a <strong>data-management perspective</strong>. The core of that study is an analytical framework that decomposes agent memory into four modules.</p>

<p><img src="/assets/images/agent-native-memory-system-diagram.png" alt="Architecture diagram showing the four memory modules surrounding agent execution: Representation &amp; Storage, Extraction, Retrieval &amp; Routing, and Maintenance, with write, read, and consolidation flows" /></p>

<p>The four modules are as follows.</p>

<ol>
  <li><strong>Representation &amp; Storage</strong>: How memory is encoded and where it is kept. The choice among vectors, graphs, trees, plain text, and other representations directly determines <strong>representation fidelity</strong>.</li>
  <li><strong>Extraction</strong>: The step of selecting what to commit to memory from the agent’s execution trace. Not every token can be stored, so this stage separates signal from noise.</li>
  <li><strong>Retrieval &amp; Routing</strong>: Finding the right memory at the right moment and returning it through the appropriate path. The metric here is <strong>retrieval precision</strong>.</li>
  <li><strong>Maintenance</strong>: Consolidating, updating, and pruning stale memories. <strong>Update correctness</strong> and <strong>long-horizon stability</strong> are determined here.</li>
</ol>

<p>Anyone familiar with databases will recognize the correspondence: Representation &amp; Storage maps to the storage engine, Extraction to the ingest pipeline, Retrieval &amp; Routing to the query planner, and Maintenance to compaction and garbage collection. That mapping is precisely why the authors call their lens a “data-management perspective.”</p>

<h2 id="core-findings">Core Findings</h2>

<p>On this framework, the paper evaluates <strong>12 representative memory systems and 2 reference baselines</strong> across <strong>5 benchmark workloads and 11 datasets</strong>. The weight of the contribution lies in measuring multiple systems against a common yardstick rather than optimizing a single model on a single dataset. Three conclusions can be drawn directly from the abstract.</p>

<p><strong>First, there is no single architecture that dominates all settings.</strong> The answer to “which memory structure is best?” is “it depends.” More precisely, effectiveness is determined by how well a memory structure aligns with the <strong>workload bottleneck</strong>. The structure that is optimal for a retrieval-bottlenecked workload differs from the one that suits an update-bottlenecked workload. This is a direct rebuttal of simple prescriptions like “graph memory is always best” or “a vector store is sufficient.”</p>

<p><strong>Second, decomposing at the module level separates accountability.</strong> The authors use granular ablation experiments to quantify each module’s individual contribution to representation fidelity, retrieval precision, update correctness, and long-horizon stability. This reveals what end-to-end scores collapse together: “which module breaks what.” From an operational standpoint, that is the real value. You can only fix a wrong answer if you can tell whether the failure was in the Extraction stage or the Retrieval stage.</p>

<p><strong>Third, cost-performance trade-offs in Maintenance are clear.</strong> On realistic workloads, the paper finds that <strong>localized maintenance is more cost-efficient than global reorganization</strong>. Touching only what has changed costs less than periodically rebuilding the entire memory. This is the same intuition as incremental database compaction being cheaper than a full rebuild, and for cost-sensitive production deployments, this single finding can change architectural decisions.</p>

<p>In summary, the paper is less a prescription for “how to build better agent memory” and more a framework for <strong>“how to measure and compare agent memory as a system.”</strong> On that framework it shows there is no single right answer, but that workload alignment and maintenance cost are the real levers.</p>

<h2 id="implications-for-the-thakicloud-k8s-aiml-saas-platform">Implications for the ThakiCloud K8s AI/ML SaaS Platform</h2>

<p>ThakiCloud’s AI platform runs multi-tenant agents across diverse customer environments on Kubernetes. Several points from this paper land directly on our platform.</p>

<p><strong>Treating memory as a per-tenant data system.</strong> If agent memory is a data-management system, it follows that every tenant incurs distinct storage costs, retrieval latency, and update load as separate operational concerns. In a multi-tenant setting, ensuring that one tenant’s memory maintenance does not consume another tenant’s GPU or I/O is a problem of the same kind as isolating GPU workloads with Kueue. Memory must be treated not as a “feature” but as a “workload with a resource budget.”</p>

<p><strong>Designing for pluggable rather than fixed memory architectures.</strong> The conclusion that no single architecture dominates implies that a platform should provide <strong>abstractions that allow memory structures to be swapped or composed by workload</strong>, rather than hard-coding a single memory backend. Depending on whether a customer’s agent is long-session conversational or rapid-knowledge-update oriented, the platform should support switching between retrieval-centric and maintenance-centric structures. The four-module decomposition provides natural boundaries for exactly that kind of pluggable abstraction.</p>

<p><strong>An asset for on-premise and cost-sensitive deployments.</strong> The finding that localized maintenance is cheaper than global reorganization is especially relevant for customers who self-host on-premise. It provides a design principle for controlling memory-maintenance costs within a finite in-house GPU and storage budget, without depending on an externally managed memory service. For customer environments where regulations or data-sovereignty requirements preclude external API calls, the ability to say “memory maintenance costs are predictable and contained inside your own cluster” is a direct sales point.</p>

<p>Two concrete actions are available to us now. One is to use the 4-module decomposition and workload taxonomy from the public <a href="https://github.com/OpenDataBox/MemoryData">MemoryData code</a> as a starting point for instrumenting tenant memory, observing it via per-module metrics (representation fidelity, retrieval precision, update correctness, long-horizon stability) rather than end-to-end scores. The other is to set the default maintenance policy to localized updates rather than global reorganization, baking a cost ceiling into the design from the start.</p>

<h2 id="limitations-and-counterarguments">Limitations and Counterarguments</h2>

<p>For balance, there are points to note before accepting the findings wholesale.</p>

<p>First, this paper is a <strong>measurement study, not a proposal for a new memory system.</strong> Readers expecting a blueprint for building better memory will be disappointed. What is offered is a comparative framework and diagnosis; “promising directions toward agent-native memory” are indicated, but implementation is left as future work.</p>

<p>Second, <strong>generalization limits of the benchmark.</strong> 5 workloads and 11 datasets is not trivial, but the domain space actual agents encounter is far broader. The conclusion that “optimal architecture varies by workload bottleneck” is also, somewhat paradoxically, a warning that if our customers’ real workloads differ from the benchmark distribution, the paper’s rankings may not transfer directly. Measurement in each deployment environment will still be necessary.</p>

<p>Third, <strong>potential perspective bias from the author composition.</strong> The database-systems research background makes the framing of “memory as data management” strong, but cognitive-science and reinforcement-learning perspectives on memory (episodic memory, policy-learned memory management, etc.) may receive comparatively less attention. Data management is a powerful lens, but not the only one.</p>

<p>Even so, the core message, “measure agent memory as a system,” is a hard-to-refute starting point for a platform that actually has to operate memory. The moment you start looking at memory through modules and costs rather than scores, what can be fixed becomes visible.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li>Paper: <a href="https://arxiv.org/abs/2606.24775">Are We Ready For An Agent-Native Memory System? (arXiv 2606.24775)</a></li>
  <li>HF Papers: <a href="https://hf.co/papers/2606.24775">hf.co/papers/2606.24775</a></li>
  <li>Public code: <a href="https://github.com/OpenDataBox/MemoryData">github.com/OpenDataBox/MemoryData</a></li>
  <li>Original tweet context: dair_ai, “Agent memory is a data system now”</li>
</ul>

<blockquote>
  <p>📄 <strong>Full deep review (DOCX)</strong>: <a href="https://drive.google.com/file/d/1wLivKobOMtAKQ1zwCmG-O8wdebyZRbcz/view">Download the detailed peer review on Google Drive</a>.</p>
</blockquote>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="research" /><category term="agent-memory" /><category term="llm-agent" /><category term="data-management" /><category term="long-term-memory" /><category term="retrieval" /><category term="benchmark" /><category term="on-premise" /><summary type="html"><![CDATA[arXiv 2606.24775 'Are We Ready For An Agent-Native Memory System?' treats LLM agent memory not as RAG but as a full data-management system, decomposing 12 memory systems into 4 modules and measuring each. Based on the official abstract and public code, we summarize the core claims and their implications for the ThakiCloud platform.]]></summary></entry><entry xml:lang="en"><title type="html">Stop Hand-Writing SKILL.md: A Deep Dive into Hermes Agent’s /learn Command</title><link href="https://thakicloud.github.io/en/technique/hermes-agent-learn-skills/" rel="alternate" type="text/html" title="Stop Hand-Writing SKILL.md: A Deep Dive into Hermes Agent’s /learn Command" /><published>2026-06-26T00:00:00+09:00</published><updated>2026-06-26T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/technique/hermes-agent-learn-skills</id><content type="html" xml:base="https://thakicloud.github.io/en/technique/hermes-agent-learn-skills/"><![CDATA[<p><img src="/assets/images/hermes-agent-learn-skills-hero.png" alt="Skill authoring process depicted as scattered document fragments converging into a single structured crystal" />
<em>The concept of /learn expressed as scattered knowledge fragments from multiple directions crystallizing into a single structured output.</em></p>

<h2 id="overview">Overview</h2>

<p>The most common way to teach an agent a new capability has been to write a skill file by hand. A skill is ultimately just one Markdown document, but authoring it from scratch while respecting the required frontmatter and section order takes more effort than it sounds. That friction is especially real for things that live in your head but are tedious to write down - internal API usage, deployment runbooks, and repetitive procedures.</p>

<p>The <code class="language-plaintext highlighter-rouge">/learn</code> command that Nous Research added to its Hermes Agent framework on June 24, 2026, eliminates the hand-authoring step entirely. Point it at a directory, a URL, a conversation you just finished, or a pasted note, and the live agent collects the material directly using its own tools and authors a standard-compliant <code class="language-plaintext highlighter-rouge">SKILL.md</code>. The demo video shared on X by tonbistudio - showing multiple sources being combined into a skill - sparked a lot of attention, and since ThakiCloud already had Hermes Agent installed internally, we decided to verify it firsthand.</p>

<p>ThakiCloud runs multi-tenant agents on a Kubernetes-based AI/ML SaaS platform. The idea of an agent building its own procedural memory in a form that humans can gate and review maps directly onto the principle we call Thin Harness, Fat Skills: capabilities belong in skills, not in the harness. <code class="language-plaintext highlighter-rouge">/learn</code> lowers the barrier to creating those skills, which makes it more than a convenience feature.</p>

<h2 id="what-this-technology-is">What This Technology Is</h2>

<p><code class="language-plaintext highlighter-rouge">/learn</code> is not a separate ingestion engine. The key insight is that it constructs a standard-guided prompt and hands it to the agent as an ordinary single turn. Source collection therefore uses the tools the agent already has. Local directories are read with <code class="language-plaintext highlighter-rouge">read_file</code> and <code class="language-plaintext highlighter-rouge">search_files</code>; online documentation is fetched with <code class="language-plaintext highlighter-rouge">web_extract</code>; workflows carried out together in the current conversation are captured directly from conversation context.</p>

<p><img src="/assets/images/hermes-agent-learn-skills-diagram.png" alt="The full /learn path: from source description through agent tool collection, standard SKILL.md authoring, the write_approval gate, and curator" />
<em>The complete /learn path: starting from a source description, collecting via agent tools, authoring a standard SKILL.md, and passing through the write_approval gate and curator.</em></p>

<p>Four source types are accepted. The following examples are taken verbatim from the official documentation:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code># Local SDK or documentation directory (read via read_file / search_files)
/learn the REST client in ~/projects/acme-sdk, focus on auth + pagination

# Online documentation page (fetched via web_extract)
/learn https://docs.example.com/api/quickstart

# A workflow you just completed with the agent in this conversation
/learn how I just deployed the staging server

# A pasted note or verbally described procedure
/learn filing an expense: open the portal, New &gt; Expense, attach the receipt, submit
</code></pre></div></div>

<p>The agent organizes the collected material according to the “house authoring standard”: descriptions capped at 60 characters, a fixed section order, framing based on Hermes tools, and a rule against inventing commands that do not exist. The resulting <code class="language-plaintext highlighter-rouge">SKILL.md</code> consists of YAML frontmatter and fixed body sections:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nn">---</span>
<span class="na">name</span><span class="pi">:</span> <span class="s">my-skill</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Brief description of what this skill does</span>
<span class="na">version</span><span class="pi">:</span> <span class="s">1.0.0</span>
<span class="na">platforms</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">macos</span><span class="pi">,</span> <span class="nv">linux</span><span class="pi">]</span>
<span class="na">metadata</span><span class="pi">:</span>
  <span class="na">hermes</span><span class="pi">:</span>
    <span class="na">tags</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">python</span><span class="pi">,</span> <span class="nv">automation</span><span class="pi">]</span>
    <span class="na">category</span><span class="pi">:</span> <span class="s">devops</span>
<span class="nn">---</span>

<span class="c1"># Skill Title</span>

<span class="c1">## When to Use</span>
<span class="s">Conditions that trigger this skill.</span>

<span class="c1">## Procedure</span>
<span class="s">1. First step</span>
<span class="s">2. Second step</span>

<span class="c1">## Pitfalls</span>
<span class="pi">-</span> <span class="s">Known failure modes and solutions</span>

<span class="c1">## Verification</span>
<span class="s">How to confirm the skill is working.</span>
</code></pre></div></div>

<p>Storage is handled by the <code class="language-plaintext highlighter-rouge">skill_manage</code> tool. One important safety mechanism is attached here. When <code class="language-plaintext highlighter-rouge">skills.write_approval</code> is enabled, every skill write by the agent is staged to <code class="language-plaintext highlighter-rouge">~/.hermes/pending/skills/</code> instead of being applied immediately. A human can review pending changes with <code class="language-plaintext highlighter-rouge">/skills pending</code>, inspect the full diff with <code class="language-plaintext highlighter-rouge">/skills diff &lt;id&gt;</code>, and then approve or reject. This gate applies equally to skills created in a foreground turn and to skills proposed by the background self-improvement review.</p>

<p>Because there is no separate ingestion engine, <code class="language-plaintext highlighter-rouge">/learn</code> works identically across the CLI, the TUI, messaging gateways, and the dashboard. It does not matter whether the terminal backend is local, Docker, or remote. In the dashboard, a “Learn a skill” button appears on the Skills page and assembles a <code class="language-plaintext highlighter-rouge">/learn</code> request from a directory field, a URL field, and a free-text box.</p>

<p>The official documentation identifies three usage scenarios. First, internal API onboarding: run <code class="language-plaintext highlighter-rouge">/learn</code> against a private documentation URL and it produces a skill covering authentication, pagination, and common calls; new team members then invoke it as a slash command. Second, deployment runbook capture: step through a staging deployment with the agent, then run <code class="language-plaintext highlighter-rouge">/learn how I just deployed the staging server</code> and the procedure becomes repeatable across CLI and chat platforms. Third, bundling repetitive tasks: a skill bundle lets a single slash command load the review, test, and PR skills together.</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># ~/.hermes/skill-bundles/backend-dev.yaml</span>
<span class="na">name</span><span class="pi">:</span> <span class="s">backend-dev</span>
<span class="na">description</span><span class="pi">:</span> <span class="s">Backend feature work - review, test, PR workflow.</span>
<span class="na">skills</span><span class="pi">:</span>
  <span class="pi">-</span> <span class="s">github-code-review</span>
  <span class="pi">-</span> <span class="s">test-driven-development</span>
  <span class="pi">-</span> <span class="s">github-pr-workflow</span>
<span class="na">instruction</span><span class="pi">:</span> <span class="pi">|</span>
  <span class="s">Always start by writing failing tests, then implement.</span>
</code></pre></div></div>

<p>The skill system also offers an opt-out path if you want to start from a clean slate. <code class="language-plaintext highlighter-rouge">hermes skills opt-out</code> stops seeding bundle skills, and <code class="language-plaintext highlighter-rouge">hermes skills opt-in --sync</code> restores them. The <code class="language-plaintext highlighter-rouge">platforms</code> field hides incompatible skills on unsupported operating systems, and conditional fields expose a skill only when a specific toolset is present, giving fine-grained control over what surfaces in any given environment.</p>

<h2 id="installation-and-integration">Installation and Integration</h2>

<p>We verified the Hermes Agent installation in our ThakiCloud environment directly. The binary lives at <code class="language-plaintext highlighter-rouge">~/.local/bin/hermes</code> and actually runs on Python from <code class="language-plaintext highlighter-rouge">~/hermes-agent/venv</code>.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes <span class="nt">--version</span>
Hermes Agent v0.16.0 <span class="o">(</span>2026.6.5<span class="o">)</span> · upstream 40cea4d5
Python: 3.11.13
OpenAI SDK: 2.24.0
</code></pre></div></div>

<p>All skills are stored in <code class="language-plaintext highlighter-rouge">~/.hermes/skills/</code>, which is the single source of truth. Because Hermes is compatible with the agentskills.io open standard, you can configure multiple tools to share-scan the same skills folder:</p>

<div class="language-yaml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1"># ~/.hermes/config.yaml</span>
<span class="na">skills</span><span class="pi">:</span>
  <span class="na">external_dirs</span><span class="pi">:</span>
    <span class="pi">-</span> <span class="s">~/.agents/skills</span>
    <span class="pi">-</span> <span class="s">/home/shared/team-skills</span>
    <span class="pi">-</span> <span class="s">${SKILLS_REPO}/skills</span>
</code></pre></div></div>

<p>That <code class="language-plaintext highlighter-rouge">external_dirs</code> setting is the crux of the platform perspective we cover later. We pulled the list of installed skills directly. 78 skills are currently installed, categorized under apple, autonomous-ai-agents, creative, and others:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes skills list
                                Installed Skills
┏━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━┓
┃ Name                ┃ Category             ┃ Source  ┃ Trust   ┃ Status  ┃
┡━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━┩
│ claude-code         │ autonomous-ai-agents │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ architecture-diagram│ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ humanizer           │ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
│ excalidraw          │ creative             │ <span class="nb">builtin</span> │ <span class="nb">builtin</span> │ enabled │
└─────────────────────┴──────────────────────┴─────────┴─────────┴─────────┘
</code></pre></div></div>

<p>Every installed skill automatically becomes a slash command. Typing the name alone - <code class="language-plaintext highlighter-rouge">/excalidraw</code> - loads the skill and the agent asks how it can help; supplying an argument such as <code class="language-plaintext highlighter-rouge">/plan design a rollout for migrating our auth provider</code> processes the request immediately. The skill management subcommands are extensive:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes skills <span class="nt">--help</span>
<span class="o">{</span>browse, search, <span class="nb">install</span>, inspect, list, check, update, audit,
 uninstall, reset, opt-out, opt-in, repair-official, publish,
 snapshot, tap, config<span class="o">}</span>
</code></pre></div></div>

<p>A mechanism to prevent unbounded skill accumulation is also built in. The curator runs a secondary model in the background on a schedule, reviewing agent-created skills to consolidate duplicates and archive stale ones. Bundle skills and hub-installed skills are never touched; archives are recoverable and there is no automatic deletion:</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>~/.local/bin/hermes curator <span class="nt">--help</span>
<span class="o">{</span>status, run, pause, resume, pin, unpin, restore,
 list-archived, archive, prune, backup, rollback<span class="o">}</span>
</code></pre></div></div>

<p>Progressive disclosure for token cost management is confirmed as well. At level 0, an index of roughly 3,000 tokens containing only name and description loads first; the full content loads only when the work actually requires it:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Level 0: skills_list()           -&gt; [{name, description, category}, ...]   (~3k tokens)
Level 1: skill_view(name)        -&gt; Full content + metadata
Level 2: skill_view(name, path)  -&gt; Specific reference file
</code></pre></div></div>

<h2 id="what-we-actually-tested">What We Actually Tested</h2>

<p>There is a limitation that must be stated honestly here. The version installed at ThakiCloud is <code class="language-plaintext highlighter-rouge">v0.16.0 (2026.6.5)</code>, which predates the June 24, 2026 release that introduced <code class="language-plaintext highlighter-rouge">/learn</code>. Because the binary reports “Up to date” based on the local git checkout, upstream new releases are not applied automatically. We therefore could not run <code class="language-plaintext highlighter-rouge">/learn</code> in our environment and capture output metrics. The constraint encountered during reproduction attempts: the installed version predates <code class="language-plaintext highlighter-rouge">/learn</code>, so the command itself is absent.</p>

<p>What we could verify, we measured directly. The skill system skeleton that <code class="language-plaintext highlighter-rouge">/learn</code> writes into is fully operational in our environment. All 78 skills surface as slash commands, and the <code class="language-plaintext highlighter-rouge">skill_manage</code>-based agent self-authoring path, the <code class="language-plaintext highlighter-rouge">skills.write_approval</code> staging gate, the curator background cleanup, and progressive disclosure indexing are all present in the installed version. In other words, what <code class="language-plaintext highlighter-rouge">/learn</code> adds is a thin entry point that, given a source description, constructs a standard prompt and feeds it into the existing authoring pipeline. The heavy machinery underneath has already been verified.</p>

<p>The behavior of <code class="language-plaintext highlighter-rouge">/learn</code> itself was cross-verified against the official documentation and the June 24, 2026 MarkTechPost report. Both sources describe the same facts: four source types, <code class="language-plaintext highlighter-rouge">read_file</code> / <code class="language-plaintext highlighter-rouge">search_files</code> / <code class="language-plaintext highlighter-rouge">web_extract</code> as collection tools, a 60-character description cap with fixed section order, <code class="language-plaintext highlighter-rouge">skill_manage</code> storage, and the <code class="language-plaintext highlighter-rouge">write_approval</code> gate. Rather than fabricate numbers, we clearly delineate what has been verified and what has not.</p>

<p>Updating to the upstream release would allow us to run <code class="language-plaintext highlighter-rouge">/learn</code> directly and measure output quality. However, that update could affect the running multi-tenant environment, so the safe path is to verify first in an isolated profile before rolling it in. We plan to capture actual <code class="language-plaintext highlighter-rouge">/learn</code> output in a follow-up post.</p>

<h2 id="implications-for-thakiclouds-kubernetes-aiml-saas-platform">Implications for ThakiCloud’s Kubernetes AI/ML SaaS Platform</h2>

<p><code class="language-plaintext highlighter-rouge">/learn</code> is interesting not simply because it is convenient, but because it directly addresses three problems that a multi-tenant agent platform has to solve.</p>

<p>The first is the cost of capturing domain knowledge. Every customer has different deployment runbooks, internal APIs, and incident response procedures. Having a human translate each of these into a <code class="language-plaintext highlighter-rouge">SKILL.md</code> slows onboarding. <code class="language-plaintext highlighter-rouge">/learn</code> turns “convert this work we just finished into a skill” into a single command that immediately converts procedural memory into a reusable asset. A staging deployment a operator walks through once becomes a repeatable command available across both CLI and chat.</p>

<p>The second is governance. ThakiCloud serves customers who require on-premises and self-hosted deployments, as well as environments that must meet National Intelligence Service security requirements. An agent that can write its own skills is powerful, but it also introduces the risk of unreviewed procedures accumulating automatically. The <code class="language-plaintext highlighter-rouge">write_approval</code> gate, which stages every skill write to <code class="language-plaintext highlighter-rouge">~/.hermes/pending/skills/</code>, persists across restarts, and lets a human inspect the full diff via <code class="language-plaintext highlighter-rouge">/skills diff</code> before applying it, is well-suited to these environments. The design deliberately separates the benefits of automation from the control of human review.</p>

<p>The third is cross-tool skill sharing. Hermes’s <code class="language-plaintext highlighter-rouge">external_dirs</code> configuration allows multiple AI tools to share the same skills folder. ThakiCloud already operates more than 1,000 skills internally using the same agentskills.io standard. Connecting Hermes to that shared directory means a skill authored in one place works across Claude Code, Cursor, and Hermes without duplication. This is the practical implementation of Thin Harness, Fat Skills - the principle that capabilities accumulate in skills rather than in the harness - which is how you build assets that compound in value even as harnesses change.</p>

<p>The roughly 3,000-token progressive disclosure index also matters from a serving cost perspective. Even as the skill count grows into the hundreds, only the index enters the context on every turn; full content loads on demand. For a team running multi-tenant vLLM serving and managing per-token costs, the pattern of decoupling skill count from context cost is worth adopting directly.</p>

<h2 id="limitations-and-counter-arguments">Limitations and Counter-Arguments</h2>

<p>The most significant limitation is that a human still has to review the output. <code class="language-plaintext highlighter-rouge">/learn</code> has a rule against inventing commands that do not exist, but the possibility that a small model misjudges what it has learned remains. The official documentation acknowledges this and recommends enabling <code class="language-plaintext highlighter-rouge">write_approval</code> when using a smaller model or in security-sensitive environments. In other words, <code class="language-plaintext highlighter-rouge">/learn</code> eliminates authoring cost but does not eliminate review cost. In fact, because skill creation becomes easier, the absence of a review gate and curator cleanup could accelerate the accumulation of low-quality skills.</p>

<p>Second, the trustworthiness of the source determines the trustworthiness of the output. If a document fetched with <code class="language-plaintext highlighter-rouge">web_extract</code> is inaccurate or outdated, the skill built on top of it inherits the same errors. The convenience of creating a skill from a single URL transfers the responsibility for source verification to the user.</p>

<p>Third, the clear gap in this verification is that our installed version predates <code class="language-plaintext highlighter-rouge">/learn</code>, so we could not measure actual output. The behavior is cross-verified through official documentation and press coverage, but metrics such as output quality, authoring time, and standard-compliance rate were not captured directly. We will obtain those numbers by running the upstream version in an isolated profile and publish them in a follow-up post.</p>

<p>In summary, <code class="language-plaintext highlighter-rouge">/learn</code> substantially reduces the friction of creating skills while moving the natural review step that friction used to provide into an explicit gate and a curator. For teams operating multi-tenant agent platforms, it reads more accurately as a governance design choice than as a convenience feature.</p>

<h2 id="sources">Sources</h2>

<ul>
  <li>Hermes Agent official documentation, Skills System: <a href="https://hermes-agent.nousresearch.com/docs/user-guide/features/skills">https://hermes-agent.nousresearch.com/docs/user-guide/features/skills</a></li>
  <li>MarkTechPost, “Nous Research Adds /learn to Hermes Agent’s Skills System” (2026-06-24): <a href="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/">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/</a></li>
  <li>NousResearch/hermes-agent (GitHub): <a href="https://github.com/NousResearch/hermes-agent">https://github.com/NousResearch/hermes-agent</a></li>
  <li>Original tweet (demo video, tonbistudio): <a href="https://x.com/hjguyhan/status/2070135061429854577">https://x.com/hjguyhan/status/2070135061429854577</a></li>
</ul>]]></content><author><name>{&quot;name&quot;=&gt;nil, &quot;avatar&quot;=&gt;nil, &quot;bio&quot;=&gt;nil, &quot;location&quot;=&gt;&quot;Seoul, Korea&quot;, &quot;email&quot;=&gt;&quot;info@thakicloud.co.kr&quot;, &quot;uri&quot;=&gt;nil, &quot;home&quot;=&gt;nil, &quot;links&quot;=&gt;[{&quot;label&quot;=&gt;&quot;Website&quot;, &quot;icon&quot;=&gt;&quot;fas fa-fw fa-link&quot;, &quot;url&quot;=&gt;&quot;https://thakicloud.co.kr&quot;}, {&quot;label&quot;=&gt;&quot;GitHub&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-github&quot;, &quot;url&quot;=&gt;&quot;https://github.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="technique" /><category term="ai-coding" /><category term="hermes-agent" /><category term="agent-skills" /><category term="skill-authoring" /><category term="agentskills-io" /><category term="platform-engineering" /><summary type="html"><![CDATA[The /learn command that Nous Research added to Hermes Agent can point at a directory, a URL, a just-finished conversation, or a pasted note and turn it into a reusable skill - no hand-written SKILL.md required. We ran the installed Hermes to measure the skill system skeleton directly, and here we break down how /learn works and what it means for ThakiCloud's multi-tenant agent operations on a Kubernetes AI/ML SaaS platform.]]></summary></entry></feed>