<?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-27T18:33:47+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">نظرة داخل slime، إطار التعلّم المعزّز مفتوح المصدر الذي بنى GLM-5.2</title><link href="https://thakicloud.github.io/ar/llmops/glm52-slime-rl-framework/" rel="alternate" type="text/html" title="نظرة داخل slime، إطار التعلّم المعزّز مفتوح المصدر الذي بنى GLM-5.2" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/glm52-slime-rl-framework</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/glm52-slime-rl-framework/"><![CDATA[<p><img src="/assets/images/glm52-slime-rl-framework-hero.png" alt="صورة تجريدية تُظهر عنقود توليد وعنقود تدريب يتبادلان البيانات بشكل غير متزامن عبر مخزن مؤقت مركزي" />
<em>صورة تجسّد تصميم slime للتعلّم المعزّز غير المتزامن، الذي يفصل التوليد عن التدريب لرفع الإنتاجية.</em></p>

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

<p>GLM-5.2، الذي أصدرته Z.ai (المعروفة سابقًا باسم Zhipu AI) في يونيو 2026، نموذج مفتوح الأوزان بسياق يبلغ مليون رمز وبرخصة MIT. لفت الانتباه لمنافسته النماذج التجارية المغلقة في مهام البرمجة ومهام الوكلاء طويلة المدى. لكنّ هذا الإصدار يأتي بشيء يكاد يضاهي أهمية أوزان النموذج نفسها: فقد تم فتح مصدر <strong>slime</strong>، البنية التحتية للتعلّم المعزّز التي شغّلت مرحلة التدريب اللاحق للنموذج، إلى جانبه.</p>

<p>تطلق معظم النماذج الرائدة أوزانها المدرَّبة مسبقًا، لكنها تُبقي خط أنابيب التعلّم المعزّز الذي يحوّل تلك الأوزان إلى وكيل مفيد فعلًا سرّيًا. فالبنية التحتية التي تربط تصميم المكافأة وتوليد الـ rollout وحلقة التدريب هي بالضبط الخبرة الخاصة التي تحدّد جودة النموذج. يفتح slime هذا المجال بأكمله. تذكر Z.ai أن GLM-5.2، بل أيضًا GLM-5.1 وGLM-5 وGLM-4.7 وGLM-4.6 وGLM-4.5، خضعت جميعها للتدريب اللاحق على الإطار نفسه. ومرور إطار واحد عبر عدة إصدارات من فئة الأحدث عالميًا يعني أن هذه بنية تحتية مُثبَتة في الإنتاج، لا شيفرة مختبرية.</p>

<p>تشغّل ThakiCloud منصة SaaS متعددة المستأجرين للذكاء الاصطناعي والتعلّم الآلي قائمة على K8s، فتخدم النماذج وتشغّل الوكلاء عبر بيئات عملاء متنوعة. لذا فإن السؤال “أي نموذج جيد” يهمّنا بقدر السؤال “أي بنية تحتية بنته وتشغّله”. وبوصفه مرجعًا عامًا للجانب الثاني، يستحق slime التمعّن. في هذه التدوينة نعرض بنية slime وفلسفته التصميمية، ونتأمّل دلالاته لجدولة GPU عبر Kueue ولمنظومة الخدمة SGLang/vLLM في منصتنا.</p>

<h2 id="ما-هو-slime">ما هو slime</h2>

<p>slime إطار <strong>للتدريب اللاحق لنماذج اللغة الكبيرة من أجل توسيع التعلّم المعزّز</strong>، بناه فريق THUDM (من سلالة جامعة تسينغهوا / Z.ai). الفكرة الجوهرية بسيطة: Megatron-LM بارع في التدريب، وSGLang بارع في الاستدلال عالي الإنتاجية (الـ rollout)، فلنربط الاثنين في تدفّق بيانات واحد. يكرّر التدريب اللاحق للتعلّم المعزّز بلا نهاية حلقةً قوامها “يولّد النموذج إجابة (rollout)، ثم تُقيَّم الإجابة، ثم تُحدِّث تلك المكافأة النموذج”، ولذا فإن مدى سلاسة ربط محرّك التوليد بمحرّك التدريب هو ما يحدّد الإنتاجية الإجمالية.</p>

<p>يفكّك slime هذه الحلقة إلى ثلاثة مكوّنات.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph ROLLOUT["롤아웃 (SGLang + Router)"]
        SGL["SGLang 추론 엔진&lt;br/&gt;응답 생성"]
        RT["sgl-router&lt;br/&gt;OpenAI 호환 단일 엔드포인트"]
        RW["보상 / verifier&lt;br/&gt;점수 계산"]
    end
    subgraph BUFFER["Data Buffer (브리지)"]
        DB["프롬프트 초기화&lt;br/&gt;커스텀 데이터&lt;br/&gt;롤아웃 생성 전략 관리"]
    end
    subgraph TRAIN["학습 (Megatron-LM)"]
        MG["Megatron 학습 루프&lt;br/&gt;가중치 업데이트"]
    end

    RT --&gt; SGL
    SGL --&gt; RW
    RW --&gt;|"생성 데이터 + 보상 기록"| DB
    DB --&gt;|"학습 배치 공급"| MG
    MG -.-&gt;|"파라미터 동기화"| SGL
</code></pre>

<ul>
  <li><strong>التدريب (Megatron-LM)</strong>: يتولّى عملية التدريب الرئيسية. يقرأ البيانات من Data Buffer لتحديث النموذج، ويزامن المعاملات مع وحدة الـ rollout بعد اكتمال التدريب.</li>
  <li><strong>الـ Rollout (SGLang + Router)</strong>: يولّد بيانات جديدة، تشمل المكافآت ومخرجات الـ verifier، ويكتبها إلى Data Buffer. وهنا يوفّر sgl-router واجهة برمجية متوافقة مع OpenAI لتتفاعل بيئات الوكلاء المعقّدة مع النموذج عبر نقطة وصول HTTP واحدة.</li>
  <li><strong>Data Buffer</strong>: الجسر بين العالمين. يدير تهيئة الموجِّهات (prompts) والبيانات المخصّصة واستراتيجية توليد الـ rollout.</li>
</ul>

<p>تتولّى Ray إدارة الموارد. ونتيجةً لذلك، يمكن التبديل بعَلَم واحد بين وضع تتشارك فيه عمليتا التدريب والـ rollout وحدات GPU نفسها، ووضع يفصلهما على وحدات GPU منفصلة.</p>

<h2 id="وضعا-التشغيل-colocated-وdisaggregated">وضعا التشغيل: colocated وdisaggregated</h2>

<p>أكثر قرارات slime التصميمية عمليةً هو أن الشيفرة نفسها تدعم وضعَي نشر اثنين.</p>

<p><strong>الوضع المتشارك (colocated) / المتزامن</strong> يضع التدريب والـ rollout على مجمّع GPU نفسه. يُفعَّل بعَلَم واحد <code class="language-plaintext highlighter-rouge">--colocate</code>. وهو مناسب لاستخلاص أقصى استفادة من بيئات GPU المحدودة، حيث يتقاسم التوليد والتدريب الموارد نفسها زمنيًا.</p>

<p><strong>الوضع المفصول (disaggregated) / غير المتزامن</strong> يفصل وحدات GPU الخاصة بالتدريب عن تلك الخاصة بالـ rollout. فيمكن للتوليد أن يستمر دون انتظار التدريب، مما يرفع الإنتاجية. و”التعلّم المعزّز غير المتزامن للوكلاء” الذي أبرزه GLM-5.2 يعمل فوق هذا الوضع تحديدًا. ففصل التوليد عن التدريب يقلّص بشدّة زمن خمول GPU في الأحمال التي تكون فيها كل حلقة طويلة وغير منتظمة، مثل التفاعلات متعددة الأدوار ومتعددة الأدوات.</p>

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

<h2 id="التصميم-من-أجل-التعلّم-المعزّز-للوكلاء">التصميم من أجل التعلّم المعزّز للوكلاء</h2>

<p>ثمّة سبب لاستخدام slime في تدريب نماذج الوكلاء مثل GLM-5.x: فهو يتضمّن ميزات موجَّهة مباشرةً لأحمال الوكلاء متعددة الأدوار.</p>

<ul>
  <li><strong>PD Disaggregation</strong>: يفصل مرحلتَي prefill وdecode لأحمال الوكلاء متعددة الأدوار حيث تختلف احتياجات الموارد بين المرحلتين.</li>
  <li><strong>انتماء الجلسة في الـ Router</strong>: يوفّر سياسة توجيه تُبقي الوكيل متعدد الأدوار على الجلسة نفسها، فتستمرّ أدوار الوكيل الواحد المتعدّدة في حالة متّسقة.</li>
  <li><strong>Delta Weight Sync</strong>: في بيئة مفصولة بين التدريب والاستدلال، يُزامَن فرق الأوزان فقط، مما يخفض كلفة الاتصال.</li>
  <li><strong>نقطة وصول واحدة متوافقة مع OpenAI</strong>: بفضل sgl-router، تتفاعل بيئات الوكلاء المعقّدة مع النموذج عبر طلبات HTTP بسيطة. فلا حاجة لحشر شيفرة البيئة داخل إطار التعلّم المعزّز.</li>
</ul>

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

<h2 id="نظرة-عامة-على-التثبيت-والاستخدام">نظرة عامة على التثبيت والاستخدام</h2>

<p>slime متاح على GitHub (<a href="https://github.com/THUDM/slime">THUDM/slime</a>)، ولكونه أصيلًا لـ SGLang فهو يفترض منظومة استدلال SGLang ومنظومة تدريب Megatron-LM. كما نُشر دعم اليوم الأول (Day-0) لوحدات AMD Instinct GPU عبر مدوّنة ROCm، مما يؤكد عمله على مسرّعات خارج NVIDIA.</p>

<p>لكن بصدق، يتطلّب إعادة إنتاج حلقة التدريب اللاحق للتعلّم المعزّز في slime بشكل ذي معنى عنقود GPU متعدّد (عادةً ثمانية مسرّعات من فئة مراكز البيانات أو أكثر) وبيئة تُهيَّأ فيها Megatron وSGLang وRay معًا. لم تُشغّل هذه التدوينة تدريبًا كاملًا للتعلّم المعزّز في صندوق رمل أحادي العقدة لالتقاط الأرقام. لذا لا نقدّم أي أرقام قياس مثل إنتاجية التدريب أو سرعة التقارب، وحالات التحقق الإنتاجية أدناه مبنيّة على مصادر أوّلية منشورة. وعدم اختلاق أرقام أداء اعتباطية مبدأ من مبادئ مدوّنتنا.</p>

<p>من الناحية البنيوية، الأسطح التي يلمسها المشغّل واضحة. فأنت تحدّد أسلوب النشر بعَلَم وضعٍ مثل <code class="language-plaintext highlighter-rouge">--colocate</code>، وتركّب استراتيجية الـ rollout الخاصة بمجالك عبر واجهة توليد البيانات المخصّصة في Data Buffer، وتربط بيئات الوكلاء بنقطة وصول sgl-router. ولهذا يؤكّد الإطار على المرونة: فلأن واجهة الـ rollout قابلة للتخصيص بالكامل، يمكن تهيئة كل شيء على الهيكل نفسه، من خوارزميات التعلّم المعزّز العامة إلى تدريب الوكلاء المتخصّص بمجال بعينه.</p>

<h2 id="التحقق-عبر-glm-5x">التحقق عبر GLM-5.x</h2>

<p>يُعدّ slime من أكثر أطر التدريب اللاحق المفتوحة للتعلّم المعزّز اختبارًا في الميدان. فقد مرّت عدة إصدارات من فئة الأحدث عالميًا (GLM-5.2 وGLM-5.1 وGLM-5 وGLM-4.7 وGLM-4.6 وGLM-4.5) عبر حلقة تدريبه الكاملة. وذكر GLM-5.2 أنه دُرِّب لاحقًا بخوارزمية جديدة للتعلّم المعزّز غير المتزامن للوكلاء تتعلّم من التفاعلات طويلة المدى متعددة الأدوات، فوق بنية تحتية تفصل التوليد عن التدريب. وقد ذُكر أن التدريب اللاحق الكامل لـ GLM-5.2 اكتمل في نحو يومين، لكننا نُبقي رقم المدّة هذا بوصفه [تقديريًا] لأننا لم نتمكّن من التحقق المتقاطع منه عبر وثائق رسمية أوّلية.</p>

<p>الجوهر ليس الرقم بل قابلية إعادة الإنتاج. فبفتح أوزان النموذج (MIT) وإطار التدريب معًا، تستطيع مؤسسة تملك حوسبة كافية أن تعيد تتبّع وصفة التدريب اللاحق لـ GLM-5.2 على بيانات مجالها. وهذه رافعة تنفرد بها المنظومة المفتوحة، يستحيل بلوغها بالنماذج المغلقة.</p>

<h2 id="دلالات-لمنصة-thakicloud-القائمة-على-k8s-للذكاء-الاصطناعي-والتعلّم-الآلي">دلالات لمنصة ThakiCloud القائمة على K8s للذكاء الاصطناعي والتعلّم الآلي</h2>

<p>من منظور منصتنا، يلامس slime عدّة خيوط.</p>

<p>أولًا، <strong>اتساق جدولة الموارد</strong>. فالطريقة التي يبدّل بها slime بين colocated وdisaggregated عبر Ray تتناغم جيدًا مع كيفية وضعنا أحمال GPU في طوابير وبوّابات عبر Kueue. فالتدريب على التعلّم المعزّز يتطلّب في آنٍ واحد حملين مختلفي الطبيعة: الـ rollout (حمل استدلال) والتدريب (حمل انتشار عكسي). وفي عنقود متعدد المستأجرين، تكون كيفية وضع هذين الحملين سؤالًا مباشرًا عن استغلال GPU والكلفة. ويفصل الوضع المفصول الـ rollout عن التدريب إلى مهامّ متمايزة، مانحًا Kueue مجالًا لجدولة كلٍّ منهما باستقلال.</p>

<p>ثانيًا، <strong>تشارك منظومة الخدمة</strong>. فكون محرّك الـ rollout في slime هو SGLang، وكوننا نتعامل مع عائلة SGLang/vLLM في خدمة الاستدلال، يعني إمكان إعادة استخدام الخبرة التشغيلية. فتحسينات الاستدلال السريع للـ rollout (التجميع المستمر وإدارة ذاكرة KV المؤقتة) تتداخل جوهريًا مع تحسين الخدمة الإنتاجية. وعندما تتشارك بنية التدريب وبنية الخدمة محرّك الاستدلال نفسه، ينتقل الضبط المكتسب في جانب إلى الآخر.</p>

<p>ثالثًا، <strong>اقتصاديات الضبط الدقيق لوكلاء المجال</strong>. فلمنصة مثل منصتنا تشغّل الوكلاء عبر بيئات عملاء مختلفة، ينفتح مسار للتدريب اللاحق لنموذج مفتوح من فئة GLM-5.2 على بيانات مجال العميل لبناء وكيل متخصّص. فإذا أتاحت نقطة وصول sgl-router المتوافقة مع OpenAI لبيئة أدوات العميل القائمة أن تتّصل مباشرةً بحلقة التعلّم المعزّز، انخفضت كلفة التكيّف مع المجال بشدّة. ويتّصل مزيج الأوزان المفتوحة مع إطار تدريب مفتوح اتصالًا مباشرًا بنقاط قوّتنا: انخفاض كلفة الخدمة والنشر داخل المنشآت. ويغدو سيناريو الاستضافة الذاتية، حيث لا تغادر البيانات العنقود ويكتمل حتى التدريب اللاحق داخليًا، منتجًا واقعيًا.</p>

<p>بالطبع، هذا أقرب إلى خارطة طريق منه إلى واقع مكتمل. فهو لا يعني أننا نعيد حاليًا تدريب GLM-5.2 بـ slime ونخدمه. لكن كون مكوّنات منظومتنا (K8s وKueue وSGLang) تكاد تطابق المكوّنات التي يفترضها slime يُظهر أن هذا الاتجاه ليس توفيقًا متكلَّفًا.</p>

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

<p>slime ليس حلًّا سحريًا. لنذكر بضعة قيود واقعية بوضوح.</p>

<p>أكبر عائق للدخول هو <strong>الحوسبة والتعقيد التشغيلي</strong>. فإقامة Megatron + SGLang + Ray في آنٍ واحد وتنسيق التدريب/الـ rollout عبر وحدات GPU متعددة ليس أمرًا هيّنًا البتّة. وليست هذه أداةً يستطيع GPU واحد أو فريق صغير تشغيلها باستهتار، والتدريب اللاحق للتعلّم المعزّز نفسه يتطلّب استثمارًا في البنية التحتية يضاهي التدريب المسبق. وثمّة فجوة كبيرة بين “الإطار مفتوح” و”نستطيع تشغيل التدريب اللاحق للتعلّم المعزّز”.</p>

<p>ثانيًا، <strong>صعوبة التدريب اللاحق للتعلّم المعزّز</strong>. فتصميم المكافأة، ومنع اختراق المكافأة، واستقرار التدريب، مصاعب جوهرية لا يحلّها الإطار نيابةً عنك. يوفّر slime البنية التحتية فقط؛ أما دالة المكافأة الجيدة ووصفة التدريب المستقرّة فتبقيان مسؤولية المستخدم. وكون Z.ai أبرزت آلية مكافحة الالتفاف على نحو منفصل هو بذاته دليل على مدى صعوبة هذا المجال.</p>

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

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

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

<ul>
  <li><a href="https://github.com/THUDM/slime">THUDM/slime - GitHub</a></li>
  <li><a href="https://www.lmsys.org/blog/2025-07-09-slime/">slime: An SGLang-Native Post-Training Framework for RL Scaling - LMSYS Org</a></li>
  <li><a href="https://huggingface.co/blog/zai-org/glm-52-blog">GLM-5.2: Built for Long-Horizon Tasks - Hugging Face Blog</a></li>
  <li><a href="https://rocm.blogs.amd.com/artificial-intelligence/slime/README.html">Day-0 Support for the SGLang-Native RL Framework slime on AMD Instinct GPUs - ROCm Blogs</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="slime" /><category term="glm-5.2" /><category term="reinforcement-learning" /><category term="post-training" /><category term="sglang" /><category term="megatron" /><category term="agent-rl" /><category term="open-source" /><summary type="html"><![CDATA[تم فتح المصدر بالكامل لإطار البنية التحتية للتعلّم المعزّز غير المتزامن slime، وهو الذي قاد مرحلة التدريب اللاحق للنموذج مفتوح الأوزان GLM-5.2 من Z.ai بسياق مليون رمز. نحلّل بنيته المكوّنة من ثلاثة أجزاء التي تربط تدريب Megatron بتوليد SGLang عبر Data Buffer، ووضعَي التشغيل colocated وdisaggregated، وتصميمه للتعلّم المعزّز للوكلاء متعدد الأدوار، من منظور منصة ThakiCloud القائمة على K8s وجدولة وحدات GPU عبر Kueue.]]></summary></entry><entry xml:lang="ar"><title type="html">قياس الأثر الاقتصادي للذكاء الاصطناعي بما يتجاوز تحليل السجلّات: قراءة في تقرير Anthropic Economic Index «Cadences»</title><link href="https://thakicloud.github.io/ar/research/anthropic-economic-index-cadences/" rel="alternate" type="text/html" title="قياس الأثر الاقتصادي للذكاء الاصطناعي بما يتجاوز تحليل السجلّات: قراءة في تقرير Anthropic Economic Index «Cadences»" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/research/anthropic-economic-index-cadences</id><content type="html" xml:base="https://thakicloud.github.io/ar/research/anthropic-economic-index-cadences/"><![CDATA[<p><img src="/assets/images/anthropic-economic-index-cadences-hero.png" alt="صورة تجريدية لنبضات ضوئية تتموّج بإيقاع عبر شبكة بيانات خفيفة توحي بالإيقاع اليومي" /></p>

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

<p>ما إن تُدخِل منصّة ذكاء اصطناعي إلى مؤسسة حتى تجد نفسك أمام سؤال واحد: «إذًا، كم ساعدت فعلًا؟». حتى الآن، كان الجواب في الغالب مقاييس النظام: كم عدد استدعاءات الـ API، وكم مهمة عولِجت، وكم ملّي ثانية استغرقت الاستجابة. الأرقام نظيفة، لكنها لا تبلغ ما تريد الإدارة معرفته حقًّا: «ما الذي أنتجته منظمتنا فعليًّا بقدر أكبر؟».</p>

<p>لهذا فإن <a href="https://www.anthropic.com/research/economic-index-june-2026-report">تقرير Economic Index «Cadences»</a> الذي نشرته Anthropic في 26 يونيو 2026 جدير بالاهتمام. فهو ليس تحديثًا روتينيًّا لإحصاءات الاستخدام، بل يُعلن صراحةً أن <strong>طريقة قياس الأثر الاقتصادي للذكاء الاصطناعي نفسها قد تغيّرت</strong>. انطلاقًا من إدراك أن سجلّات المحادثة وحدها لا تكفي لتفسير أثر الذكاء الاصطناعي في العمل، يوسّع التقرير أساس القياس عبر ثلاثة مسارات.</p>

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

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

<p>حلّلت Anthropic استخدام Claude عبر Economic Index منذ 2023. واتّكأت كل التقارير السابقة على <strong>بيانات عيّنة من سبعة أيام</strong>: اقتطاع أسبوع وفحص أنماط الاستخدام داخله. قبل عام، كان معظم استخدام Claude محادثةً بين مستخدم ومساعد، فكانت هذه الطريقة تلتقط صورة معقولة.</p>

<p>لكن مع النمو السريع لـ Claude Code وCowork، تحوّلت حصّة كبيرة من الجلسات إلى مهام وكيلة طويلة الأمد. ولم تعد سجلّات المحادثة تلتقط بالكامل كيف يستخدم الناس الذكاء الاصطناعي. تقول Anthropic إنها أعادت تصميم خط بياناتها في ثلاثة اتجاهات لمواكبة ذلك: رفع معدّل أخذ العيّنات لرؤية الأنماط حتى مستوى الساعة، وإدخال مصنِّف جديد يُعنوِن مخرَج كل محادثة، وتفصيل نتائج المحادثات/Cowork وواجهة 1P API شهريًّا لمزيد من الدقّة.</p>

<p>ويُضاف مسار آخر. تُقرّ Anthropic بأنها افتقرت إلى رؤية الأثر <strong>خارج</strong> جلسات المستخدم، أي كيف يُدرك الناس الذكاء الاصطناعي. لذا تعرض النتائج الأولية لـ <a href="https://www.anthropic.com/research/economic-index-survey-announcement">استبيان المؤشر الاقتصادي</a> الذي أُطلق في أبريل 2026. باختصار، يقوم التقرير على ثلاثة محاور: <strong>الإيقاعات بالساعة</strong>، و<strong>تصنيف المخرجات</strong>، و<strong>استبيان الإدراك</strong>.</p>

<p><img src="/assets/images/anthropic-economic-index-cadences-diagram.png" alt="رسم بياني يوضّح التوسّع من عيّنة سبعة أيام إلى منهجية مختلطة بثلاثة محاور (الإيقاعات بالساعة، تصنيف المخرجات، استبيان الإدراك) متّصلة بإطار قياس العائد لدى ThakiCloud" /></p>

<h2 id="المحور-الأول-الإيقاعات-بالساعة">المحور الأول: الإيقاعات بالساعة</h2>

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

<p>النتائج بديهية وجديدة في آنٍ معًا. يتتبّع استخدام Claude نمط أيام العمل، بينما ترتفع الطلبات الشخصية في عطلة نهاية الأسبوع. وعند النزول ساعةً بساعة يزداد الوضوح: يطلب الناس نصائح النوم غالبًا قرابة الخامسة فجرًا، ويسألون عن الوصفات قرابة السادسة مساءً، وتتجمّع طلبات الأخبار في الصباح. كما تتفاعل الأنماط مع تواريخ بعينها: ارتفعت الطلبات المتعلقة بالضرائب قبيل الموعد النهائي الأمريكي للإقرار الضريبي في 15 أبريل.</p>

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

<h2 id="المحور-الثاني-مصنِّف-المخرجات-artifact">المحور الثاني: مصنِّف المخرجات (Artifact)</h2>

<p>التحوّل الثاني هو تصنيف مخرجات المحادثات. صنّفت Anthropic ما يُنتجه كل من محادثات الدردشة وCowork من <strong>مخرَج (artifact)</strong> ضمن أكثر من 30 فئة: مستند، شرح، مقطع شيفرة، ورقة أكاديمية، وهكذا، أي المخرَج الأساسي الذي أنتجه Claude في تلك المحادثة.</p>

<p>حكم المصنِّف بأن <strong>93% من محادثات Claude تُنتج مخرَجًا</strong>. وأكثر الأنواع شيوعًا هي الشروحات (17%)، والمستندات والتقارير (15%)، والإرشادات (11%). وتمثّل المخرجات الحوارية كالشروحات أو الإرشادات والمخرجات المكتوبة كالمستندات أو العروض نحو الثلث لكلٍّ منها، بينما تمثّل مخرجات الشيفرة والتقنية كالتطبيقات أو السكربتات نحو السدس.</p>

<p>وتتبع ذلك نتيجة ثانية، هي درجة <strong>الاستقلالية (autonomy)</strong>. تقيس Anthropic مقدار ما يُفوَّض إلى Claude من حُكم على مقياس من 1 إلى 5. فالمهام ذات الإجابات المحدّدة سلفًا، كالترجمة أو الحساب، استقلاليتها منخفضة، أما المهام التي تتطلّب الاختيار من بدائل كثيرة، كبناء التطبيقات أو الألعاب أو العروض، فاستقلاليتها مرتفعة.</p>

<p>ويُقاس المخرَج نفسه باستقلالية أعلى حين يُصنع عبر Claude Code. ففي 26 من أصل 31 مخرَجًا معروضًا كانت الاستقلالية أعلى على Claude Code منها على الدردشة أو Cowork، بفارق متوسّط قدره <strong>0.37 نقطة</strong>. وفي السكربتات ومقاطع الشيفرة يتّسع الفارق إلى 0.53 نقطة. ونحو ثلثي هذا الفارق يأتي من تنفيذ المهام نفسها بتفويض أكبر. وتمثّل التدوينات مثالًا جيّدًا: المحادثة الوسيطة على الدردشة/Cowork لإنتاج تدوينة تمرّ بـ 13 جولة من الأخذ والردّ، بينما على Claude Code يفوّض الناس قدرًا أكبر من الحُكم. بعبارة أخرى، يمنح المستخدمون الذكاء الاصطناعي استقلالية أكبر.</p>

<h2 id="المحور-الثالث-استبيان-الإدراك">المحور الثالث: استبيان الإدراك</h2>

<p>المحور الثالث بيانات مستمدّة لا من السجلّات بل بسؤال الناس مباشرةً. أطلقت Anthropic استبيان المؤشر الاقتصادي في أبريل 2026، فسألت مستخدمي Claude الفعليين كم من عملهم يستطيع الذكاء الاصطناعي إنجازه. وتُربَط إجابات الاستبيان ببيانات الاستخدام عبر طرق تحفظ الخصوصية.</p>

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

<p>والفروق بين الفئات واضحة. مال المشاركون في الدول الأقل دخلًا إلى الشعور بأن الذكاء الاصطناعي قادر على استبدال قدرٍ أكبر من عملهم. وتستشهد Anthropic بأبحاث سابقة تُظهر أن هذه الدول تميل إلى استخدام Claude بطرق أكثر أتمتة. كما تظهر فروق بحسب الخبرة: وضع أصحاب الخبرة 15 عامًا فأكثر حصّة المهام التي يستطيع الذكاء الاصطناعي إنجازها أدنى بنحو 10 نقاط مئوية من حديثي العهد في عامهم الأول، مع تفسير أن ذوي الخبرة راكموا خبرة ضمنية مرتبطة بالسياق يصعب على الذكاء الاصطناعي محاكاتها. وذكر المشاركون أن الحُكم والوعي بالسياق والاستدلال الموقفي والأبعاد العلائقية لبناء الثقة وإدارة الناس أمور لا يستطيع الذكاء الاصطناعي القيام بها. وتركّز القلق من الإحلال لدى العاملين في بداية مسارهم المهني وذوي الأجور المنخفضة.</p>

<h2 id="دلالات-لمنصّة-thakicloud-للذكاء-الاصطناعيالتعلّم-الآلي-كخدمة-على-k8s">دلالات لمنصّة ThakiCloud للذكاء الاصطناعي/التعلّم الآلي كخدمة على K8s</h2>

<p>ما يقدّمه هذا التقرير لـ ThakiCloud لا يكمن في ميزة بل في <strong>إطار قياس</strong>. ينطلق نهج Anthropic من فرضية أن «السجلّات وحدها لا تكفي لتفسير قيمة الذكاء الاصطناعي»، وهو منظور يمكننا تطبيقه مباشرةً كمشغّل منصّة ذكاء اصطناعي للمؤسسات.</p>

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

<p>هذه الأسئلة قابلة للقياس على بنيتنا. تتولّى ThakiCloud في مكان واحد جدولة وحدات معالجة الرسوميات القائمة على Kubernetes وKueue، وخدمة vLLM، وتشغيل الوكلاء متعدد المستأجرين. وبإضافة طبقة من مصنِّف المخرجات إلى القياس عن بُعد المنبثق من هذه البنية، يمكننا التقاط متى وبأيّ صورة يُنتج موظفو العميل مخرجات بمشاركة الذكاء الاصطناعي. عندها نشرح أثر الذكاء الاصطناعي لا بعبارة «تحسين الكفاءة» المجرّدة بل بوحدات مخرجات ملموسة. ويمكن أن تصبح ملاحظة ارتفاع مهام الأجور العالية في النوبات الليلية مؤشرًا لما إذا كان الذكاء الاصطناعي يستقرّ كأداة مساعِدة لعمل عالي المهارة في مؤسسات عملائنا أيضًا.</p>

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

<p>في النهاية، اتجاه Anthropic هو التزام بمواصلة صقل كيفية قياس الأثر الاقتصادي للذكاء الاصطناعي. وأحد أقوى ما يميّز ThakiCloud هو دور الشريك الذي يتجاوز توفير منصّة إلى المشاركة في تصميم إطار القياس هذا وتفسير البيانات. والقدرة على قياس عائد الذكاء الاصطناعي لا على مستوى السجلّات بل على مستوى مخرجات العمل وإدراك الموظفين ستكون ميزة تنافسية جوهرية في سوق منصّات الذكاء الاصطناعي للمؤسسات.</p>

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

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

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

<p>أخيرًا، صقل طريقة القياس لا يُكبِّر الأثر بذاته. فالرؤية بدقّة أكبر شيء، وحدوث الشيء بقدر أكبر شيء آخر. قيمة هذا التقرير ليست في خلاصة «أن الذكاء الاصطناعي حلّ محلّ هذا القدر من العمل»، بل في إعادة بناء سؤال «كيف نقيس ذلك الأثر بأمانة أكبر» عبر منهجية مختلطة متعددة الطبقات. وما ينبغي لـ ThakiCloud أخذه ليس الخلاصة بل موقف القياس.</p>

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

<ul>
  <li>Anthropic، <a href="https://www.anthropic.com/research/economic-index-june-2026-report">“Anthropic Economic Index report: Cadences”</a> (2026-06-26)</li>
  <li>Anthropic، <a href="https://www.anthropic.com/research/economic-index-survey-announcement">“Anthropic Economic Index Survey”</a> (2026-04)</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="research" /><category term="anthropic" /><category term="economic-index" /><category term="ai-impact" /><category term="measurement" /><category term="telemetry" /><category term="survey" /><category term="enterprise-ai" /><summary type="html"><![CDATA[يتخلّى تقرير Anthropic Economic Index «Cadences» (26 يونيو 2026) عن عيّنات الأيام السبعة لصالح قياس مستمر بالساعة، ثم يجمع مصنِّفًا للمخرجات مع بيانات استبيان لرفع قياس أثر الذكاء الاصطناعي من سجلّات المحادثة إلى منهجية مختلطة متعددة الطبقات. وإليكم كيف يمكن لـ ThakiCloud إعادة التفكير في عائد منصّات الذكاء الاصطناعي للمؤسسات.]]></summary></entry><entry xml:lang="ar"><title type="html">قرأنا الخريطة الكاملة لبنية مشروع Claude Code وقسنا مستودعنا الفعلي عليها</title><link href="https://thakicloud.github.io/ar/technique/claude-code-project-anatomy-complete-map/" rel="alternate" type="text/html" title="قرأنا الخريطة الكاملة لبنية مشروع Claude Code وقسنا مستودعنا الفعلي عليها" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/technique/claude-code-project-anatomy-complete-map</id><content type="html" xml:base="https://thakicloud.github.io/ar/technique/claude-code-project-anatomy-complete-map/"><![CDATA[<p><img src="/assets/images/claude-code-project-anatomy-complete-map-hero.png" alt="بنية تجريدية لخطوط ضوئية متعددة تتقارب نحو عقدة مركزية ثم تتفرع من جديد بشكل هرمي" />
<em>صورة تجريدية لبنية مشروع Claude Code التي تتشعب من دماغ مشروع واحد إلى قواعد ومهارات ووكلاء وذاكرة.</em></p>

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

<p>يكفي أن تعمل مع Claude Code فترة من الوقت حتى تتحوّل مجلدات <code class="language-plaintext highlighter-rouge">.claude</code> إلى فوضى من الأشياء المتناثرة. محتوى يستحق أن يكون قاعدة ينتهي في <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>، ومعرفة متخصصة لا تُحتاج إلا أحياناً تُدفن في قواعد مُحمَّلة دائماً، ومسارات بيئة شخصية تتسلل إلى ملفات مشتركة بين أعضاء الفريق. حين تضبب الحدود بين ما يحتويه كل مكوّن، يصبح المستخدم يدفع رموزاً توكن لسياق لا فائدة منه في كل جلسة.</p>

<p>في يونيو 2026، أثارت مقالة Prakash Bhandari بعنوان “Claude Code Project Structure: The Complete Map” اهتمام مجتمع المطورين. ترسم المقالة خريطة وحيدة لخمسة أنظمة فرعية تتحكم فيها مجلدات <code class="language-plaintext highlighter-rouge">.claude</code>: التعليمات (CLAUDE.md وrules)، وتدفقات العمل (skills وcommands)، والخبراء (agents)، والصلاحيات (settings.json)، والذاكرة (memory). إذ تُشغّل ThakiCloud مئات المهارات وعشرات الوكلاء على هذه البنية بالفعل، لم نكتفِ بقراءة المقالة بل قسنا مستودعنا عليها مباشرةً.</p>

<p>هذا المقال هو سجلّ تلك المقارنة الميدانية. نُحدد حدود دور كل مكوّن، ونقيس الأرقام الفعلية لمكوّنات مستودع <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code>، ثم نناقش لماذا تتخطى هذه البنية مجرد التنظيم حين يتعلق الأمر بتشغيل منصة SaaS متعددة المستأجرين لـ AI/ML على Kubernetes.</p>

<h2 id="ما-هي-بنية-مشروع-claude-code">ما هي بنية مشروع Claude Code؟</h2>

<p>الفكرة الجوهرية بسيطة. يقرأ Claude Code التكوين من موضعين: مجلد <code class="language-plaintext highlighter-rouge">.claude</code> في دليل المشروع، ومجلد <code class="language-plaintext highlighter-rouge">~/.claude</code> في الدليل الرئيسي. يُودَع ملفات المشروع في git لمشاركتها بين أعضاء الفريق، بينما تنطبق ملفات الدليل الرئيسي على جميع المشاريع كإعدادات شخصية. يستقر كل مكوّن في موضعه وفق هذين المسارين.</p>

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

<pre><code class="language-mermaid">flowchart TB
    ROOT["프로젝트 루트"]
    ROOT --&gt; BRAIN["CLAUDE.md&lt;br/&gt;프로젝트 브레인&lt;br/&gt;(매 세션 자동 로드)"]
    ROOT --&gt; LOCAL["CLAUDE.local.md&lt;br/&gt;개인 오버라이드&lt;br/&gt;(gitignore)"]
    ROOT --&gt; IGNORE[".claudeignore&lt;br/&gt;컨텍스트 경계"]
    ROOT --&gt; MCP[".mcp.json&lt;br/&gt;외부 도구 연결"]
    ROOT --&gt; DOTC[".claude/"]
    DOTC --&gt; SET["settings.json&lt;br/&gt;권한·훅·환경변수"]
    DOTC --&gt; RULES["rules/&lt;br/&gt;상시 규칙&lt;br/&gt;(매 턴 로드)"]
    DOTC --&gt; SKILLS["skills/&lt;br/&gt;온디맨드 전문지식&lt;br/&gt;(요청 시 로드)"]
    DOTC --&gt; AGENTS["agents/&lt;br/&gt;서브에이전트 정의"]
    DOTC --&gt; MEM["agent-memory/&lt;br/&gt;에이전트가 학습한 지식"]
    DOTC --&gt; WT["worktrees/&lt;br/&gt;병렬 격리"]
</code></pre>
<p><em>مخطط بنية مشروع Claude Code مُرتَّب وفق توقيت التحميل في السياق.</em></p>

<h2 id="حدود-دور-كل-مكوّن">حدود دور كل مكوّن</h2>

<p>القيمة الحقيقية للخريطة تتجلى في الإجابة عن: ما الذي يذهب إلى أين؟ فيما يلي ملخص مسؤولية كل مكوّن مقروناً بطريقة تطبيقنا الفعلي.</p>

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

<p><strong>CLAUDE.local.md هو تجاوز الإعدادات الشخصية.</strong> يشارك CLAUDE.md تنسيقه ذاته لكنه لا يدخل git أبداً. المسارات المحلية للبيئة، ومختصرات تصحيح الأخطاء، والتفضيلات الشخصية، وخصوصيات جهازك: هذه هي ما يذهب هنا. يجوز أن يختلف بين الزملاء، وهو الصمام الأماني الذي يُبقي <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> المشترك نظيفاً.</p>

<p><strong>.claudeignore هو حدود السياق.</strong> يستخدم صياغة <code class="language-plaintext highlighter-rouge">.gitignore</code> ذاتها ليقيّد نطاق قراءة Claude. بدونه، يستنزف <code class="language-plaintext highlighter-rouge">node_modules</code> وملفات الترحيل المولّدة وتبعيات البائع والتركيبات الضخمة السياقَ. في مستودعات الأحادي الكبيرة يصبح هذا الملف شرطاً لا خياراً.</p>

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

<p><strong>skills هي المعرفة المتخصصة عند الطلب.</strong> لا تُحمَّل إلا حين تُفعّلها طلبٌ ما. وصفات العمل المتخصصة وخطوط أنابيب المجالات والمهام المتكررة: هذا مكانها. السؤال الفاصل بين CLAUDE.md وskills: هل يُحتاج هذا دائماً أم أحياناً؟</p>

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

<p><strong>agent-memory هي المعرفة التي اكتسبها الوكيل بنفسه.</strong> هنا يكمن الفرق الجوهري عن CLAUDE.md: الأخير يحتوي ما أخبرته أنت به، أما agent-memory فتحتوي ما تعلّمه الوكيل من التجربة. الوكلاء طويلو المدى يراكمون الأنماط المتكررة والأخطاء والاتفاقيات غير الموثّقة.</p>

<h2 id="أين-تضع-المعرفة-الجديدة">أين تضع المعرفة الجديدة؟</h2>

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

<pre><code class="language-mermaid">flowchart TB
    START["새 지식·규칙·워크플로 추가"]
    START --&gt; Q1{"항상 적용 +&lt;br/&gt;전체 팀 공유?"}
    Q1 --&gt;|예| CMD["CLAUDE.md (짧게)&lt;br/&gt;또는 .claude/rules/"]
    Q1 --&gt;|아니오| Q2{"가끔만 필요한&lt;br/&gt;전문 워크플로?"}
    Q2 --&gt;|예| SK[".claude/skills/"]
    Q2 --&gt;|아니오| Q3{"독립 역할·&lt;br/&gt;도구 조합?"}
    Q3 --&gt;|예| AG[".claude/agents/"]
    Q3 --&gt;|아니오| Q4{"개인 환경&lt;br/&gt;특이사항?"}
    Q4 --&gt;|예| LO["CLAUDE.local.md&lt;br/&gt;(gitignore)"]
    Q4 --&gt;|아니오| Q5{"에이전트가&lt;br/&gt;경험으로 배운 것?"}
    Q5 --&gt;|예| ME[".claude/agent-memory/"]
    Q5 --&gt;|아니오| PL["plugins/&lt;br/&gt;(여러 프로젝트 배포)"]
</code></pre>
<p><em>شجرة القرار لتحديد موضع أي معرفة جديدة: هل تُحتاج دائماً؟ هل تُحتاج أحياناً؟ من صنعها؟</em></p>

<p>الأخطاء الشائعة واضحة أيضاً. حشو المعرفة التي “تُحتاج أحياناً” في <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> يعني هدر توكن في كل جلسة. مستودع أحادي بلا <code class="language-plaintext highlighter-rouge">.claudeignore</code> يستنزف السياق. إيداع <code class="language-plaintext highlighter-rouge">CLAUDE.local.md</code> في git يكشف البيانات الشخصية والمسارات. تفعيل أكثر من 10 خوادم MCP دائماً يهدر نحو 10 آلاف توكن بلا استخدام.</p>

<h2 id="قياس-مستودع-thakicloud-على-هذه-الخريطة">قياس مستودع ThakiCloud على هذه الخريطة</h2>

<p>بعد قراءة الخريطة، قسنا مستودعنا عليها فعلاً. هذه هي نتائج قياس مجلد <code class="language-plaintext highlighter-rouge">.claude</code> في مستودع <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code>:</p>

<table>
  <thead>
    <tr>
      <th>المكوّن</th>
      <th>القياس الفعلي</th>
      <th>توقيت التحميل</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>CLAUDE.md</td>
      <td>94 سطراً</td>
      <td>تلقائي مع كل جلسة</td>
    </tr>
    <tr>
      <td>.claude/rules</td>
      <td>40 ملفاً</td>
      <td>تلقائي مع كل دورة</td>
    </tr>
    <tr>
      <td>.claude/skills</td>
      <td>1655 مجلداً</td>
      <td>عند الطلب</td>
    </tr>
    <tr>
      <td>.claude/agents</td>
      <td>54 تعريفاً</td>
      <td>عند الاستدعاء</td>
    </tr>
    <tr>
      <td>.claude/hooks</td>
      <td>15 ملفاً</td>
      <td>عند وقوع الحدث</td>
    </tr>
    <tr>
      <td>.claudeignore</td>
      <td>موجود (442 بايت)</td>
      <td>حدود دائمة</td>
    </tr>
    <tr>
      <td>.mcp.json</td>
      <td>موجود (166 بايت)</td>
      <td>عند اتصال الخادم</td>
    </tr>
    <tr>
      <td>.claude/settings.json</td>
      <td>موجود (5KB)</td>
      <td>مع كل جلسة</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/claude-code-project-anatomy-complete-map-results.png" alt="رسم بياني شريطي يجمع مكوّنات .claude في مستودع ThakiCloud مُرتَّبةً حسب توقيت التحميل" />
<em>40 قاعدة و94 سطراً من CLAUDE.md هي تكلفة دائمة تدخل السياق مع كل دورة، بينما 1655 مهارة و54 وكيلاً أصول يدخلون السياق عند الطلب فحسب.</em></p>

<p>هذه الأرقام تُثبت جوهر الخريطة بنفسها. لو أُدرجت الـ 1655 مهارة كلها في <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> أو في القواعد، لتجاوزت كل جلسة حدّ السياق فوراً. في الواقع، تُحمَّل هذه المهارات الـ 1655 عند الطلب فحسب، ويُضيّق موجّه مستقل المرشحين في كل دورة. في المقابل، تُضبط تكلفة الحضور الدائم إرادياً عند 40 قاعدة، وهو نتاج ضبط نظافة يستهدف أقل من 2KB لكل ملف قاعدة مع تخفيض أي ملف يتجاوز ذلك إلى مهارة.</p>

<p>اللافت أننا حين انتهينا من قراءة مصدر هذا المقال، استخلصناه مباشرةً في ملف قاعدة باسم <code class="language-plaintext highlighter-rouge">claude-code-project-anatomy.md</code> وأدرجناه في المستودع. أي أن “خريطة بنية المشروع” ذاتها اجتازت شجرة القرار لتستقر قاعدةً دائمة الحضور. الخريطة وضعت نفسها على الخريطة.</p>

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

<p>يتجاوز هذا النظام مجرد التنظيم لأن تكلفة السياق هي تكلفة تشغيل فعلية. تُشغّل ThakiCloud وكلاء متعددي المستأجرين على Kubernetes، وتجدول موارد GPU عبر Kueue، وتخدم النماذج عبر vLLM. في هذه البيئة، تستهلك كل جلسة وكيل توكناً، وكل توكن يترجم إلى تكلفة استنتاج. تقليص السياق الدائم ينعكس مباشرةً على الدقة والتكلفة الوحدوية.</p>

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

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

<h2 id="قيود-وتحفظات">قيود وتحفظات</h2>

<p>هذه الخريطة ليست حلاً مطلقاً. إليك تحفظات صريحة.</p>

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

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

<p>ثالثاً، هذه البنية مُخصصة لـ Claude Code. الانتقال إلى بيئة تنفيذ وكلاء أخرى يغيّر اتفاقيات الدليل وآليات التحميل. لذا من الأجدر صياغة المعرفة ذاتها بحيادية تجاه بيئة التنفيذ، مع إبقاء التوصيل بالبيئة رفيعاً قدر الإمكان.</p>

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

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

<ul>
  <li><a href="https://www.prakashbhandari.com.np/posts/claude-code-project-structure-2026/">Claude Code Project Structure Explained: The Complete 2026 Guide</a> (Prakash Bhandari)</li>
  <li><a href="https://code.claude.com/docs/en/claude-directory">Explore the .claude directory (التوثيق الرسمي لـ Claude Code)</a></li>
  <li>المستودع المقيس: مجلد <code class="language-plaintext highlighter-rouge">.claude</code> في مستودع ThakiCloud <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> (القياس بتاريخ 2026-06-27)</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="claude-code" /><category term="project-structure" /><category term="context-engineering" /><category term="agent-skills" /><category term="platform-engineering" /><summary type="html"><![CDATA[من CLAUDE.md وقواعد rules وskills وagents وhooks حتى MCP، قرأنا الخريطة الكاملة التي ترسم حدود دور كل مكوّن في مشروع Claude Code، ثم قسنا مستودعنا الحقيقي (40 قاعدة، 1655 مهارة، 54 وكيلاً) مباشرةً على تلك الخريطة لنرى ما يتطابق وما يغيب. نستعرض شجرة قرار التوضيع ومنظور تشغيل منصة SaaS لـ AI/ML على Kubernetes.]]></summary></entry><entry xml:lang="en"><title type="html">Inside slime, the Open-Source RL Framework That Built GLM-5.2</title><link href="https://thakicloud.github.io/en/llmops/glm52-slime-rl-framework/" rel="alternate" type="text/html" title="Inside slime, the Open-Source RL Framework That Built GLM-5.2" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/glm52-slime-rl-framework</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/glm52-slime-rl-framework/"><![CDATA[<p><img src="/assets/images/glm52-slime-rl-framework-hero.png" alt="An abstract image depicting a generation cluster and a training cluster exchanging data asynchronously through a central buffer" />
<em>An image evoking slime’s asynchronous RL design, which decouples rollout from training to raise throughput.</em></p>

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

<p>GLM-5.2, released by Z.ai (formerly Zhipu AI) in June 2026, is an open-weight model with a 1M-token context and an MIT license. It drew attention for competing with closed commercial models on coding and long-horizon agentic tasks. But this release ships with something nearly as significant as the model weights themselves: <strong>slime</strong>, the reinforcement-learning infrastructure that powered the model’s post-training, was open-sourced alongside it.</p>

<p>Most frontier models release their pretrained weights but keep private the RL pipeline that turns those weights into a genuinely useful agent. The infrastructure that connects reward design, rollout generation, and the training loop is precisely the kind of proprietary know-how that determines model quality. slime opens this entire territory. Z.ai states that not only GLM-5.2 but also GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, and GLM-4.5 went through post-training on the same framework. A single framework passing through multiple SOTA-class releases means this is production-validated infrastructure, not lab code.</p>

<p>ThakiCloud runs a K8s-based multi-tenant AI/ML SaaS platform, serving models and running agents across diverse customer environments. So for us, “which model is good” matters as much as “what infrastructure built and operates it.” As a public reference for the latter, slime is well worth examining. In this post we lay out slime’s structure and design philosophy, and consider what it implies for our platform’s Kueue GPU scheduling and SGLang/vLLM serving stack.</p>

<h2 id="what-is-slime">What Is slime</h2>

<p>slime is an <strong>LLM post-training framework for RL scaling</strong> built by THUDM (the Tsinghua / Z.ai lineage). The core idea is simple. Megatron-LM is good at training and SGLang is good at high-throughput inference (rollout), so let us bind the two into a single data flow. RL post-training endlessly repeats a loop of “the model generates an answer (rollout), the answer is scored, and that reward updates the model,” so how smoothly you connect the generation engine and the training engine determines overall throughput.</p>

<p>slime decomposes this loop into three components.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph ROLLOUT["롤아웃 (SGLang + Router)"]
        SGL["SGLang 추론 엔진&lt;br/&gt;응답 생성"]
        RT["sgl-router&lt;br/&gt;OpenAI 호환 단일 엔드포인트"]
        RW["보상 / verifier&lt;br/&gt;점수 계산"]
    end
    subgraph BUFFER["Data Buffer (브리지)"]
        DB["프롬프트 초기화&lt;br/&gt;커스텀 데이터&lt;br/&gt;롤아웃 생성 전략 관리"]
    end
    subgraph TRAIN["학습 (Megatron-LM)"]
        MG["Megatron 학습 루프&lt;br/&gt;가중치 업데이트"]
    end

    RT --&gt; SGL
    SGL --&gt; RW
    RW --&gt;|"생성 데이터 + 보상 기록"| DB
    DB --&gt;|"학습 배치 공급"| MG
    MG -.-&gt;|"파라미터 동기화"| SGL
</code></pre>

<ul>
  <li><strong>Training (Megatron-LM)</strong>: Handles the main training process. It reads data from the Data Buffer to update the model, and synchronizes parameters with the rollout module once training completes.</li>
  <li><strong>Rollout (SGLang + Router)</strong>: Generates new data, including rewards and verifier outputs, and writes it to the Data Buffer. Here the sgl-router provides an OpenAI-compatible API so complex agent environments can interact with the model through a single HTTP endpoint.</li>
  <li><strong>Data Buffer</strong>: The bridge between the two worlds. It manages prompt initialization, custom data, and rollout generation strategy.</li>
</ul>

<p>Resource management is handled by Ray. As a result, whether training and rollout sit on the same GPUs or are split across separate GPUs can be toggled with a single flag.</p>

<h2 id="two-execution-modes-colocated-and-disaggregated">Two Execution Modes: Colocated and Disaggregated</h2>

<p>slime’s most practical design decision is that the same code supports two deployment modes.</p>

<p><strong>Colocated / synchronous mode</strong> places training and rollout on the same GPU pool. It is enabled with a single <code class="language-plaintext highlighter-rouge">--colocate</code> flag. It is good for squeezing the most out of constrained GPU environments, with generation and training time-sharing the same resources.</p>

<p><strong>Disaggregated / asynchronous mode</strong> separates training GPUs from rollout GPUs. Generation can keep running without waiting on training, which raises throughput. The “asynchronous agent RL” that GLM-5.2 emphasized runs on top of exactly this mode. Decoupling generation from training sharply reduces GPU idle time on workloads where each episode is long and irregular, such as multi-turn, multi-tool interactions.</p>

<p>This choice matters to operators. With the same framework you can run small experiments cheaply in colocated mode and push throughput in disaggregated mode for large-scale production training, enabling gradual scale-up.</p>

<h2 id="design-for-agent-rl">Design for Agent RL</h2>

<p>There is a reason slime was used to train agentic models like GLM-5.x: it includes features aimed squarely at multi-turn agent workloads.</p>

<ul>
  <li><strong>PD Disaggregation</strong>: Separates prefill and decode for multi-turn and agentic workloads where the two stages have different resource needs.</li>
  <li><strong>Router session affinity</strong>: Provides routing policy so a multi-turn agent keeps the same session, letting the multiple turns of one agent continue in a consistent state.</li>
  <li><strong>Delta Weight Sync</strong>: In a training/inference-disaggregated setup, only the weight delta is synchronized, cutting communication cost.</li>
  <li><strong>A single OpenAI-compatible endpoint</strong>: Thanks to the sgl-router, complex agent environments interact with the model through plain HTTP requests. There is no need to cram environment code inside the RL framework.</li>
</ul>

<p>The last item is especially practical. If you abstract the environment of long-horizon tasks such as code editing, tool use, and multi-step problem solving into OpenAI API calls, you can connect existing agent environments to the RL training loop almost as-is. Z.ai adds an “anti-hacking” mechanism on top to suppress reward hacking, where the model exploits the reward through shortcuts on long-horizon tasks.</p>

<h2 id="installation-and-usage-overview">Installation and Usage Overview</h2>

<p>slime is available on GitHub (<a href="https://github.com/THUDM/slime">THUDM/slime</a>), and being SGLang-native it assumes the SGLang inference stack and the Megatron-LM training stack. Day-0 support for AMD Instinct GPUs has also been published via the ROCm blog, validating operation on accelerators beyond NVIDIA.</p>

<p>To be honest, though, meaningfully reproducing slime’s actual RL post-training loop requires a multi-GPU cluster (typically eight or more datacenter-class accelerators) and an environment with Megatron, SGLang, and Ray configured together. This post did not run a full RL training on a single-node sandbox to capture numbers. We therefore present no benchmark figures such as training throughput or convergence speed, and the production validation cases below are based on published primary sources. Not inventing arbitrary performance numbers is a principle of this blog.</p>

<p>Structurally, the surfaces an operator touches are clear. You set the deployment style with a mode flag such as <code class="language-plaintext highlighter-rouge">--colocate</code>, plug your own domain rollout strategy into the Data Buffer’s custom data generation interface, and attach agent environments to the sgl-router endpoint. This is why the framework emphasizes versatility: because the rollout interface is fully customizable, everything from general RL algorithms to domain-specific agent training can be configured on the same skeleton.</p>

<h2 id="glm-5x-validation">GLM-5.x Validation</h2>

<p>slime is counted among the most battle-tested open RL post-training frameworks. Multiple SOTA-class releases (GLM-5.2, GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, GLM-4.5) have passed through its complete training loop. GLM-5.2 stated it was post-trained with a novel async agent-RL algorithm that learns from long-horizon, multi-tool interactions on top of infrastructure that decouples generation from training. It has been reported that GLM-5.2’s full post-training finished in about two days, but we leave this duration figure as [estimated] since we could not cross-verify it against primary official documentation.</p>

<p>The point is not the number but reproducibility. With both the model weights (MIT) and the training framework open, an organization with enough compute can retrace GLM-5.2’s post-training recipe on its own domain data. This is leverage unique to an open ecosystem, impossible with closed models.</p>

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

<p>From our platform’s perspective, slime touches several threads.</p>

<p>First, <strong>resource-scheduling alignment</strong>. The way slime switches between colocated and disaggregated via Ray meshes well with how we queue and gate GPU workloads through Kueue. RL training simultaneously demands two workloads of different character: rollout (an inference load) and training (a backpropagation load). In a multi-tenant cluster, how you place these two is directly a question of GPU utilization and cost. Disaggregated mode separates rollout and training into distinct jobs, giving Kueue room to schedule each independently.</p>

<p>Second, <strong>sharing the serving stack</strong>. The fact that slime’s rollout engine is SGLang, and that we handle the SGLang/vLLM family in inference serving, means operational know-how can be reused. Fast inference optimizations for rollout (continuous batching, KV cache management) overlap substantially with production serving optimization. When the training infrastructure and the serving infrastructure share the same inference engine, tuning earned on one side transfers to the other.</p>

<p>Third, <strong>the economics of domain-agent fine-tuning</strong>. For a platform like ours that runs agents across different customer environments, a path opens to post-train an open model of GLM-5.2’s class on customer-domain data to build a specialized agent. If the sgl-router’s OpenAI-compatible endpoint lets a customer’s existing tool environment plug straight into the RL loop, the cost of domain adaptation drops sharply. The combination of open weights plus an open training framework connects directly to our strengths of low serving cost and on-premises deployment. A self-hosting scenario, where data never leaves the cluster and even post-training is completed in-house, becomes a realistic product.</p>

<p>Of course, this is closer to a roadmap than a finished fact. It does not mean we are currently retraining GLM-5.2 with slime and serving it. But the fact that the components of our stack (K8s, Kueue, SGLang) nearly match the components slime assumes shows this direction is no forced fit.</p>

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

<p>slime is not a silver bullet. Let us state a few realistic constraints clearly.</p>

<p>The biggest barrier to entry is <strong>compute and operational complexity</strong>. Standing up Megatron + SGLang + Ray simultaneously and orchestrating training/rollout across multiple GPUs is by no means lightweight. This is not a tool a single GPU or a small team can casually run, and RL post-training itself demands an infrastructure investment comparable to pretraining. There is a considerable gap between “the framework is open” and “we can run RL post-training.”</p>

<p>Second, <strong>the difficulty of RL post-training</strong>. Reward design, reward-hacking prevention, and training stability are intrinsic hardships the framework does not solve for you. slime provides infrastructure only; a good reward function and a stable training recipe remain the user’s responsibility. That Z.ai separately emphasized anti-hacking is itself evidence of how tricky this area is.</p>

<p>Third, <strong>the limits of our verification scope</strong>. This post analyzed the structure based on slime’s public documentation and reporting; we did not directly reproduce the full RL training loop to measure throughput. Therefore claims like “GLM-5.2-class training in a few days” are not facts we independently confirmed. Anyone considering adoption must first pilot with a small model and small task in colocated mode to measure the actual cost in their own environment.</p>

<p>Even so, an event where the model weights and the training framework open together is rare transparency in the open-LLM ecosystem. For a platform like ThakiCloud that operates infrastructure directly, the set of options that grant control all the way down to the post-training stage, beyond merely using someone else’s model, has grown.</p>

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

<ul>
  <li><a href="https://github.com/THUDM/slime">THUDM/slime - GitHub</a></li>
  <li><a href="https://www.lmsys.org/blog/2025-07-09-slime/">slime: An SGLang-Native Post-Training Framework for RL Scaling - LMSYS Org</a></li>
  <li><a href="https://huggingface.co/blog/zai-org/glm-52-blog">GLM-5.2: Built for Long-Horizon Tasks - Hugging Face Blog</a></li>
  <li><a href="https://rocm.blogs.amd.com/artificial-intelligence/slime/README.html">Day-0 Support for the SGLang-Native RL Framework slime on AMD Instinct GPUs - ROCm Blogs</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="slime" /><category term="glm-5.2" /><category term="reinforcement-learning" /><category term="post-training" /><category term="sglang" /><category term="megatron" /><category term="agent-rl" /><category term="open-source" /><summary type="html"><![CDATA[slime, the asynchronous reinforcement-learning infrastructure behind the post-training of Z.ai's 1M-context open-weight model GLM-5.2, has been fully open-sourced. We break down its three-component design that bridges Megatron training and SGLang rollout through a Data Buffer, its colocated/disaggregated execution modes, and its multi-turn agent-RL design from the perspective of ThakiCloud's K8s and Kueue GPU serving stack.]]></summary></entry><entry xml:lang="en"><title type="html">Measuring AI’s Economic Impact Beyond Log Analysis: A Look at Anthropic’s Economic Index ‘Cadences’ Report</title><link href="https://thakicloud.github.io/en/research/anthropic-economic-index-cadences/" rel="alternate" type="text/html" title="Measuring AI’s Economic Impact Beyond Log Analysis: A Look at Anthropic’s Economic Index ‘Cadences’ Report" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/research/anthropic-economic-index-cadences</id><content type="html" xml:base="https://thakicloud.github.io/en/research/anthropic-economic-index-cadences/"><![CDATA[<p><img src="/assets/images/anthropic-economic-index-cadences-hero.png" alt="Abstract image of light pulses rippling in rhythm across a subtle data grid, evoking daily cadence" /></p>

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

<p>Once you bring an AI platform into an enterprise, you eventually face one question: “So how much did it actually help?” Until now, the answer has mostly been system metrics. How many API calls happened, how many tasks were processed, how many milliseconds the response took. The numbers are clean, but they never reach what executives really want to know: “What did our organization actually produce more of?”</p>

<p>That is why Anthropic’s <a href="https://www.anthropic.com/research/economic-index-june-2026-report">Economic Index report “Cadences”</a>, published on June 26, 2026, is interesting. It is not a routine usage-statistics update. It publicly declares that <strong>the way AI’s economic impact is measured has itself changed</strong>. Starting from the recognition that chat logs alone cannot explain how AI affects work, it broadens the basis of measurement along three tracks.</p>

<p>For a company like ThakiCloud, which actually operates a multi-tenant AI/ML platform on Kubernetes, this shift is not someone else’s story. The report shows, with data, the move in how we explain ROI to customers from “system metrics” toward “work outputs and worker perceptions.” This post organizes the three methodological shifts based on the report’s official material and considers what we can take from them as a platform.</p>

<h2 id="what-is-this-report">What Is This Report?</h2>

<p>Anthropic has analyzed Claude usage through the Economic Index since 2023. Every prior report leaned on <strong>seven-day sample data</strong>: slicing out one week and examining usage patterns within it. A year ago, most Claude usage was a conversation between a user and an assistant, so even this method captured a reasonable picture.</p>

<p>But as Claude Code and Cowork grew rapidly, a large share of sessions shifted to long-running agentic tasks. Chat transcripts no longer fully capture how people use AI. Anthropic says it reworked its data pipeline in three directions to keep pace: sampling at a higher rate to see patterns down to the hourly level, introducing a new classifier that labels the output of each conversation, and breaking out chat/Cowork and 1P API results at a monthly level for finer granularity.</p>

<p>One more track is added. Anthropic admits it has lacked visibility into impact <strong>outside</strong> user sessions, that is, how people perceive AI. So it presents initial results from the <a href="https://www.anthropic.com/research/economic-index-survey-announcement">Economic Index Survey</a> launched in April 2026. In short, the report is built on three axes: <strong>hourly cadences</strong>, <strong>artifact classification</strong>, and <strong>perception survey</strong>.</p>

<p><img src="/assets/images/anthropic-economic-index-cadences-diagram.png" alt="Diagram showing the expansion from a seven-day sample to a three-axis mixed-method approach (hourly cadences, artifact classification, perception survey) connected to ThakiCloud's ROI measurement framework" /></p>

<h2 id="axis-1-hourly-cadences">Axis 1: Hourly Cadences</h2>

<p>The most striking change is the introduction of privacy-preserving telemetry. By continuously sampling a slice of conversations each day, it captures daily and hourly flows, unlike the prior seven-day snapshots. This data makes it possible, for the first time, to see how the rhythms of daily life are reflected in Claude usage.</p>

<p>The results are intuitive yet new. Claude usage tracks the weekday work pattern, while personal prompts rise on weekends. Going hour by hour, it gets sharper. People most often ask for sleep advice around 5 a.m., and ask for recipes around 6 p.m. News requests cluster in the morning. Patterns also react to specific dates: tax-related requests surged just before the US filing deadline of April 15.</p>

<p>Differences by the nature of work also appear. When people do turn to Claude for work on nights and weekends, those tasks skew toward <strong>higher-wage occupations</strong>, such as marketing managers or programmers, who are more likely to work outside traditional hours. By contrast, tasks in the bottom wage quartiles, like telemarketing or clerical work, fall to a smaller share on nights and weekends. Anthropic adds that the pattern holds even in a robustness check that removes computer and mathematical occupations. It is a signal that AI is functioning not as simple automation but as an assistive tool for high-skill work.</p>

<h2 id="axis-2-the-artifact-classifier">Axis 2: The Artifact Classifier</h2>

<p>The second shift is classifying the outputs of conversations. Anthropic sorted what <strong>artifact</strong> each chat and Cowork conversation produces into more than 30 categories: a document, an explanation, a piece of code, an academic paper, and so on, meaning the primary output Claude produced in that conversation.</p>

<p>The classifier judged that <strong>93% of Claude conversations produce an artifact</strong>. The most common types are explanations (17%), documents and reports (15%), and guidance (11%). Conversational outputs like explanations or guidance and written deliverables like documents or presentations each account for about a third, while code and technical outputs like apps or scripts account for about a sixth.</p>

<p>A second finding follows, the <strong>autonomy</strong> score. Anthropic measures how much judgment is delegated to Claude on a 1-to-5 scale. Tasks with largely fixed answers, like translation or calculation, have low autonomy, while tasks that require choosing among many options, like building apps, games, or presentations, have high autonomy.</p>

<p>The same artifact is measured as having higher autonomy when made with Claude Code. Across 26 of the 31 outputs shown, autonomy was higher on Claude Code than chat or Cowork, with an average gap of <strong>0.37 points</strong>. For scripts and code snippets the gap widens to 0.53 points. About two thirds of this difference comes from the same tasks being executed with more delegation. Blog posts are a good example: the median chat/Cowork conversation producing one involves 13 rounds of back-and-forth, while on Claude Code people delegate more judgment. In other words, users are handing AI more autonomy.</p>

<h2 id="axis-3-the-perception-survey">Axis 3: The Perception Survey</h2>

<p>The third axis is data drawn not from logs but by asking people directly. Anthropic launched the Economic Index Survey in April 2026, asking actual Claude users how much of their work AI can do. Survey responses are linked to usage data through privacy-preserving methods.</p>

<p>Respondents were asked what share of their work tasks AI can do entirely on its own today (reported exposure) and what share they expect it to handle in 12 months (anticipated exposure). <strong>Close to 6 in 10 respondents chose a higher band for next year</strong>, and <strong>over a third expect AI to be able to do most or nearly all of their work tasks next year</strong>.</p>

<p>The differences across groups are clear. Respondents in lower-income countries tended to feel AI could replace more of their work. Anthropic cites prior research showing such countries tend to use Claude in more automated ways. Differences by experience also appear: workers with at least 15 years of experience placed the share of tasks AI can do roughly 10 percentage points lower than those in their first year, with the interpretation that experienced workers have accumulated tacit, context-specific expertise that AI struggles to mimic. Respondents named judgment, contextual awareness, situational reasoning, and the relational dimensions of building trust and managing people as things AI cannot do. Worries about displacement were concentrated among early-career and low-wage workers.</p>

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

<p>What this report offers ThakiCloud lies not in a feature but in a <strong>measurement framework</strong>. Anthropic’s approach starts from the premise that “logs alone cannot explain AI’s value,” and that is a perspective we can apply directly as an enterprise AI platform operator.</p>

<p>Until now, we too have centered ROI explanations on system metrics: call counts, throughput, response speed. But this report poses questions at a different layer. What was produced in that conversation? Was the output made during work hours or during overnight overtime? How much autonomy did the user delegate to AI? How much do users themselves feel AI replaces their work?</p>

<p>These questions are measurable on our stack. ThakiCloud handles Kubernetes- and Kueue-based GPU scheduling, vLLM serving, and multi-tenant agent operation in one place. Layering an artifact classifier on the telemetry from this stack lets us capture when, and in what form, a customer’s employees produce outputs together with AI. Then we can explain AI’s effect not as the abstract “improved efficiency” but in concrete output units. The finding that high-wage tasks rise on overnight shifts can become a gauge for whether AI is settling in as an assistive tool for high-skill work in our customers’ organizations too.</p>

<p>The way the survey and logs are linked is also worth borrowing. Measuring the gap between actual usage data and perceived capability reveals which groups benefit most after AI adoption and which feel anxious. That is an insight that feeds directly into a customer’s internal change management strategy. For domestic customers who must measure on-premise without sending data outside, privacy-preserving measurement design is a requirement, not an option, and our multi-tenant isolation and self-hosting structure fit that requirement precisely.</p>

<p>Ultimately, Anthropic’s direction is a commitment to keep refining how AI’s economic impact is measured. One of ThakiCloud’s strong differentiators is the role of a partner that goes beyond providing a platform to co-designing this measurement framework and interpreting the data. The ability to measure AI ROI not at the log level but at the level of work outputs and worker perception will be a core competitive edge in the enterprise AI platform market.</p>

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

<p>For balance, the report’s limits deserve mention. First, since the data comes from Claude users, there is sample bias. These are the usage patterns and perceptions of a group already using AI actively, so generalizing to the whole workforce is hard. Anthropic itself repeatedly notes it cannot conclusively identify occupations, and the by-occupation estimates over time are inferred backward from task characteristics, so causation cannot be asserted.</p>

<p>The survey data should be read even more carefully. The expectation that “AI will handle most of my work next year” is a perception, not a verified capability. The report itself confirms that perceived capability runs higher than observed occupational exposure. The gap between expectation and reality is itself the object of measurement, not grounds for treating expectation as the future.</p>

<p>Finally, refining a measurement method does not by itself enlarge the impact. Seeing more precisely and something happening more are different claims. The value of this report is not the conclusion that “AI has replaced this much work,” but that it rebuilds the question “how do we measure that impact more honestly” with a layered, mixed-method approach. What ThakiCloud should take is not the conclusion but the measurement attitude.</p>

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

<ul>
  <li>Anthropic, <a href="https://www.anthropic.com/research/economic-index-june-2026-report">“Anthropic Economic Index report: Cadences”</a> (2026-06-26)</li>
  <li>Anthropic, <a href="https://www.anthropic.com/research/economic-index-survey-announcement">“Anthropic Economic Index Survey”</a> (2026-04)</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="research" /><category term="anthropic" /><category term="economic-index" /><category term="ai-impact" /><category term="measurement" /><category term="telemetry" /><category term="survey" /><category term="enterprise-ai" /><summary type="html"><![CDATA[Anthropic's Economic Index 'Cadences' report (June 26, 2026) drops seven-day samples for continuous hourly telemetry, then combines an artifact classifier with survey data to lift AI-impact measurement from chat logs to a layered, mixed-method approach. Here is how ThakiCloud can rethink enterprise AI platform ROI.]]></summary></entry><entry xml:lang="en"><title type="html">We Measured the Complete Map of Claude Code Project Structure Against Our Own Repo</title><link href="https://thakicloud.github.io/en/technique/claude-code-project-anatomy-complete-map/" rel="alternate" type="text/html" title="We Measured the Complete Map of Claude Code Project Structure Against Our Own Repo" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/technique/claude-code-project-anatomy-complete-map</id><content type="html" xml:base="https://thakicloud.github.io/en/technique/claude-code-project-anatomy-complete-map/"><![CDATA[<p><img src="/assets/images/claude-code-project-anatomy-complete-map-hero.png" alt="Abstract visualization of light beams converging on a central node before branching hierarchically outward" />
<em>An abstract representation of Claude Code project structure, showing how rules, skills, agents, and memory branch outward from a single project brain.</em></p>

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

<p>Anyone who has worked with Claude Code for a while knows the feeling: the <code class="language-plaintext highlighter-rouge">.claude</code> folder quietly turns into a junk drawer. Content that belongs in rules ends up in <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>. Specialized knowledge that is only needed occasionally gets hard-coded into always-loaded rules. Personal environment paths bleed into team-shared files. Once the boundaries blur around what each component is supposed to hold, you end up paying token costs every session for context that has nothing to do with the current task.</p>

<p>In June 2026, a post titled “Claude Code Project Structure: The Complete Map” by Prakash Bhandari started circulating among developers. It maps five subsystems that the <code class="language-plaintext highlighter-rouge">.claude</code> folder controls – instructions (CLAUDE.md and rules), workflows (skills and commands), specialists (agents), permissions (settings.json), and memory – into a single coherent diagram. Since ThakiCloud already runs hundreds of skills and dozens of agents on top of this structure, we did not stop at reading the article. We held our actual repo up against the map to see how well they matched.</p>

<p>This post is a record of that comparison. We cover the role boundary of each component, the measured component counts from our <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> repo, and why this structure matters beyond mere tidiness when you are operating a Kubernetes-based AI/ML SaaS platform.</p>

<h2 id="what-claude-code-project-structure-actually-is">What Claude Code Project Structure Actually Is</h2>

<p>The core idea is straightforward. Claude Code reads configuration from two locations: the project directory’s <code class="language-plaintext highlighter-rouge">.claude</code> folder, and the home directory’s <code class="language-plaintext highlighter-rouge">~/.claude</code>. Project files are committed to git and shared across the team; home directory files apply globally to every project as personal configuration. Every component finds its place relative to these two roots.</p>

<p>The real value of the map is the answer to one question: when does each component get loaded into context? Some things arrive automatically at the start of every session. Others only arrive when a specific request triggers them. That timing difference is a token cost difference, which means deciding where to put something is not a matter of preference – it is an operational cost decision.</p>

<pre><code class="language-mermaid">flowchart TB
    ROOT["프로젝트 루트"]
    ROOT --&gt; BRAIN["CLAUDE.md&lt;br/&gt;프로젝트 브레인&lt;br/&gt;(매 세션 자동 로드)"]
    ROOT --&gt; LOCAL["CLAUDE.local.md&lt;br/&gt;개인 오버라이드&lt;br/&gt;(gitignore)"]
    ROOT --&gt; IGNORE[".claudeignore&lt;br/&gt;컨텍스트 경계"]
    ROOT --&gt; MCP[".mcp.json&lt;br/&gt;외부 도구 연결"]
    ROOT --&gt; DOTC[".claude/"]
    DOTC --&gt; SET["settings.json&lt;br/&gt;권한·훅·환경변수"]
    DOTC --&gt; RULES["rules/&lt;br/&gt;상시 규칙&lt;br/&gt;(매 턴 로드)"]
    DOTC --&gt; SKILLS["skills/&lt;br/&gt;온디맨드 전문지식&lt;br/&gt;(요청 시 로드)"]
    DOTC --&gt; AGENTS["agents/&lt;br/&gt;서브에이전트 정의"]
    DOTC --&gt; MEM["agent-memory/&lt;br/&gt;에이전트가 학습한 지식"]
    DOTC --&gt; WT["worktrees/&lt;br/&gt;병렬 격리"]
</code></pre>
<p><em>Claude Code project components organized by load timing. Click to enlarge.</em></p>

<h2 id="role-boundaries-for-each-component">Role Boundaries for Each Component</h2>

<p>Where the map earns its keep is in defining what belongs where. Here is how each component’s responsibility maps to how we actually run things.</p>

<p><strong>CLAUDE.md is the project brain.</strong> It loads automatically every session and serves as the standing brief shared across the entire team. Think of it as the onboarding document you hand a new contractor on day one. What are we building, what stack does it run on, what conventions do we follow, what are the workflow rules. The principle is to answer exactly those four questions and nothing else. Every line pays rent. A bloated <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> is wasted context.</p>

<p><strong>CLAUDE.local.md is personal override.</strong> Same format, but it never goes into git. Local environment paths, debugging shortcuts, personal preferences, anything specific to your machine lives here. Team members can have completely different versions, and that is the point – it keeps the shared <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> clean.</p>

<p><strong>.claudeignore is the context boundary.</strong> It uses the same syntax as <code class="language-plaintext highlighter-rouge">.gitignore</code> and limits what Claude can read. Without it, <code class="language-plaintext highlighter-rouge">node_modules</code>, generated migrations, vendor dependencies, and large fixtures consume your context budget. On a large monorepo it is practically mandatory.</p>

<p><strong>rules are always-on constraints.</strong> They load automatically on every turn, so only genuinely invariant rules belong here – the things that apply to every task in every session. If you put a 200-line architecture document into a rules file, that content consumes context even in sessions where it is completely irrelevant. Documents should stay dormant until a skill explicitly reads them.</p>

<p><strong>skills are on-demand expertise.</strong> They load only when a request triggers them. Specialized workflows that are not always needed, domain-specific pipelines, repeatable task recipes – these belong in skills. The dividing line between <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> and skills is the phrase “only sometimes needed.”</p>

<p><strong>agents are subagent definitions.</strong> Each agent is a specialist with its own role, tool set, and model tier, summoned when needed. The routing logic assigns cheaper models to exploration, balanced models to implementation, and the most capable models to architecture decisions.</p>

<p><strong>agent-memory is what agents have learned.</strong> This is where agent-memory and <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> fundamentally differ. <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> holds what a person explicitly told the system. Agent-memory holds what an agent accumulated through experience – repeated patterns, bugs, undocumented conventions that a long-running agent has encountered.</p>

<h2 id="deciding-where-new-knowledge-goes">Deciding Where New Knowledge Goes</h2>

<p>You can have the map memorized and still hesitate when it is time to add a new rule or workflow. The placement decision tree from the article simplifies that judgment.</p>

<pre><code class="language-mermaid">flowchart TB
    START["새 지식·규칙·워크플로 추가"]
    START --&gt; Q1{"항상 적용 +&lt;br/&gt;전체 팀 공유?"}
    Q1 --&gt;|예| CMD["CLAUDE.md (짧게)&lt;br/&gt;또는 .claude/rules/"]
    Q1 --&gt;|아니오| Q2{"가끔만 필요한&lt;br/&gt;전문 워크플로?"}
    Q2 --&gt;|예| SK[".claude/skills/"]
    Q2 --&gt;|아니오| Q3{"독립 역할·&lt;br/&gt;도구 조합?"}
    Q3 --&gt;|예| AG[".claude/agents/"]
    Q3 --&gt;|아니오| Q4{"개인 환경&lt;br/&gt;특이사항?"}
    Q4 --&gt;|예| LO["CLAUDE.local.md&lt;br/&gt;(gitignore)"]
    Q4 --&gt;|아니오| Q5{"에이전트가&lt;br/&gt;경험으로 배운 것?"}
    Q5 --&gt;|예| ME[".claude/agent-memory/"]
    Q5 --&gt;|아니오| PL["plugins/&lt;br/&gt;(여러 프로젝트 배포)"]
</code></pre>
<p><em>Placement decision tree for new knowledge. The questions run in order: is this always needed, is it occasional expertise, does it define an independent role, is it personal, or is it something an agent learned?</em></p>

<p>The most common mistakes are equally clear. Dumping “only sometimes needed” knowledge into <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> wastes tokens every session. A monorepo without <code class="language-plaintext highlighter-rouge">.claudeignore</code> bleeds context. Committing <code class="language-plaintext highlighter-rouge">CLAUDE.local.md</code> to git exposes personal information and local paths. Keeping more than ten MCP servers active at once burns roughly 10,000 tokens per session whether you use those servers or not.</p>

<h2 id="measuring-the-thakicloud-repo-against-the-map">Measuring the ThakiCloud Repo Against the Map</h2>

<p>With the map in hand, we measured the <code class="language-plaintext highlighter-rouge">.claude</code> directory of our <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> repo directly.</p>

<table>
  <thead>
    <tr>
      <th>Component</th>
      <th>Measured</th>
      <th>Load timing</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>CLAUDE.md</td>
      <td>94 lines</td>
      <td>every session, auto</td>
    </tr>
    <tr>
      <td>.claude/rules</td>
      <td>40 files</td>
      <td>every turn, auto</td>
    </tr>
    <tr>
      <td>.claude/skills</td>
      <td>1,655 directories</td>
      <td>on-demand</td>
    </tr>
    <tr>
      <td>.claude/agents</td>
      <td>54 definitions</td>
      <td>on summon</td>
    </tr>
    <tr>
      <td>.claude/hooks</td>
      <td>15 files</td>
      <td>on event</td>
    </tr>
    <tr>
      <td>.claudeignore</td>
      <td>present (442 bytes)</td>
      <td>always-on boundary</td>
    </tr>
    <tr>
      <td>.mcp.json</td>
      <td>present (166 bytes)</td>
      <td>on server connect</td>
    </tr>
    <tr>
      <td>.claude/settings.json</td>
      <td>present (5 KB)</td>
      <td>every session</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/claude-code-project-anatomy-complete-map-results.png" alt="Bar chart of ThakiCloud .claude components grouped by load timing" />
<em>The 40 rules and 94-line CLAUDE.md are fixed overhead that arrives every turn. The 1,655 skills and 54 agents are on-demand assets that only appear when needed.</em></p>

<p>These numbers prove the map’s central point. If all 1,655 skills had been packed into <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> or rules files, the context limit would blow on the very first session. In practice, those 1,655 skills load on-demand only, and a separate router narrows the candidate set on every turn before any skill is loaded. The always-on side of the ledger – rules – is intentionally kept at 40 files. That number is the result of a hygiene rule: keep each rules file under 2 KB, and demote anything larger to a skill.</p>

<p>One detail worth noting: after reading the source article, we immediately distilled it into a rules file named <code class="language-plaintext highlighter-rouge">claude-code-project-anatomy.md</code> and committed it to the repo. In other words, “the project structure map” itself passed through the placement decision tree once and ended up as an always-on rule that is referenced every turn. The map placed itself on the map.</p>

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

<p>This structure matters beyond tidiness because context cost is operational cost. ThakiCloud runs multi-tenant agents on Kubernetes, schedules GPU resources through Kueue, and serves models through vLLM. Every agent session consumes tokens, and those tokens translate directly to inference cost. Reducing always-loaded context affects unit economics, not just accuracy.</p>

<p>The map’s emphasis on placement by load timing aligns precisely with two principles we had already formalized separately. The first is that capability belongs in skills, not in the harness – keeping the harness thin so the same skill works across multiple execution environments. The second is token hygiene: minimize what loads every turn, defer what is occasionally needed to on-demand. The placement decision tree converts those two principles into a practical judgment call at the moment of adding any new component.</p>

<p>There are also product-level implications. In a multi-tenant environment where different tenants require different rules and skills, having a clear boundary between what lives in always-on context and what stays on-demand makes tenant-to-tenant context isolation and cost attribution much cleaner. Keeping the channel where agents accumulate learned knowledge – agent-memory – separate from the channel where humans explicitly specify things – <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> – also lines up with our approach to running self-learning agents safely.</p>

<h2 id="caveats-and-counterarguments">Caveats and Counterarguments</h2>

<p>This map is not a complete solution. A few honest limitations.</p>

<p>First, component boundaries are recommendations, not enforcement. Claude Code itself will not stop you from putting skill-level content into a rules file. Maintaining the boundaries requires team discipline, and in our case it requires token hygiene rules and router gates in code. Reading the map and expecting things to stay organized by themselves does not work.</p>

<p>Second, 1,655 skills is not a number to brag about – it cuts both ways. More candidates mean more noise risk: the router has more opportunities to surface the wrong skill. On-demand loading avoids always-on token cost, but retrieval accuracy becomes a different kind of cost. “On-demand means free” is too simple a conclusion.</p>

<p>Third, this structure is specific to Claude Code. Moving to a different agent execution environment changes the directory conventions and the load mechanism. That is why knowledge should be written as environment-agnostic as possible, with only the environment-specific wiring kept thin.</p>

<p>Finally, some figures in the source article – such as roughly 1,000 tokens per MCP server – are approximations that vary with environment and version. Rather than treating them as absolutes, the right takeaway is the direction: anything that loads every turn has a cost, and that cost compounds.</p>

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

<ul>
  <li><a href="https://www.prakashbhandari.com.np/posts/claude-code-project-structure-2026/">Claude Code Project Structure Explained: The Complete 2026 Guide</a> (Prakash Bhandari)</li>
  <li><a href="https://code.claude.com/docs/en/claude-directory">Explore the .claude directory (Claude Code official documentation)</a></li>
  <li>Measured against: ThakiCloud <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> repo <code class="language-plaintext highlighter-rouge">.claude</code> directory (measured 2026-06-27)</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="claude-code" /><category term="project-structure" /><category term="context-engineering" /><category term="agent-skills" /><category term="platform-engineering" /><summary type="html"><![CDATA[CLAUDE.md, rules, skills, agents, hooks, MCP -- all of it. We read the 'complete map' that defines the role boundary of every Claude Code project component, then held it up against the ThakiCloud repo (40 rules, 1,655 skills, 54 agents) to see what matched and what was missing. Includes the placement decision tree for deciding where new knowledge lives, plus observations from running a K8s AI/ML SaaS platform on top of this structure.]]></summary></entry><entry xml:lang="ko"><title type="html">GLM-5.2를 만든 오픈소스 RL 프레임워크 slime 뜯어보기</title><link href="https://thakicloud.github.io/ko/llmops/glm52-slime-rl-framework/" rel="alternate" type="text/html" title="GLM-5.2를 만든 오픈소스 RL 프레임워크 slime 뜯어보기" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/llmops/glm52-slime-rl-framework</id><content type="html" xml:base="https://thakicloud.github.io/ko/llmops/glm52-slime-rl-framework/"><![CDATA[<p><img src="/assets/images/glm52-slime-rl-framework-hero.png" alt="생성 클러스터와 학습 클러스터가 중앙 버퍼를 통해 비동기로 데이터를 주고받는 모습을 형상화한 추상 이미지" />
<em>롤아웃과 학습을 분리해 처리량을 끌어올리는 slime의 비동기 RL 구조를 형상화한 이미지입니다.</em></p>

<h2 id="개요">개요</h2>

<p>Z.ai(구 Zhipu AI)가 2026년 6월 공개한 GLM-5.2는 1M 토큰 컨텍스트와 MIT 라이선스를 가진 오픈웨이트 모델입니다. 코딩과 장기 호흡(long-horizon) 에이전트 작업에서 비공개 상용 모델과 경쟁하는 성능으로 주목을 받았습니다. 그런데 이번 공개에서 모델 가중치만큼이나 중요한 것이 따로 있습니다. 바로 이 모델의 후처리 학습(post-training)을 떠받친 강화학습 인프라 <strong>slime</strong>이 함께 완전 오픈소스로 풀렸다는 점입니다.</p>

<p>대부분의 프런티어 모델은 사전학습 가중치를 공개하더라도, 그 가중치를 실제 쓸만한 에이전트로 다듬은 RL 파이프라인은 공개하지 않습니다. 보상 설계, 롤아웃 생성, 학습 루프를 잇는 인프라야말로 모델 품질을 좌우하는 비공개 노하우이기 때문입니다. slime은 이 영역을 통째로 열어두었고, GLM-5.2뿐 아니라 GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, GLM-4.5까지 동일한 프레임워크로 후처리 학습을 거쳤다고 밝혔습니다. 한 프레임워크가 여러 SOTA급 릴리스를 통과했다는 것은 실험실 코드가 아니라 production에서 검증된 인프라라는 뜻입니다.</p>

<p>ThakiCloud는 K8s 기반의 멀티테넌트 AI/ML SaaS 플랫폼을 운영하면서 다양한 고객 환경에서 모델을 서빙하고 에이전트를 돌립니다. 그래서 “어떤 모델이 좋은가”만큼이나 “그 모델을 어떤 인프라로 만들고 운용하는가”가 늘 핵심 질문입니다. slime은 후자에 대한 공개 레퍼런스라는 점에서 들여다볼 가치가 충분합니다. 이 글에서는 slime의 구조와 설계 철학을 정리하고, 우리 플랫폼의 Kueue GPU 스케줄링·SGLang/vLLM 서빙 스택에 어떤 시사점을 주는지 살펴보겠습니다.</p>

<h2 id="slime은-무엇인가">slime은 무엇인가</h2>

<p>slime은 THUDM(칭화대 / Z.ai 계열)이 만든 <strong>RL 스케일링용 LLM 후처리 학습 프레임워크</strong>입니다. 핵심 발상은 단순합니다. 학습은 Megatron-LM이 잘하고, 고속 추론(롤아웃)은 SGLang이 잘하니, 이 둘을 하나의 데이터 흐름으로 묶자는 것입니다. RL 후처리 학습은 “모델이 답을 생성하고(롤아웃) → 그 답에 보상을 매기고 → 그 보상으로 모델을 업데이트”하는 루프를 수없이 반복하는 작업이라, 생성 엔진과 학습 엔진을 얼마나 매끄럽게 잇느냐가 전체 처리량을 결정합니다.</p>

<p>slime은 이 루프를 세 개의 컴포넌트로 분해합니다.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph ROLLOUT["롤아웃 (SGLang + Router)"]
        SGL["SGLang 추론 엔진&lt;br/&gt;응답 생성"]
        RT["sgl-router&lt;br/&gt;OpenAI 호환 단일 엔드포인트"]
        RW["보상 / verifier&lt;br/&gt;점수 계산"]
    end
    subgraph BUFFER["Data Buffer (브리지)"]
        DB["프롬프트 초기화&lt;br/&gt;커스텀 데이터&lt;br/&gt;롤아웃 생성 전략 관리"]
    end
    subgraph TRAIN["학습 (Megatron-LM)"]
        MG["Megatron 학습 루프&lt;br/&gt;가중치 업데이트"]
    end

    RT --&gt; SGL
    SGL --&gt; RW
    RW --&gt;|"생성 데이터 + 보상 기록"| DB
    DB --&gt;|"학습 배치 공급"| MG
    MG -.-&gt;|"파라미터 동기화"| SGL
</code></pre>

<ul>
  <li><strong>학습(Megatron-LM)</strong>: 메인 학습 과정을 담당합니다. Data Buffer에서 데이터를 읽어 모델을 업데이트하고, 학습이 끝나면 롤아웃 모듈과 파라미터를 동기화합니다.</li>
  <li><strong>롤아웃(SGLang + Router)</strong>: 새 데이터를 생성합니다. 보상과 verifier 출력까지 포함해 Data Buffer에 씁니다. 여기서 sgl-router는 복잡한 에이전트 환경이 단일 HTTP 엔드포인트로 모델과 상호작용할 수 있게 OpenAI 호환 API를 제공합니다.</li>
  <li><strong>Data Buffer</strong>: 두 세계를 잇는 브리지입니다. 프롬프트 초기화, 커스텀 데이터, 롤아웃 생성 전략을 관리합니다.</li>
</ul>

<p>자원 관리는 Ray가 맡습니다. 덕분에 학습과 롤아웃을 같은 GPU에 올릴지 다른 GPU로 분리할지를 플래그 하나로 전환할 수 있습니다.</p>

<h2 id="두-가지-실행-모드-colocated와-disaggregated">두 가지 실행 모드: colocated와 disaggregated</h2>

<p>slime의 가장 실용적인 설계 결정은 동일한 코드로 두 가지 배치 모드를 지원한다는 점입니다.</p>

<p><strong>Colocated(동거) / 동기 모드</strong>는 학습과 롤아웃을 같은 GPU 풀에 올립니다. <code class="language-plaintext highlighter-rouge">--colocate</code> 플래그 하나로 켜집니다. GPU가 넉넉하지 않은 환경에서 자원을 최대한 아껴 쓰기에 좋고, 생성과 학습이 같은 자원을 시분할로 번갈아 사용합니다.</p>

<p><strong>Disaggregated(분리) / 비동기 모드</strong>는 학습 GPU와 롤아웃 GPU를 분리합니다. 생성이 학습을 기다리지 않고 계속 돌 수 있어 처리량이 올라갑니다. GLM-5.2가 강조한 “비동기 에이전트 RL”이 바로 이 모드 위에서 동작합니다. 생성을 학습에서 떼어내면, 멀티턴·멀티툴 상호작용처럼 한 에피소드가 길고 불규칙한 워크로드에서 GPU가 노는 시간을 크게 줄일 수 있습니다.</p>

<p>이 선택지는 운영자에게 중요합니다. 같은 프레임워크로 소규모 실험은 colocated로 싸게 돌리고, 대규모 production 학습은 disaggregated로 throughput을 끌어올리는 식의 점진적 확장이 가능하기 때문입니다.</p>

<h2 id="에이전트-rl을-위한-설계">에이전트 RL을 위한 설계</h2>

<p>slime이 GLM-5.x 같은 에이전트 모델 학습에 쓰인 데는 이유가 있습니다. 멀티턴 에이전트 워크로드를 정조준한 기능이 들어 있습니다.</p>

<ul>
  <li><strong>PD Disaggregation</strong>: prefill과 decode의 자원 요구가 다른 멀티턴·에이전트 워크로드를 위해 두 단계를 분리합니다.</li>
  <li><strong>Router의 session affinity</strong>: 멀티턴 에이전트가 같은 세션을 유지하도록 라우팅 정책을 제공합니다. 한 에이전트의 여러 턴이 일관된 상태로 이어지게 합니다.</li>
  <li><strong>Delta Weight Sync</strong>: 학습/추론 분리 환경에서 가중치 변화분만 동기화해 통신 비용을 줄입니다.</li>
  <li><strong>단일 OpenAI 호환 엔드포인트</strong>: sgl-router 덕분에 복잡한 에이전트 환경이 HTTP 요청만으로 모델과 상호작용합니다. 환경 코드를 RL 프레임워크 내부에 욱여넣을 필요가 없습니다.</li>
</ul>

<p>마지막 항목이 특히 실용적입니다. 코드 편집, 툴 사용, 다단계 문제 해결 같은 장기 호흡 작업의 환경을 OpenAI API 호출 형태로 추상화하면, 기존 에이전트 환경을 거의 그대로 RL 학습 루프에 연결할 수 있습니다. Z.ai는 여기에 reward hacking을 막는 “anti-hacking” 장치를 더해 장기 작업에서 모델이 보상을 편법으로 따먹는 것을 억제했다고 설명합니다.</p>

<h2 id="설치와-사용-개요">설치와 사용 개요</h2>

<p>slime은 GitHub(<a href="https://github.com/THUDM/slime">THUDM/slime</a>)에서 받을 수 있고, SGLang-native로 설계되어 SGLang 추론 스택과 Megatron-LM 학습 스택을 전제로 합니다. AMD Instinct GPU에 대한 day-0 지원도 ROCm 블로그를 통해 공개되어, NVIDIA 외 가속기에서도 동작이 검증되어 있습니다.</p>

<p>다만 정직하게 말하면, slime의 실제 RL 후처리 학습 루프를 의미 있게 재현하려면 멀티 GPU 클러스터(통상 8장 이상의 데이터센터급 가속기)와 Megatron·SGLang·Ray가 함께 구성된 환경이 필요합니다. 본 글은 단일 노드 샌드박스에서 전체 RL 학습을 돌려 수치를 캡처하지 않았습니다. 따라서 학습 처리량이나 수렴 속도 같은 벤치마크 수치는 제시하지 않으며, 아래의 production 검증 사례는 공개된 1차 자료에 근거한 것입니다. 임의의 성능 수치를 지어내지 않는 것이 우리 블로그의 원칙입니다.</p>

<p>구조적으로 운영자가 만질 표면은 명확합니다. <code class="language-plaintext highlighter-rouge">--colocate</code> 같은 모드 플래그로 배치 방식을 정하고, Data Buffer의 커스텀 데이터 생성 인터페이스로 자신의 도메인 롤아웃 전략을 끼워 넣고, sgl-router 엔드포인트에 에이전트 환경을 붙이는 순서입니다. 프레임워크가 versatility를 강조하는 이유가 여기에 있습니다. 롤아웃 인터페이스가 완전히 커스터마이즈 가능하므로, 범용 RL 알고리즘부터 도메인 특화 에이전트 학습까지 같은 골격 위에서 구성할 수 있습니다.</p>

<h2 id="glm-5x-검증-사례">GLM-5.x 검증 사례</h2>

<p>slime은 가장 잘 검증된 오픈 RL 후처리 학습 프레임워크 중 하나로 꼽힙니다. GLM-5.2, GLM-5.1, GLM-5, GLM-4.7, GLM-4.6, GLM-4.5까지 여러 SOTA급 릴리스가 이 프레임워크의 완전한 학습 루프를 통과했습니다. GLM-5.2는 generation을 training에서 분리하는 비동기 인프라 위에서 장기 호흡·멀티툴 상호작용으로부터 학습하는 새로운 async agent-RL 알고리즘으로 후처리되었다고 밝혔습니다. 보도된 바로는 GLM-5.2의 전체 후처리 학습이 약 이틀 만에 끝났다고 하는데, 이 소요 시간 수치는 1차 공식 문서로 교차검증하지 못해 [추정]으로 둡니다.</p>

<p>핵심은 숫자가 아니라 재현 가능성입니다. 모델 가중치(MIT)와 학습 프레임워크가 모두 공개되었다는 것은, 충분한 컴퓨트를 가진 조직이라면 GLM-5.2의 후처리 레시피를 자신의 도메인 데이터로 다시 밟아볼 수 있다는 뜻입니다. 이는 폐쇄형 모델에서는 불가능한, 오픈 생태계만의 레버리지입니다.</p>

<h2 id="thakicloud-k8s-aiml-saas-플랫폼-적용-시사점">ThakiCloud K8s AI/ML SaaS 플랫폼 적용 시사점</h2>

<p>ThakiCloud의 플랫폼 관점에서 slime은 여러 결을 건드립니다.</p>

<p>첫째, <strong>자원 스케줄링 정합성</strong>입니다. slime이 Ray로 colocated/disaggregated를 전환하는 구조는, 우리가 Kueue로 GPU 워크로드를 큐잉·게이팅하는 방식과 잘 맞물립니다. RL 학습은 롤아웃(추론 부하)과 학습(역전파 부하)이라는 성격이 다른 두 워크로드를 동시에 요구합니다. 멀티테넌트 클러스터에서 이 둘을 어떻게 배치하느냐는 곧 GPU 점유율과 비용의 문제입니다. disaggregated 모드는 롤아웃과 학습을 별도 잡으로 분리해 Kueue가 각각을 독립적으로 스케줄할 여지를 줍니다.</p>

<p>둘째, <strong>서빙 스택과의 공유</strong>입니다. slime의 롤아웃 엔진이 SGLang이고, 우리가 추론 서빙에서 SGLang/vLLM 계열을 다룬다는 점은 운영 노하우의 재사용을 의미합니다. 롤아웃을 위한 고속 추론 최적화(연속 배칭, KV 캐시 관리)는 production 서빙 최적화와 상당 부분 겹칩니다. 학습 인프라와 서빙 인프라가 같은 추론 엔진을 공유하면, 한쪽에서 쌓은 튜닝이 다른 쪽으로 전이됩니다.</p>

<p>셋째, <strong>도메인 에이전트 파인튜닝의 경제성</strong>입니다. 고객마다 다른 환경에서 에이전트를 운용하는 우리 같은 플랫폼에서는, GLM-5.2급 오픈 모델을 고객 도메인 데이터로 후처리해 특화 에이전트를 만드는 길이 열립니다. sgl-router의 OpenAI 호환 엔드포인트로 고객의 기존 툴 환경을 그대로 RL 루프에 붙일 수 있다면, 도메인 적응 비용이 크게 낮아집니다. 오픈 가중치 + 오픈 학습 프레임워크 조합은 낮은 서빙 비용과 온프레미스 배포라는 우리의 강점과 직접 연결됩니다. 데이터를 외부로 내보내지 않고 자체 클러스터에서 후처리까지 끝내는 self-hosting 시나리오가 현실적인 제품이 됩니다.</p>

<p>물론 이는 현재의 완성 사실이 아니라 로드맵에 가깝습니다. 우리가 당장 GLM-5.2를 slime으로 재학습해 서비스하고 있다는 뜻은 아닙니다. 다만 K8s·Kueue·SGLang이라는 우리 스택의 구성 요소가 slime이 전제하는 구성 요소와 거의 일치한다는 점은, 이 방향이 억지 끼워맞춤이 아님을 보여줍니다.</p>

<h2 id="한계-및-반론">한계 및 반론</h2>

<p>slime이 만능은 아닙니다. 몇 가지 현실적 제약을 분명히 해 둡니다.</p>

<p>가장 큰 진입 장벽은 <strong>컴퓨트와 운영 복잡도</strong>입니다. Megatron + SGLang + Ray를 동시에 세우고, 멀티 GPU에서 학습/롤아웃을 조율하는 일은 결코 가볍지 않습니다. 단일 GPU나 소규모 팀이 손쉽게 굴릴 수 있는 도구가 아니며, RL 후처리 학습 자체가 사전학습 못지않은 인프라 투자를 요구합니다. “프레임워크가 공개되었다”와 “우리가 RL 후처리를 돌릴 수 있다” 사이에는 상당한 거리가 있습니다.</p>

<p>둘째, <strong>RL 후처리의 난이도</strong>입니다. 보상 설계, reward hacking 방지, 학습 안정성은 프레임워크가 대신 풀어주지 않는 본질적 어려움입니다. slime은 인프라를 제공할 뿐, 좋은 보상 함수와 안정적인 학습 레시피는 여전히 사용자의 몫입니다. Z.ai가 anti-hacking을 별도로 강조한 것 자체가 이 영역이 까다롭다는 방증입니다.</p>

<p>셋째, <strong>검증 범위의 한계</strong>입니다. 본 글은 slime의 공개 문서와 보도를 근거로 구조를 분석했을 뿐, 전체 RL 학습 루프를 직접 재현해 처리량을 측정하지 않았습니다. 따라서 “GLM-5.2급 학습을 며칠 만에”와 같은 주장은 우리가 독립적으로 확인한 사실이 아닙니다. 도입을 검토한다면, 작은 모델·작은 태스크로 colocated 모드부터 파일럿해 우리 환경에서의 실제 비용을 측정하는 단계가 반드시 선행되어야 합니다.</p>

<p>그럼에도 모델 가중치와 학습 프레임워크가 함께 열린 사건은 오픈 LLM 생태계에서 드문 투명성입니다. ThakiCloud처럼 인프라를 직접 운용하는 플랫폼에게는, 남이 만든 모델을 쓰는 것을 넘어 후처리 단계까지 통제권을 가질 수 있는 선택지가 늘어난 셈입니다.</p>

<h2 id="출처-sources">출처 (Sources)</h2>

<ul>
  <li><a href="https://github.com/THUDM/slime">THUDM/slime - GitHub</a></li>
  <li><a href="https://www.lmsys.org/blog/2025-07-09-slime/">slime: An SGLang-Native Post-Training Framework for RL Scaling - LMSYS Org</a></li>
  <li><a href="https://huggingface.co/blog/zai-org/glm-52-blog">GLM-5.2: Built for Long-Horizon Tasks - Hugging Face Blog</a></li>
  <li><a href="https://rocm.blogs.amd.com/artificial-intelligence/slime/README.html">Day-0 Support for the SGLang-Native RL Framework slime on AMD Instinct GPUs - ROCm Blogs</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="slime" /><category term="glm-5.2" /><category term="reinforcement-learning" /><category term="post-training" /><category term="sglang" /><category term="megatron" /><category term="agent-rl" /><category term="open-source" /><summary type="html"><![CDATA[Z.ai의 1M 컨텍스트 오픈웨이트 모델 GLM-5.2의 후처리 학습을 떠받친 비동기 강화학습 인프라 slime이 완전 오픈소스로 공개되었습니다. Megatron 학습과 SGLang 롤아웃을 Data Buffer로 잇는 3-컴포넌트 구조, colocated/disaggregated 두 실행 모드, 멀티턴 에이전트 RL 설계를 ThakiCloud의 K8s·Kueue GPU 서빙 관점에서 정리합니다.]]></summary></entry><entry xml:lang="ko"><title type="html">AI 경제 영향 측정이 로그 분석을 넘어섭니다: Anthropic Economic Index ‘Cadences’ 보고서를 뜯어봤습니다</title><link href="https://thakicloud.github.io/ko/research/anthropic-economic-index-cadences/" rel="alternate" type="text/html" title="AI 경제 영향 측정이 로그 분석을 넘어섭니다: Anthropic Economic Index ‘Cadences’ 보고서를 뜯어봤습니다" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/research/anthropic-economic-index-cadences</id><content type="html" xml:base="https://thakicloud.github.io/ko/research/anthropic-economic-index-cadences/"><![CDATA[<p><img src="/assets/images/anthropic-economic-index-cadences-hero.png" alt="시간의 흐름을 따라 빛의 파동이 리듬을 그리며 데이터 격자 위를 흐르는 추상 이미지" /></p>

<h2 id="개요">개요</h2>

<p>엔터프라이즈에 AI 플랫폼을 들여놓고 나면, 결국 한 가지 질문 앞에 서게 됩니다. “그래서 이게 얼마나 도움이 됐는가.” 지금까지 이 질문에 대한 답은 대체로 시스템 지표였습니다. API 호출이 몇 번 일어났고, 태스크를 몇 건 처리했고, 응답이 몇 밀리초 만에 돌아왔는지. 숫자는 깔끔하지만, 정작 경영진이 알고 싶은 “우리 조직이 실제로 무엇을 더 만들어냈는가”에는 닿지 못합니다.</p>

<p>Anthropic이 2026년 6월 26일 공개한 <a href="https://www.anthropic.com/research/economic-index-june-2026-report">Economic Index 보고서 ‘Cadences’</a>가 흥미로운 이유가 여기 있습니다. 이 보고서는 단순한 사용 통계 업데이트가 아니라, <strong>AI의 경제적 영향을 측정하는 방식 자체를 바꿨다</strong>고 공개적으로 선언합니다. 채팅 로그만으로는 AI가 일에 미치는 영향을 설명할 수 없다는 인식에서 출발해, 측정의 기반을 세 갈래로 넓혔습니다.</p>

<p>ThakiCloud처럼 쿠버네티스 위에서 멀티테넌트 AI/ML 플랫폼을 실제로 운영하는 입장에서 이 전환은 남의 이야기가 아닙니다. 고객사에 ROI를 설명하는 언어가 “시스템 지표”에서 “업무 산출물과 구성원 인식”으로 옮겨가는 흐름을, 이 보고서가 데이터로 보여주기 때문입니다. 이 글은 보고서의 공식 자료를 근거로 세 가지 방법론 전환을 정리하고, 우리 플랫폼 관점에서 무엇을 가져갈 수 있는지를 짚습니다.</p>

<h2 id="이-보고서는-무엇인가">이 보고서는 무엇인가</h2>

<p>Anthropic은 2023년부터 Economic Index를 통해 Claude 사용 양상을 분석해 왔습니다. 그동안의 보고서는 모두 <strong>7일치 샘플 데이터</strong>에 기댔습니다. 일주일을 잘라내 그 안에서 사용 패턴을 들여다보는 방식입니다. 1년 전만 해도 Claude 사용의 대부분이 사용자와 어시스턴트 사이의 대화였기 때문에, 이 방식으로도 그림이 어느 정도 잡혔습니다.</p>

<p>그런데 Claude Code와 Cowork가 빠르게 성장하면서, 세션의 상당수가 길게 이어지는 에이전트 작업으로 바뀌었습니다. 채팅 기록만으로는 사람들이 AI를 어떻게 쓰는지 더 이상 온전히 담기지 않게 된 것입니다. Anthropic은 이 변화를 따라잡기 위해 데이터 파이프라인을 세 가지 방향으로 손봤다고 밝힙니다. 샘플링 비율을 높여 시간 단위까지 패턴을 보고, 대화의 산출물을 분류하는 분류기를 새로 도입하고, 채팅/Cowork와 1P API 결과를 월 단위로 나눠 더 세분화해 공개합니다.</p>

<p>여기에 한 축이 더 붙습니다. 그동안 Anthropic은 사용자 세션 <strong>바깥</strong>의 영향, 즉 사람들이 AI를 어떻게 체감하는지에 대한 가시성이 부족했다고 인정합니다. 그래서 2026년 4월에 시작한 <a href="https://www.anthropic.com/research/economic-index-survey-announcement">경제지수 설문(Economic Index Survey)</a>의 초기 결과를 함께 내놓습니다. 정리하면 이 보고서는 세 개의 축, 즉 <strong>시간 단위 케이던스</strong>, <strong>산출물 분류</strong>, <strong>인식 설문</strong>으로 짜여 있습니다.</p>

<p><img src="/assets/images/anthropic-economic-index-cadences-diagram.png" alt="기존 7일 샘플에서 시간 단위 케이던스·산출물 분류·인식 설문 세 축으로 확장되는 다층 혼합 방법론과 ThakiCloud ROI 측정 프레임워크 연결 구조도" /></p>

<h2 id="첫-번째-축-시간-단위-케이던스">첫 번째 축: 시간 단위 케이던스</h2>

<p>가장 눈에 띄는 변화는 프라이버시 보존형 텔레메트리의 도입입니다. 매일 일정 비율의 대화를 연속적으로 샘플링하는 방식으로, 기존의 7일 스냅샷과 달리 일·시간 단위의 흐름을 잡아냅니다. 이 데이터로 처음으로 일상의 리듬이 Claude 사용에 어떻게 반영되는지를 볼 수 있게 됐습니다.</p>

<p>결과는 직관에 부합하면서도 새롭습니다. Claude 사용은 주중 근무 패턴을 그대로 따라가고, 개인적인 질문은 주말에 늘어납니다. 시간대별로 들어가면 더 선명합니다. 사람들은 새벽 5시 무렵에 수면 관련 조언을 가장 많이 구하고, 저녁 6시 무렵에는 레시피를 묻습니다. 아침에는 뉴스 요청이 몰립니다. 특정 날짜에 반응하는 패턴도 보입니다. 미국 세금 신고 마감일인 4월 15일 직전에는 세금 관련 요청이 급증했습니다.</p>

<p>업무 성격에 따른 차이도 드러납니다. 야간과 주말처럼 정규 시간이 아닐 때 사람들이 일 때문에 Claude를 찾으면, 그 태스크는 <strong>고임금 직군</strong> 쪽으로 쏠립니다. 마케팅 매니저나 프로그래머처럼 전통적 근무 시간 밖에서 일하는 비중이 높은 직군이 여기 해당합니다. 반대로 텔레마케팅이나 사무 보조처럼 하위 임금 분위의 태스크는 야간·주말에 비중이 줄어듭니다. Anthropic은 컴퓨터·수학 직군을 분석에서 빼는 강건성 검증을 해도 이 경향이 유지된다고 덧붙입니다. 단순 자동화가 아니라 고숙련 업무의 보조 도구로 AI가 기능하고 있다는 신호로 읽을 수 있는 대목입니다.</p>

<h2 id="두-번째-축-산출물artifact-분류기">두 번째 축: 산출물(Artifact) 분류기</h2>

<p>두 번째 전환은 대화의 결과물을 분류하는 일입니다. Anthropic은 채팅과 Cowork 대화 각각이 어떤 <strong>산출물(artifact)</strong>을 만들어내는지를 30개가 넘는 범주로 분류했습니다. 문서, 설명, 코드 한 조각, 학술 논문처럼 그 대화에서 Claude가 만들어낸 주된 결과물을 뜻합니다.</p>

<p>분류기는 Claude 대화의 <strong>93%가 어떤 산출물을 생성</strong>한다고 판정했습니다. 가장 흔한 유형은 설명(17%), 문서 및 보고서(15%), 가이던스(11%) 순입니다. 설명이나 가이던스 같은 대화형 결과물과 문서나 프레젠테이션 같은 작성형 결과물이 각각 전체의 약 3분의 1을 차지하고, 앱이나 스크립트 같은 코드·기술 결과물이 약 6분의 1을 차지합니다.</p>

<p>여기서 흥미로운 두 번째 발견이 나옵니다. <strong>자율성(autonomy)</strong> 점수입니다. Anthropic은 Claude에게 얼마나 많은 판단을 위임하는지를 1에서 5까지의 척도로 측정합니다. 번역이나 계산처럼 답이 거의 정해진 작업은 자율성이 낮고, 앱이나 게임, 프레젠테이션을 만드는 일처럼 여러 선택지 중에서 골라야 하는 작업은 자율성이 높습니다.</p>

<p>같은 산출물이라도 Claude Code에서 만들 때 자율성이 더 높게 측정됩니다. 보여준 31개 산출물 중 26개에서 Claude Code 쪽 자율성이 챗·Cowork보다 높았고, 전체 평균으로는 <strong>0.37점</strong> 차이가 났습니다. 스크립트나 코드 조각의 경우 그 격차가 0.53점까지 벌어집니다. 이 차이의 약 3분의 2는 같은 작업을 더 많이 위임해서 처리하기 때문이라고 설명합니다. 블로그 글이 좋은 예입니다. 챗·Cowork에서 블로그 글을 만드는 대화는 중앙값 기준 13번의 주고받기를 거치지만, Claude Code에서는 사용자가 더 많은 판단을 맡깁니다. 사용자가 AI에게 더 많은 자율성을 넘기고 있다는 뜻입니다.</p>

<h2 id="세-번째-축-인식-설문">세 번째 축: 인식 설문</h2>

<p>세 번째 축은 로그가 아니라 사람에게 직접 묻는 데이터입니다. Anthropic은 2026년 4월 경제지수 설문을 시작해, 실제 Claude 이용자에게 AI가 자신의 업무를 어느 정도 수행할 수 있는지를 직접 물었습니다. 설문 응답은 프라이버시 보존 방법으로 사용 데이터와 연결됩니다.</p>

<p>응답자에게 오늘 기준으로 AI가 스스로 처리할 수 있는 업무 비중(reported exposure)과 12개월 뒤에 처리할 것으로 기대하는 비중(anticipated exposure)을 물었습니다. <strong>10명 중 6명에 가까운 응답자가 내년에 더 높은 구간을 선택</strong>했고, <strong>3분의 1 이상이 내년에는 AI가 자기 업무의 대부분 또는 거의 전부를 처리할 수 있을 것으로 기대</strong>한다고 답했습니다.</p>

<p>층위별 차이도 또렷합니다. 소득 수준이 낮은 국가의 응답자일수록 AI가 더 많은 업무를 대체할 수 있다고 느끼는 경향이 강했습니다. Anthropic은 이런 국가일수록 AI를 보강이 아니라 자동화에 쓰는 경향이 있다는 이전 연구를 함께 인용합니다. 경력에 따른 차이도 나타났습니다. 15년 이상 경력자는 AI가 할 수 있는 업무 비중을 첫해 근무자보다 약 10퍼센트포인트 낮게 봤습니다. 오래 일한 사람일수록 AI가 흉내내기 어려운 암묵적·맥락적 전문성을 쌓았기 때문이라는 해석입니다. 응답자들은 AI가 끝내 할 수 없는 일로 판단, 맥락 인식, 상황 추론, 그리고 신뢰 구축과 사람 관리 같은 관계적 차원을 꼽았습니다. 대체에 대한 우려는 경력 초년생과 저임금 직군에 집중됐습니다.</p>

<h2 id="thakicloud-k8s-aiml-saas-플랫폼-적용-및-시사점">ThakiCloud K8s AI/ML SaaS 플랫폼 적용 및 시사점</h2>

<p>이 보고서가 ThakiCloud에 주는 함의는 기능이 아니라 <strong>측정 프레임워크</strong>에 있습니다. Anthropic이 택한 접근은 “로그만으로는 AI 가치를 설명할 수 없다”는 전제에서 출발하는데, 이는 엔터프라이즈 AI 플랫폼을 운영하는 우리에게 그대로 적용 가능한 관점입니다.</p>

<p>지금까지 고객사에 ROI를 설명할 때 우리도 시스템 지표를 중심에 뒀습니다. 호출 횟수, 처리량, 응답 속도. 그런데 이 보고서는 다른 층위의 질문을 던집니다. 그 대화에서 무엇이 생성됐는가. 그 산출물은 업무 시간 안에 만들어졌는가, 야간 초과근무 중에 만들어졌는가. 사용자는 AI에게 얼마나 많은 자율성을 위임했는가. 사용자 스스로는 AI가 자기 업무를 얼마나 대체한다고 느끼는가.</p>

<p>이 질문들은 우리 스택 위에서 충분히 측정 가능합니다. ThakiCloud는 쿠버네티스와 Kueue 기반 GPU 스케줄링, vLLM 서빙, 멀티테넌트 에이전트 운용을 한곳에서 다룹니다. 여기서 나오는 텔레메트리에 산출물 분류기를 한 겹 얹으면, 고객사 직원들이 언제 어떤 유형의 결과물을 AI와 함께 만드는지를 잡아낼 수 있습니다. 그러면 AI 도입 효과를 “업무 효율 향상”이라는 추상적 표현이 아니라 구체적 산출물 단위로 설명하게 됩니다. 야근 시간대에 고임금 직군 태스크 비중이 높아진다는 발견은, 우리 고객사에서도 AI가 단순 자동화가 아니라 고숙련 업무의 보조 도구로 자리잡고 있는지를 가늠하는 지표가 될 수 있습니다.</p>

<p>설문과 로그를 연계하는 방식도 참고할 만합니다. 실제 사용 데이터와 체감 인식 사이의 괴리를 측정하면, AI 도입 후 어떤 계층이 가장 효과를 보고 어떤 계층이 불안을 느끼는지를 파악할 수 있습니다. 이는 고객사의 내부 변화 관리(Change Management) 전략 수립에 곧바로 쓰이는 인사이트입니다. 특히 온프렘 환경에서 데이터를 외부로 내보내지 않고 측정해야 하는 국내 고객사라면, 프라이버시 보존형 측정 설계는 선택이 아니라 요구 사항입니다. 우리의 멀티테넌트 격리와 self-hosting 구조는 이 요구에 정확히 맞물립니다.</p>

<p>결국 Anthropic이 보여주는 방향은 AI가 경제에 미치는 영향을 측정하는 기준을 계속 고도화하겠다는 의지입니다. ThakiCloud가 고객사에 줄 수 있는 강력한 차별점 하나는, 단순한 플랫폼 제공을 넘어 이런 측정 프레임워크를 함께 설계하고 데이터를 해석해주는 파트너 역할입니다. AI 도입 ROI를 로그 수준이 아니라 업무 산출물과 구성원 인식 수준에서 측정하는 능력이, 앞으로 엔터프라이즈 AI 플랫폼 시장의 핵심 경쟁력이 될 것이라고 봅니다.</p>

<h2 id="한계-및-반론">한계 및 반론</h2>

<p>균형을 위해 이 보고서의 한계도 짚어야 합니다. 먼저 데이터의 출처가 Claude 사용자라는 점에서 표본 편향이 있습니다. AI를 이미 적극적으로 쓰는 집단의 사용 패턴과 인식이므로, 전체 노동 인구로 일반화하기는 어렵습니다. Anthropic 자신도 직업을 확정적으로 식별할 수 없다고 여러 차례 밝힙니다. 시간대별 직군 추정 역시 태스크 성격에서 역으로 추론한 것이라 인과를 단정하기 어렵습니다.</p>

<p>설문 데이터는 더 조심스럽게 읽어야 합니다. “내년에 AI가 내 업무 대부분을 처리할 것”이라는 기대는 체감이지 검증된 역량이 아닙니다. 보고서 안에서도 실제 직업별 노출 지표보다 체감 역량이 더 높게 나타난다는 점이 확인됩니다. 기대와 현실 사이의 이 간극 자체가 측정 대상이지, 기대치를 곧 미래로 받아들일 근거는 아닙니다.</p>

<p>마지막으로, 측정 방법론의 고도화가 곧 영향의 크기를 키우는 것은 아닙니다. 더 정교하게 본다는 것과 더 크게 일어난다는 것은 다른 이야기입니다. 이 보고서의 가치는 “AI가 일을 얼마나 대체했다”는 결론이 아니라, “그 영향을 어떻게 더 정직하게 측정할 것인가”라는 질문을 다층 혼합 방법론으로 다시 세운 데 있습니다. ThakiCloud가 가져갈 것도 결론이 아니라 그 측정의 태도입니다.</p>

<h2 id="출처">출처</h2>

<ul>
  <li>Anthropic, <a href="https://www.anthropic.com/research/economic-index-june-2026-report">“Anthropic Economic Index report: Cadences”</a> (2026-06-26)</li>
  <li>Anthropic, <a href="https://www.anthropic.com/research/economic-index-survey-announcement">“Anthropic Economic Index Survey”</a> (2026-04)</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="research" /><category term="anthropic" /><category term="economic-index" /><category term="ai-impact" /><category term="measurement" /><category term="telemetry" /><category term="survey" /><category term="enterprise-ai" /><summary type="html"><![CDATA[Anthropic이 2026년 6월 26일 공개한 Economic Index 'Cadences' 보고서는 7일 샘플을 버리고 시간 단위 연속 텔레메트리로 전환했습니다. 여기에 산출물 분류기와 설문 데이터를 결합해, AI 영향 측정을 채팅 로그에서 다층 혼합 방법론으로 끌어올립니다. ThakiCloud가 엔터프라이즈 AI 플랫폼 ROI를 어떻게 다시 정의할 수 있는지 정리했습니다.]]></summary></entry><entry xml:lang="ko"><title type="html">Claude Code 프로젝트 구조의 완전한 지도를 우리 레포에 비춰봤습니다</title><link href="https://thakicloud.github.io/ko/technique/claude-code-project-anatomy-complete-map/" rel="alternate" type="text/html" title="Claude Code 프로젝트 구조의 완전한 지도를 우리 레포에 비춰봤습니다" /><published>2026-06-27T00:00:00+09:00</published><updated>2026-06-27T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/technique/claude-code-project-anatomy-complete-map</id><content type="html" xml:base="https://thakicloud.github.io/ko/technique/claude-code-project-anatomy-complete-map/"><![CDATA[<p><img src="/assets/images/claude-code-project-anatomy-complete-map-hero.png" alt="여러 갈래의 빛줄기가 하나의 중심 노드로 수렴했다가 다시 계층적으로 갈라지는 추상 구조" />
<em>하나의 프로젝트 브레인에서 규칙, 스킬, 에이전트, 메모리로 갈라지는 Claude Code 프로젝트 구조를 추상화한 이미지.</em></p>

<h2 id="개요">개요</h2>

<p>Claude Code로 일을 하다 보면 <code class="language-plaintext highlighter-rouge">.claude</code> 폴더가 어느 순간 잡동사니가 됩니다. 규칙을 넣어야 할 내용이 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>로 가고, 가끔만 필요한 전문 지식이 항상 로드되는 규칙으로 박히며, 개인 환경 경로가 팀 공유 파일에 섞입니다. 각 구성요소가 “무엇을 담아야 하는가”의 경계가 흐려지면, 매 세션마다 쓰지도 않는 컨텍스트를 토큰으로 지불하게 됩니다.</p>

<p>2026년 6월, Prakash Bhandari가 정리한 “Claude Code Project Structure: The Complete Map”라는 글이 개발자 커뮤니티에서 화제가 됐습니다. <code class="language-plaintext highlighter-rouge">.claude</code> 폴더가 통제하는 다섯 개의 하위 시스템, 즉 지시(CLAUDE.md와 rules), 워크플로(skills와 commands), 전문가(agents), 권한(settings.json), 기억(memory)을 한 장의 지도로 그린 글입니다. ThakiCloud는 이미 이 구조 위에서 수백 개의 스킬과 수십 개의 에이전트를 운용하고 있어서, 글을 읽는 데 그치지 않고 우리 레포를 그 지도에 직접 비춰봤습니다.</p>

<p>이 글은 그 비교 실측의 기록입니다. 각 구성요소의 역할 경계를 정리하고, 우리 레포(<code class="language-plaintext highlighter-rouge">ai-platform-strategy</code>)의 실제 구성요소 수를 측정해 지도와 대조한 뒤, 쿠버네티스 기반 AI/ML SaaS 플랫폼을 운영하는 관점에서 이 구조가 왜 단순한 정리정돈 이상의 의미를 갖는지 정리했습니다.</p>

<h2 id="claude-code-프로젝트-구조란-무엇인가">Claude Code 프로젝트 구조란 무엇인가</h2>

<p>핵심 발상은 단순합니다. Claude Code는 두 곳에서 설정을 읽습니다. 프로젝트 디렉터리의 <code class="language-plaintext highlighter-rouge">.claude</code>와 홈 디렉터리의 <code class="language-plaintext highlighter-rouge">~/.claude</code>입니다. 프로젝트 파일은 git에 커밋해 팀과 공유하고, 홈 디렉터리 파일은 모든 프로젝트에 적용되는 개인 설정입니다. 이 두 갈래를 기준으로 모든 구성요소가 자리를 잡습니다.</p>

<p>지도의 본질은 “각 구성요소가 언제 컨텍스트에 로드되는가”입니다. 어떤 것은 매 세션 자동으로 들어오고, 어떤 것은 요청이 트리거할 때만 들어옵니다. 이 로드 타이밍의 차이가 곧 토큰 비용의 차이이고, 그래서 무엇을 어디에 두느냐가 단순한 취향이 아니라 운영 비용 문제가 됩니다.</p>

<pre><code class="language-mermaid">flowchart TB
    ROOT["프로젝트 루트"]
    ROOT --&gt; BRAIN["CLAUDE.md&lt;br/&gt;프로젝트 브레인&lt;br/&gt;(매 세션 자동 로드)"]
    ROOT --&gt; LOCAL["CLAUDE.local.md&lt;br/&gt;개인 오버라이드&lt;br/&gt;(gitignore)"]
    ROOT --&gt; IGNORE[".claudeignore&lt;br/&gt;컨텍스트 경계"]
    ROOT --&gt; MCP[".mcp.json&lt;br/&gt;외부 도구 연결"]
    ROOT --&gt; DOTC[".claude/"]
    DOTC --&gt; SET["settings.json&lt;br/&gt;권한·훅·환경변수"]
    DOTC --&gt; RULES["rules/&lt;br/&gt;상시 규칙&lt;br/&gt;(매 턴 로드)"]
    DOTC --&gt; SKILLS["skills/&lt;br/&gt;온디맨드 전문지식&lt;br/&gt;(요청 시 로드)"]
    DOTC --&gt; AGENTS["agents/&lt;br/&gt;서브에이전트 정의"]
    DOTC --&gt; MEM["agent-memory/&lt;br/&gt;에이전트가 학습한 지식"]
    DOTC --&gt; WT["worktrees/&lt;br/&gt;병렬 격리"]
</code></pre>
<p><em>Claude Code 프로젝트의 구성요소를 로드 타이밍 기준으로 정리한 구조도. 클릭하면 확대됩니다.</em></p>

<h2 id="구성요소별-역할-경계">구성요소별 역할 경계</h2>

<p>지도가 진짜 가치를 갖는 지점은 “무엇을 어디에 담는가”의 경계입니다. 글이 정리한 각 구성요소의 책임을 우리가 실제로 운용하는 방식과 함께 정리하면 다음과 같습니다.</p>

<p><strong>CLAUDE.md는 프로젝트 브레인입니다.</strong> 매 세션 자동으로 로드되며 팀 전체가 공유하는 표준 브리프입니다. 신규 계약자에게 첫날 건네는 안내서라고 생각하면 정확합니다. 무엇을 만들고 있는가, 어떤 스택 위에서 도는가, 어떤 컨벤션을 따르는가, 워크플로 규칙은 무엇인가. 이 네 가지 질문에만 답하는 것이 원칙입니다. 모든 줄이 임대료를 낸다는 점이 중요합니다. 뚱뚱한 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>는 곧 컨텍스트 낭비입니다.</p>

<p><strong>CLAUDE.local.md는 개인 오버라이드입니다.</strong> 같은 포맷이지만 git에 절대 들어가지 않습니다. 로컬 환경 경로, 디버깅 단축키, 개인 선호, 내 머신의 특이사항이 여기 들어갑니다. 팀원끼리 달라도 되고, 공유 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>를 깔끔하게 유지하는 안전판 역할을 합니다.</p>

<p><strong>.claudeignore는 컨텍스트 경계입니다.</strong> <code class="language-plaintext highlighter-rouge">.gitignore</code>와 같은 문법으로 Claude의 읽기 범위를 제한합니다. 이것이 없으면 <code class="language-plaintext highlighter-rouge">node_modules</code>, 생성된 마이그레이션, 벤더 의존성, 대용량 픽스처가 컨텍스트를 소진합니다. 대형 모노레포에서는 사실상 필수입니다.</p>

<p><strong>rules는 상시 규칙입니다.</strong> 매 턴 자동으로 로드되므로 모든 작업에 적용되는 불변 규칙만 들어가야 합니다. 200줄짜리 아키텍처 문서를 규칙 파일에 넣으면, 그 내용이 무관한 세션에서도 매번 컨텍스트를 먹습니다. 그래서 문서는 스킬이 명시적으로 읽을 때까지 잠들어 있어야 합니다.</p>

<p><strong>skills는 온디맨드 전문지식입니다.</strong> 요청이 트리거할 때만 로드됩니다. 항상 필요하지는 않은 전문 워크플로, 도메인별 파이프라인, 반복 작업 레시피가 여기 들어갑니다. “때때로만 필요한 것”이라는 기준이 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>와 skills를 가르는 선입니다.</p>

<p><strong>agents는 서브에이전트 정의입니다.</strong> 독립적인 역할, 도구 조합, 모델 티어를 가진 전문가로, 필요할 때 소환됩니다. 탐색에는 저렴한 모델을, 구현에는 균형 잡힌 모델을, 아키텍처 결정에는 가장 비싼 모델을 배정하는 식으로 작업 성격에 따라 모델을 라우팅합니다.</p>

<p><strong>agent-memory는 에이전트가 학습한 지식입니다.</strong> <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>와의 핵심 차이가 여기 있습니다. <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>는 사람이 알려준 것이고, agent-memory는 에이전트가 경험으로 배운 것입니다. 장기 실행 에이전트가 반복 패턴, 버그, 문서화되지 않은 컨벤션을 누적합니다.</p>

<h2 id="새-지식은-어디에-두는가">새 지식은 어디에 두는가</h2>

<p>지도를 외워도 막상 새 규칙이나 워크플로를 추가할 때 어디에 둘지 헷갈립니다. 글이 제시한 배치 결정 트리는 이 판단을 단순화합니다.</p>

<pre><code class="language-mermaid">flowchart TB
    START["새 지식·규칙·워크플로 추가"]
    START --&gt; Q1{"항상 적용 +&lt;br/&gt;전체 팀 공유?"}
    Q1 --&gt;|예| CMD["CLAUDE.md (짧게)&lt;br/&gt;또는 .claude/rules/"]
    Q1 --&gt;|아니오| Q2{"가끔만 필요한&lt;br/&gt;전문 워크플로?"}
    Q2 --&gt;|예| SK[".claude/skills/"]
    Q2 --&gt;|아니오| Q3{"독립 역할·&lt;br/&gt;도구 조합?"}
    Q3 --&gt;|예| AG[".claude/agents/"]
    Q3 --&gt;|아니오| Q4{"개인 환경&lt;br/&gt;특이사항?"}
    Q4 --&gt;|예| LO["CLAUDE.local.md&lt;br/&gt;(gitignore)"]
    Q4 --&gt;|아니오| Q5{"에이전트가&lt;br/&gt;경험으로 배운 것?"}
    Q5 --&gt;|예| ME[".claude/agent-memory/"]
    Q5 --&gt;|아니오| PL["plugins/&lt;br/&gt;(여러 프로젝트 배포)"]
</code></pre>
<p><em>새 지식을 어디에 배치할지 결정하는 트리. 항상 필요한지, 가끔 필요한지, 누가 만든 지식인지를 순서대로 묻습니다.</em></p>

<p>가장 흔한 실수도 명확합니다. “가끔만 필요한” 지식을 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>에 다 때려넣으면 매 세션 토큰을 낭비합니다. <code class="language-plaintext highlighter-rouge">.claudeignore</code>가 없는 모노레포는 컨텍스트가 소진됩니다. <code class="language-plaintext highlighter-rouge">CLAUDE.local.md</code>를 git에 커밋하면 개인 정보와 경로가 노출됩니다. MCP 서버를 10개 이상 상시 활성화하면 사용하지 않아도 매번 약 1만 토큰을 낭비합니다.</p>

<h2 id="thakicloud-레포를-이-지도에-비춰보기">ThakiCloud 레포를 이 지도에 비춰보기</h2>

<p>지도를 읽었으니 우리 레포를 거기에 비춰봤습니다. <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> 레포의 <code class="language-plaintext highlighter-rouge">.claude</code> 디렉터리를 실제로 측정한 결과는 다음과 같습니다.</p>

<table>
  <thead>
    <tr>
      <th>구성요소</th>
      <th>실측</th>
      <th>로드 타이밍</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>CLAUDE.md</td>
      <td>94줄</td>
      <td>매 세션 자동</td>
    </tr>
    <tr>
      <td>.claude/rules</td>
      <td>40개 파일</td>
      <td>매 턴 자동</td>
    </tr>
    <tr>
      <td>.claude/skills</td>
      <td>1655개 디렉터리</td>
      <td>온디맨드</td>
    </tr>
    <tr>
      <td>.claude/agents</td>
      <td>54개 정의</td>
      <td>소환 시</td>
    </tr>
    <tr>
      <td>.claude/hooks</td>
      <td>15개</td>
      <td>이벤트 발생 시</td>
    </tr>
    <tr>
      <td>.claudeignore</td>
      <td>존재 (442바이트)</td>
      <td>상시 경계</td>
    </tr>
    <tr>
      <td>.mcp.json</td>
      <td>존재 (166바이트)</td>
      <td>서버 연결 시</td>
    </tr>
    <tr>
      <td>.claude/settings.json</td>
      <td>존재 (5KB)</td>
      <td>매 세션</td>
    </tr>
  </tbody>
</table>

<p><img src="/assets/images/claude-code-project-anatomy-complete-map-results.png" alt="ThakiCloud 레포의 .claude 구성요소를 로드 타이밍별로 집계한 막대 그래프" />
<em>규칙 40개와 CLAUDE.md 94줄은 매 턴 들어오는 상시 비용이고, 스킬 1655개와 에이전트 54개는 필요할 때만 들어오는 온디맨드 자산입니다.</em></p>

<p>이 숫자가 말해주는 것이 지도의 핵심을 그대로 증명합니다. 스킬 1655개를 전부 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code>나 규칙에 넣었다면 매 세션이 즉시 컨텍스트 한계를 넘었을 것입니다. 실제로 이 1655개는 온디맨드로만 로드되고, 어떤 스킬을 띄울지는 별도의 라우터가 매 턴 후보를 좁혀 결정합니다. 반대로 상시 비용 영역인 규칙은 40개로 의도적으로 억제하고 있습니다. 규칙 파일당 2KB 이하를 목표로 하고, 그 이상이 되면 스킬로 강등하는 위생 규칙을 둔 결과입니다.</p>

<p>흥미로운 지점은 우리가 이 글의 출처를 읽고 곧바로 <code class="language-plaintext highlighter-rouge">claude-code-project-anatomy.md</code>라는 규칙 파일로 증류해 레포에 넣었다는 사실입니다. 즉 “프로젝트 구조 지도”라는 지식 자체가 배치 결정 트리를 한 번 통과해, 매 턴 참조되는 상시 규칙으로 자리 잡았습니다. 지도가 스스로를 지도 위에 배치한 셈입니다.</p>

<h2 id="thakicloud-k8s-aiml-saas-플랫폼-적용-시사점">ThakiCloud K8s AI/ML SaaS 플랫폼 적용 시사점</h2>

<p>이 구조가 단순한 정리정돈을 넘어서는 이유는 컨텍스트 비용이 곧 운영 비용이기 때문입니다. ThakiCloud는 쿠버네티스 위에서 멀티테넌트 에이전트를 운용하고, GPU 자원은 Kueue로 스케줄링하며, 모델은 vLLM으로 서빙합니다. 이 환경에서 에이전트 세션 하나하나가 토큰을 소비하고, 그 토큰은 곧 추론 비용입니다. 상시 로드되는 컨텍스트를 줄이는 것은 정확도뿐 아니라 단가에 직접 영향을 줍니다.</p>

<p>지도가 강조하는 “로드 타이밍에 따른 배치”는 우리가 이미 별도로 정리해 온 두 가지 원칙과 정확히 맞물립니다. 첫째는 능력을 harness가 아니라 스킬에 쌓는다는 원칙으로, 동일한 스킬이 여러 실행 환경을 가로질러 작동하도록 harness는 얇게 유지합니다. 둘째는 매 턴 들어오는 것은 최소로, 가끔 필요한 것은 온디맨드로 미룬다는 토큰 위생 원칙입니다. 글의 배치 결정 트리는 이 두 원칙을 신규 구성요소를 추가하는 순간의 실무 판단으로 바꿔줍니다.</p>

<p>플랫폼 제품 관점에서도 함의가 있습니다. 멀티테넌트 환경에서 테넌트별로 다른 규칙과 스킬을 주입해야 할 때, 무엇을 상시 컨텍스트로 둘지와 무엇을 온디맨드로 둘지의 경계가 명확하면 테넌트 간 컨텍스트 격리와 비용 배분이 깔끔해집니다. agent-memory처럼 에이전트가 학습한 지식을 사람이 검토하는 채널과, 사람이 처음부터 지정하는 <code class="language-plaintext highlighter-rouge">CLAUDE.md</code> 채널을 분리해 두는 것도, 자가 학습하는 에이전트를 안전하게 운용하려는 우리 방향과 동일합니다.</p>

<h2 id="한계-및-반론">한계 및 반론</h2>

<p>이 지도가 만능은 아닙니다. 몇 가지 한계를 정직하게 짚습니다.</p>

<p>첫째, 구성요소 경계는 권고이지 강제가 아닙니다. Claude Code 자체가 “이 내용은 규칙이 아니라 스킬로 가야 한다”고 막아주지 않습니다. 경계를 지키는 것은 결국 팀의 규율이고, 우리처럼 토큰 위생 규칙과 라우터 게이트를 코드로 둬야 실제로 강제됩니다. 지도만 외운다고 자동으로 깔끔해지지 않습니다.</p>

<p>둘째, 스킬 1655개라는 숫자는 자랑이 아니라 양날의 검입니다. 후보가 많을수록 라우터가 잘못된 스킬을 띄울 노이즈 위험이 커집니다. 온디맨드라서 상시 토큰은 안 먹지만, 검색 정확도라는 다른 비용이 발생합니다. “온디맨드면 공짜”라는 단순한 결론은 위험합니다.</p>

<p>셋째, 이 구조는 Claude Code에 특화돼 있습니다. 다른 에이전트 실행 환경으로 옮기면 디렉터리 규약과 로드 메커니즘이 달라집니다. 그래서 지식 자체는 가능한 한 실행 환경 중립적으로 기술하고, 환경별 배선은 얇게 유지하는 편이 장기적으로 안전합니다.</p>

<p>마지막으로, 출처 글의 일부 수치(예: MCP 서버당 약 1천 토큰)는 환경과 버전에 따라 달라질 수 있는 근사치입니다. 절대값으로 받기보다 “상시 로드되는 것은 모두 비용이다”라는 방향성으로 읽는 것이 맞습니다.</p>

<h2 id="출처">출처</h2>

<ul>
  <li><a href="https://www.prakashbhandari.com.np/posts/claude-code-project-structure-2026/">Claude Code Project Structure Explained: The Complete 2026 Guide</a> (Prakash Bhandari)</li>
  <li><a href="https://code.claude.com/docs/en/claude-directory">Explore the .claude directory (Claude Code 공식 문서)</a></li>
  <li>실측 대상: ThakiCloud <code class="language-plaintext highlighter-rouge">ai-platform-strategy</code> 레포 <code class="language-plaintext highlighter-rouge">.claude</code> 디렉터리 (2026-06-27 측정)</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="claude-code" /><category term="project-structure" /><category term="context-engineering" /><category term="agent-skills" /><category term="platform-engineering" /><summary type="html"><![CDATA[CLAUDE.md, rules, skills, agents, hooks, MCP까지. Claude Code 프로젝트의 모든 구성요소가 각각 어떤 역할 경계를 갖는지 정리한 '완전한 지도'를 읽고, ThakiCloud의 실제 레포(규칙 40개, 스킬 1655개, 에이전트 54개)를 그 지도에 직접 비춰 무엇이 맞고 무엇이 빠졌는지 실측했습니다. 새 지식을 어디에 둘지 결정하는 배치 트리와 K8s AI/ML SaaS 플랫폼 운영 관점을 함께 정리합니다.]]></summary></entry><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></feed>