<?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-07-12T11:38:05+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">عندما تبدأ عوامل البرمجة بالتحدث مع بعضها البعض: تصميم Claude Code متعدد اللاعبين وعوامل التعاون</title><link href="https://thakicloud.github.io/ar/agentops/claude-code-multiplayer-collaborative-agents/" rel="alternate" type="text/html" title="عندما تبدأ عوامل البرمجة بالتحدث مع بعضها البعض: تصميم Claude Code متعدد اللاعبين وعوامل التعاون" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/agentops/claude-code-multiplayer-collaborative-agents</id><content type="html" xml:base="https://thakicloud.github.io/ar/agentops/claude-code-multiplayer-collaborative-agents/"><![CDATA[<p>عند استخدام عوامل البرمجة (coding agents) ضمن فريق، نصطدم بجدار غريب. العامل ملك لي وحدي. حتى لو كان زميلي في المكتب المجاور يعمل على المستودع نفسه، فإن كل Claude لا يعرف بوجود الآخر. البشر يتعاونون عبر Slack ومشاركة الشاشة، بينما العوامل التي تعدّل الكود نيابة عنا محبوسة كل واحدة في جزيرتها الخاصة. أداة <strong>Claude Code متعدد اللاعبين</strong> التي كُشف عنها مؤخراً وأثارت ضجة تستهدف هذا الجدار بالتحديد. إنها تجربة تتيح لعدة أشخاص استخدام الطرفية (terminal) نفسها معاً، وربط كل Claude بالآخر بحيث تتحدث العوامل فيما بينها. تنطلق هذه المقالة من هذه المحاولة لتفكيك تحديات التصميم التي يجب أن تحلها عوامل البرمجة التعاونية، وتتحقق مما يعنيه هذا الاتجاه من منظور تشغيل ThakiCloud الذي يتعامل مع العوامل المتعددة والسياسات كموارد من الدرجة الأولى.</p>

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

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

<p>الجدير بالملاحظة أن هذا ليس مجرد لعبة عابرة، بل قطعة من تيار أكبر. ظهرت في الفترة نفسها تقريباً مشاريع متتالية تجمع عدة أشخاص وعدة عوامل برمجة في مساحة عمل واحدة. من الأمثلة على ذلك <code class="language-plaintext highlighter-rouge">oh-my-claudecode</code> الذي يتبنى تنسيقاً متعدد العوامل يضع الفريق أولاً، و<code class="language-plaintext highlighter-rouge">claude_codex_bridge</code> الذي يمزج بين عدة عوامل من بينها Codex وClaude في مساحة عمل واحدة، و<code class="language-plaintext highlighter-rouge">codeg</code> وهو مساحة عمل تعاونية تجمّع جلسات عدة عوامل. يتقارب الاتجاه في نقطة واحدة: <strong>التعامل مع العوامل ليست كوحدات معزولة، بل كمشاركين يتواصلون فيما بينهم</strong>.</p>

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

<h2 id="ما-هو-عامل-البرمجة-متعدد-اللاعبين">ما هو عامل البرمجة متعدد اللاعبين</h2>

<p>كلمة “متعدد اللاعبين” (multiplayer) جاءت من عالم الألعاب، لكنها هنا تشير إلى محورين مختلفين في آنٍ واحد. الأول هو محور <strong>إنسان مقابل إنسان</strong>: عدة مطوّرين يشاركون الجلسة نفسها ويوجّهون تعليماتهم معاً إلى عامل واحد. والثاني هو محور <strong>عامل مقابل عامل</strong>: يتبادل كل عامل الرسائل مع الآخر ويوزّعان العمل فيما بينهما. سبب إثارة Claude Code متعدد اللاعبين للاهتمام هو أنه يتعامل مع هذين المحورين معاً.</p>

<p>يوضّح المخطط أدناه الفرق بين البنية المعزولة التقليدية والبنية التعاونية.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph existing["الوضع الحالي: مطوّر واحد لكل عامل (معزول)"]
        devA1["المطوّر A"] --&gt; claudeA1["Claude A&lt;br/&gt;(سياق A فقط)"]
        devB1["المطوّر B"] --&gt; claudeB1["Claude B&lt;br/&gt;(سياق B فقط)"]
        claudeA1 -.انقطاع.- claudeB1
    end

    subgraph collab["التعاون: جلسة مشتركة + عوامل متصلة"]
        personA["المطوّر A"] --&gt; session["جلسة طرفية مشتركة"]
        personB["المطوّر B"] --&gt; session
        session --&gt; agentA["Claude A"]
        session --&gt; agentB["Claude B"]
        agentA &lt;--&gt;|رسائل بين العوامل| agentB
        agentA --&gt; sharedState["حالة عمل مشتركة&lt;br/&gt;(المستودع · التقدّم)"]
        agentB --&gt; sharedState
    end

    existing --&gt;|تحوّل نموذجي| collab
</code></pre>

<p>في البنية التقليدية، لا يدرك عاملا المطوّرين وجود بعضهما البعض حتى لو كانا يعملان على المستودع نفسه. بما أن كل عامل يحكم ضمن سياقه الخاص فقط، يحدث أن يستدعي Claude الخاص بـ B واجهة أعاد Claude الخاص بـ A هيكلتها، لكن باستخدام التوقيع (signature) القديم دون أن يعلم بذلك. أما في البنية التعاونية، فتُشارَك الجلسة والحالة، وتتبادل العوامل الرسائل فيما بينها، مما يفتح مجالاً لتقليل هذا التضارب في وقت شبه فعلي (near real-time).</p>

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

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

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

<p>خلفية أخرى هي تشظّي (fragmentation) نظام الأدوات البيئي. في كل فريق يختلط من يستخدم Claude Code، ومن يستخدم Codex، ومن يستخدم Cursor. ظهور المشاريع المذكورة آنفاً التي تجمع عوامل من عدة موردين في مساحة عمل واحدة هو محاولة لامتصاص هذا التشظّي عبر طبقة تنسيق. بعبارة أخرى، لم تعد عوامل التعاون مجرد ميزة لإضافة أشخاص أكثر، بل تتحوّل إلى <strong>مسألة بنية تحتية للتعامل مع واقع تعايش عوامل غير متجانسة</strong>.</p>

<h2 id="تحديات-التصميم-التي-يجب-أن-تحلها-عوامل-التعاون">تحديات التصميم التي يجب أن تحلها عوامل التعاون</h2>

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

<p>أولاً، <strong>التزامن والتصادم (Concurrency and Conflict)</strong>. يجب تحديد ما يحدث عندما يعدّل عاملان المنطقة نفسها من الملف نفسه في الوقت ذاته. في تعاون البشر، امتصت فروع git (branches) وعمليات الدمج (merge) هذه المشكلة، لكن الجلسات المشتركة في الوقت الفعلي تحتاج إلى تنسيق بدورات زمنية أقصر من ذلك بكثير. هل نضع قفلاً (lock)؟ أم نعتمد التعديل التفاؤلي (optimistic editing) ثم الدمج لاحقاً؟ أم نوزّع مناطق العمل منذ البداية بحيث لا تتداخل؟ هذه هي مفترق طرق التصميم.</p>

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

<p>ثالثاً، <strong>حدود الثقة (Trust Boundaries)</strong>. وهي مسألة إلى أي مدى يجب أن يثق عاملي بالتغيير الذي يقترحه عامل شخص آخر. تماماً كما لا يدمج البشر التغييرات دون مراجعة، يجب ألا تقبل العوامل نواتج عوامل أخرى دون تحقّق. الدرس القديم في أنظمة العوامل المتعددة واضح: <strong>دمج نتائج عدة عوامل دون مرحلة تحقق يراكم الهلوسات (hallucinations)</strong>. وكلما زاد التعاون، ازدادت الحاجة إلى بوابات تحقق عدائية (adversarial verification) تفحص ناتج كل مشارك.</p>

<p>رابعاً، <strong>التدقيق وتتبّع المسؤولية (Audit and Accountability)</strong>. عندما يعمل عدة أشخاص وعدة عوامل على الكود نفسه، إذا تعذّر تتبّع أي تغيير نتج عن قرار من هو (أو أي عامل)، فلن يمكن إعادة تتبّع السبب عند وقوع حادث. كلما زاد التعاون، تحوّل سجل التدقيق (audit log) من خيار إلى ضرورة.</p>

<h2 id="الدلالات-على-تطبيقات-منتجات-thakicloud">الدلالات على تطبيقات منتجات ThakiCloud</h2>

<p>تتطابق تحديات التصميم هذه تماماً مع المسائل التي تتصدى لها ThakiCloud بالفعل بشكل مباشر في <strong>Paxis</strong>. Paxis هي مستوى تحكّم (control plane) من نوع Agent-Native Cloud يعمل فوق ai-platform، ويتعامل مع Skills وTools وPolicies وAudit Logs كموارد من الدرجة الأولى. تستجيب بنية Paxis للأسئلة التي يطرحها عامل البرمجة متعدد اللاعبين على النحو التالي.</p>

<p>هيكل التعاون بين العوامل هو تنسيق <strong>العوامل المتعددة القائم على DAG</strong> في Paxis. بدلاً من إطلاق عدة عوامل بشكل عشوائي في المساحة نفسها، يتم تفكيك المهمة إلى رسم بياني موجّه غير دوري (Directed Acyclic Graph)، بحيث تمتلك كل عقدة (node) منطقة مسؤوليتها الخاصة، مما يتيح تجنّب جزء كبير من تصادمات التزامن المذكورة آنفاً بنيوياً. إنها طريقة توزّع العمل منذ البداية بحيث لا يتداخل، بدلاً من دمج التعديلات المتداخلة لاحقاً.</p>

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

<p>تخفف <strong>Skill Harness</strong> ومحرك المعرفة في Paxis من مشكلة تكلفة مشاركة السياق. البنية التي تختار أكثر من 960 مهارة (skill) عبر BM25 وتنفّذها في صندوق رملي معزول (isolated sandbox) مصمَّمة بحيث يستدعي العامل القدرات المطلوبة عند الحاجة فقط، بدلاً من حمل السياق الكامل في كل مرة. هذا يتماشى مع المطلب القائل بأن على عوامل التعاون تبادل الحالة في شكل ملخَّص، لا كتبادل كامل.</p>

<p>ما يدعم موارد التنفيذ تحت ذلك هو <strong>ai-platform</strong>. لكي يقوم عدة أشخاص وعدة عوامل بتنفيذ الكود في آنٍ واحد داخل صناديق رملية معزولة، يلزم عزل متعدد المستأجرين (multi-tenant isolation) وحوسبة مرنة. توفّر جدولة GPU القائمة على K8s وKueue، والعزل متعدد المستأجرين، الأساس الذي تعمل عليه عوامل التعاون فعلياً. وكون هذه البنية التعاونية يمكن إقامتها بأمان حتى في بيئات محلية (on-premises) وذات سيادة (sovereign)، له دلالة خاصة بالنسبة للمنظمات القلقة بشأن تسرّب البيانات.</p>

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

<h2 id="القيود-والحجج-المضادة">القيود والحجج المضادة</h2>

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

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

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

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

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

<ul>
  <li>Dorsa Rohani, “We made Claude Code multiplayer!” (X, 2026-07-08): <a href="https://x.com/dorsa_rohani/status/2074963064231952832">https://x.com/dorsa_rohani/status/2074963064231952832</a></li>
  <li>Claude Code (مستودع Anthropic الرسمي): <a href="https://github.com/anthropics/claude-code">https://github.com/anthropics/claude-code</a></li>
  <li>oh-my-claudecode (تنسيق متعدد العوامل يضع الفريق أولاً): <a href="https://github.com/yeachan-heo/oh-my-claudecode">https://github.com/yeachan-heo/oh-my-claudecode</a></li>
  <li>claude_codex_bridge (مساحة عمل CLI متعددة العوامل): <a href="https://github.com/SeemSeam/claude_codex_bridge">https://github.com/SeemSeam/claude_codex_bridge</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="agentops" /><category term="claude-code" /><category term="multi-agent" /><category term="collaboration" /><category term="agentops" /><category term="paxis" /><category term="orchestration" /><summary type="html"><![CDATA[ننتقل من بنية يستخدم فيها كل شخص عاملاً واحداً، إلى بنية يتحدث فيها عدة أشخاص وعدة عوامل مع بعضهم البعض في مساحة العمل نفسها. انطلاقاً من Claude Code متعدد اللاعبين، نتناول مسائل التزامن والتصادم وحدود الثقة في عوامل التعاون، ونتحقق منها من منظور تشغيل ThakiCloud.]]></summary></entry><entry xml:lang="ar"><title type="html">نُقطّر مهاراتنا في نماذج صغيرة لتشغيلها تلقائيا: ملخص تطورات الأشهر الستة الأخيرة</title><link href="https://thakicloud.github.io/ar/agentops/distill-skill-fleet-small-models/" rel="alternate" type="text/html" title="نُقطّر مهاراتنا في نماذج صغيرة لتشغيلها تلقائيا: ملخص تطورات الأشهر الستة الأخيرة" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/agentops/distill-skill-fleet-small-models</id><content type="html" xml:base="https://thakicloud.github.io/ar/agentops/distill-skill-fleet-small-models/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>أي فريق شغّل الوكلاء (agents) فعليا يصطدم بالجدار نفسه. تشغيل مهارة واحدة يستدعي النموذج الحدودي (frontier model) عشرات إلى مئات المرات، وحين تُطلق عشرات هذه المهارات يوميا بشكل آلي دون تدخل بشري، تكون الفاتورة أول من يصرخ. القدرة كافية، لكن المشكلة تكمن في بنية تدفع سعر النموذج الأعلى مستوى مع كل استدعاء.</p>

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

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

<h2 id="لماذا-الآن-أصبحت-النماذج-الصغيرة-الخيار-الافتراضي-للوكلاء">لماذا الآن: أصبحت النماذج الصغيرة الخيار الافتراضي للوكلاء</h2>

<p>لنتفق أولا على المصطلح. اعتبارا من عام 2026، يشير مصطلح النموذج اللغوي الصغير (SLM) إلى نماذج بحجم يتراوح تقريبا بين 1B و35B من المعاملات، قادرة على إنجاز المهمة الموكلة إليها مع أنها تعمل على وحدة معالجة رسومية (GPU) واحدة أو محطة عمل، وأحيانا على الجهاز نفسه (on-device). والجوهر ليس الحجم بذاته، بل السؤال: هل هو كافٍ للمهمة؟</p>

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

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

<h2 id="ملخص-تقنيات-الأشهر-الستة-الأخيرة-كيف-تُنقل-المهارات-إلى-نماذج-صغيرة">ملخص تقنيات الأشهر الستة الأخيرة: كيف تُنقل المهارات إلى نماذج صغيرة</h2>

<p>خلال الربعين الأخيرين، انتقل جوهر الاهتمام من التقطير المعرفي البسيط إلى تقطير مهارات الوكلاء، ثم إلى التقطير القائم على السياسة الحالية (on-policy distillation). ورسخ نهج يقوم فيه النموذج المعلّم بتقييم كل رمز (token) على مسارات يولّدها النموذج الطالب بنفسه. وفيما يلي ملخص لهذا التيار مصنفا حسب الفروع الرئيسية.</p>

<table>
  <thead>
    <tr>
      <th>النهج</th>
      <th>ملخص بسطر واحد</th>
      <th>أين يتفوق</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>التقطير القائم على السياسة الحالية متعدد المعلّمين (MOPD)</td>
      <td>إنشاء معلّمين متخصصين لكل مجال عبر التعلم المعزز، ثم يقيّم المعلّمون كل رمز أثناء توليد الطالب لمساراته الخاصة</td>
      <td>دمج عدة مهارات في طالب صغير واحد</td>
    </tr>
    <tr>
      <td>التقطير الذاتي المشروط بالمهارة (Skill-SD)</td>
      <td>يصبح النموذج نفسه معلّما وطالبا في آن واحد لتنقيح مسارات متعددة الجولات مشروطة بالمهارة</td>
      <td>وكلاء متعددو الأدوار، دون حاجة إلى معلّم منفصل</td>
    </tr>
    <tr>
      <td>التقطير القائم على السياسة الحالية خطوة بخطوة (SOD)</td>
      <td>حقن إشارة إشراف كثيفة على مستوى كل خطوة بدلا من المسار الكامل</td>
      <td>تثبيت الوكلاء الصغار في سلاسل استدعاء أدوات طويلة</td>
    </tr>
    <tr>
      <td>تقطير المهارات القائم على السياسة الحالية (OPID)</td>
      <td>تعويض ندرة المكافآت في التعلم المعزز للوكلاء بإشارة كثيفة من المعلّم</td>
      <td>مهام الوكلاء ذات المكافآت النادرة</td>
    </tr>
    <tr>
      <td>تقطير الوكلاء دون تدريب (AgentDistill)</td>
      <td>نقل القدرة عبر تسليم صندوق أدوات قابل لإعادة الاستخدام (MCP box) دون الحاجة إلى إعادة التدريب</td>
      <td>نقل سريع، وتجنب تكلفة التدريب</td>
    </tr>
  </tbody>
</table>

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

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

<h2 id="لماذا-تصب-معمارية-مهاراتنا-في-صالح-هذا-التحول">لماذا تصب معمارية مهاراتنا في صالح هذا التحول</h2>

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

<p>يتقاطع مع هذا مبدأ الحتمية في التنسيق (format determinism). ففي المهارات الدفعية (batch) التي تعمل وفق جدول زمني، لا نجعل النموذج يولّد التنسيق، بل نجعله يولّد المحتوى فقط. الأرقام، والقيم المُعدّدة (enum)، والعرض (rendering)، والتجميع، كلها يملكها كود حتمي. وحين يجتمع هذان المبدآن تصبح النتيجة لافتة: حتى عند تخفيض نموذج العامل (worker) من نموذج حدودي إلى نموذج صغير محلي، لا تتأرجح جودة المخرجات، لأن التنسيق والتحقق اللذين يحددان الجودة مثبّتان في الكود. يكفي أن يولّد النموذج الصغير محتوى النص فقط، بينما يضمن الإطار المُشغّل كل ما تبقى.</p>

<p>وهذا ليس تخمينا بل قياس فعلي. ففي يونيو 2026، أقمنا نموذجا صغيرا محليا (Gemma-4-26B) كعامل مهارات وأجرينا اختبار A/B حيا مقابل سلسلة Claude. وكانت النتيجة تعادلا 18 مقابل 18 بين Gemma وHaiku من حيث التزام العامل بالتعليمات. العائق الوحيد الملحوظ كان سقفا لنافذة السياق يبلغ نحو عشرة آلاف رمز (token)، إذ يفشل الطلب عند تجاوزه. لذلك اخترنا توجيها هجينا (hybrid routing): يتولى القائد (conductor) الحدودي الاستدلال الثقيل والإدارة، بينما يتولى النموذج الصغير المحلي مهام العامل ذات الطابع المُنسّق (structured). وبذلك يكون اتجاه تقطير المهارات في نماذج صغيرة وتشغيلها تلقائيا قد تحقق منه جزئيا بالفعل في بيئتنا. وينسجم مع هذا كون عاملَي تحويل النص إلى كلام (VoxCPM2) والتعرف على الكلام (Qwen-ASR) يعملان محليا بالفعل.</p>

<h2 id="أين-تنهار-الفكرة-عدم-تمجيد-التقطير">أين تنهار الفكرة: عدم تمجيد التقطير</h2>

<p>كون الاتجاه صحيحا لا يعني اختفاء الفخاخ. لنضع أولا الحجة المضادة.</p>

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

<p>العائق الثاني هو تعارض الإشارات بين المعلّمين المتعددين. فإذا اختلفت المحاذاة والتنسيق والقيم بين المعلّمين، يُطمس الطالب في متوسط ضبابي أو تنخفض الجودة بسبب تضارب الإشارات. لهذا يُكرَّس نصف الأبحاث الحديثة تقريبا لعملية تنقية (purification) تُرشّح الإشارات الرديئة من بين إشارات المعلّمين. والرافعة الحقيقية ليست في إضافة عدد أكبر من المعلّمين، بل في بوابة تُقرّر أي معلّم يُوثق به عند أي رمز (token). وهذا يطابق تماما مبدأ نلتزم به بالفعل: إغلاق أي توزيع متفرع (fan-out) عبر مرحلة تحقق إلزامية. نجمع نتائج متعددة، لكننا لا نستخدم إلا ما نجا منها عبر تحقق عدائي (adversarial verification) قبل الدمج.</p>

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

<h2 id="خارطة-طريق-التنفيذ-لدى-thakicloud">خارطة طريق التنفيذ لدى ThakiCloud</h2>

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

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

<h2 id="الخاتمة">الخاتمة</h2>

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

<h2 id="المراجع">المراجع</h2>

<ul>
  <li>Small Language Models are the Future of Agentic AI (arXiv 2506.02153): <a href="https://arxiv.org/pdf/2506.02153">https://arxiv.org/pdf/2506.02153</a></li>
  <li>Skill-SD: Skill-Conditioned Self-Distillation for Multi-turn LLM Agents (arXiv 2604.10674): <a href="https://arxiv.org/pdf/2604.10674">https://arxiv.org/pdf/2604.10674</a></li>
  <li>SOD: Step-wise On-policy Distillation for Small Language Model Agents (arXiv 2605.07725): <a href="https://arxiv.org/pdf/2605.07725">https://arxiv.org/pdf/2605.07725</a></li>
  <li>OPID: On-Policy Skill Distillation for Agentic Reinforcement Learning (arXiv 2606.26790): <a href="https://arxiv.org/pdf/2606.26790">https://arxiv.org/pdf/2606.26790</a></li>
  <li>AgentDistill: Training-Free Agent Distillation with Generalizable MCP Boxes (arXiv 2506.14728): <a href="https://arxiv.org/pdf/2506.14728">https://arxiv.org/pdf/2506.14728</a></li>
  <li>Distilling LLM Agent into Small Models with Retrieval and Code Tools (arXiv 2505.17612): <a href="https://arxiv.org/pdf/2505.17612">https://arxiv.org/pdf/2505.17612</a></li>
  <li>Distillation in 2026 (so far): which frontier models use it and how (Hugging Face): <a href="https://huggingface.co/blog/sergiopaniego/distillation-2026">https://huggingface.co/blog/sergiopaniego/distillation-2026</a></li>
  <li>How Small Language Models Are Key to Scalable Agentic AI (NVIDIA Technical Blog): <a href="https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/">https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/</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="agentops" /><category term="agentops" /><category term="distillation" /><category term="small-language-models" /><category term="on-policy-distillation" /><category term="skill-fleet" /><category term="cost-efficiency" /><category term="platform-engineering" /><summary type="html"><![CDATA[إذا شُغّلت مهارات الوكلاء عبر واجهة نموذج حدودي فقط، تتضخم التكلفة مع آلاف الاستدعاءات. رفعت أبحاث النصف الأول من عام 2026 مسار تقطير هذه المهارات في نماذج صغيرة بحجم 1B إلى 35B وتشغيلها محليا وتلقائيا إلى مستوى قابل للتطبيق العملي. يستعرض هذا المقال أحدث التقنيات مثل تقطير المهارات القائم على السياسة الحالية، والتقطير متعدد المعلّمين، وتقطير الوكلاء دون تدريب، ويوضح لماذا تصب بنية ThakiCloud القائمة على إطار مُشغّل رقيق وحتمية في التنسيق في صالح هذا التحول، مدعومة بقياس فعلي لعامل صغير (تعادل Gemma-4-26B مع Haiku)، وأين تنهار هذه الفكرة.]]></summary></entry><entry xml:lang="ar"><title type="html">التحقق أولا بنموذج مكلف ثم الانحدار إلى نموذج أرخص: كيف نخفض تكلفة النماذج في أسطول المهارات عبر بوابة كود</title><link href="https://thakicloud.github.io/ar/research/vetd-cost-descent/" rel="alternate" type="text/html" title="التحقق أولا بنموذج مكلف ثم الانحدار إلى نموذج أرخص: كيف نخفض تكلفة النماذج في أسطول المهارات عبر بوابة كود" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/research/vetd-cost-descent</id><content type="html" xml:base="https://thakicloud.github.io/ar/research/vetd-cost-descent/"><![CDATA[<h2 id="المشكلة-ليست-في-النموذج-بل-في-التخصيص">المشكلة ليست في النموذج بل في التخصيص</h2>

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

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

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

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

<p>نقدم هنا الطريقة التي نستخدمها في أسطولنا. اسمها <strong>VETD، أي Validate-Expensive-Then-Descend</strong>. تتحقق أولا بالنموذج المكلف، ثم تنحدر فقط إلى المستوى الأرخص الذي يسمح به الكود.</p>

<h2 id="أربعة-التزامات">أربعة التزامات</h2>

<p>الالتزامات الجوهرية لـVETD أربعة.</p>

<p>أولا، نتحقق أولا بالنموذج المكلف. مخرجات المستوى الطليعي هي خط الأساس للجودة. لا نفترض أن المستوى الأرخص كافٍ، بل نقيس فعليا الفجوة بينه وبين أفضل مخرجات.</p>

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

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

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

<h2 id="شكل-الحلقة">شكل الحلقة</h2>

<p>يتكون التدفق الكامل من خمس مراحل.</p>

<p><img src="/assets/images/vetd-cost-descent-loop.png" alt="حلقة VETD" /></p>

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

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

<p>بعد ذلك يأتي الحكم. حكَم يعمل على المستوى الطليعي يمنح كل مستوى درجة من 1 إلى 5 لكل بُعد في معيار التقييم، وينتج للمرشح الأرخص كائن فجوة مُهيكلا. الفجوة الإجمالية هي headline_gap، والفجوة القابلة للإصلاح عبر تعديل النص التوجيهي هي fixable gap، والفجوة التي يفتقر فيها المستوى الأرخص بنيويا هي reasoning gap. المهم أن الحكم لا ينتج سوى هذه التسميات والدرجات. قرار الخفض لا يتخذه الحكم.</p>

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

<h2 id="لماذا-تبقى-الجودة-رغم-الخفض">لماذا تبقى الجودة رغم الخفض</h2>

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

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

<h2 id="كيف-انقسم-الأسطول">كيف انقسم الأسطول</h2>

<p><img src="/assets/images/vetd-cost-descent-fleet-gate.png" alt="تكوين الأسطول وبوابة الخفض بعد تطبيق VETD" /></p>

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

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

<h2 id="عندما-تقول-البوابة-لا">عندما تقول البوابة لا</h2>

<p>ليست كل المهارات تنحدر. اختبرنا الليلة مباشرة مهارتين. مهارة التحقق من التقارير سجلت headline_gap قدره 1.4 مع reasoning gap مزدوجة، وسجل ملخص الاجتماع الصباحي headline_gap قدره 2.4 مع reasoning gap مزدوجة تتعلق بالأدلة الواقعية وعمق التحليل. حكم البوابة في كلتا الحالتين كان التعليق، والتوصية التي أصدرها الكود كانت: انقلوا فجوات الصيغة إلى الكود أولا ثم أعيدوا القياس.</p>

<p>قبل ذلك، سجلت مهارة إزالة أسلوب الكتابة الذي يوحي بالذكاء الاصطناعي في النصوص الكورية headline_gap قدره 2.0 متجاوزا الحد الأدنى بفارق كبير، وكانت تحمل معها ثلاث fixable gaps وreasoning gap واحدة. كان الحكم أيضا التعليق. المخرج الصحيح لـVETD في هذه الحالة ليس الخفض بل تعليمات عمل: أغلقوا الـfixable gaps الثلاث بتعديل المهارة ثم أعيدوا القياس.</p>

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

<h2 id="الفشل-الذي-آلم-حقا">الفشل الذي آلم حقا</h2>

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

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

<h2 id="الحدود-الصادقة">الحدود الصادقة</h2>

<p>لهذه الطريقة حدود واضحة.</p>

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

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

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

<h2 id="بجملة-واحدة">بجملة واحدة</h2>

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

<p>الفكرة الجوهرية القابلة للنقل تختزل في جملة واحدة. <strong>استخدموا أفضل نموذج لتحديد المكان الذي لم يعد فيه ذلك النموذج ضروريا.</strong></p>

<hr />

<p><em>منهجية هذا المقال وأرقامه مأخوذة من سجل تشغيلي حقيقي لأسطول أتمتة ThakiCloud. نُصدر مسودة الورقة البحثية المرتبة كـ<a href="/assets/papers/vetd-cost-descent-2026-07-12.pdf">PDF</a> مرفقة مع هذا المقال.</em></p>]]></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="LLM-cost-optimization" /><category term="model-routing" /><category term="model-cascade" /><category term="LLM-as-judge" /><category term="agent-skills" /><category term="format-determinism" /><category term="LLMOps" /><category term="cost-engineering" /><summary type="html"><![CDATA[عندما تُعرّف مهام الشركة المتكررة كمهارات، يمكن الإجابة عن السؤال الذي يحدد إلى أي مستوى نموذج يمكن أن تنحدر كل مهارة فعليا بالقياس لا بالحدس. النموذج الأكثر تكلفة لا يُستخدم لتنفيذ العمل بل للحكم على جواز الخفض. هذا سجل تشغيلي حقيقي من أسطول مؤلف من 16 مهارة تم فيه خفض 10 منها إلى مستوى متوسط.]]></summary></entry><entry xml:lang="en"><title type="html">When Coding Agents Start Talking to Each Other: Designing Multiplayer Claude Code and Collaborative Agents</title><link href="https://thakicloud.github.io/en/agentops/claude-code-multiplayer-collaborative-agents/" rel="alternate" type="text/html" title="When Coding Agents Start Talking to Each Other: Designing Multiplayer Claude Code and Collaborative Agents" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/agentops/claude-code-multiplayer-collaborative-agents</id><content type="html" xml:base="https://thakicloud.github.io/en/agentops/claude-code-multiplayer-collaborative-agents/"><![CDATA[<p>Anyone who has used a coding agent on a team runs into an odd wall. The agent belongs to you alone. Even when a colleague sitting next to you is working in the same repository, your Claude has no idea theirs exists. People collaborate through Slack and screen sharing, but the agents that actually touch the code on our behalf sit isolated on their own islands. <strong>Multiplayer Claude Code</strong>, recently released and widely discussed, takes direct aim at this wall. It is an experiment in letting multiple people share the same terminal and connecting each person’s Claude so the agents can talk to each other. This post uses that release as a starting point to break down the design challenges collaborative coding agents need to solve, and examines what this direction implies from ThakiCloud’s operational perspective, where multi-agent systems and policy are treated as first-class resources.</p>

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

<p>Up to now, the basic unit of a coding agent has been <strong>one person, one agent</strong>. Claude Code lives in your terminal, understands your codebase, and takes your instructions. This structure is excellent for individual productivity, but it clashes with the fact that software has always been a team effort. Developer Dorsa Rohani’s release of multiplayer Claude Code flips that premise. According to the announcement, the tool enables two things. First, multiple people can work together in <strong>the same terminal session</strong>. Second, each person’s Claude can be <strong>connected to talk to each other</strong>.</p>

<p>What stands out is that this is not a one-off toy but part of a larger trend. Around the same time, several projects emerged that bring multiple coding agents from multiple people into a single workspace: <code class="language-plaintext highlighter-rouge">oh-my-claudecode</code>, which bills itself as team-first multi-agent orchestration; <code class="language-plaintext highlighter-rouge">claude_codex_bridge</code>, which mixes several agents including Codex and Claude in one workspace; and <code class="language-plaintext highlighter-rouge">codeg</code>, a collaborative workspace that aggregates multiple agent sessions. The direction is converging on one idea: <strong>treating agents not as isolated terminals, but as participants who communicate with each other</strong>.</p>

<p>Why this trend matters is clear. In real development organizations, a large share of the value comes from coordination: who is touching which file, whether this change breaks that module, what the reviewer is worried about. If agents cannot take part in that coordination, we end up having to manually stitch together the separate outputs each agent produces on its own. Collaborative agents are an attempt to reduce the cost of that stitching.</p>

<h2 id="what-a-multiplayer-coding-agent-is">What a Multiplayer Coding Agent Is</h2>

<p>The word multiplayer comes from gaming, but here it points to two distinct axes at once. One is the <strong>person-to-person</strong> axis, where several developers share the same session and jointly direct a single agent. The other is the <strong>agent-to-agent</strong> axis, where each person’s agent exchanges messages with the others and splits up the work. What makes multiplayer Claude Code interesting is that it addresses both axes together.</p>

<p>The diagram below shows the difference between the existing isolated structure and a collaborative one.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph existing["Existing: One Person, One Agent (Isolated)"]
        dev1["Developer A"] --&gt; claudeA1["Claude A&lt;br/&gt;(A's context only)"]
        dev2["Developer B"] --&gt; claudeB1["Claude B&lt;br/&gt;(B's context only)"]
        claudeA1 -.disconnected.- claudeB1
    end

    subgraph collaborative["Collaborative: Shared Session + Connected Agents"]
        personA["Developer A"] --&gt; session["Shared Terminal Session"]
        personB["Developer B"] --&gt; session
        session --&gt; agentA["Claude A"]
        session --&gt; agentB["Claude B"]
        agentA &lt;--&gt;|inter-agent messages| agentB
        agentA --&gt; sharedState["Shared Work State&lt;br/&gt;(repo, progress)"]
        agentB --&gt; sharedState
    end

    existing --&gt;|paradigm shift| collaborative
</code></pre>

<p>In the existing structure, even when two developers’ agents touch the same repository, they have no awareness of each other. Because each one reasons only within its own context, Claude A can refactor an interface while Claude B, unaware of the change, keeps calling it with the old signature. In the collaborative structure, session and state are shared, and because the agents exchange messages directly, there is room to catch this kind of mismatch nearly in real time.</p>

<p>That said, based on what has been made public so far, it is hard to say exactly how deep this connection goes. Whether the shared terminal is essentially screen streaming, or whether the agents actually exchange their plans and editing intentions in a structured form, makes a big difference to how practical it is. This post focuses on the design challenges implied by the published concept and does not assert anything about internal behavior that has not been verified.</p>

<h2 id="why-now">Why Now</h2>

<p>There is a reason collaborative agents are appearing now. As models have grown more capable, the size of the task a single agent can handle has grown with them, and as a result, <strong>situations where multiple agents make large changes at the same time</strong> have become genuinely common. It is already routine for one person to spin up parallel subagents to split up file edits. Taking just one more step from there, you reach the moment where different people’s agents overlap in the same codebase. Without coordination, that moment quickly becomes a conflict.</p>

<p>Another driver is fragmentation in the tooling ecosystem. On most teams, some people use Claude Code, others use Codex, and others use Cursor. The multi-vendor workspace projects mentioned above are an attempt to absorb this fragmentation into a coordination layer. In other words, collaborative agents are not simply a feature that adds more people to the mix; they are growing into <strong>infrastructure for dealing with the reality that heterogeneous agents now coexist</strong>.</p>

<h2 id="design-challenges-collaborative-agents-must-solve">Design Challenges Collaborative Agents Must Solve</h2>

<p>Behind an appealing concept sits a considerable amount of engineering. To bring collaborative agents into real practice, at least four problems need to be solved.</p>

<p>First is <strong>concurrency and conflict</strong>. You need to define what happens when two agents edit the same region of the same file at the same time. Human collaboration absorbed this problem with git branches and merges, but a real-time shared session requires coordination on a much tighter cycle. Whether to use locking, optimistic edits followed by merging, or to distribute work so it never overlaps in the first place is a fundamental design fork.</p>

<p>Second is <strong>the scope of context sharing</strong>. To let agents talk to each other, you need to decide what gets shared. Passing the entire conversation history wholesale causes token costs to explode and pollutes context. Share too little, and the point of collaborating disappears. What is actually needed is a <strong>summarized, structured exchange of state</strong>: intent such as “I plan to change this function in this file this way” needs to be passed as compressed information, not raw text.</p>

<p>Third is <strong>trust boundaries</strong>: how much an agent should trust a change proposed by someone else’s agent. Just as people do not merge a change without review, agents should not accept another agent’s output without verification. The long-standing lesson from multi-agent systems is clear: <strong>merging the results of multiple agents without a verification stage causes hallucinations to accumulate.</strong> The more collaborative the agents, the more essential it becomes to have a gate that adversarially verifies each participant’s output.</p>

<p>Fourth is <strong>audit and accountability tracking</strong>. When multiple people and multiple agents have touched the same code, if you cannot trace which change came from whose (or which agent’s) judgment, you cannot trace the root cause when something goes wrong. As collaboration increases, an audit log stops being optional and becomes mandatory.</p>

<h2 id="implications-for-thakiclouds-product">Implications for ThakiCloud’s Product</h2>

<p>These design challenges overlap precisely with problems ThakiCloud is already addressing head-on in <strong>Paxis</strong>. Paxis is the Agent-Native Cloud control plane running on top of ai-platform, treating Skills, Tools, Policies, and Audit Logs as first-class resources. Here is how Paxis’s architecture responds to the questions raised by multiplayer coding agents.</p>

<p>The backbone of agent-to-agent collaboration is Paxis’s <strong>DAG multi-agent</strong> orchestration. Instead of releasing multiple agents into a shared space with no structure, work is decomposed into a directed acyclic graph so that each node owns a defined area of responsibility, which structurally avoids much of the concurrency conflict discussed above. Rather than merging overlapping edits after the fact, work is distributed so it never overlaps to begin with.</p>

<p>The trust boundary problem is answered by Paxis’s <strong>policy gates and audit logs</strong>. Before one agent’s output flows to another agent or to a live system, it must pass through a policy gate, and every action is recorded in an audit log. This is, in effect, an infrastructure-level enforcement of the principle that “the results of multiple agents are never merged without verification.” The value of this gate only grows as collaboration increases.</p>

<p>The cost of context sharing is eased by Paxis’s <strong>Skill Harness</strong> and its knowledge engine. Selecting from over 960 skills via BM25 and running them in isolated sandboxes is designed so agents pull in only the capability they need at that moment, instead of carrying the full context every time. This aligns directly with the requirement that collaborative agents exchange summarized state rather than raw, wholesale context.</p>

<p>Underpinning all of this with execution resources is <strong>ai-platform</strong>. Having multiple people and multiple agents run code simultaneously in isolated sandboxes requires multi-tenant isolation and elastic compute. K8s- and Kueue-based GPU scheduling and multi-tenant isolation provide the foundation collaborative agents actually need to run on. The fact that this collaborative structure can be built safely on premises and in sovereign environments matters in particular for organizations concerned about data leakage.</p>

<p>In short, Paxis structures at the control-plane layer, with policy, audit, and orchestration, the same collaborative concept that multiplayer Claude Code is experimenting with at the individual-tool layer. The two layers are not competitors but complements. For collaborative agents to move from an entertaining demo to reliable operation, they ultimately need a control plane equipped with policy gates, audit logs, and resource isolation.</p>

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

<p>Collaborative agents should not be viewed with pure optimism. The biggest counterargument is that <strong>coordination overhead can eat into the gains from collaborating</strong>. Just as meetings do among people, an increase in messages exchanged between agents becomes latency and token cost in its own right. It is entirely possible for two agents to spend so much time confirming each other’s plans that they never actually produce code. Collaboration is not always faster than working in parallel and independently.</p>

<p>Second is <strong>the coupling of failure modes</strong>. Once agents are connected, one agent’s mistaken judgment propagates to another. In an isolated structure, one person’s mistake stays contained to that person; in a connected structure, an error can chain and spread. Without verification gates, collaboration can amplify incidents rather than prevent them.</p>

<p>Third, it has not yet been verified exactly what level of state exchange the currently released multiplayer tool actually implements. Whether the shared terminal is closer to screen sharing or is a genuine structured agent-to-agent protocol changes its practicality substantially. The direction of the concept is clear, but before putting it into production, trust boundaries and audit trails must be confirmed. There is still considerable distance between an interesting demo and reliable infrastructure.</p>

<p>Even so, the direction itself is hard to reverse. As long as software remains a team effort, the agents standing in for that team will eventually need to talk to each other too. The question is not whether to turn collaboration on, but whether that collaboration is <strong>built on a structure backed by policy, verification, and audit</strong>.</p>

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

<ul>
  <li>Dorsa Rohani, “We made Claude Code multiplayer!” (X, 2026-07-08): <a href="https://x.com/dorsa_rohani/status/2074963064231952832">https://x.com/dorsa_rohani/status/2074963064231952832</a></li>
  <li>Claude Code (Anthropic’s official repository): <a href="https://github.com/anthropics/claude-code">https://github.com/anthropics/claude-code</a></li>
  <li>oh-my-claudecode (team-first multi-agent orchestration): <a href="https://github.com/yeachan-heo/oh-my-claudecode">https://github.com/yeachan-heo/oh-my-claudecode</a></li>
  <li>claude_codex_bridge (multi-agent CLI workspace): <a href="https://github.com/SeemSeam/claude_codex_bridge">https://github.com/SeemSeam/claude_codex_bridge</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="agentops" /><category term="claude-code" /><category term="multi-agent" /><category term="collaboration" /><category term="agentops" /><category term="paxis" /><category term="orchestration" /><summary type="html"><![CDATA[We are moving from a world where one person uses one agent to one where multiple people and multiple agents share a workspace and talk to each other. Using multiplayer Claude Code as a starting point, we look at the concurrency, conflict, and trust-boundary problems of collaborative agents and examine them from an operational perspective at ThakiCloud.]]></summary></entry><entry xml:lang="en"><title type="html">Distilling Our Own Skills Into Small Models to Run Them Automatically: The Last 6 Months</title><link href="https://thakicloud.github.io/en/agentops/distill-skill-fleet-small-models/" rel="alternate" type="text/html" title="Distilling Our Own Skills Into Small Models to Run Them Automatically: The Last 6 Months" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/agentops/distill-skill-fleet-small-models</id><content type="html" xml:base="https://thakicloud.github.io/en/agentops/distill-skill-fleet-small-models/"><![CDATA[<h2 id="overview">Overview</h2>

<p>Any team that has actually run agents in production hits the same wall. Running a single skill can mean dozens to hundreds of calls to a frontier model, and once a few dozen of these skills fire unattended every day, the bill screams first. The capability is there, but paying top-tier model rates on every single call is the problem.</p>

<p>So the direction becomes obvious. Take the skills a company has already validated and is already using, and distill them into a small model that knows only as much as the skill actually needs, then run it locally and automatically. What’s interesting is that this direction is no longer theoretical. Over the six months of the first half of 2026, a wave of research has pushed “small model plus agent skill distillation” to a level you can actually deploy. This post surveys that trend and covers how ThakiCloud is actually moving its skill fleet to small models, as well as where it breaks.</p>

<p>The intended audience is clear: platform and MLOps engineers who run many agent skills and are weighing frontier API costs against automation in their design. If you’re a different kind of reader, say someone who needs a management-level cost verdict, the last section alone gets you there.</p>

<h2 id="why-now-small-models-have-become-the-default-for-agents">Why Now: Small Models Have Become the Default for Agents</h2>

<p>First, let’s align on terms. As of 2026, a small language model (SLM) refers to a model in roughly the 1B to 35B range that runs on a single GPU, a workstation, or sometimes on-device, while still getting the assigned job done. The key isn’t size itself, it’s whether the model is sufficient for the task.</p>

<p>The case for small models in agent workflows rests on three things: cost, latency, and modularity. A multi-agent setup built from five specialized small models is cheaper, faster, and easier to debug than sending a single prompt to a frontier model. That’s exactly the point NVIDIA researchers made in their argument that small language models are the future of agentic AI. The capability threshold for agent tasks has dropped low enough that work which needed a frontier API a year ago can now be handled by a model you run yourself.</p>

<p>The cost gap isn’t trivial either. The calculation keeps coming back that running a small model costs anywhere from one-tenth to one-thirtieth of the top-tier model in the same family. In agent systems that call a model thousands of times for a single complex task, moving even part of that traffic to small models cuts operating costs by an order of magnitude. For operations that fire skills unattended at scale, that saving shows up directly on the bottom line.</p>

<h2 id="whats-happened-in-the-last-6-months-how-to-move-skills-to-small-models">What’s Happened in the Last 6 Months: How to Move Skills to Small Models</h2>

<p>Over the past two quarters, the center of gravity moved from plain knowledge distillation to agent skill distillation, and then to on-policy distillation. The approach that has taken hold has the student model generate its own trajectories, with the teacher scoring them token by token. Here’s how the major threads break down.</p>

<table>
  <thead>
    <tr>
      <th>Approach</th>
      <th>One-line summary</th>
      <th>Where it excels</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Multi-teacher on-policy distillation (MOPD)</td>
      <td>Set up domain-specific RL expert teachers, and as the student generates its own rollouts, each teacher scores every token</td>
      <td>Consolidating multiple skills into one small student</td>
    </tr>
    <tr>
      <td>Skill-conditioned self-distillation (Skill-SD)</td>
      <td>The same model acts as both teacher and student, refining multi-turn trajectories conditioned on the skill</td>
      <td>Multi-turn agents, no separate teacher needed</td>
    </tr>
    <tr>
      <td>Step-wise on-policy distillation (SOD)</td>
      <td>Injects dense supervision signal step by step rather than over the whole trajectory</td>
      <td>Stabilizing small agents with long chains of tool calls</td>
    </tr>
    <tr>
      <td>On-policy skill distillation (OPID)</td>
      <td>Compensates for the sparse reward of agentic reinforcement learning with dense teacher signal</td>
      <td>Agent tasks where rewards are sparse</td>
    </tr>
    <tr>
      <td>Training-free agent distillation (AgentDistill)</td>
      <td>Transfers reusable toolboxes (MCP boxes) to hand off capability without retraining</td>
      <td>Fast handoff, avoiding training cost</td>
    </tr>
  </tbody>
</table>

<p>A few threads land directly on real-world practice. First, the approach frontier labs have converged on is to build separate reinforcement-learning expert teachers per domain (one for math, one for code, one for agents), then have all of them score the student’s own generated output during on-policy distillation and merge it into a single student. A good teacher doesn’t have to be a bigger model. A checkpoint that’s the same base and same size as the student, but pushed deep into a single domain, can actually make a better teacher. Specialization creates the teacher, not scale.</p>

<p>Second, evidence has piled up that distilling tool-using small agents actually works. When a large agent equipped with search and code tools gets distilled into a small model, that small model has been reported to outperform models a full size class larger, particularly on tasks outside its training distribution. That means agent distillation is a practical route to producing a “capable small model that can use tools.”</p>

<h2 id="why-our-skill-architecture-suits-this-shift">Why Our Skill Architecture Suits This Shift</h2>

<p>This is where ThakiCloud’s structure becomes relevant. We’ve long followed the principle of putting capability into the skill rather than the harness. Thin harness, fat skills. We keep the loop and permissions that wrap the model minimal, while packing domain knowledge, judgment, templates, and failure cases densely into the skill itself. That means the same skill is designed to keep working no matter which model you swap in underneath it.</p>

<p>Format determinism layers on top of that. In batch skills that run on a schedule, we don’t have the model generate the format, only the content. Numbers, enum values, rendering, and aggregation are all owned by deterministic code. Combine these two principles and something interesting happens. Even if you demote the worker model from frontier down to a local small model, the output doesn’t wobble, because the format and validation that govern quality are baked into code. The small model only has to produce the content, and the harness guarantees the rest.</p>

<p>This isn’t speculation, it’s a measured result. In June 2026 we set up a local small model (Gemma-4-26B) as a skill worker and ran a live A/B test against the Claude family. The result: Gemma tied Haiku 18 to 18 on worker compliance. The one wall we ran into was a context ceiling of roughly 10,000 tokens, past which requests started failing. So we settled on hybrid routing. A frontier conductor handles heavy reasoning and orchestration, while a local small model handles standardized worker tasks. The direction of distilling skills into small models for automated execution has already been partially validated in our own environment. Running speech synthesis (VoxCPM2) and speech recognition (Qwen-ASR) workers locally already fits the same pattern.</p>

<h2 id="where-it-breaks-not-romanticizing-distillation">Where It Breaks: Not Romanticizing Distillation</h2>

<p>Being on the right path doesn’t make the pitfalls disappear. Let’s lay out the counterarguments first.</p>

<p>The most practical wall is divergence over chains of tool calls. Reasoning that interleaves tool use becomes less stable the longer it runs on a small model. On-policy distillation eases this with dense supervision, but a single wrong tool call can propagate into later reasoning steps, widening the gap between the student’s trajectory and the teacher’s. That’s exactly why step-wise distillation (SOD) supervises step by step instead of over the whole trajectory, to catch this divergence early. Hand a long agent task to a small model as-is and it collapses partway through.</p>

<p>The second wall is signal conflict among multiple teachers. When teachers disagree on alignment, format, or values, the student either gets averaged into mush or actually loses quality from the conflicting signal. That’s why about half of recent research is focused on purification, filtering out the bad teacher signal. The lever isn’t attaching more teachers, it’s the gate that decides which teacher to trust on which token. This lines up exactly with a principle we already follow: fan-out must always close through a verification stage. Gather multiple results, but only use what survives adversarial verification before merging.</p>

<p>The third point cuts deeper. Distillation produces a follower trapped under the teacher’s ceiling. It inherits the teacher’s blind spots along with its knowledge, and it can’t get ahead on its own. So distillation shouldn’t be positioned as a replacement for frontier orchestration, it should be positioned as a deployment-layer strategy for running already-validated skills cheaply and at scale. That’s why keeping the conductor and demoting only the worker is the honest conclusion in a hybrid setup.</p>

<h2 id="the-thakicloud-execution-roadmap">The ThakiCloud Execution Roadmap</h2>

<p>We’ve laid out a three-step path. First, stand up a specialized teacher per skill. The first candidates are standardized skills that fire at high volume, news digests, Twitter summaries, report renderers, skills where format determinism already lives in code. These already have their format owned by code, so the small student only has to get the content right. Second, distill small students on-policy from those teachers and run them locally and automatically. Knowing where the context ceiling sits, we keep any skill that needs long context on the conductor and only demote short, repetitive workers. Third, protect quality with retrospective-driven escalation. We’re already running an automatic promotion loop that starts with a small model, and if a particular skill fails repeatedly, rolls that skill alone back up to a higher-tier model. Start cheap, and let the data catch failures, then promote only that skill.</p>

<p>This roadmap delivers three benefits. Cost drops by an order of magnitude for high-volume unattended execution, latency shrinks with local execution, and on the sovereignty side, dependence on external APIs and data movement both decrease. For us, running a Kubernetes-based AI/ML platform, these three things aren’t marketing copy, they’re daily operating metrics.</p>

<h2 id="closing">Closing</h2>

<p>The direction of “distill skills into small models and run them automatically these days” is correct. But the specifics matter. Setting up domain expert teachers, consolidating them into a small student on-policy, attaching a verification gate that filters bad teacher signal, and supervising step by step for tasks with long chains of tool calls, that’s close to the current standard. ThakiCloud starts from an advantageous position in this shift thanks to its existing thin-harness and format-determinism structure, and the measured result of a Gemma worker tying Haiku backs that starting position with data. Keeping the frontier as conductor and demoting validated skills to small workers is the most realistic path to protecting both cost and quality at the same time.</p>

<h2 id="references">References</h2>

<ul>
  <li>Small Language Models are the Future of Agentic AI (arXiv 2506.02153): <a href="https://arxiv.org/pdf/2506.02153">https://arxiv.org/pdf/2506.02153</a></li>
  <li>Skill-SD: Skill-Conditioned Self-Distillation for Multi-turn LLM Agents (arXiv 2604.10674): <a href="https://arxiv.org/pdf/2604.10674">https://arxiv.org/pdf/2604.10674</a></li>
  <li>SOD: Step-wise On-policy Distillation for Small Language Model Agents (arXiv 2605.07725): <a href="https://arxiv.org/pdf/2605.07725">https://arxiv.org/pdf/2605.07725</a></li>
  <li>OPID: On-Policy Skill Distillation for Agentic Reinforcement Learning (arXiv 2606.26790): <a href="https://arxiv.org/pdf/2606.26790">https://arxiv.org/pdf/2606.26790</a></li>
  <li>AgentDistill: Training-Free Agent Distillation with Generalizable MCP Boxes (arXiv 2506.14728): <a href="https://arxiv.org/pdf/2506.14728">https://arxiv.org/pdf/2506.14728</a></li>
  <li>Distilling LLM Agent into Small Models with Retrieval and Code Tools (arXiv 2505.17612): <a href="https://arxiv.org/pdf/2505.17612">https://arxiv.org/pdf/2505.17612</a></li>
  <li>Distillation in 2026 (so far): which frontier models use it and how (Hugging Face): <a href="https://huggingface.co/blog/sergiopaniego/distillation-2026">https://huggingface.co/blog/sergiopaniego/distillation-2026</a></li>
  <li>How Small Language Models Are Key to Scalable Agentic AI (NVIDIA Technical Blog): <a href="https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/">https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/</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="agentops" /><category term="agentops" /><category term="distillation" /><category term="small-language-models" /><category term="on-policy-distillation" /><category term="skill-fleet" /><category term="cost-efficiency" /><category term="platform-engineering" /><summary type="html"><![CDATA[Running agent skills exclusively on frontier APIs makes costs explode once you hit thousands of calls. Research from the first half of 2026 has pushed distilling those skills into 1B to 35B small models and running them locally automatically to a practical stage. This post surveys recent techniques like on-policy skill distillation, multi-teacher distillation, and training-free agent distillation, and explains why ThakiCloud's already-confirmed small-worker results (Gemma-4-26B tying Haiku) and our thin-harness, format-determinism architecture are well suited to this shift, along with where it breaks down.]]></summary></entry><entry xml:lang="en"><title type="html">621,500 App Screens, All Somehow the Same App</title><link href="https://thakicloud.github.io/en/comics/app-screen-library-all-the-same/" rel="alternate" type="text/html" title="621,500 App Screens, All Somehow the Same App" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/comics/app-screen-library-all-the-same</id><content type="html" xml:base="https://thakicloud.github.io/en/comics/app-screen-library-all-the-same/"><![CDATA[<p>A new tool has quietly indexed over 621,500 app screens, and iOS builders are hooked. You can trace how a similar app moves, how one screen hands off to the next, down to the tiniest animation. That handoff between screens is the flow, and now it is free to copy. The catch is familiar: when everyone references the same top screens, every app slowly grows the same face. Infinite reference, and somehow zero originality.</p>

<p><img src="/assets/images/posts/comics/app-screen-library-all-the-same/strip.png" alt="621,500 App Screens, All Somehow the Same App" /></p>

<blockquote>
  <p>Source: <a href="https://x.com/hjguyhan/status/2076093695162822954">RT @protoduct_ai: iOS開発でUI実装する人、絶対これ使った方がいい</a> · twitter</p>
</blockquote>

<h2 id="what-this-means-for-thakicloud">What this means for ThakiCloud</h2>

<p>Borrow endlessly from the cloud. The moment those references become your product’s design and your users’ data, where that data lives is the whole ballgame. On-prem simply means running it inside your own walls instead of someone else’s. ThakiCloud hands the repetitive parts, screen collection and flow analysis, to agents through Paxis, then carries the results into training and inference on Metis. Reference all 621,500, but keep your taste and your data on your own shelf. That is the line sovereign on-prem draws, and it is how this very blog runs, with a Jarvis orchestrator calling those agents on its own.</p>

<hr />

<p><em>An auto-generated comic riffing on this week’s industry news.</em></p>]]></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="comics" /><category term="AI디자인" /><category term="UI참고" /><category term="온프렘" /><category term="데이터주권" /><category term="파시스" /><category term="메티스" /><summary type="html"><![CDATA[Browse 621,500 screens and somehow ship the exact same app as everyone else.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://thakicloud.github.io/assets/images/posts/comics/app-screen-library-all-the-same/strip.png" /><media:content medium="image" url="https://thakicloud.github.io/assets/images/posts/comics/app-screen-library-all-the-same/strip.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Validate Expensive, Then Descend: Cutting a Skill Fleet’s Model Cost with Code Gates</title><link href="https://thakicloud.github.io/en/research/vetd-cost-descent/" rel="alternate" type="text/html" title="Validate Expensive, Then Descend: Cutting a Skill Fleet’s Model Cost with Code Gates" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/research/vetd-cost-descent</id><content type="html" xml:base="https://thakicloud.github.io/en/research/vetd-cost-descent/"><![CDATA[<h2 id="the-problem-isnt-the-model-its-the-assignment">The problem isn’t the model, it’s the assignment</h2>

<p>Automate enough work with LLMs and you keep running into the same dilemma. The smartest model is the safe default for accuracy, but it costs five to twenty times more than its smaller siblings. Most of the work you’ve automated doesn’t actually need that much capability.</p>

<p>Take a one-person automation fleet as an example: a research paper writer that runs every night, a morning standup digest, a sales CRM briefing, a market monitor, a blog improver, a deployment pipeline, each wired up as a single skill. As the number of skills grows, the monthly model bill grows with it, and that bill is dominated by a handful of workflows pinned to the most expensive tier.</p>

<p>The naive solution is to run everything on the frontier model. That’s what our fleet did at first, and it didn’t scale. At one point a single sales workflow, running both orchestration and content writing on the frontier tier, accounted for roughly 94% of monthly model spend on its own. Run everything on the cheapest model instead, and the outputs that genuinely need capability quietly get worse. That degradation stays invisible until a person notices it weeks later.</p>

<p>The real question differs skill by skill, and it can only be answered by measurement, never by intuition. <strong>For this skill, under this prompt and this scaffolding, what is the cheapest tier whose output doesn’t meaningfully degrade from the frontier model’s?</strong> Answer that question by gut feeling and you’ll get it wrong. Answer it once and it won’t hold, because prompts, skills, and models all keep changing.</p>

<p>Here’s the method we use across our fleet. We call it <strong>VETD, Validate-Expensive-Then-Descend</strong>: validate with the expensive model first, then descend only as far as the code allows.</p>

<h2 id="four-commitments">Four commitments</h2>

<p>VETD rests on four core commitments.</p>

<p>First, validate with the expensive model first. The frontier tier’s output is the quality baseline. We never assume a cheaper tier is good enough; we actually measure the gap against the best output available.</p>

<p>Second, descend only under a gate the code owns. Whether to accept a cheaper tier is decided by deterministic code applying an explicit rubric, never by a model claiming its own output “looks fine.” Models are used only to generate content and score it along defined dimensions; the arithmetic of pass and fail belongs entirely to code.</p>

<p>Third, hold quality with code rather than tier wherever possible. Many skills keep their quality after descending because format, count, and validation are owned by a deterministic post-processor. Wherever a descent is safe, it’s usually those guardrails doing the work, not the model.</p>

<p>Fourth, route capability that can’t be descended, don’t fake it. When the gate refuses a descent because of a genuine capability gap, that skill stays pinned to the expensive tier. We don’t pretend a cheaper model is sufficient when the evidence says otherwise.</p>

<h2 id="what-the-loop-looks-like">What the loop looks like</h2>

<p>The full flow has five stages.</p>

<p><img src="/assets/images/vetd-cost-descent-loop.png" alt="VETD loop" /></p>

<p>First there’s the skill fleet, which is the unit of optimization. A single skill is a directory holding a prompt contract, scripts and templates, and a scheduled runner. A central policy registry records, per skill, the current tier, whether it’s pinned, the consecutive failure count, and a human-readable reason for that tier.</p>

<p>Next comes the tier sweep. Given a target skill and a fixed set of input fixtures, it runs headless, once per tier, and collects the outputs. The frontier output becomes the baseline.</p>

<p>Then comes judging. A judge running on the frontier model scores each tier’s output against rubric dimensions on a scale of one to five, and produces a structured gap object for the cheapest candidate under test. That gap splits into an overall headline_gap, a fixable gap recoverable through prompt edits, and a reasoning gap where the cheaper tier is structurally short. Critically, the judge only produces these labels and scores. It never decides whether to descend.</p>

<p>Finally there’s the deterministic gate. Code approves a descent only when three conditions all hold: headline_gap is at or below the threshold, the reasoning gap is zero, and the fixable gap is zero. There are three possible outcomes. If all three hold, it descends. If headline_gap is fine but a fixable gap remains, the skill gets fixed and re-measured. If there’s a reasoning gap, or headline_gap exceeds the threshold, the skill is held or pinned.</p>

<h2 id="why-quality-survives-the-descent">Why quality survives the descent</h2>

<p>For a descent to be safe, the cheaper tier’s content has to be good enough, and format has to be caught somewhere else. Our fleet’s flagship descent survived on exactly this principle. It was a skill that posts a timeline digest five times a day, pinned to the frontier tier and eating a large chunk of quota.</p>

<p>Before descending, we refactored the skill first. Per-item workers now emit content only, and a deterministic validator computes the quality gate in code. Minimum body length, minimum source count, web-search evidence count, and an AI-writing-tell gate are all recalculated by code, and any item that fails gets redispatched. Headers, formatting, and deduplication belong to a separate poster. Only after format was owned by code did we move this skill from opus down to sonnet. The reason logged in the policy is unambiguous: quality is preserved by format-determinism guardrails, not by model tier.</p>

<h2 id="how-the-fleet-split">How the fleet split</h2>

<p><img src="/assets/images/vetd-cost-descent-fleet-gate.png" alt="Fleet composition and the descent gate after applying VETD" /></p>

<p>After applying VETD, 10 of 16 skills run on the mid tier. The 6 that remain on the frontier tier are, precisely, the ones where content itself is the deliverable rather than format: humor, editorial judgment, research prose, creative angles. That’s the pattern VETD surfaces: orchestration and format-centric work descends, while irreducible content-quality work stays put.</p>

<p>The sales CRM skill wasn’t descended wholesale; it was split instead. The main conductor, responsible for orchestration, was moved down to the mid tier, while the subagent that writes customer- and deal-facing content stayed on the frontier tier. The bulk of the cost, coordination, descends, while the thin, high-value slice of prose stays where it is.</p>

<h2 id="when-the-gate-says-no">When the gate says no</h2>

<p>Not every skill descends. We re-measured two skills live tonight. A report-validation skill came back with a headline_gap of 1.4 and two reasoning gaps. A standup digest skill came back with a headline_gap of 2.4 and two reasoning gaps, in factual grounding and analytical depth. Both were held by the gate, and the code’s recommendation in both cases was the same: move the format gaps into code first, then re-measure.</p>

<p>Earlier, a Korean AI-writing-tell remover skill came in at a headline_gap of 2.0, well over the threshold, carrying three fixable gaps alongside one reasoning gap. That, too, was held. In this case the correct VETD output isn’t a descent, it’s a work order: close the three fixable gaps through skill edits and measure again.</p>

<p>This part matters. A system that only ever descends is broken. The gate has to be able to say no. Systems under pressure to cut cost drift toward descending everything, and tonight’s two live measurements, plus the humanizer skill’s hold, are exactly the gate holding its ground against that pressure.</p>

<h2 id="the-failure-that-actually-hurt">The failure that actually hurt</h2>

<p>The lesson that stuck came not from a descent but from a promotion. In early July, several skills auto-promoted to the frontier tier because they’d logged repeated “bad runs.” But those bad runs were actually weekly quota exhaustion, not quality failures. The runs themselves finished cleanly; a limit marker in the log got miscounted as a failure.</p>

<p>The fix was to make the failure classifier treat quota and auth exhaustion as neutral. Since it isn’t a capability failure, it no longer increments the consecutive-failure count. The lesson generalizes: <strong>the signals that drive promotion and descent must distinguish capability failure from availability failure.</strong> Fail to make that distinction, and the loop ends up optimizing against noise.</p>

<h2 id="honest-limits">Honest limits</h2>

<p>This method has clear boundaries.</p>

<p>We only measure skills that have fixtures. In practice, “the whole company” really means “the subset with fixtures,” and that subset grows only as fast as we add fixtures. Skills without fixtures get only half the loop, the promotion half that reacts to failures, not the descent half. To be candid, this is a methodology and a partial rollout, not proof that every workflow is cost-optimized.</p>

<p>Measurement isn’t free, since the judge runs on the frontier tier. So we don’t run it on every production call; we run it per skill, only when the skill or the model changes, to spread the cost. A single fixture also can’t represent the full input distribution. A skill that’s safe to descend today could still degrade on inputs the fixtures never captured.</p>

<p>Prompts, skills, and model versions all drift. A descent valid today can become invalid after an upstream model swap. The registry records the reason and a promotion loop catches regressions, but this needs continual re-validation, not a one-time pass.</p>

<h2 id="in-one-sentence">In one sentence</h2>

<p>VETD treats model-cost reduction as a measurement and gating problem, not a modeling problem. Validate with the expensive tier first, confine the expensive model to judging rather than doing the work, and let deterministic code own both the pass gate and, wherever possible, the output format. Do that and one person can push most of a 16-skill fleet down to a mid tier while keeping the few skills that genuinely need capability on the frontier tier. And the loop caught the one time it mistook a quota outage for a quality failure.</p>

<p>The portable takeaway compresses to a single line: <strong>spend your best model finding the places it’s no longer needed.</strong></p>

<hr />

<p><em>The methods and figures in this post are drawn from ThakiCloud’s actual automation fleet operations. A written-up paper draft is also available as a <a href="/assets/papers/vetd-cost-descent-2026-07-12.pdf">PDF</a>.</em></p>]]></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="LLM-cost-optimization" /><category term="model-routing" /><category term="model-cascade" /><category term="LLM-as-judge" /><category term="agent-skills" /><category term="format-determinism" /><category term="LLMOps" /><category term="cost-engineering" /><summary type="html"><![CDATA[When a company's recurring work is defined as skills, each skill can tell you, through measurement rather than intuition, exactly how far down the model tier it can go. The most expensive model isn't for doing the work, it's for judging whether a cheaper one can. This is a real operating record of a 16-skill fleet where 10 skills were pushed down to a mid tier.]]></summary></entry><entry xml:lang="ko"><title type="html">코딩 에이전트가 서로 대화하기 시작할 때: 멀티플레이어 Claude Code와 협업 에이전트의 설계</title><link href="https://thakicloud.github.io/ko/agentops/claude-code-multiplayer-collaborative-agents/" rel="alternate" type="text/html" title="코딩 에이전트가 서로 대화하기 시작할 때: 멀티플레이어 Claude Code와 협업 에이전트의 설계" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/agentops/claude-code-multiplayer-collaborative-agents</id><content type="html" xml:base="https://thakicloud.github.io/ko/agentops/claude-code-multiplayer-collaborative-agents/"><![CDATA[<p>코딩 에이전트를 팀에서 쓰다 보면 이상한 벽에 부딪힙니다. 에이전트는 나 혼자만의 것입니다. 옆자리 동료가 같은 저장소를 만지고 있어도, 각자의 Claude는 서로의 존재를 모릅니다. 사람은 슬랙과 화면 공유로 협업하는데, 정작 우리를 대신해 코드를 만지는 에이전트들은 각자의 섬에 갇혀 있습니다. 최근 공개되어 화제가 된 <strong>멀티플레이어 Claude Code</strong>는 바로 이 벽을 겨냥합니다. 같은 터미널을 여러 사람이 함께 쓰고, 각자의 Claude를 서로 연결해 에이전트끼리 대화하게 만드는 실험입니다. 이 글은 이 시도를 계기로 협업 코딩 에이전트가 풀어야 할 설계 과제를 분해하고, 멀티에이전트와 정책을 일급 리소스로 다루는 ThakiCloud의 운영 관점에서 이 방향이 무엇을 시사하는지 검증합니다.</p>

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

<p>지금까지 코딩 에이전트의 기본 단위는 <strong>1인 1에이전트</strong>였습니다. Claude Code는 내 터미널에 살면서 내 코드베이스를 이해하고 내 명령을 받습니다. 이 구조는 개인 생산성에는 훌륭하지만, 소프트웨어가 애초에 팀 작업이라는 사실과는 어긋납니다. 개발자 도라 로하니(Dorsa Rohani)가 공개한 멀티플레이어 Claude Code는 이 전제를 뒤집습니다. 발표에 따르면 이 도구는 두 가지를 가능하게 합니다. 첫째, 여러 사람이 <strong>같은 터미널 세션</strong>을 공유하며 함께 작업합니다. 둘째, 각자의 Claude를 <strong>서로 연결해 에이전트끼리 대화</strong>하도록 만듭니다.</p>

<p>주목할 점은 이것이 단발성 장난감이 아니라 더 큰 흐름의 한 조각이라는 것입니다. 비슷한 시기에 여러 사람이 여러 코딩 에이전트를 하나의 작업 공간에 모으는 프로젝트들이 잇따라 등장했습니다. 팀 우선 멀티에이전트 오케스트레이션을 표방한 <code class="language-plaintext highlighter-rouge">oh-my-claudecode</code>, Codex와 Claude를 비롯한 여러 에이전트를 한 워크스페이스에서 섞어 쓰는 <code class="language-plaintext highlighter-rouge">claude_codex_bridge</code>, 여러 에이전트 세션을 집계하는 협업 워크스페이스 <code class="language-plaintext highlighter-rouge">codeg</code> 같은 도구들이 그 예입니다. 방향은 하나로 수렴합니다. <strong>에이전트를 고립된 단말이 아니라 서로 통신하는 참여자로 다루는 것</strong>입니다.</p>

<p>이 흐름이 왜 중요한지는 명확합니다. 실제 개발 조직에서 가치 있는 일의 상당 부분은 조율에서 나옵니다. 누가 어느 파일을 만지는지, 이 변경이 저 모듈을 깨뜨리지 않는지, 리뷰어가 무엇을 걱정하는지 같은 것들입니다. 에이전트가 이 조율에 참여하지 못하면, 우리는 결국 에이전트가 각자 만든 결과물을 사람이 손으로 다시 봉합해야 합니다. 협업 에이전트는 그 봉합 비용을 줄이려는 시도입니다.</p>

<h2 id="멀티플레이어-코딩-에이전트란-무엇인가">멀티플레이어 코딩 에이전트란 무엇인가</h2>

<p>멀티플레이어라는 단어는 게임에서 왔지만, 여기서는 두 개의 서로 다른 축을 동시에 가리킵니다. 하나는 <strong>사람 대 사람</strong> 축입니다. 여러 개발자가 같은 세션을 공유하며 하나의 에이전트에 함께 지시를 내리는 형태입니다. 다른 하나는 <strong>에이전트 대 에이전트</strong> 축입니다. 각자의 에이전트가 서로 메시지를 주고받으며 작업을 나누는 형태입니다. 멀티플레이어 Claude Code가 흥미로운 이유는 이 두 축을 함께 다룬다는 데 있습니다.</p>

<p>아래 도표는 기존의 고립된 구조와 협업 구조의 차이를 보여줍니다.</p>

<pre><code class="language-mermaid">flowchart TB
    subgraph 기존["기존: 1인 1에이전트 (고립)"]
        직접1["개발자 A"] --&gt; 클로드1["Claude A&lt;br/&gt;(A의 컨텍스트만)"]
        직접2["개발자 B"] --&gt; 클로드2["Claude B&lt;br/&gt;(B의 컨텍스트만)"]
        클로드1 -.단절.- 클로드2
    end

    subgraph 협업["협업: 공유 세션 + 연결된 에이전트"]
        사람A["개발자 A"] --&gt; 세션["공유 터미널 세션"]
        사람B["개발자 B"] --&gt; 세션
        세션 --&gt; 에이전트A["Claude A"]
        세션 --&gt; 에이전트B["Claude B"]
        에이전트A &lt;--&gt;|에이전트 간 메시지| 에이전트B
        에이전트A --&gt; 공유상태["공유 작업 상태&lt;br/&gt;(저장소 · 진행 상황)"]
        에이전트B --&gt; 공유상태
    end

    기존 --&gt;|패러다임 전환| 협업
</code></pre>

<p>기존 구조에서 두 개발자의 에이전트는 같은 저장소를 만지더라도 서로를 인식하지 못합니다. 각자 자기 컨텍스트 안에서만 판단하므로, A의 Claude가 리팩터한 인터페이스를 B의 Claude가 모른 채 예전 시그니처로 호출하는 일이 벌어집니다. 협업 구조에서는 세션과 상태가 공유되고, 에이전트끼리 메시지를 주고받기 때문에 이 어긋남을 실시간에 가깝게 줄일 여지가 생깁니다.</p>

<p>다만 발표된 정보만으로는 이 연결이 어느 수준까지 구현되었는지 단정하기 어렵습니다. 공유 터미널이 화면 스트리밍 수준인지, 아니면 에이전트가 실제로 서로의 계획과 편집 의도를 구조화된 형태로 교환하는지에 따라 실용성은 크게 갈립니다. 이 글은 공개된 개념을 근거로 설계 과제를 짚는 데 초점을 맞추며, 검증되지 않은 내부 동작은 단정하지 않습니다.</p>

<h2 id="왜-지금-이-방향인가">왜 지금 이 방향인가</h2>

<p>협업 에이전트가 지금 등장하는 데에는 이유가 있습니다. 모델이 강해지면서 에이전트 한 대가 처리하는 작업의 크기가 커졌고, 그 결과 <strong>여러 에이전트가 동시에 큰 변경을 만드는 상황</strong>이 실제로 잦아졌기 때문입니다. 한 사람이 서브에이전트를 병렬로 띄워 파일을 나눠 고치는 패턴은 이미 흔합니다. 여기서 한 걸음만 더 나가면 서로 다른 사람의 에이전트가 같은 코드베이스에서 겹치는 순간이 옵니다. 조율이 없으면 이 순간은 곧 충돌이 됩니다.</p>

<p>또 하나의 배경은 도구 생태계의 파편화입니다. 팀마다 Claude Code를 쓰는 사람, Codex를 쓰는 사람, Cursor를 쓰는 사람이 섞여 있습니다. 앞서 언급한 여러 벤더의 에이전트를 한 워크스페이스로 묶는 프로젝트들이 등장한 것은, 이 파편화를 조율 계층으로 흡수하려는 시도입니다. 즉 협업 에이전트는 단순히 사람을 더 붙이는 기능이 아니라, <strong>이질적인 에이전트들이 공존하는 현실을 다루는 인프라 문제</strong>로 커지고 있습니다.</p>

<h2 id="협업-에이전트가-풀어야-할-설계-과제">협업 에이전트가 풀어야 할 설계 과제</h2>

<p>멋진 개념 뒤에는 만만치 않은 엔지니어링이 있습니다. 협업 에이전트를 실무에 올리려면 최소 네 가지를 풀어야 합니다.</p>

<p>첫째, <strong>동시성과 충돌</strong>입니다. 두 에이전트가 같은 파일의 같은 영역을 동시에 편집하면 어떻게 되는지 정해야 합니다. 사람의 협업에서는 git 브랜치와 병합이 이 문제를 흡수했지만, 실시간 공유 세션에서는 그보다 짧은 주기의 조정이 필요합니다. 잠금을 걸 것인지, 낙관적 편집 후 병합할 것인지, 아니면 애초에 작업 영역을 겹치지 않게 분배할 것인지가 설계의 갈림길입니다.</p>

<p>둘째, <strong>컨텍스트 공유의 범위</strong>입니다. 에이전트끼리 대화하게 하려면 무엇을 공유할지 정해야 합니다. 전체 대화 이력을 통째로 넘기면 토큰 비용이 폭증하고 컨텍스트가 오염됩니다. 반대로 너무 적게 공유하면 협업의 의미가 사라집니다. 결국 필요한 것은 <strong>요약되고 구조화된 상태 교환</strong>입니다. “나는 이 파일의 이 함수를 이렇게 바꿀 계획이다”라는 의도를, 원문이 아니라 압축된 형태로 주고받아야 합니다.</p>

<p>셋째, <strong>신뢰 경계</strong>입니다. 내 에이전트가 남의 에이전트가 제안한 변경을 얼마나 신뢰해야 하는지의 문제입니다. 사람이 리뷰 없이 병합하지 않듯, 에이전트도 다른 에이전트의 산출물을 무검증으로 받아들여서는 안 됩니다. 멀티에이전트 시스템의 오래된 교훈은 명확합니다. <strong>검증 단계 없이 여러 에이전트의 결과를 합치면 환각이 누적됩니다.</strong> 협업 에이전트일수록 각 참여자의 산출물을 적대적으로 검증하는 게이트가 더 필요합니다.</p>

<p>넷째, <strong>감사와 책임 추적</strong>입니다. 여러 사람과 여러 에이전트가 같은 코드를 만졌을 때, 어떤 변경이 누구의(혹은 어느 에이전트의) 판단에서 나왔는지 추적할 수 없다면 사고가 났을 때 원인을 되짚을 수 없습니다. 협업이 늘어날수록 감사 로그는 선택이 아니라 필수가 됩니다.</p>

<h2 id="thakicloud-제품-적용-시사점">ThakiCloud 제품 적용 시사점</h2>

<p>이 설계 과제들은 ThakiCloud가 <strong>Paxis</strong>에서 이미 정면으로 다루고 있는 문제들과 정확히 겹칩니다. Paxis는 ai-platform 위에서 도는 Agent-Native Cloud 제어 평면으로, Skills·Tools·Policies·Audit Logs를 일급 리소스로 취급합니다. 멀티플레이어 코딩 에이전트가 던지는 질문에 Paxis의 구조는 다음과 같이 대응합니다.</p>

<p>에이전트 간 협업의 골격은 Paxis의 <strong>DAG 멀티에이전트</strong> 오케스트레이션입니다. 여러 에이전트를 무작정 같은 공간에 풀어놓는 대신, 작업을 방향성 비순환 그래프로 분해해 각 노드가 담당 영역을 갖게 하면, 앞서 말한 동시성 충돌의 상당 부분을 구조적으로 회피할 수 있습니다. 겹치는 편집을 사후에 병합하는 대신, 애초에 겹치지 않도록 작업을 배분하는 방식입니다.</p>

<p>신뢰 경계 문제에는 Paxis의 <strong>정책 게이트와 감사 로그</strong>가 답합니다. 한 에이전트의 산출물이 다른 에이전트나 실제 시스템으로 흘러가기 전에 정책 게이트를 통과해야 하고, 모든 행동이 감사 로그에 남습니다. 이는 “여러 에이전트의 결과를 검증 없이 합치지 않는다”는 원칙을 인프라 차원에서 강제하는 셈입니다. 협업이 늘어날수록 이 게이트의 가치는 커집니다.</p>

<p>컨텍스트 공유의 비용 문제는 Paxis의 <strong>Skill Harness</strong>와 지식 엔진이 완화합니다. 960개가 넘는 스킬을 BM25로 선택해 격리 샌드박스에서 실행하는 구조는, 에이전트가 매번 전체 컨텍스트를 짊어지는 대신 그때그때 필요한 능력만 불러오도록 설계돼 있습니다. 협업 에이전트가 상태를 통째로 교환하는 대신 요약된 형태로 주고받아야 한다는 요구와 같은 방향입니다.</p>

<p>그 아래에서 실행 자원을 받쳐주는 것은 <strong>ai-platform</strong>입니다. 여러 사람과 여러 에이전트가 동시에 격리된 샌드박스에서 코드를 실행하려면 멀티테넌트 격리와 탄력적인 컴퓨트가 필요합니다. K8s와 Kueue 기반 GPU 스케줄링, 멀티테넌트 격리는 협업 에이전트가 실제로 돌아갈 토대를 제공합니다. 온프레미스와 소버린 환경에서도 이 협업 구조를 안전하게 세울 수 있다는 점은, 데이터 유출을 우려하는 조직에 특히 의미가 있습니다.</p>

<p>정리하면, 멀티플레이어 Claude Code가 개인 도구 층에서 실험하는 협업 개념을, Paxis는 제어 평면 층에서 정책과 감사와 오케스트레이션으로 구조화합니다. 두 층은 경쟁이 아니라 보완입니다. 협업 에이전트가 재미있는 데모에서 신뢰할 수 있는 운영으로 넘어가려면, 결국 정책 게이트와 감사 로그와 자원 격리를 갖춘 제어 평면이 필요하기 때문입니다.</p>

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

<p>협업 에이전트를 낙관만 할 수는 없습니다. 가장 큰 반론은 <strong>조율 비용이 협업 이득을 잡아먹을 수 있다</strong>는 것입니다. 사람 사이의 회의가 그렇듯, 에이전트끼리 주고받는 메시지가 늘어나면 그 자체가 지연과 토큰 비용이 됩니다. 두 에이전트가 서로의 계획을 계속 확인하느라 정작 코드를 못 만드는 상황은 충분히 가능합니다. 협업이 항상 병렬 단독 작업보다 빠른 것은 아닙니다.</p>

<p>둘째, <strong>실패 모드의 결합</strong>입니다. 에이전트가 서로 연결되면 한 에이전트의 잘못된 판단이 다른 에이전트로 전파됩니다. 고립된 구조에서는 한 사람의 실수가 그 사람 안에 머물지만, 연결된 구조에서는 오류가 사슬을 타고 번집니다. 검증 게이트가 없다면 협업은 오히려 사고를 증폭시킵니다.</p>

<p>셋째, 지금 공개된 멀티플레이어 도구가 실제로 어느 수준의 상태 교환을 구현했는지는 아직 검증되지 않았습니다. 공유 터미널이 화면 공유에 가까운 것인지, 진짜 구조화된 에이전트 간 프로토콜인지에 따라 실용성은 크게 달라집니다. 개념의 방향성은 분명하지만, 프로덕션에 올리기 전에는 신뢰 경계와 감사 추적을 반드시 확인해야 합니다. 흥미로운 데모와 신뢰할 수 있는 인프라 사이에는 여전히 상당한 거리가 있습니다.</p>

<p>그럼에도 방향 자체는 되돌리기 어렵다고 봅니다. 소프트웨어가 팀 작업인 한, 그 팀을 대신하는 에이전트들도 결국 서로 대화해야 합니다. 관건은 협업을 켜느냐 마느냐가 아니라, 그 협업을 <strong>정책과 검증과 감사가 받쳐주는 구조 위에 세우느냐</strong>입니다.</p>

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

<ul>
  <li>Dorsa Rohani, “We made Claude Code multiplayer!” (X, 2026-07-08): <a href="https://x.com/dorsa_rohani/status/2074963064231952832">https://x.com/dorsa_rohani/status/2074963064231952832</a></li>
  <li>Claude Code (Anthropic 공식 저장소): <a href="https://github.com/anthropics/claude-code">https://github.com/anthropics/claude-code</a></li>
  <li>oh-my-claudecode (팀 우선 멀티에이전트 오케스트레이션): <a href="https://github.com/yeachan-heo/oh-my-claudecode">https://github.com/yeachan-heo/oh-my-claudecode</a></li>
  <li>claude_codex_bridge (다중 에이전트 CLI 워크스페이스): <a href="https://github.com/SeemSeam/claude_codex_bridge">https://github.com/SeemSeam/claude_codex_bridge</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="agentops" /><category term="claude-code" /><category term="multi-agent" /><category term="collaboration" /><category term="agentops" /><category term="paxis" /><category term="orchestration" /><summary type="html"><![CDATA[한 사람이 한 에이전트를 쓰던 구조에서, 여러 사람과 여러 에이전트가 같은 작업 공간에서 서로 대화하는 구조로 넘어가고 있습니다. 멀티플레이어 Claude Code를 계기로 협업 에이전트의 동시성·충돌·신뢰 경계 문제를 짚고 ThakiCloud 운영 관점에서 검증합니다.]]></summary></entry><entry xml:lang="ko"><title type="html">우리가 만든 스킬을 소형 모델에 증류해 자동으로 돌립니다: 최근 6개월 흐름 정리</title><link href="https://thakicloud.github.io/ko/agentops/distill-skill-fleet-small-models/" rel="alternate" type="text/html" title="우리가 만든 스킬을 소형 모델에 증류해 자동으로 돌립니다: 최근 6개월 흐름 정리" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/agentops/distill-skill-fleet-small-models</id><content type="html" xml:base="https://thakicloud.github.io/ko/agentops/distill-skill-fleet-small-models/"><![CDATA[<h2 id="개요">개요</h2>

<p>에이전트를 실제로 운영해 본 팀이라면 같은 벽에 부딪힙니다. 스킬 하나를 돌리는 데 프런티어 모델을 수십에서 수백 번 호출하고, 그런 스킬이 하루에도 수십 개씩 무인으로 발사되면 청구서가 먼저 비명을 지릅니다. 능력은 충분한데 매 호출마다 최상위 모델의 단가를 지불하는 구조가 문제입니다.</p>

<p>그래서 방향은 분명해집니다. 회사가 이미 검증해 쓰고 있는 스킬을, 그 스킬이 실제로 하는 일만큼만 아는 소형 모델에 증류해서 로컬에서 자동으로 돌리는 것입니다. 흥미로운 점은 이 방향이 더 이상 이론이 아니라는 사실입니다. 2026년 상반기 여섯 달 동안 나온 연구들이 “소형 모델 + 에이전트 스킬 증류”를 실전에 쓸 수 있는 수준으로 밀어 올렸습니다. 이 글은 그 흐름을 정리하고, ThakiCloud가 스킬 플릿을 실제로 어떻게 소형 모델로 옮기고 있는지, 그리고 어디서 깨지는지를 함께 다룹니다.</p>

<p>이 글을 읽는 대상은 명확합니다. 에이전트 스킬을 다수 운영하면서 프런티어 API 비용과 자동화 사이에서 설계를 고민하는 플랫폼·MLOps 엔지니어입니다. 다른 독자, 예를 들어 경영 관점의 비용 판단이 필요하다면 마지막 절만 읽어도 결론은 잡힙니다.</p>

<h2 id="왜-지금인가-소형-모델이-에이전트의-기본값으로-내려왔습니다">왜 지금인가: 소형 모델이 에이전트의 기본값으로 내려왔습니다</h2>

<p>먼저 용어를 맞춥니다. 2026년 기준 소형 언어 모델(SLM)은 단일 GPU나 워크스테이션, 때로는 온디바이스에서 돌아가면서도 맡은 작업을 해내는 대략 1B에서 35B 규모의 모델을 가리킵니다. 핵심은 크기 자체가 아니라 “작업에 충분한가”입니다.</p>

<p>에이전트 워크플로에서 소형 모델을 미는 논거는 비용, 지연, 모듈성 세 가지입니다. 전문화된 소형 모델 다섯 개로 짠 멀티 에이전트가 프런티어 모델에 프롬프트 한 번 던지는 것보다 싸고 빠르며 디버깅도 쉽습니다. NVIDIA 연구진이 정리한 “소형 언어 모델이 에이전트 AI의 미래다”라는 논지가 바로 이 지점을 짚습니다. 에이전트 과제의 능력 문턱이 이미 충분히 낮아져서, 1년 전에는 프런티어 API가 필요했던 일을 지금은 직접 돌리는 모델이 해냅니다.</p>

<p>비용 차이는 무시할 수준이 아닙니다. 작은 모델을 돌리는 비용이 같은 계열 최상위 모델의 10분의 1에서 30분의 1까지 내려간다는 계산이 반복해서 나옵니다. 복잡한 작업 하나에 모델을 수천 번 호출하는 에이전트 시스템에서는, 일부만 소형 모델로 옮겨도 운영비가 자릿수 단위로 줄어듭니다. 스킬을 무인으로 대량 발사하는 운영에서 이 절감은 곧바로 손익에 반영됩니다.</p>

<h2 id="최근-6개월-기법-정리-스킬을-소형-모델로-어떻게-옮기나">최근 6개월 기법 정리: 스킬을 소형 모델로 어떻게 옮기나</h2>

<p>지난 두 분기 동안 핵심은 단순 지식 증류에서 에이전트 스킬 증류로, 다시 온폴리시 증류로 옮겨갔습니다. 학생 모델이 스스로 만든 궤적 위에서 교사가 토큰 단위로 채점하는 방식이 자리를 잡았습니다. 큰 흐름을 갈래별로 정리하면 다음과 같습니다.</p>

<table>
  <thead>
    <tr>
      <th>접근</th>
      <th>한 줄 요약</th>
      <th>어디에 강한가</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>다교사 온폴리시 증류(MOPD)</td>
      <td>도메인별 RL 전문 교사를 세우고 학생이 자기 롤아웃을 만들면 교사들이 매 토큰을 채점</td>
      <td>여러 스킬을 한 소형 학생에 통합</td>
    </tr>
    <tr>
      <td>스킬 조건 자기증류(Skill-SD)</td>
      <td>같은 모델이 교사이자 학생이 되어 스킬 조건부로 다회차 궤적을 정제</td>
      <td>멀티턴 에이전트, 별도 교사 불필요</td>
    </tr>
    <tr>
      <td>스텝별 온폴리시 증류(SOD)</td>
      <td>궤적 전체가 아니라 스텝 단위로 조밀한 감독 신호를 주입</td>
      <td>도구 호출이 긴 소형 에이전트의 안정화</td>
    </tr>
    <tr>
      <td>온폴리시 스킬 증류(OPID)</td>
      <td>에이전트 강화학습의 희소 보상을 교사의 조밀한 신호로 보완</td>
      <td>보상이 드문 에이전트 과제</td>
    </tr>
    <tr>
      <td>학습 없는 에이전트 증류(AgentDistill)</td>
      <td>재사용 가능한 도구 상자(MCP box)를 이관해 재학습 없이 능력 전달</td>
      <td>빠른 이관, 학습 비용 회피</td>
    </tr>
  </tbody>
</table>

<p>몇 가지 흐름이 특히 실무에 직접 닿습니다. 첫째, 프런티어 랩들이 수렴한 방식은 도메인마다 강화학습 전문 교사를 따로 만든 뒤(수학용, 코드용, 에이전트용), 학생이 자기 출력을 생성하는 동안 그 교사들이 전부 채점해 하나의 학생으로 합치는 온폴리시 증류입니다. 좋은 교사가 꼭 더 큰 모델일 필요는 없습니다. 학생과 같은 베이스, 같은 크기의 체크포인트를 한 도메인만 깊게 밀어붙인 것이 오히려 좋은 교사가 됩니다. 스케일이 아니라 전문화가 교사를 만듭니다.</p>

<p>둘째, 도구를 쓰는 소형 에이전트 증류가 실제로 통한다는 결과가 쌓였습니다. 검색과 코드 도구를 갖춘 대형 에이전트를 소형 모델로 증류하면, 특히 학습 범위 밖 과제에서 한 단계 위 크기의 모델을 넘어서는 경우가 보고됩니다. 에이전트 증류가 “도구를 쓰는 유능한 소형 모델”을 만드는 실용 경로라는 뜻입니다.</p>

<h2 id="왜-우리의-스킬-아키텍처가-이-전환에-유리한가">왜 우리의 스킬 아키텍처가 이 전환에 유리한가</h2>

<p>여기서 ThakiCloud의 구조가 중요해집니다. 우리는 스킬 능력을 하네스가 아니라 스킬 쪽에 쌓는 원칙을 오래 지켜 왔습니다. 얇은 하네스, 두꺼운 스킬입니다. 모델을 감싸는 루프와 권한은 최소로 두고, 도메인 지식과 판단, 템플릿, 실패 사례는 스킬에 두텁게 담습니다. 같은 스킬이 여러 모델을 갈아 끼워도 작동하도록 설계했다는 뜻입니다.</p>

<p>여기에 포맷 결정론 원칙이 겹칩니다. 스케줄로 도는 배치 스킬에서 모델에게 포맷을 생성시키지 않고 내용만 생성시킵니다. 숫자, 열거값(enum), 렌더링, 집계는 전부 결정론적 코드가 소유합니다. 이 두 원칙이 합쳐지면 결과가 흥미로워집니다. 워커 모델을 프런티어에서 로컬 소형 모델로 강등해도, 품질을 좌우하는 포맷과 검증이 코드에 박혀 있으므로 산출물이 흔들리지 않습니다. 소형 모델은 본문 내용만 만들면 되고, 나머지는 하네스가 보장합니다.</p>

<p>이건 추측이 아니라 실측입니다. 2026년 6월 우리는 로컬 소형 모델(Gemma-4-26B)을 스킬 워커로 세워 Claude 계열과 라이브 A/B를 돌렸습니다. 결과는 워커 준수도에서 Gemma가 Haiku와 18대 18 동점이었습니다. 눈에 띈 유일한 벽은 약 1만 토큰 컨텍스트 천장으로, 그 이상을 넘기면 요청이 실패했습니다. 그래서 우리는 하이브리드 라우팅을 택했습니다. 무거운 추론과 지휘는 프런티어 컨덕터가 맡고, 정형화된 워커 작업은 로컬 소형 모델이 처리하는 구조입니다. 스킬을 소형 모델로 증류해 자동 실행한다는 방향이, 우리 환경에서는 이미 부분적으로 검증된 셈입니다. 음성 합성(VoxCPM2)과 음성 인식(Qwen-ASR) 워커를 이미 로컬로 돌리고 있는 것도 같은 맥락입니다.</p>

<h2 id="어디서-깨지는가-증류를-낭만화하지-않습니다">어디서 깨지는가: 증류를 낭만화하지 않습니다</h2>

<p>방향이 옳다고 함정이 사라지지는 않습니다. 반대편 근거를 먼저 세워 둡니다.</p>

<p>가장 실질적인 벽은 도구 호출의 연쇄 발산입니다. 도구를 섞은 추론은 소형 모델에서 길게 이어질수록 불안정합니다. 온폴리시 증류가 조밀한 감독으로 이를 완화하지만, 잘못된 도구 호출 하나가 이후 추론 단계로 번지면서 학생과 교사의 궤적 차이를 점점 키웁니다. 스텝별 증류(SOD)가 궤적 전체가 아니라 스텝 단위로 신호를 주는 이유가 바로 이 발산을 잡기 위해서입니다. 긴 에이전트 작업을 소형 모델에 그냥 넘기면 중간에 무너집니다.</p>

<p>두 번째 벽은 다교사의 신호 충돌입니다. 교사들의 정렬과 포맷, 값이 어긋나면 학생이 평균으로 뭉개지거나 상충 신호로 오히려 품질이 떨어집니다. 그래서 최근 연구의 절반은 교사 신호 중 나쁜 것을 걸러내는 정제(purification)에 매달립니다. 교사를 많이 붙이는 게 레버가 아니라, 어떤 교사를 어느 토큰에서 믿을지 거르는 게이트가 레버입니다. 이건 우리가 이미 지키는 원칙과 정확히 같습니다. 팬아웃은 반드시 검증 스테이지로 닫는다는 규칙입니다. 여러 결과를 모으되, 합치기 전에 적대적 검증으로 살아남은 것만 씁니다.</p>

<p>세 번째는 더 근본적입니다. 증류는 교사의 천장에 갇힌 추종자를 만듭니다. 지식과 함께 교사의 맹점까지 물려받고, 그 자체로는 앞서 나가지 못합니다. 그래서 증류는 프런티어 지휘를 대체하는 전략이 아니라, 이미 검증된 스킬을 싸고 빠르게 대량 실행하는 배포 계층의 전략으로 자리매김해야 합니다. 컨덕터는 남기고 워커를 내리는 하이브리드가 정직한 결론인 이유입니다.</p>

<h2 id="thakicloud-실행-로드맵">ThakiCloud 실행 로드맵</h2>

<p>우리가 잡은 경로는 세 단계입니다. 첫째, 스킬별로 전문 교사를 세웁니다. 대량으로 발사되는 정형 스킬(뉴스 다이제스트, 트위터 요약, 리포트 렌더 같은 포맷 결정론이 이미 코드에 있는 스킬)이 첫 후보입니다. 이들은 포맷을 코드가 소유하므로 소형 학생이 본문만 맞추면 됩니다. 둘째, 그 교사들에서 온폴리시로 소형 학생을 증류해 로컬에서 자동 실행합니다. 컨텍스트 천장을 아는 만큼, 긴 컨텍스트가 필요한 스킬은 컨덕터에 남기고 짧고 반복적인 워커만 내립니다. 셋째, 회고 기반 에스컬레이션으로 품질을 지킵니다. 소형 모델로 시작하되, 특정 스킬이 반복 실패하면 그 스킬만 상위 모델로 되돌리는 자동 승격 루프를 이미 운영하고 있습니다. 싸게 시작하고 데이터가 실패를 잡으면 그 스킬만 올립니다.</p>

<p>이 로드맵의 이점은 세 가지로 정리됩니다. 비용은 대량 무인 실행에서 자릿수 단위로 내려가고, 지연은 로컬 실행으로 짧아지며, 주권 측면에서는 외부 API 의존과 데이터 이동이 줄어듭니다. 쿠버네티스 기반 AI/ML 플랫폼을 운영하는 우리에게 이 세 가지는 마케팅 문구가 아니라 매일의 운영 지표입니다.</p>

<h2 id="맺음">맺음</h2>

<p>“요즘은 스킬을 소형 모델에 증류해 자동으로 돌린다”는 방향은 맞습니다. 다만 구체적인 모양이 중요합니다. 도메인 전문 교사를 세우고, 온폴리시로 소형 학생에 통합하며, 나쁜 교사 신호를 거르는 검증 게이트를 붙이고, 도구 호출이 긴 작업은 스텝별로 감독하는 것이 지금의 표준에 가깝습니다. ThakiCloud는 얇은 하네스와 포맷 결정론이라는 기존 구조 덕분에 이 전환에서 유리한 출발선에 서 있고, Gemma 워커가 Haiku와 동점을 낸 실측이 그 출발선을 데이터로 뒷받침합니다. 프런티어를 지휘자로 남기고 검증된 스킬을 소형 워커로 내리는 하이브리드가, 비용과 품질을 동시에 지키는 가장 현실적인 길입니다.</p>

<h2 id="참고-자료">참고 자료</h2>

<ul>
  <li>Small Language Models are the Future of Agentic AI (arXiv 2506.02153): <a href="https://arxiv.org/pdf/2506.02153">https://arxiv.org/pdf/2506.02153</a></li>
  <li>Skill-SD: Skill-Conditioned Self-Distillation for Multi-turn LLM Agents (arXiv 2604.10674): <a href="https://arxiv.org/pdf/2604.10674">https://arxiv.org/pdf/2604.10674</a></li>
  <li>SOD: Step-wise On-policy Distillation for Small Language Model Agents (arXiv 2605.07725): <a href="https://arxiv.org/pdf/2605.07725">https://arxiv.org/pdf/2605.07725</a></li>
  <li>OPID: On-Policy Skill Distillation for Agentic Reinforcement Learning (arXiv 2606.26790): <a href="https://arxiv.org/pdf/2606.26790">https://arxiv.org/pdf/2606.26790</a></li>
  <li>AgentDistill: Training-Free Agent Distillation with Generalizable MCP Boxes (arXiv 2506.14728): <a href="https://arxiv.org/pdf/2506.14728">https://arxiv.org/pdf/2506.14728</a></li>
  <li>Distilling LLM Agent into Small Models with Retrieval and Code Tools (arXiv 2505.17612): <a href="https://arxiv.org/pdf/2505.17612">https://arxiv.org/pdf/2505.17612</a></li>
  <li>Distillation in 2026 (so far): which frontier models use it and how (Hugging Face): <a href="https://huggingface.co/blog/sergiopaniego/distillation-2026">https://huggingface.co/blog/sergiopaniego/distillation-2026</a></li>
  <li>How Small Language Models Are Key to Scalable Agentic AI (NVIDIA Technical Blog): <a href="https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/">https://developer.nvidia.com/blog/how-small-language-models-are-key-to-scalable-agentic-ai/</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="agentops" /><category term="agentops" /><category term="distillation" /><category term="small-language-models" /><category term="on-policy-distillation" /><category term="skill-fleet" /><category term="cost-efficiency" /><category term="platform-engineering" /><summary type="html"><![CDATA[에이전트 스킬을 프런티어 API로만 돌리면 호출 수천 번에 비용이 폭증합니다. 2026년 상반기 연구는 이 스킬을 1B~35B급 소형 모델에 증류해 로컬에서 자동 실행하는 길을 실전 단계로 끌어올렸습니다. 온폴리시 스킬 증류, 다교사 증류, 학습 없는 에이전트 증류 같은 최근 기법을 정리하고, ThakiCloud가 이미 확인한 소형 워커 실측(Gemma-4-26B가 Haiku와 동점)과 얇은 하네스·포맷 결정론 구조가 왜 이 전환에 유리한지, 그리고 어디서 깨지는지를 짚습니다.]]></summary></entry><entry xml:lang="ko"><title type="html">토큰값이 반토막 나던 주에, 추론 칩 몸값은 다섯 배 뛰었습니다</title><link href="https://thakicloud.github.io/ko/agentops/token-price-war-jevons-paradox-inference/" rel="alternate" type="text/html" title="토큰값이 반토막 나던 주에, 추론 칩 몸값은 다섯 배 뛰었습니다" /><published>2026-07-12T00:00:00+09:00</published><updated>2026-07-12T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/agentops/token-price-war-jevons-paradox-inference</id><content type="html" xml:base="https://thakicloud.github.io/ko/agentops/token-price-war-jevons-paradox-inference/"><![CDATA[<h2 id="같은-주에-도착한-두-개의-정반대-뉴스">같은 주에 도착한 두 개의 정반대 뉴스</h2>

<p>이번 주 AI 지면에는 서로 어긋나 보이는 두 소식이 나란히 실렸습니다. 하나는 값이 내려간다는 뉴스입니다. 오픈AI가 GPT-5.6을 솔, 테라, 루나 세 단계 가격으로 내놓으면서 중간 등급인 테라를 이전 세대의 절반 값에 걸었습니다. 딥시크 V4-프로는 클로드 오퍼스 4.7의 10~20% 수준 가격으로 코딩 성능을 맞췄고, 미니맥스 M2.7은 동급 대비 최대 3분의 1 값을 제시했습니다. 업계는 이 국면을 아예 ‘토큰 전쟁’이라고 부릅니다.</p>

<p>다른 하나는 값이 오른다는 뉴스입니다. 추론 전용 칩 스타트업 삼바노바가 기업가치 110억 달러, 약 16조 원을 인정받으며 시리즈F 1차로 10억 달러를 조달했습니다. 불과 5개월 전 시리즈E 때 몸값이 22억 달러였으니, 5개월 만에 다섯 배가 뛴 셈입니다. 토큰 한 알의 값은 반토막이 나는데, 그 토큰을 찍어내는 칩을 만드는 회사의 값은 다섯 배가 됐습니다. 둘 중 하나가 틀린 걸까요. 그렇지 않습니다. 두 뉴스는 같은 하나의 흐름을 앞과 뒤에서 찍은 사진입니다.</p>

<h2 id="값이-내려가면-더-쓴다는-오래된-법칙">값이 내려가면 더 쓴다는 오래된 법칙</h2>

<p>19세기 경제학자 윌리엄 제번스는 석탄을 효율적으로 쓰는 증기기관이 나오면 석탄 소비가 줄 것이라는 통념을 뒤집었습니다. 연료가 싸지자 사람들은 아끼기는커녕 더 많은 기계를 돌렸고, 결국 석탄 총소비는 오히려 늘었습니다. 자원의 단가가 내려가면 그 자원의 총사용량은 늘어난다는 이 역설이, 지금 추론 시장에서 거의 교과서처럼 재현되고 있습니다.</p>

<p>디지털데일리가 짚은 ‘토큰 역설’이 정확히 이 대목입니다. 2023년 이후 토큰 단가는 꾸준히 내려왔는데, 기업이 체감하는 AI 총비용은 오히려 급증하고 있습니다. 범인은 AI 에이전트입니다. 스스로 검색하고 도구를 호출하며 여러 단계를 거쳐 일을 끝내는 에이전트는, 한 번 묻고 한 번 답하던 챗봇보다 작업 한 건당 최소 50배에서 많게는 500배의 토큰을 삼킵니다. 골드만삭스는 전 세계 월간 토큰 소비량이 올해 월 5000조 개에서 2030년 월 12경 개로 24배 늘어날 것으로 봤습니다. 단가가 절반이 되어도 사용량이 스무 배로 뛰면 청구서는 열 배가 됩니다. 값을 깎는 경쟁이 치열할수록 총지출은 더 커지는 구조입니다.</p>

<h2 id="병목은-아래에서-위로-올라갑니다">병목은 아래에서 위로 올라갑니다</h2>

<p>여기까지 오면 삼바노바의 몸값이 왜 뛰었는지가 자연스럽게 풀립니다. 토큰을 헤아릴 수 없이 많이 쓰게 된다면, 토큰 한 알을 더 싸고 빠르게 찍어내는 하드웨어의 가치는 반대로 치솟습니다. 삼바노바가 GPU 대신 자체 설계한 RDU 아키텍처는 최신 SN40, SN50 칩에서 LLM 추론의 디코드 성능을 엔비디아 GPU 대비 5~10배 끌어올려 토큰당 비용을 낮춘다고 회사는 설명합니다. JP모건체이스가 이 칩으로 사내 데이터센터에 민감한 금융 데이터를 처리하는 온프레미스 추론 인프라를 짓기로 했다는 대목이 특히 의미심장합니다. 학습이 아니라 추론이, 그것도 규제 산업의 온프레미스 추론이 대형 자본을 빨아들이는 자리가 됐다는 뜻이니까요.</p>

<p>같은 압력이 메모리에서도 나타납니다. 삼성전자가 이번 주 공개한 CXL 평가 결과를 보면, AI 추론이 대화 맥락을 저장하는 KV캐시 요구량이 수백 기가바이트 단위로 폭증하면서 GPU에 붙은 HBM만으로는 용량을 감당하기 어려운 병목이 드러납니다. 512기가바이트 D램은 KV캐시가 넘칠 때 성능이 무너졌지만, 1테라바이트 CXL 메모리 풀은 8-GPU 환경에서도 D램 대비 92% 성능을 지켜냈습니다. 시장조사기관 욜은 CXL 시장이 올해 21억 달러에서 2028년 약 160억 달러로 커질 것으로 봅니다. HBM이 대역폭 문제를 풀었다면 CXL은 용량과 비용 문제를 푸는 상호 보완재로 자리를 잡아가고 있습니다.</p>

<p>이 폭증하는 수요는 실물 지표로도 확인됩니다. 대만의 6월 수출액은 748억 달러로 전년보다 40.3% 늘어 역대 6월 최고를 기록했고, 그래픽카드와 AI 서버가 포함된 정보통신 품목 출하가 72.3% 폭증하며 실적을 끌었습니다. 그 뒤에는 HBM과 CoWoS 첨단 패키징 수요가 있습니다. 최태원 SK 회장이 글로벌 투자자 앞에서 HBM 리더십을 축으로 한 AI 반도체 청사진을 직접 편 것도 같은 맥락입니다. 토큰이 흔해질수록, 그 토큰을 감당하는 칩과 메모리는 귀해집니다. 값이 내려가는 층 바로 아래에서 병목이 위로 밀려 올라오는 그림입니다.</p>

<h2 id="진짜-비싼-것은-토큰이-아니라-자율-실행입니다">진짜 비싼 것은 토큰이 아니라 자율 실행입니다</h2>

<p>그런데 병목이 하드웨어에서만 멈추지 않는다는 점이 오늘 지면의 진짜 신호입니다. UST가 앤스로픽과 손잡고 클로드를 반도체 검증에 붙인 사례를 보시죠. 클로드 코드가 칩 핀아웃과 하드웨어 회로도를 직접 읽고, 엔지니어가 손으로 짜던 회귀 테스트를 스스로 작성하고 실행하며, 실제 장비 데이터를 디지털 트윈과 대조해 결함을 자동으로 잡아냅니다. 통상 4일 걸리던 검증 턴어라운드가 48시간으로 압축됐고, 검증 사이클타임은 50~70% 줄었습니다. 에이전트가 더 이상 코드 자동완성기가 아니라, 폐루프로 돌며 실제 엔지니어링 공정을 자율 수행하는 작업자가 된 것입니다.</p>

<p>국내 은행권도 같은 방향으로 달리고 있습니다. 우리은행은 875억 원을 들여 5대 영역 29개 업무에 175개 이상의 에이전트를 붙였고, KB금융은 연내 59개 업무에 300여 개 에이전트를 구축해 ‘Agentic Banking’을 겨냥합니다. 하나은행은 기업 신용평가 심사의견 작성을 평균 30분에서 약 10초로 줄여 연간 2만7000시간 이상을 아낄 것으로 봅니다. 이 정도 규모로 에이전트가 심사와 자산관리, 내부통제 같은 핵심 업무에 직접 손을 대기 시작하면, 경영진이 밤에 걱정하는 질문은 바뀝니다. “토큰값이 얼마인가”가 아니라 “이 수백 개의 자율 실행을 누가, 어떻게 통제하고 감사하는가”로요. 금융권이 오랫동안 지켜온 이중 승인 원칙과 이 에이전트들을 어떻게 엮을지가 다음 과제로 떠오른 것도 그래서입니다.</p>

<p>통제의 무게는 규제 쪽에서도 커지고 있습니다. 중국은 다섯 개 기관이 함께 만든 인공지능 의인화 상호작용 관리 조치를 7월 15일부터 시행하고, 바이트댄스와 알리바바는 이에 맞춰 챗봇의 맞춤형 페르소나 기능을 접기 시작했습니다. 안전성 요건이 서비스 설계 단계로 곧장 밀고 들어온 사례라, 국내 사업자도 남의 일로 보기 어렵습니다. 여기에 소버린 AI 논의까지 겹칩니다. 미국이 국가안보를 이유로 클로드 페이블5의 해외 접근을 통제했다가 재개하고 중국도 자국 모델의 해외 접근 제한을 검토하면서, 프론티어 AI를 어디서나 쓸 수 있던 시대가 저물고 있습니다. 한 연구자는 프론티어급 소버린 AI를 갖추는 데 4년간 약 750조 원이 든다고 추정했는데, 이는 한국의 2026년 예산을 웃도는 규모입니다. 값싼 모델을 밖에서 빌려 쓰는 편의와, 민감한 데이터를 국경 안에 두려는 주권이 정면으로 부딪히는 지점입니다.</p>

<h2 id="값싼-토큰의-홍수에는-수도관이-필요합니다">값싼 토큰의 홍수에는 수도관이 필요합니다</h2>

<p>빅테크의 셈법도 이 압력을 뒷받침합니다. 알파벳, 마이크로소프트, 메타, 아마존 4사의 2026년 합산 자본지출은 사상 최고인 약 7250억 달러로 매출 대비 30%에 이르고, 상위 캐팩스 기업들의 잉여현금흐름은 35년 만에 처음 마이너스로 돌아섰습니다. 아마존의 최근 12개월 잉여현금흐름은 1년 전 259억 달러에서 12억 달러로 95% 급감했습니다. 값싼 토큰의 홍수를 그냥 흘려보내기만 하는 조직은, 청구서가 먼저 무너뜨립니다. 필요한 것은 더 굵은 파이프가 아니라, 홍수를 안전하게 나눠 보내는 잘 설계된 수도관입니다.</p>

<p>ThakiCloud의 Paxis는 정확히 그 수도관을 겨냥한 정식 제품, Agent-Native Cloud v1.1입니다. 토큰 전쟁이 열어젖힌 반값 모델들은 CostRouter 관점에서는 위협이 아니라 무기가 됩니다. 단순 반복 작업은 저가 경량 모델로, 복잡한 추론만 프론티어 모델로 작업별로 갈라 보내면 제번스 역설의 청구서를 구조적으로 눌러낼 수 있으니까요. UST처럼 회로도를 직접 읽는 에이전트에게는 격리된 샌드박스 실행이, 우리은행식 수백 개 에이전트 배치에는 정책 게이트와 감사 로그, 그리고 L0에서 L3까지 나눈 자율도 거버넌스가 이중 승인 원칙을 대신할 안전장치가 됩니다. 삼바노바와 JP모건이 보여준 온프레미스 추론 수요, 소버린 AI를 향한 주권 논의는 소버린 온프렘 K8s 위에서 Skills와 Tools, Policies, Audit Logs를 일급 리소스로 다루는 Paxis의 설계와 그대로 맞닿습니다.</p>

<p>정리하면 이렇습니다. 토큰이 싸질수록 우리는 토큰을 더 많이, 더 자율적으로 쓰게 되고, 그럴수록 병목과 위험은 단가가 아니라 실행과 통제의 층위로 올라갑니다. 반값 경쟁의 뉴스와 몸값 5배의 뉴스가 모순이 아니라 한 몸이었던 이유가 여기에 있습니다. 값이 싸진 세계에서 이기는 쪽은 토큰을 가장 아끼는 곳이 아니라, 흘러넘치는 토큰을 가장 안전하게 다스리는 곳일 것입니다.</p>]]></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="agentops" /><category term="agentops" /><category term="paxis" /><category term="enterprise-ai" /><category term="thakicloud" /><summary type="html"><![CDATA[값이 내려가면 덜 쓸까요. 추론 시장에서는 정반대의 일이 벌어지고 있습니다. 토큰 반값 경쟁과 삼바노바 5배 몸값이라는 모순을 제번스 역설로 읽고, 기업의 진짜 병목이 어디로 옮겨가는지 짚어봅니다.]]></summary></entry></feed>