<?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-18T04:55:50+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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><entry xml:lang="ar"><title type="html">البرمجة باستخدام Kimi K3: ربط نموذج مفتوح بحجم 2.8T بوكيل الطرفية OpenCode</title><link href="https://thakicloud.github.io/ar/tutorials/kimi-k3-opencode-coding/" rel="alternate" type="text/html" title="البرمجة باستخدام Kimi K3: ربط نموذج مفتوح بحجم 2.8T بوكيل الطرفية OpenCode" /><published>2026-07-18T00:00:00+09:00</published><updated>2026-07-18T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/tutorials/kimi-k3-opencode-coding</id><content type="html" xml:base="https://thakicloud.github.io/ar/tutorials/kimi-k3-opencode-coding/"><![CDATA[<p>خلال الأيام القليلة الماضية امتلأت الخطوط الزمنية للمطورين بمواضيع بعنوان “كيف تبرمج باستخدام
Kimi K3”. انقسمت الردود إلى اتجاهين. الأول أن نتائج القياس قوية فعلًا. والثاني أنه يمكنك تشغيل
هذا النموذج من طرفيتك الخاصة، داخل وكيل برمجة اخترته أنت، بدلًا من أداة مغلقة تابعة لشركة واحدة.
يتناول هذا المقال الاتجاه الثاني. القارئ المستهدف هو مطوّر يفضّل تبديل النماذج داخل أداة مفتوحة
المصدر بدلًا من الارتباط بواجهة رسومية لمزوّد بعينه. باختصار: اربط Kimi K3 من Moonshot AI كمزوّد
بوكيل الطرفية مفتوح المصدر OpenCode، وستتمكن من البرمجة بنموذج من فئة 2.8 تريليون معامل دون
الارتباط بأي بيئة تطوير واحدة.</p>

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

<p>أصدرت Moonshot AI نموذج Kimi K3 في 16 يوليو 2026. وفق الشركة، فهو نموذج Mixture-of-Experts بحجم
2.8 تريليون معامل ومن بين أكبر النماذج مفتوحة الأوزان الصادرة حتى الآن. الجزء المثير للاهتمام ليس
النتائج فحسب. فهذا النموذج غير محصور داخل روبوت محادثة مملوك؛ بل يتصل كمزوّد بوكيل برمجة مفتوح
المصدر يعمل في الطرفية. بعبارة أخرى، أصبح بالإمكان الفصل بين “أي بيئة تطوير تستخدم” و”أي نموذج
تبرمج به”.</p>

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

<h2 id="ما-هي-هذه-الأدوات">ما هي هذه الأدوات</h2>

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

<p>Kimi K3 هو النموذج الذي يشغل خانة المزوّد تلك. وفق إعلان Moonshot AI، المواصفات الأساسية كالتالي.
إنه نموذج MoE بحجم 2.8 تريليون معامل، يُفعَّل منه 16 خبيرًا من أصل 896 لكل رمز (token). ويستخدم
الانتباه آلية Kimi Delta Attention (KDA)، وهي انتباه خطي هجين. يُضاف إلى ذلك تقنية Attention
Residuals (بديل عن الوصلات المتبقية)، وفهم بصري أصيل، ونافذة سياق تصل إلى مليون رمز. ومن المقرر
إصدار أوزان النموذج الكاملة في 27 يوليو 2026.</p>

<p>يبدو مسار ربط الأداتين كالتالي.</p>

<pre><code class="language-mermaid">flowchart TB
  A[طرفية المطوّر&lt;br/&gt;OpenCode TUI أو run] --&gt; B[طبقة المزوّد&lt;br/&gt;opencode auth login]
  B --&gt; C{اختيار النموذج&lt;br/&gt;/models أو opencode models}
  C --&gt; D[مزوّد Moonshot AI&lt;br/&gt;Kimi K3]
  D --&gt; E[Kimi Delta Attention&lt;br/&gt;2.8T MoE · 896 خبيرًا · 16 مُفعَّل لكل رمز]
  E --&gt; F[قراءة · تحرير · مراجعة · تشغيل الشيفرة&lt;br/&gt;سياق حتى 1M]
  F -.دورة الجلسة.-&gt; A
</code></pre>

<p>الفرق عن النهج المعتاد واضح. وكيل الواجهة الرسومية لمزوّد ما يأتي بالنموذج والأداة كحزمة واحدة. أما
وكيل مفتوح المصدر مثل OpenCode فيثبّت الأداة ويبدّل المزوّد فقط. نموذج ذاتي الاستضافة بالأمس، و Kimi
K3 اليوم، ونموذج آخر غدًا، عبر واجهة الأوامر نفسها.</p>

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

<p>تحققنا من مسار التثبيت والاتصال عمليًا في بيئة معزولة. الأوامر والإصدارات أدناه قيم فعلية التقطناها
أثناء إعادة الإنتاج.</p>

<p>أولًا ثبّت OpenCode. نجح التثبيت العام عبر npm فورًا.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nb">install</span> <span class="nt">-g</span> opencode-ai
opencode <span class="nt">--version</span>
<span class="c"># 1.18.3</span>
</code></pre></div></div>

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

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode <span class="nt">--help</span>
<span class="c"># opencode [project]        start opencode tui              [default]</span>
<span class="c"># opencode run [message..]  run opencode with a message</span>
<span class="c"># opencode providers        manage AI providers and credentials   [aliases: auth]</span>
<span class="c"># opencode models [provider]  list all available models</span>
<span class="c"># opencode mcp              manage MCP (Model Context Protocol) servers</span>
<span class="c"># opencode agent            manage agents</span>
<span class="c"># opencode serve            starts a headless opencode server</span>
</code></pre></div></div>

<p>تتولّى الأوامر الفرعية <code class="language-plaintext highlighter-rouge">opencode auth</code> مصادقة المزوّد.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode auth <span class="nt">--help</span>
<span class="c"># opencode auth list    list providers and credentials   [aliases: ls]</span>
<span class="c"># opencode auth login   log in to a provider</span>
<span class="c"># opencode auth logout  log out from a configured provider</span>
</code></pre></div></div>

<p>ترتيب ربط Kimi K3 كالتالي، وفق دليل OpenCode الرسمي من Moonshot AI.</p>

<ol>
  <li>أنشئ مفتاح API على منصة Kimi المفتوحة واحتفظ به بشكل خاص.</li>
  <li>شغّل <code class="language-plaintext highlighter-rouge">opencode auth login</code>، واختر <strong>Moonshot AI</strong> كمزوّد، ثم أدخل مفتاح API.</li>
  <li>داخل OpenCode، استخدم <code class="language-plaintext highlighter-rouge">/models</code> (أو <code class="language-plaintext highlighter-rouge">opencode models moonshotai</code> في الصدفة) لاختيار <strong>Kimi K3</strong>.</li>
  <li>تحقق من الاتصال بمهمة منخفضة المخاطر.</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode run <span class="s2">"اشرح بنية مجلدات هذا المشروع وأوصِ بأول ثلاثة ملفات ينبغي قراءتها."</span>
</code></pre></div></div>

<p>حقيقة تستحق التثبيت: بعد التثبيت مباشرةً، لم يتضمن كتالوج النماذج الافتراضي مزوّد Moonshot. أثناء
إعادة الإنتاج، أعادت تصفية <code class="language-plaintext highlighter-rouge">opencode models</code> بحثًا عن Moonshot/Kimi نتيجة فارغة، ما يعني أنه يجب
إضافة المزوّد صراحةً عبر <code class="language-plaintext highlighter-rouge">auth login</code> قبل ظهوره في الكتالوج. لذا فالخطوة 2 أعلاه ليست اختيارية بل
إلزامية.</p>

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

<p>نفصل القيم التي التقطناها مباشرةً عن الأرقام المنشورة للنموذج. تثبيت الأداة ومسار الاتصال قِيَما
مُقاسة عمليًا؛ أما درجات القياس فهي أرقام مُبلَّغ عنها من Moonshot وطرف ثالث (Artificial Analysis).</p>

<p>النتائج المقاسة مباشرةً:</p>

<ul>
  <li>نجح تثبيت OpenCode، الإصدار 1.18.3 (npm <code class="language-plaintext highlighter-rouge">opencode-ai</code>، رمز الخروج 0).</li>
  <li>تأكدنا أن الأداة توفّر مصادقة المزوّد (<code class="language-plaintext highlighter-rouge">auth</code>)، وسرد النماذج (<code class="language-plaintext highlighter-rouge">models</code>)، والتنفيذ بلا واجهة
(<code class="language-plaintext highlighter-rouge">run</code>)، وإدارة MCP (<code class="language-plaintext highlighter-rouge">mcp</code>)، وإدارة الوكلاء (<code class="language-plaintext highlighter-rouge">agent</code>).</li>
  <li>بعد التثبيت مباشرةً، لم يتضمن الكتالوج الافتراضي مزوّد Moonshot، فوجب إضافته صراحةً عبر <code class="language-plaintext highlighter-rouge">auth login</code>.</li>
</ul>

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

<p>المقاييس المنشورة للنموذج أدناه. هذه الدرجات أرقام مُبلَّغ عنها وفق Artificial Analysis، ولأن الأوزان
لم تُنشر بالكامل بعد، فإنها لم تُتحقق عبر إعادة إنتاج مستقلة.</p>

<table>
  <thead>
    <tr>
      <th>المقياس</th>
      <th>Kimi K3</th>
      <th>الترتيب</th>
      <th>النماذج الأعلى / للمقارنة</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GDPval-AA v2</td>
      <td>1,687</td>
      <td>الثالث</td>
      <td>Fable 5 Max 1,815 · GPT-5.6 Sol Max 1,747.8 · (Opus 4.8 1,600)</td>
    </tr>
    <tr>
      <td>AA-Briefcase</td>
      <td>1,527</td>
      <td>الثاني</td>
      <td>Fable 5 Max 1,587 · GPT-5.6 Sol Max 1,495</td>
    </tr>
  </tbody>
</table>

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

<h2 id="دلالات-على-منصة-thakicloud">دلالات على منصة ThakiCloud</h2>

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

<p><strong>عدسة Paxis (الوكلاء والأدوات والنماذج القابلة للاستبدال).</strong> Paxis هو مستوى التحكم في سحابة ThakiCloud
الأصلية للوكلاء (Agent-Native Cloud)، ويعامل Skills و Tools و Policies و Audit Logs كموارد من الدرجة
الأولى. البنية التي يظهرها OpenCode، أي “ثبّت الأداة وبدّل المزوّد”، تتطابق تمامًا مع فلسفة تصميم Paxis.
في Paxis، يختار وكيل البرمجة من أكثر من 960 مهارة عبر BM25، ويشغّلها في صناديق رمل معزولة، ويمرّر كل
إجراء عبر بوابات السياسات وسجلات التدقيق. اربط نموذجًا مفتوح الأوزان مثل Kimi K3 كمزوّد، وستتمكن من
تبديل دماغ الوكيل حسب التكلفة والأداء مع الحفاظ على عزل التنفيذ والتدقيق. كما أن احتواء OpenCode على
إدارة مدمجة لخوادم MCP (<code class="language-plaintext highlighter-rouge">opencode mcp</code>) يتصل بطبيعة الحال بمعاملة Paxis لموصّلات MCP كموارد من الدرجة الأولى.</p>

<p><strong>عدسة ai-platform (خدمة نموذج بحجم 2.8T).</strong> مفتوح الأوزان يعني أن على أحدهم خدمة هذا النموذج على وحدات
GPU حقيقية. نموذج MoE بحجم 2.8 تريليون معامل يُفعّل 16 خبيرًا فقط لكل رمز، فالمعاملات النشطة أصغر بكثير
من الإجمالي، لكن البنية ما تزال تتطلب إبقاء جميع الخبراء الـ896 في الذاكرة، لذا فعتبة الخدمة المحلية
ليست منخفضة. هنا تجيب منصة ThakiCloud ai-platform عن السؤال. عندما تجتمع جدولة GPU المبنية على K8s و
Kueue، وخدمة vLLM/SGLang، والتكميم (quantization) لتوفير الذاكرة، يمكن تشغيل نماذج مفتوحة كبيرة كهذه
اقتصاديًا في بيئة متعددة المستأجرين. وحين تصدر الأوزان في 27 يوليو، يمكن مقارنة منحنى تكلفة الاستضافة
الذاتية مقابل استدعاءات API فعليًا. وتكلفة الخدمة المنخفضة تُترجَم إلى اقتصاديات الوكلاء، وهذا بدوره
يخفّض تكلفة تشغيل الوكلاء العاملين على Paxis. كلتا العدستين تشيران إلى الاتجاه نفسه.</p>

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

<p>نذكر بعض الاعتراضات الرصينة معًا.</p>

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

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

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

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

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

<ul>
  <li><a href="https://www.marktechpost.com/2026/07/16/moonshot-ai-releases-kimi-k3-a-2-8-trillion-parameter-open-moe-model-with-kimi-delta-attention-and-1m-context/">MarkTechPost, “Moonshot AI Releases Kimi K3: A 2.8 Trillion Parameter Open MoE Model With Kimi Delta Attention and 1M Context” (2026-07-16)</a></li>
  <li><a href="https://fortune.com/2026/07/16/moonshots-kimi-k3-pushes-chinese-ai-into-fable-level-territory/">Fortune, “Moonshot’s Kimi K3 pushes Chinese AI into Fable-level territory” (2026-07-16)</a></li>
  <li><a href="https://artificialanalysis.ai/models/kimi-k3">Artificial Analysis, صفحة نموذج “Kimi K3” (مصدر أرقام معياري GDPval-AA v2 و AA-Briefcase في هذا المقال)</a></li>
  <li><a href="https://platform.kimi.ai/docs/guide/open-code">Kimi API Platform, “Use Kimi Models in OpenCode”</a></li>
  <li><a href="https://github.com/sst/opencode">OpenCode (sst/opencode), إصدار v1.18.3</a></li>
  <li><a href="https://simonwillison.net/2026/Jul/16/kimi-k3/">Simon Willison, “Kimi K3, and what we can still learn from the pelican benchmark” (2026-07-16)</a></li>
  <li>VentureBeat, “China’s Moonshot AI releases Kimi K3, the largest open-source model ever” (المقال موجود، لكن لم يتم التحقق من استجابة الرابط في هذه الجلسة)</li>
  <li>OpenCode 1.18.3 (<code class="language-plaintext highlighter-rouge">npm install -g opencode-ai</code>): الأوامر والإصدار قيم إعادة إنتاج مُلتقطة مباشرةً</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="tutorials" /><category term="kimi-k3" /><category term="opencode" /><category term="moonshot-ai" /><category term="coding-agent" /><category term="open-weight" /><category term="terminal" /><category term="developer-tools" /><category term="paxis" /><category term="ai-coding" /><summary type="html"><![CDATA[يمكن تشغيل Kimi K3، الذي يصفه كثيرون بأنه من فئة Fable 5، داخل وكيل طرفية مفتوح المصدر بدلًا من بيئة تطوير مغلقة مملوكة. ثبّتنا OpenCode للتحقق من مسار اتصال المزوّد من طرف إلى طرف.]]></summary></entry><entry xml:lang="en"><title type="html">Coding with Kimi K3: Wiring a 2.8T Open Model into the OpenCode Terminal Agent</title><link href="https://thakicloud.github.io/en/tutorials/kimi-k3-opencode-coding/" rel="alternate" type="text/html" title="Coding with Kimi K3: Wiring a 2.8T Open Model into the OpenCode Terminal Agent" /><published>2026-07-18T00:00:00+09:00</published><updated>2026-07-18T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/tutorials/kimi-k3-opencode-coding</id><content type="html" xml:base="https://thakicloud.github.io/en/tutorials/kimi-k3-opencode-coding/"><![CDATA[<p>For the past few days, developer timelines have been full of “how to code with Kimi K3” threads.
The reactions split two ways. One is that the benchmarks are genuinely strong. The other is that
you can run this model from your own terminal, inside a coding agent you chose, rather than a single
company’s closed tool. This post is about the second reaction. The reader we have in mind is a
developer who would rather swap models into an open-source tool than get locked into a vendor’s GUI.
The short version: connect Moonshot AI’s Kimi K3 as a provider to the open-source terminal agent
OpenCode, and you can code with a 2.8-trillion-parameter-class model without being tied to any one IDE.</p>

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

<p>Moonshot AI released Kimi K3 on July 16, 2026. Per the company, it is a 2.8-trillion-parameter
Mixture-of-Experts model and among the largest open-weight models released to date. The interesting
part is not just the scores. This model is not confined to a proprietary chatbot; it connects as a
provider to an open-source coding agent that runs in the terminal. In other words, “which IDE you use”
and “which model you code with” can now be decoupled.</p>

<p>From ThakiCloud’s vantage point, this pairing matters for two reasons. First, a coding agent that can
freely swap models instead of being vendor-locked lines up with the core premise of agent-platform
design. Second, a 2.8-trillion-parameter open-weight model has to be served on real GPUs by someone,
and that serving cost and on-prem requirement come straight back as infrastructure questions. Below we
install the tool first-hand to confirm the connection flow, then work through both perspectives.</p>

<h2 id="what-are-these-tools">What Are These Tools</h2>

<p>OpenCode is an open-source coding agent that runs in the terminal. It reads files in a codebase,
explains structure, edits code, reviews changes, and runs tasks through a connected LLM provider.
Because it is not bound to a single model and instead swaps providers, you can keep the same workflow
and change only the model underneath.</p>

<p>Kimi K3 is the model that goes in that provider slot. Per Moonshot AI’s announcement, the key specs
are as follows. It is a 2.8-trillion-parameter MoE, with 16 of 896 experts activated per token.
Attention uses Kimi Delta Attention (KDA), a hybrid linear attention scheme. On top of that it adds
Attention Residuals (a replacement for residual connections), native vision understanding, and up to a
1-million-token context window. Full model weights are scheduled to release on July 27, 2026.</p>

<p>The flow that connects the two tools looks like this.</p>

<pre><code class="language-mermaid">flowchart TB
  A[Developer terminal&lt;br/&gt;OpenCode TUI or run] --&gt; B[Provider layer&lt;br/&gt;opencode auth login]
  B --&gt; C{Model selection&lt;br/&gt;/models or opencode models}
  C --&gt; D[Moonshot AI provider&lt;br/&gt;Kimi K3]
  D --&gt; E[Kimi Delta Attention&lt;br/&gt;2.8T MoE · 896 experts · 16 active per token]
  E --&gt; F[Read · edit · review · run code&lt;br/&gt;up to 1M context]
  F -.session loop.-&gt; A
</code></pre>

<p>The difference from the usual approach is clear. A vendor’s GUI agent ships the model and the tool as
one bundle. An open-source agent like OpenCode fixes the tool and swaps only the provider. A
self-hosted model yesterday, Kimi K3 today, a different model tomorrow, all through the same command
interface.</p>

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

<p>We verified the install and connection flow first-hand in an isolated sandbox. The commands and
versions below are actual values captured during reproduction.</p>

<p>First install OpenCode. A global npm install worked immediately.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nb">install</span> <span class="nt">-g</span> opencode-ai
opencode <span class="nt">--version</span>
<span class="c"># 1.18.3</span>
</code></pre></div></div>

<p>We checked the command surface the installed CLI exposes. From launching the TUI to headless
execution, provider management, model listing, and MCP server management, it covers what a coding
agent needs.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode <span class="nt">--help</span>
<span class="c"># opencode [project]        start opencode tui              [default]</span>
<span class="c"># opencode run [message..]  run opencode with a message</span>
<span class="c"># opencode providers        manage AI providers and credentials   [aliases: auth]</span>
<span class="c"># opencode models [provider]  list all available models</span>
<span class="c"># opencode mcp              manage MCP (Model Context Protocol) servers</span>
<span class="c"># opencode agent            manage agents</span>
<span class="c"># opencode serve            starts a headless opencode server</span>
</code></pre></div></div>

<p>Provider authentication is handled by the <code class="language-plaintext highlighter-rouge">opencode auth</code> subcommands.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode auth <span class="nt">--help</span>
<span class="c"># opencode auth list    list providers and credentials   [aliases: ls]</span>
<span class="c"># opencode auth login   log in to a provider</span>
<span class="c"># opencode auth logout  log out from a configured provider</span>
</code></pre></div></div>

<p>The order for wiring in Kimi K3 is as follows, per Moonshot AI’s official OpenCode guide.</p>

<ol>
  <li>Create an API key on the Kimi Open Platform and keep it private.</li>
  <li>Run <code class="language-plaintext highlighter-rouge">opencode auth login</code>, select <strong>Moonshot AI</strong> as the provider, and enter your API key.</li>
  <li>Inside OpenCode, use <code class="language-plaintext highlighter-rouge">/models</code> (or <code class="language-plaintext highlighter-rouge">opencode models moonshotai</code> in the shell) to select <strong>Kimi K3</strong>.</li>
  <li>Verify the connection with a low-risk task.</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode run <span class="s2">"Explain this project's folder structure and recommend the first three files I should read."</span>
</code></pre></div></div>

<p>One fact worth pinning down: right after install, the default model catalog did not include the
Moonshot provider. During reproduction, filtering <code class="language-plaintext highlighter-rouge">opencode models</code> for Moonshot/Kimi returned nothing,
which means the provider has to be added explicitly via <code class="language-plaintext highlighter-rouge">auth login</code> before it shows up in the catalog.
So step 2 above is not optional; it is required.</p>

<h2 id="actual-results">Actual Results</h2>

<p>We separate values we captured directly from the model’s published figures. The tool install and
connection flow are measured first-hand; the benchmark scores are reported figures from Moonshot and a
third party (Artificial Analysis).</p>

<p>Directly measured results:</p>

<ul>
  <li>OpenCode install succeeded, version 1.18.3 (npm <code class="language-plaintext highlighter-rouge">opencode-ai</code>, exit code 0).</li>
  <li>Confirmed the CLI provides provider auth (<code class="language-plaintext highlighter-rouge">auth</code>), model listing (<code class="language-plaintext highlighter-rouge">models</code>), headless run (<code class="language-plaintext highlighter-rouge">run</code>),
MCP management (<code class="language-plaintext highlighter-rouge">mcp</code>), and agent management (<code class="language-plaintext highlighter-rouge">agent</code>).</li>
  <li>Right after install, the default catalog did not include the Moonshot provider, so it must be added
explicitly via <code class="language-plaintext highlighter-rouge">auth login</code>.</li>
</ul>

<p>We did not run live Kimi K3 inference. Calling Kimi K3 requires a paid API key with balance (vouchers
from new-user verification cannot be used for K3), and this reproduction environment did not have such a
key. So we draw the line at “install and connection flow measured, actual code-generation quality cited
from public figures.” We do not invent numbers we did not observe.</p>

<p>The model’s published benchmarks are below. These scores are reported figures per Artificial Analysis,
and because weights are not yet fully public, they have not been verified by independent reproduction.</p>

<table>
  <thead>
    <tr>
      <th>Benchmark</th>
      <th>Kimi K3</th>
      <th>Rank</th>
      <th>Top / comparison models</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GDPval-AA v2</td>
      <td>1,687</td>
      <td>3rd</td>
      <td>Fable 5 Max 1,815 · GPT-5.6 Sol Max 1,747.8 · (Opus 4.8 1,600)</td>
    </tr>
    <tr>
      <td>AA-Briefcase</td>
      <td>1,527</td>
      <td>2nd</td>
      <td>Fable 5 Max 1,587 · GPT-5.6 Sol Max 1,495</td>
    </tr>
  </tbody>
</table>

<p>Read at face value, Kimi K3 sits in the band just below the top frontier models. Placing 2nd on
AA-Briefcase, which is meant to measure long-horizon knowledge work, is a signal that it can hold up on
multi-step agent tasks like coding. That said, these are reported figures, and the actual feel in a real
coding workflow is best verified against your own codebase.</p>

<h2 id="implications-for-thakicloud">Implications for ThakiCloud</h2>

<p>This pairing touches both of ThakiCloud’s product lenses. One is the agent-platform lens, the other is
the infrastructure serving lens.</p>

<p><strong>Paxis lens (agents, tools, swappable models).</strong> Paxis is ThakiCloud’s Agent-Native Cloud control
plane that treats Skills, Tools, Policies, and Audit Logs as first-class resources. The “fix the tool,
swap the provider” structure that OpenCode demonstrates overlaps exactly with the Paxis design
philosophy. In Paxis, a coding agent selects from 960-plus skills via BM25, runs them in isolated
sandboxes, and passes every action through policy gates and audit logs. Attach an open-weight model like
Kimi K3 as the provider, and you can swap the agent’s brain by cost and performance while keeping
execution isolation and auditing intact. The fact that OpenCode has built-in MCP server management
(<code class="language-plaintext highlighter-rouge">opencode mcp</code>) also connects naturally to how Paxis treats MCP connectors as first-class resources.</p>

<p><strong>ai-platform lens (serving a 2.8T model).</strong> Open-weight means someone has to serve this model on real
GPUs. A 2.8-trillion-parameter MoE only activates 16 experts per token, so active parameters are far
smaller than the total, but the structure still requires holding all 896 experts in memory, so the bar
for on-prem serving is not low. This is where ThakiCloud’s ai-platform answers the question. When
K8s- and Kueue-based GPU scheduling, vLLM/SGLang serving, and quantization for memory savings come
together, large open models like this can run economically in a multi-tenant environment. Once the
weights ship on July 27, the cost curve of self-hosting versus API calls can be compared for real. Lower
serving cost translates into agent economics, which in turn lowers the per-run cost of agents running on
Paxis. Both lenses point in the same direction.</p>

<h2 id="limits-and-counterarguments">Limits and Counterarguments</h2>

<p>A few sober counterpoints are worth stating.</p>

<p>First, benchmark scores and actual coding feel are different. A 2nd place on AA-Briefcase does not
guarantee “best on my codebase.” A top-ranked model can be weaker on a specific language, framework, or
in-house convention, so adoption should be verified against your real work.</p>

<p>Second, this post’s measurements go up to install and connection flow. Live Kimi K3 inference was not
run because of the paid API key constraint. Actual generation quality, latency, and token cost remain
things you have to re-measure with your own key.</p>

<p>Third, “open weight” does not mean “free” or “easy to operate.” Even with weights public, serving a
2.8T MoE stably requires substantial GPU resources and operational skill. The break-even between
self-hosting and API calls depends on usage and latency requirements.</p>

<p>Fourth, the Kimi K3 API needs balance, and new-user vouchers cannot be used for K3. Do not expect
unlimited free use of a top-tier model. Even so, the structural freedom to choose tool and model
independently is a stronger long-term position than being locked to a single vendor.</p>

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

<ul>
  <li><a href="https://www.marktechpost.com/2026/07/16/moonshot-ai-releases-kimi-k3-a-2-8-trillion-parameter-open-moe-model-with-kimi-delta-attention-and-1m-context/">MarkTechPost, “Moonshot AI Releases Kimi K3: A 2.8 Trillion Parameter Open MoE Model With Kimi Delta Attention and 1M Context” (2026-07-16)</a></li>
  <li><a href="https://fortune.com/2026/07/16/moonshots-kimi-k3-pushes-chinese-ai-into-fable-level-territory/">Fortune, “Moonshot’s Kimi K3 pushes Chinese AI into Fable-level territory” (2026-07-16)</a></li>
  <li><a href="https://artificialanalysis.ai/models/kimi-k3">Artificial Analysis, “Kimi K3” model page (source for the GDPval-AA v2 and AA-Briefcase benchmark figures in this post)</a></li>
  <li><a href="https://platform.kimi.ai/docs/guide/open-code">Kimi API Platform, “Use Kimi Models in OpenCode”</a></li>
  <li><a href="https://github.com/sst/opencode">OpenCode (sst/opencode), v1.18.3 release</a></li>
  <li><a href="https://simonwillison.net/2026/Jul/16/kimi-k3/">Simon Willison, “Kimi K3, and what we can still learn from the pelican benchmark” (2026-07-16)</a></li>
  <li>VentureBeat, “China’s Moonshot AI releases Kimi K3, the largest open-source model ever” (article exists; URL response not confirmed this session)</li>
  <li>OpenCode 1.18.3 (<code class="language-plaintext highlighter-rouge">npm install -g opencode-ai</code>): commands and version are directly captured reproduction values</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="tutorials" /><category term="kimi-k3" /><category term="opencode" /><category term="moonshot-ai" /><category term="coding-agent" /><category term="open-weight" /><category term="terminal" /><category term="developer-tools" /><category term="paxis" /><category term="ai-coding" /><summary type="html"><![CDATA[Kimi K3, called Fable 5-class by many, can run inside an open-source terminal agent rather than a locked proprietary IDE. We installed OpenCode to verify the provider connection flow end to end.]]></summary></entry><entry xml:lang="ko"><title type="html">Kimi K3로 코딩하기: OpenCode 터미널 에이전트에 2.8T 오픈 모델 연결하기</title><link href="https://thakicloud.github.io/ko/tutorials/kimi-k3-opencode-coding/" rel="alternate" type="text/html" title="Kimi K3로 코딩하기: OpenCode 터미널 에이전트에 2.8T 오픈 모델 연결하기" /><published>2026-07-18T00:00:00+09:00</published><updated>2026-07-18T00:00:00+09:00</updated><id>https://thakicloud.github.io/ko/tutorials/kimi-k3-opencode-coding</id><content type="html" xml:base="https://thakicloud.github.io/ko/tutorials/kimi-k3-opencode-coding/"><![CDATA[<p>지난 며칠 사이 개발자 타임라인은 “Kimi K3로 코딩하는 법”이라는 스레드로 뒤덮였습니다. 반응은
대체로 두 갈래였습니다. 하나는 벤치마크가 실제로 좋다는 것이고, 다른 하나는 그 모델을 특정
회사의 닫힌 도구가 아니라 내 터미널에서 내가 고른 에이전트로 돌릴 수 있다는 것이었습니다. 이 글은
두 번째 갈래를 다룹니다. 이 글을 읽는 대상은 코딩 에이전트를 특정 벤더의 GUI에 묶어 두기보다,
오픈소스 도구에 원하는 모델을 갈아 끼우며 쓰고 싶은 개발자입니다. 결론부터 말하면, 오픈소스 터미널
에이전트 OpenCode에 Moonshot AI의 Kimi K3를 프로바이더로 붙이면 특정 IDE에 종속되지 않고도 2.8조
파라미터급 모델로 코딩할 수 있습니다.</p>

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

<p>Moonshot AI는 2026년 7월 16일 Kimi K3를 공개했습니다. 회사 발표 기준으로 총 2.8조 파라미터의
Mixture-of-Experts 모델이며, 지금까지 나온 오픈 웨이트 모델 중 가장 큰 축에 듭니다. 흥미로운 점은
성능 지표만이 아닙니다. 이 모델은 프로프라이어터리 챗봇 안에만 갇혀 있지 않고, 터미널에서 도는
오픈소스 코딩 에이전트에 프로바이더로 연결됩니다. 즉 “어떤 IDE를 쓰느냐”와 “어떤 모델로 코딩하느냐”를
분리할 수 있게 됐습니다.</p>

<p>ThakiCloud 관점에서 이 조합은 두 가지 이유로 눈여겨볼 만합니다. 첫째, 코딩 에이전트가 벤더 종속을
벗어나 모델을 자유롭게 교체할 수 있다는 것은 에이전트 플랫폼 설계의 핵심 전제와 맞닿아 있습니다.
둘째, 2.8조 파라미터 오픈 웨이트 모델은 결국 누군가가 실제 GPU 위에서 서빙해야 하며, 그 서빙 비용과
온프렘 요구가 곧 인프라 사업의 질문으로 돌아옵니다. 이 글에서는 먼저 도구를 직접 설치해 연결 흐름을
확인하고, 그다음 이 두 관점을 정리합니다.</p>

<h2 id="이-도구는-무엇인가">이 도구는 무엇인가</h2>

<p>OpenCode는 터미널에서 도는 오픈소스 코딩 에이전트입니다. 코드베이스의 파일을 읽고, 구조를 설명하고,
코드를 편집하고, 변경을 리뷰하고, 연결된 LLM 프로바이더를 통해 작업을 실행합니다. 특정 모델에 묶이지
않고 프로바이더를 갈아 끼우는 구조라, 같은 워크플로 위에서 모델만 바꿔 가며 쓸 수 있습니다.</p>

<p>Kimi K3는 그 프로바이더 자리에 들어가는 모델입니다. Moonshot AI 발표 기준 핵심 사양은 다음과
같습니다. 총 2.8조 파라미터의 MoE 구조로, 896개의 전문가(expert) 중 토큰당 16개가 활성화됩니다.
어텐션은 Kimi Delta Attention(KDA)이라는 하이브리드 선형 어텐션 방식을 씁니다. 여기에 잔차 연결을
대체하는 Attention Residuals 기법, 네이티브 비전 이해, 그리고 최대 100만 토큰 컨텍스트를 갖췄습니다.
전체 모델 가중치는 2026년 7월 27일 공개 예정입니다.</p>

<p>두 도구가 연결되는 흐름을 그림으로 보면 다음과 같습니다.</p>

<pre><code class="language-mermaid">flowchart TB
  A[개발자 터미널&lt;br/&gt;OpenCode TUI 또는 run] --&gt; B[프로바이더 계층&lt;br/&gt;opencode auth login]
  B --&gt; C{모델 선택&lt;br/&gt;/models 또는 opencode models}
  C --&gt; D[Moonshot AI 프로바이더&lt;br/&gt;Kimi K3]
  D --&gt; E[Kimi Delta Attention&lt;br/&gt;2.8T MoE · 896 전문가 · 토큰당 16 활성]
  E --&gt; F[코드 읽기·편집·리뷰·실행&lt;br/&gt;최대 1M 컨텍스트]
  F -.세션 반복.-&gt; A
</code></pre>

<p>기존 접근과의 차이는 명확합니다. 벤더가 제공하는 GUI 에이전트를 쓰면 모델과 도구가 한 묶음으로 딸려
옵니다. 반면 OpenCode 같은 오픈소스 에이전트는 도구를 고정한 채 프로바이더만 교체합니다. 어제는
자체 호스팅 모델, 오늘은 Kimi K3, 내일은 또 다른 모델을 같은 명령 인터페이스로 쓸 수 있습니다.</p>

<h2 id="설치-및-통합">설치 및 통합</h2>

<p>실제 설치와 연결 흐름을 격리된 샌드박스에서 직접 확인했습니다. 아래 명령과 버전은 재현 과정에서
캡처한 실제 값입니다.</p>

<p>먼저 OpenCode를 설치합니다. npm 전역 설치로 바로 잡혔습니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>npm <span class="nb">install</span> <span class="nt">-g</span> opencode-ai
opencode <span class="nt">--version</span>
<span class="c"># 1.18.3</span>
</code></pre></div></div>

<p>설치된 CLI가 제공하는 명령 표면을 확인했습니다. TUI 실행부터 헤드리스 실행, 프로바이더 관리,
모델 조회, MCP 서버 관리까지 코딩 에이전트가 필요로 하는 명령이 갖춰져 있습니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode <span class="nt">--help</span>
<span class="c"># opencode [project]        start opencode tui              [default]</span>
<span class="c"># opencode run [message..]  run opencode with a message</span>
<span class="c"># opencode providers        manage AI providers and credentials   [aliases: auth]</span>
<span class="c"># opencode models [provider]  list all available models</span>
<span class="c"># opencode mcp              manage MCP (Model Context Protocol) servers</span>
<span class="c"># opencode agent            manage agents</span>
<span class="c"># opencode serve            starts a headless opencode server</span>
</code></pre></div></div>

<p>프로바이더 인증은 <code class="language-plaintext highlighter-rouge">opencode auth</code> 하위 명령이 담당합니다.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode auth <span class="nt">--help</span>
<span class="c"># opencode auth list    list providers and credentials   [aliases: ls]</span>
<span class="c"># opencode auth login   log in to a provider</span>
<span class="c"># opencode auth logout  log out from a configured provider</span>
</code></pre></div></div>

<p>Kimi K3를 붙이는 순서는 다음과 같습니다. Moonshot AI 공식 OpenCode 가이드 기준입니다.</p>

<ol>
  <li>Kimi 오픈 플랫폼에서 API 키를 발급받아 안전하게 보관합니다.</li>
  <li><code class="language-plaintext highlighter-rouge">opencode auth login</code>을 실행하고 프로바이더로 <strong>Moonshot AI</strong>를 선택한 뒤 API 키를 입력합니다.</li>
  <li>OpenCode 안에서 <code class="language-plaintext highlighter-rouge">/models</code>(또는 셸에서 <code class="language-plaintext highlighter-rouge">opencode models moonshotai</code>)로 <strong>Kimi K3</strong>를 선택합니다.</li>
  <li>낮은 위험의 작업으로 연결을 검증합니다.</li>
</ol>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code>opencode run <span class="s2">"이 프로젝트의 폴더 구조를 설명하고 먼저 읽어야 할 파일 세 개를 추천해 줘."</span>
</code></pre></div></div>

<p>한 가지 확인해 둘 사실이 있습니다. 설치 직후 기본 모델 카탈로그에는 Moonshot 프로바이더가 잡혀
있지 않았습니다. 재현 중 <code class="language-plaintext highlighter-rouge">opencode models</code>를 Moonshot/Kimi로 필터링하면 결과가 비어 있었고, 이는
프로바이더를 <code class="language-plaintext highlighter-rouge">auth login</code>으로 명시적으로 추가해야 카탈로그에 노출된다는 뜻입니다. 즉 위 2번 단계는
선택이 아니라 필수입니다.</p>

<h2 id="실제-실험-결과">실제 실험 결과</h2>

<p>이번 재현에서 직접 캡처한 값과, 모델 자체의 공개 지표를 구분해 정리합니다. 도구 설치와 연결 흐름은
직접 확인한 실측값이고, 벤치마크 점수는 Moonshot과 제3자(Artificial Analysis)가 공개한 보고값입니다.</p>

<p>직접 확인한 실측 결과는 다음과 같습니다.</p>

<ul>
  <li>OpenCode 설치 성공, 버전 1.18.3(npm <code class="language-plaintext highlighter-rouge">opencode-ai</code>, 종료 코드 0).</li>
  <li>CLI가 프로바이더 인증(<code class="language-plaintext highlighter-rouge">auth</code>), 모델 조회(<code class="language-plaintext highlighter-rouge">models</code>), 헤드리스 실행(<code class="language-plaintext highlighter-rouge">run</code>), MCP 관리(<code class="language-plaintext highlighter-rouge">mcp</code>),
에이전트 관리(<code class="language-plaintext highlighter-rouge">agent</code>)를 모두 제공함을 확인.</li>
  <li>설치 직후 기본 카탈로그에 Moonshot 프로바이더 미포함 → <code class="language-plaintext highlighter-rouge">auth login</code>으로 명시 추가 필요.</li>
</ul>

<p>라이브 Kimi K3 추론까지는 실행하지 않았습니다. Kimi K3 호출에는 잔액이 있는 유료 API 키가 필요하고
(신규 가입 검증으로 받은 바우처는 K3에 사용할 수 없습니다), 이번 재현 환경에는 해당 키가 없었습니다.
그래서 “설치와 연결 흐름은 실측, 실제 코드 생성 품질은 공개 지표 인용”으로 선을 긋습니다. 없는 수치를
지어내지 않습니다.</p>

<p>모델의 공개 벤치마크는 다음과 같습니다. 아래 점수는 Artificial Analysis가 공개한 보고값 기준이며,
가중치가 아직 완전 공개되지 않아 독립 재현으로는 검증되지 않았음을 함께 밝힙니다.</p>

<table>
  <thead>
    <tr>
      <th>벤치마크</th>
      <th>Kimi K3</th>
      <th>순위</th>
      <th>상위/비교 모델</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>GDPval-AA v2</td>
      <td>1,687</td>
      <td>3위</td>
      <td>Fable 5 Max 1,815 · GPT-5.6 Sol Max 1,747.8 · (Opus 4.8 1,600)</td>
    </tr>
    <tr>
      <td>AA-Briefcase</td>
      <td>1,527</td>
      <td>2위</td>
      <td>Fable 5 Max 1,587 · GPT-5.6 Sol Max 1,495</td>
    </tr>
  </tbody>
</table>

<p>숫자를 그대로 읽으면, Kimi K3는 최상위 프런티어 모델 바로 아래 구간에 자리합니다. 특히 장기 지식
노동을 측정한다는 AA-Briefcase에서 2위를 기록했다는 점은, 코딩처럼 여러 단계를 오가는 에이전트
작업에서 쓸 만하다는 신호로 해석할 수 있습니다. 다만 이는 보고값이며, 실제 코딩 워크플로에서의
체감은 각자의 코드베이스로 검증하는 편이 정확합니다.</p>

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

<p>이 조합은 ThakiCloud의 두 제품 렌즈 모두와 맞닿습니다. 하나는 에이전트 플랫폼 관점, 다른 하나는
인프라 서빙 관점입니다.</p>

<p><strong>Paxis 렌즈(에이전트·도구·모델 교체).</strong> Paxis는 ThakiCloud의 Agent-Native Cloud 제어 평면으로,
Skills·Tools·Policies·Audit Logs를 일급 리소스로 다룹니다. OpenCode가 보여 주는 “도구는 고정하고
프로바이더만 교체한다”는 구조는 Paxis의 설계 철학과 정확히 겹칩니다. Paxis에서 코딩 에이전트는
960개가 넘는 스킬을 BM25로 선택해 격리된 샌드박스에서 실행하고, 모든 행동을 정책 게이트와 감사
로그로 통과시킵니다. 여기에 Kimi K3 같은 오픈 웨이트 모델을 프로바이더로 붙이면, 에이전트의 두뇌를
비용과 성능에 따라 갈아 끼우면서도 실행 격리와 감사 체계는 그대로 유지할 수 있습니다. 또한 OpenCode가
MCP 서버 관리(<code class="language-plaintext highlighter-rouge">opencode mcp</code>)를 내장하고 있다는 점은, MCP 커넥터를 일급 리소스로 다루는 Paxis의
접근과 자연스럽게 연결됩니다.</p>

<p><strong>ai-platform 렌즈(2.8T 모델 서빙).</strong> 오픈 웨이트라는 말은 결국 누군가가 이 모델을 실제 GPU 위에서
서빙해야 한다는 뜻입니다. 2.8조 파라미터 MoE는 토큰당 16개 전문가만 활성화되므로 활성 파라미터는
전체보다 훨씬 작지만, 896개 전문가 전체를 메모리에 올려야 하는 구조라 온프렘 서빙의 문턱은 낮지
않습니다. 여기서 ThakiCloud의 ai-platform이 답하는 질문이 등장합니다. K8s와 Kueue 기반 GPU 스케줄링,
vLLM/SGLang 서빙, 그리고 양자화를 통한 메모리 절감이 결합될 때 이런 대형 오픈 모델을 멀티테넌트
환경에서 경제적으로 돌릴 수 있습니다. 가중치가 7월 27일 공개되면, 자체 호스팅 대비 API 호출의 비용
곡선을 실제로 비교해 볼 수 있습니다. 낮은 서빙 비용은 곧 에이전트 경제성으로 이어지고, 이는 다시
Paxis 위에서 도는 에이전트의 단가를 낮춥니다. 두 렌즈가 한 방향을 가리키는 셈입니다.</p>

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

<p>몇 가지 냉정한 반론을 함께 적습니다.</p>

<p>첫째, 벤치마크 점수와 실제 코딩 체감은 다릅니다. AA-Briefcase 2위가 곧 “내 코드베이스에서 최고”를
보장하지 않습니다. 리더보드 상위 모델이 특정 언어나 프레임워크, 사내 컨벤션에서 오히려 약할 수
있으므로, 도입 판단은 자신의 실제 작업으로 검증해야 합니다.</p>

<p>둘째, 이 글의 실측은 도구 설치와 연결 흐름까지입니다. 라이브 Kimi K3 추론은 유료 API 키 제약으로
실행하지 못했습니다. 실제 생성 품질, 지연 시간, 토큰 비용은 각자의 키로 직접 재 봐야 하는 영역으로
남습니다.</p>

<p>셋째, “오픈 웨이트”가 곧 “공짜”나 “쉬운 운영”을 의미하지는 않습니다. 가중치가 공개돼도 2.8T MoE를
안정적으로 서빙하려면 상당한 GPU 자원과 운영 역량이 필요합니다. 자체 호스팅과 API 호출 사이의
손익분기는 사용량과 지연 요구에 따라 갈립니다.</p>

<p>넷째, Kimi K3 API에는 잔액이 필요하며 신규 바우처로는 K3를 쓸 수 없습니다. 무료로 최상위 모델을
무제한 쓴다는 기대는 접어야 합니다. 그럼에도 도구와 모델을 분리해 선택할 수 있다는 구조적 자유는,
특정 벤더에 묶이는 것보다 장기적으로 유리한 위치입니다.</p>

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

<ul>
  <li><a href="https://www.marktechpost.com/2026/07/16/moonshot-ai-releases-kimi-k3-a-2-8-trillion-parameter-open-moe-model-with-kimi-delta-attention-and-1m-context/">MarkTechPost, “Moonshot AI Releases Kimi K3: A 2.8 Trillion Parameter Open MoE Model With Kimi Delta Attention and 1M Context” (2026-07-16)</a></li>
  <li><a href="https://fortune.com/2026/07/16/moonshots-kimi-k3-pushes-chinese-ai-into-fable-level-territory/">Fortune, “Moonshot’s Kimi K3 pushes Chinese AI into Fable-level territory” (2026-07-16)</a></li>
  <li><a href="https://artificialanalysis.ai/models/kimi-k3">Artificial Analysis, “Kimi K3” 모델 페이지 (본문 GDPval-AA v2·AA-Briefcase 벤치마크 수치의 출처)</a></li>
  <li><a href="https://platform.kimi.ai/docs/guide/open-code">Kimi API Platform, “Use Kimi Models in OpenCode”</a></li>
  <li><a href="https://github.com/sst/opencode">OpenCode (sst/opencode), v1.18.3 릴리스</a></li>
  <li><a href="https://simonwillison.net/2026/Jul/16/kimi-k3/">Simon Willison, “Kimi K3, and what we can still learn from the pelican benchmark” (2026-07-16)</a></li>
  <li>VentureBeat, “China’s Moonshot AI releases Kimi K3, the largest open-source model ever” (기사 존재는 확인, 이번 세션에서 URL 응답은 미확인)</li>
  <li>OpenCode 1.18.3 (<code class="language-plaintext highlighter-rouge">npm install -g opencode-ai</code>): 본문 명령과 버전은 직접 재현 캡처값</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="tutorials" /><category term="kimi-k3" /><category term="opencode" /><category term="moonshot-ai" /><category term="coding-agent" /><category term="open-weight" /><category term="terminal" /><category term="developer-tools" /><category term="paxis" /><category term="ai-coding" /><summary type="html"><![CDATA[Fable 5급이라 불리는 2.8T 오픈 모델 Kimi K3를 프로프라이어터리 IDE가 아니라 오픈소스 터미널 에이전트에 붙이는 실전 방법을 봅니다. OpenCode를 직접 설치해 프로바이더 연결 흐름까지 확인했습니다.]]></summary></entry><entry xml:lang="ar"><title type="html">مستويات الجهد لمراجعة الكود: أمر /code-review في Claude Code من low إلى ultra</title><link href="https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels/" rel="alternate" type="text/html" title="مستويات الجهد لمراجعة الكود: أمر /code-review في Claude Code من low إلى ultra" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels</id><content type="html" xml:base="https://thakicloud.github.io/ar/dev/claude-code-review-effort-levels/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

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

<p>عالج Claude Code هذا الأمر مباشرة في الإصدار v2.1.101. ففي إصدار 11 أبريل 2026 أعاد تسمية الأمر <code class="language-plaintext highlighter-rouge">/simplify</code> إلى <code class="language-plaintext highlighter-rouge">/code-review</code> وأضاف علامة مستوى الجهد التي تحكم مدى عمق تفكير النموذج قبل الإجابة. هناك خمسة مستويات، هي low وmedium وhigh وmax وultra، وتُعاد كتابة المراجعة نفسها عند كل مستوى. تُرجع المستويات الضحلة نتائج سريعة عالية الثقة، بينما تنفق المستويات العميقة وقتًا أطول وتمسح الحالات الطرفية والانحدارات الدقيقة.</p>

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

<h2 id="ما-هي-هذه-الميزة">ما هي هذه الميزة</h2>

<p><code class="language-plaintext highlighter-rouge">/code-review</code> أمر خط مائل يقرأ الفرق (diff) في شجرة العمل الحالية، ويجد المشكلات ويُبلّغ عنها. التغيير الجوهري أنه بإمكانك إلحاق مستوى بالأمر. تحديد مستوى مثل <code class="language-plaintext highlighter-rouge">/code-review low</code> يجعل محرك المراجعة يضبط نطاق استكشافه وعمق تفكيره ليطابق ذلك المستوى. حذف المستوى يشغّل القيمة الافتراضية.</p>

<p>المهم أن المستوى ليس مجرد «إطالة المخرجات أو تقصيرها». وفقًا للوثائق، يعيد low وmedium مجموعة صغيرة من النتائج عالية الثقة، بينما يعيد high وmax نتائج غير مؤكدة إلى جانب النتائج الواثقة. بعبارة أخرى، تفضّل المستويات الضحلة الدقة (precision) وتفضّل المستويات العميقة الاستدعاء (recall)؛ فطبيعة المراجعة نفسها تتغير. وهذا يوافق أيضًا نفسية من يتلقى المراجعة. في رقعة صغيرة، حفنة من النتائج المؤكدة أفضل من قائمة طويلة محشوة بالإيجابيات الكاذبة؛ وقبيل الدمج، عدم تفويت أي شيء أفضل.</p>

<pre><code class="language-mermaid">flowchart TB
    A[تغيير الكود&lt;br/&gt;فرق شجرة العمل] --&gt; B{اختيار مستوى الجهد}
    B --&gt;|low / medium| C[الدقة أولًا&lt;br/&gt;نتائج قليلة عالية الثقة]
    B --&gt;|high / max| D[الاستدعاء أولًا&lt;br/&gt;يشمل نتائج غير مؤكدة]
    B --&gt;|ultra| E[صندوق رملي سحابي&lt;br/&gt;مراجعة وكلاء متوازية]
    C --&gt; F[استجابة بمقياس الثواني&lt;br/&gt;رقعة صغيرة، تغيير إعداد]
    D --&gt; G[استكشاف بمقياس الدقائق&lt;br/&gt;قبيل الدمج، حالة معقدة]
    E --&gt; H[التحقق من كل نتيجة مستقلًا&lt;br/&gt;5-10 دقائق، طبقة مدفوعة]
    F --&gt; I[‏--comment: تعليق داخل PR]
    G --&gt; I
    H --&gt; I
    I --&gt; J[‏--fix: التطبيق على شجرة العمل]
</code></pre>

<h2 id="متى-تستخدم-كلًّا-من-المستويات-الخمسة">متى تستخدم كلًّا من المستويات الخمسة</h2>

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

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

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

<p>أما ultra فأداة من نوع مختلف. نتناوله على حدة أدناه.</p>

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

<h2 id="comment-وfix-وضع-المراجعة-داخل-سير-العمل">‏–comment و–fix: وضع المراجعة داخل سير العمل</h2>

<p>بمعزل عن مستويات الجهد، تدمج علامتان المراجعة في سير عمل فعلي. تنشر <code class="language-plaintext highlighter-rouge">--comment</code> النتائج كتعليقات مضمّنة على الـPR، وتطبّق <code class="language-plaintext highlighter-rouge">--fix</code> النتائج مباشرة على شجرة العمل.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># مراجعة واسعة قبل الدمج مع تعليقات PR إضافةً إلى التطبيق المحلي</span>
/code-review high <span class="nt">--comment</span> <span class="nt">--fix</span>

<span class="c"># مراجعة سحابية عميقة، ثم تطبيق النتائج على شجرة العمل</span>
/code-review ultra <span class="nt">--fix</span>
</code></pre></div></div>

<p>سير عمل المطوّر الفردي الذي تعرضه الوثائق يجري هكذا. اجمع <code class="language-plaintext highlighter-rouge">--comment --fix</code> لترك النتائج على الـPR وتطبيقها محليًا، ثم عايِن الفرق وادفع. إنها طريقة لتمرير أول تمريرة مراجعة تلقائيًا دون انتظار مراجِع. مع ذلك، لأن <code class="language-plaintext highlighter-rouge">--fix</code> تلامس الكود، يجب على إنسان مراجعة الفرق المُطبَّق. التطبيق التلقائي ليس بديلًا عن المراجعة؛ بل هو تحضير لها.</p>

<h2 id="ultrareview-مراجعة-سحابية-متعددة-الوكلاء">‏ultrareview: مراجعة سحابية متعددة الوكلاء</h2>

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

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

<h2 id="ماذا-يعني-هذا-لمنتجات-thakicloud">ماذا يعني هذا لمنتجات ThakiCloud</h2>

<p>تتداخل مبادئ تصميم هذه الميزة بشكل لافت مع ما مارسناه في تشغيل منصة وكلاء. نقسّمه على منتجَينا.</p>

<p><strong>عدسة Paxis.</strong> إن Paxis هي السحابة الأصيلة للوكلاء (Agent-Native Cloud) من ThakiCloud، وتتعامل مع المهارات (Skills) والأدوات (Tools) والسياسات (Policies) وسجلات التدقيق (Audit Logs) كموارد من الدرجة الأولى. السؤال الذي يطرحه <code class="language-plaintext highlighter-rouge">/code-review</code> هو نفسه الذي تحلّه حزمة مهارات Paxis كل يوم: أي شدة وكيل تُلحقها بأي مهمة؟ تختار Paxis من أكثر من 960 مهارة عبر BM25 وتشغّلها في صناديق رملية معزولة، وتعمل الفكرة نفسها المتمثلة في مستويات الجهد هنا. يذهب العمل الخفيف مثل الاستكشاف والبحث إلى طبقة رخيصة؛ ويذهب العمل الثقيل مثل الحكم المعماري والتحقق إلى طبقة أغلى. تتشارك مراجعة ultra المتوازية متعددة الوكلاء والتحقق المستقل لكل نتيجة البنية نفسها مع طريقة إغلاق Paxis لنتائج التوزّع بمرحلة تحقق. توزّع بلا تحقق يراكم الهلوسات، وبوابة تحقق توقفه. إذا جرت مراجعة الكود كمهارة وكيل معزولة تمرّ نتائجها عبر بوابات السياسة وسجلات التدقيق، فتلك بالضبط نموذج التشغيل الذي تهدف إليه Paxis.</p>

<p><strong>عدسة ai-platform.</strong> إن كون ultra يحمّل المراجعة إلى صندوق رملي سحابي ويحاسب لكل تشغيل يؤكد مجددًا أن أعباء عمل الوكلاء تعمل في النهاية على بنية تحتية للـGPU والتنفيذ المعزول. توفّر منصة ai-platform من ThakiCloud جدولة GPU قائمة على K8s وKueue، وعزلًا متعدد المستأجرين، وخدمة داخل المؤسسة (on-premises). إن عبء عمل يشغّل أسطولًا من وكلاء المراجعة بالتوازي هو بالضبط نوع العمل الذي تستهدفه هذه البنية. وللمؤسسات المتحفظة على رفع الشيفرة المصدرية إلى سحابة خارجية خصوصًا، يصبح خيار تشغيل نمط المراجعة نفسه متعدد الوكلاء داخل بنيتها التحتية مهمًا. ولأن اقتصاديات الوكلاء لا تصح إلا حين تتوفّر خدمة منخفضة التكلفة وتنفيذ معزول، تُكمّل العدستان إحداهما الأخرى.</p>

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

<p>مستويات الجهد ليست دواءً لكل داء. بعض الاعتراضات الصادقة.</p>

<p>أولًا، اختيار المستوى نفسه يعتمد على حكم المستخدم. سوء قراءة الخطورة يمرّر تغييرًا مهمًا بمستوى low، أو يهدر ultra على تغيير تافه. توفّر الأداة المحور؛ أما تحديد موقعك الصحيح عليه فيبقى من شأن الإنسان.</p>

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

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

<p>رابعًا، لا يحلّ <code class="language-plaintext highlighter-rouge">--fix</code> التلقائي محل المراجعة. الدفع دون فحص الفرق المُطبَّق يدع الأتمتة التي تبدو مريحة تدسّ أخطاءً صامتة بدلًا من ذلك. الأتمتة أداة تساعد التفكير، لا أداة تحلّ محله.</p>

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

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

<ul>
  <li><a href="https://code.claude.com/docs/en/code-review">Code Review - Claude Code Docs</a></li>
  <li><a href="https://fast.io/resources/claude-code-review-guide/">Claude Code Review: How to Use /code-review and Ultrareview - Fastio</a></li>
  <li><a href="https://www.mindstudio.ai/blog/claude-code-effort-levels-explained">Claude Code Effort Levels Explained - MindStudio</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="claude-code" /><category term="code-review" /><category term="effort-levels" /><category term="ultrareview" /><category term="ai-coding" /><category term="agent" /><category term="developer-tools" /><category term="cost-quality" /><category term="paxis" /><category term="dev" /><summary type="html"><![CDATA[في الإصدار v2.1.101 أعاد Claude Code تسمية /simplify إلى /code-review وأضاف مستويات الجهد إلى المراجعة. يعيد المستويان low وmedium عددًا قليلًا من النتائج عالية الثقة، بينما يضيف high وmax تغطية أوسع مع نتائج غير مؤكدة، أما ultra فيشغّل مراجعة عميقة تتحقق فيها عدة وكلاء من كل نتيجة على السحابة. ننظر في سبب كون هذا التدرّج هو الطريقة الصحيحة لفصل التكلفة عن الجودة في مراجعة الكود، وكيف تنعكس الفكرة على حزمة المهارات في Paxis.]]></summary></entry><entry xml:lang="ar"><title type="html">‏295B على بطاقة واحدة: تشريح خدمة Hunyuan Hy3 بدقة 1-bit و4-bit</title><link href="https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu/" rel="alternate" type="text/html" title="‏295B على بطاقة واحدة: تشريح خدمة Hunyuan Hy3 بدقة 1-bit و4-bit" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/hunyuan-hy3-1bit-4bit-single-gpu/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

<p>أول جدار يصطدم به أي فريق عند خدمة نموذج كبير على بنيته التحتية الخاصة ليس الحوسبة بل الذاكرة. يتطلّب تحميل نموذج بحجم 295B بدقة FP16 نحو 598GB من الأوزان مقيمة في ذاكرة وحدة المعالجة الرسومية، وهو حجم يكاد لا يتّسع إلا عبر ثماني بطاقات H100 بسعة 80GB. لهذا ظلّت النماذج الرائدة مفتوحة الأوزان في موضع محرج: مُعلنة، لكن يصعب علينا خدمتها فعلياً.</p>

<p>تستهدف نسخ Hy3 بصيغة GGUF بدقة 1-bit و4-bit التي أصدرتها Tencent Hunyuan في 14 يوليو 2026 هذه النقطة مباشرةً. فهي تضغط نموذج MoE بحجم 295B إلى صيغة منخفضة البتّات ليعمل على بطاقة واحدة، وتُنشر الأوزان برخصة Apache 2.0. عرّفت Tencent النموذج على منصة X بأنه «نموذج بحجم رائد 295B يمكن خدمته على وحدة معالجة رسومية واحدة»، مع ذكر llama.cpp وMTP معاً.</p>

<p>تقرأ هذه المقالة نسخ Hy3 المكمّمة من منظور ThakiCloud بوصفنا فريقاً يخدم نماذج منخفضة البتّات في بيئة متعددة المستأجرين. نستعرض ما تغيّره الضغطة فعلياً، ولماذا يجب قراءة عبارة «وحدة واحدة» بحذر، وماذا يعني هذا الاتجاه لبنية الاستدلال المحلية لدينا. ولنكن واضحين منذ البداية: كل أرقام الحجم والأداء أدناه قيَم أبلغت عنها Tencent والمجتمع، وليست أرقاماً أعادت ThakiCloud إنتاجها.</p>

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

<p>‏Hy3 نموذج Mixture-of-Experts بإجمالي 295B معامل، لكن ما يُفعَّل لمعالجة رمز واحد نحو 21B فقط. يدعم سياقاً طويلاً بحجم 256K رمز، ويستهدف المهام الوكيلة والبرمجة واستدعاء الأدوات. الجديد هنا ليس نموذجاً جديداً بل تمثيلاً منخفض البتّات بصيغة GGUF لأوزان Hy3 القائمة. صدرت نسختان.</p>

<p>تُقلّص نسخة 1-bit النموذج من نحو 598GB إلى 85.5GiB. بهذا الحجم تتّسع الأوزان على بطاقة واحدة من فئة 96GB. تشغل نسخة 4-bit مساحة 169.9GiB وتحتاج إلى الامتداد عبر بطاقتين، لكنها بالمقابل تحافظ على جودة أقرب بكثير إلى الأصل وفق ما أُبلغ. تعمل النسختان مع llama.cpp، وصُمِّمتا لتفعيل MTP (التنبؤ متعدد الرموز) لرفع إنتاجية توليد الرموز.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Hy3 295B MoE&lt;br/&gt;FP16 نحو 598GB] --&gt; B{تكميم GGUF منخفض البتّات}
    B --&gt;|1-bit| C[85.5GiB&lt;br/&gt;بطاقة 96GB واحدة]
    B --&gt;|4-bit| D[169.9GiB&lt;br/&gt;بطاقتان]
    C --&gt; E[التشغيل عبر llama.cpp]
    D --&gt; E
    E --&gt; F[تفعيل MTP&lt;br/&gt;تنبؤ متعدد الرموز لزيادة الإنتاجية]
    F --&gt; G[‏21B معامل مُفعَّل&lt;br/&gt;بعض الخبراء فقط يحسبون لكل رمز]
    G --&gt; H[مهام وكيلة وبرمجة واستدعاء أدوات&lt;br/&gt;سياق طويل 256K]
</code></pre>

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

<h2 id="لماذا-تحتاج-عبارة-وحدة-واحدة-إلى-قراءة-متأنية">لماذا تحتاج عبارة «وحدة واحدة» إلى قراءة متأنية</h2>

<p>هذه أسهل عبارة يُساء فهمها في التسويق. «الخدمة على وحدة واحدة» صحيحة، لكن المقصود بالوحدة هنا جهاز بذاكرة موحّدة من فئة 128GB. فكّر في DGX Spark، أو Mac Studio بسعة 128GB، أو Strix Halo. إن تخيّلت بطاقة RTX 3060 واحدة بسعة 16GB، فهذا التوقع بعيد.</p>

<p>يهمّ هذا التمييز لأن الحساب العملي يتغيّر كلياً. يتطلّب تحميل 85.5GiB من الأوزان بطاقة سعتها 96GB على الأقل، وبمجرد إضافة ذاكرة KV cache وذاكرة التنشيط وحالة الانتباه لسياق طويل، يتقلّص الهامش الفعلي أكثر. حتى على جهاز من فئة 128GB يكون العبء ضيّقاً مع عبء عمل يملأ سياق 256K فعلاً. «بطاقة واحدة» تشير إلى عدد المنافذ الفيزيائية، لا إلى عتاد رخيص.</p>

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

<h2 id="1-bit-مقابل-4-bit-ماذا-تكسب-وماذا-تخسر">‏1-bit مقابل 4-bit: ماذا تكسب وماذا تخسر</h2>

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

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

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

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

<p>بما أنها ملفات GGUF قائمة على llama.cpp، فمسار الخدمة نفسه مألوف. تجلب ملف GGUF، وتحمّله عبر llama.cpp، وتفعّل خيار MTP، ثم تعرضه كخادم متوافق مع OpenAI. من الناحية المفاهيمية تبدو البنية هكذا.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># تحميل نسخة 1-bit GGUF (مثال مفاهيمي، راجع مستودع الإصدار لأسماء الملفات والرايات الدقيقة)</span>
./llama-server <span class="se">\</span>
  <span class="nt">--model</span> hy3-295b-1bit.gguf <span class="se">\</span>
  <span class="nt">--ctx-size</span> 262144 <span class="se">\</span>
  <span class="nt">--n-gpu-layers</span> 999 <span class="se">\</span>
  <span class="nt">--draft-max</span> 4          <span class="c"># تنبؤ متعدد الرموز على طراز MTP</span>
</code></pre></div></div>

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

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

<h2 id="دلالات-لمنتجات-thakicloud">دلالات لمنتجات ThakiCloud</h2>

<p>يهمّ هذا الإصدار خصوصاً من منظور <strong>ai-platform</strong> لدى ThakiCloud. تجدول ai-platform وحدات المعالجة الرسومية عبر K8s وKueue وتخدم النماذج عبر بيئات عملاء متنوعة بالاعتماد على vLLM. تشغيل نموذج بحجم رائد على عقدة واحدة عالية السعة يعني أن وحدة توزيع العقد للخدمة متعددة المستأجرين تصبح أبسط. فبدلاً من جدولة مبنية على عقد H100 من ثماني بطاقات، تصبح معالجة بطاقة واحدة من فئة 128GB كوحدة خدمة واحدة تجعل إدارة الطوابير وتوزيع الأولويات في Kueue أكثر قابلية للتنبؤ.</p>

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

<p>من منظور أعباء عمل الوكلاء، يتّصل هذا بـ <strong>Paxis</strong> أيضاً. Paxis هي Agent-Native Cloud التي تعمل فوق ai-platform، تنفّذ المهارات في بيئات معزولة وتمرّر كل إجراء عبر بوّابات السياسات وسجلات التدقيق. فإذا أمكن خدمة نموذج متخصص في الوكلاء واستدعاء الأدوات مثل Hy3 بتكلفة عتاد منخفضة، تنخفض تكلفة التشغيل لكل وكيل، وهذا بدوره يعني إمكانية تشغيل مزيد من التدفقات المستقلة اقتصادياً. الخدمة منخفضة التكلفة هي البنية التي تصنع اقتصاديات الوكلاء.</p>

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

<p>أكبر اعتراض هو حقيقة «الوحدة الواحدة». فجهاز بذاكرة موحّدة من فئة 96GB إلى 128GB لا يزال باهظاً وليس عتاداً سائداً بحق. قراءة هذا الإصدار على أنه «يمكن للجميع الآن تشغيل 295B على حاسوب محمول» سوء فهم. الأدقّ هو أن «عبء عمل كان يتطلّب عقدة متعددة البطاقات نزل إلى بطاقة واحدة عالية السعة».</p>

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

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

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

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

<ul>
  <li><a href="https://x.com/TencentHunyuan/status/2076953120765280284">Tencent Hunyuan، إصدار Hy3 بدقة 1-bit و4-bit (X)</a></li>
  <li><a href="https://huggingface.co/tencent/Hy3">tencent/Hy3 (Hugging Face)</a></li>
  <li><a href="https://explainx.ai/blog/tencent-hy3-gguf-1-bit-4-bit-single-gpu-llama-cpp-july-2026">Tencent Hy3 GGUF 1-bit 4-bit Single GPU (explainX)</a></li>
  <li><a href="https://www.remio.ai/post/tencent-hunyuan-hy3-quantized-release-1bit-single-card-deployment-4bit-near-full-performance">تحليل إصدار Hunyuan Hy3 المكمّم (Remio)</a></li>
  <li><a href="https://www.spheron.network/blog/deploy-hunyuan-3-gpu-cloud/">نشر Hunyuan Hy3 عبر vLLM وExpert Parallelism (Spheron)</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="quantization" /><category term="hunyuan-hy3" /><category term="moe" /><category term="1-bit" /><category term="4-bit" /><category term="gguf" /><category term="llama-cpp" /><category term="mtp" /><category term="inference" /><category term="serving" /><category term="on-prem" /><category term="self-hosting" /><category term="llmops" /><category term="ai-platform" /><summary type="html"><![CDATA[تُقلّص نسخ Hy3 من Tencent بصيغة GGUF بدقة 1-bit و4-bit نموذج MoE بحجم 295B من 598GB إلى 85.5GiB ليعمل على وحدة معالجة رسومات واحدة. لكن المقصود بـ«وحدة واحدة» هنا جهاز بذاكرة موحّدة من فئة 128GB، لا بطاقة استهلاكية بسعة 16GB. نتناول ما تكسبه هذه الضغطة وما تخفيه، ولماذا يُذكر MTP إلى جانبها، وماذا تعني خدمة نموذج رائد من عقدة واحدة لاستراتيجية الاستدلال المحلي في ThakiCloud.]]></summary></entry><entry xml:lang="ar"><title type="html">من 46% إلى 90% داخل الهاتف: ضبط النماذج اللغوية الصغيرة لوكلاء على الجهاز</title><link href="https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents/" rel="alternate" type="text/html" title="من 46% إلى 90% داخل الهاتف: ضبط النماذج اللغوية الصغيرة لوكلاء على الجهاز" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents</id><content type="html" xml:base="https://thakicloud.github.io/ar/llmops/on-device-tiny-llm-finetune-agents/"><![CDATA[<h2 id="نظرة-عامة">نظرة عامة</h2>

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

<p>يستهدف عرض «From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents»، الذي قدّمه Cormac Brick، المهندس الرئيسي في Google AI Edge، هذه النقطة بالضبط. رفع ضبطُ نموذج FunctionGemma بحجم 270 مليون معامل على مهمة وكيل محددة الدقةَ من 46% إلى 90%، وهذا هو عنوان العرض وخلاصته معًا. ويُبلَّغ أن هذا النموذج يحقق نحو 2000 رمز في الثانية من إنتاجية المعالجة المسبقة (prefill) على Pixel 7. كل ذلك يحدث داخل الهاتف، بلا استدعاء خادم.</p>

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

<!-- Courtesy of embedresponsively.com -->

<div class="responsive-video-container">
    <iframe src="https://www.youtube-nocookie.com/embed/-TiET_K-E_g" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
  </div>

<p>الفيديو أعلاه هو عرض Cormac Brick الأصلي كاملًا. والتحليل أدناه مبني على ذلك العرض والتغطية العامة.</p>

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

<p>FunctionGemma نموذج بحجم 270 مليون معامل من عائلة Gemma متخصص في استدعاء الدوال (function calling). استدعاء الدوال هو السلوك الجوهري لوكيل على الجهاز، لأنه يحوّل طلب المستخدم بلغة طبيعية إلى استدعاء أداة مُهيكل يستطيع التطبيق تنفيذه. تحويل «اضبط منبّهًا للتاسعة صباح الغد» إلى استدعاء مثل <code class="language-plaintext highlighter-rouge">setAlarm(time="09:00", date="tomorrow")</code> مثال على ذلك. وما دام هذا التحويل دقيقًا، فلا حاجة لاستدعاء نموذج عام بمليارات المعاملات.</p>

<p>المشكلة أن نموذجًا صغيرًا منشورًا بشكل عام تكون دقته منخفضة على مخطط أدوات تطبيق محدد. الـ46% التي يذكرها العرض هي تلك النقطة بالضبط. وهنا يدخل الضبط. اضبط النموذج بشكل ضيّق على مخطط الدوال الفعلي وأنماط الطلبات في التطبيق المستهدف، فيرتفع النموذج نفسه بحجم 270 مليون إلى 90%.</p>

<pre><code class="language-mermaid">flowchart TB
    A[طلب المستخدم بلغة طبيعية&lt;br/&gt;منبّه للتاسعة غدًا] --&gt; B[وكيل على الجهاز]
    B --&gt; C{FunctionGemma 270M}
    C --&gt;|نشر عام| D[دقة نحو 46%&lt;br/&gt;مخطط التطبيق غير محاذى]
    C --&gt;|ضبط خاص بالمهمة| E[دقة نحو 90%&lt;br/&gt;محاذى لمخطط الدوال الفعلي]
    E --&gt; F[استدعاء دالة مُهيكل&lt;br/&gt;setAlarm 09:00 tomorrow]
    F --&gt; G[التطبيق ينفّذ مباشرة&lt;br/&gt;بلا استدعاء خادم]
    E --&gt; H[زمن تشغيل LiteRT-LM&lt;br/&gt;‏Pixel 7 نحو 2000 tok/s]
</code></pre>

<h2 id="من-46-إلى-90-ماذا-يفعل-الضبط">من 46% إلى 90%: ماذا يفعل الضبط</h2>

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

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

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

<h2 id="ماذا-يمنحك-التشغيل-على-الجهاز-الكمون-والخصوصية-والعمل-دون-اتصال-والتكلفة">ماذا يمنحك التشغيل على الجهاز: الكمون والخصوصية والعمل دون اتصال والتكلفة</h2>

<p>يشدّد العرض على التشغيل على الجهاز لأربعة أسباب.</p>

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

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

<p>يعمل دون اتصال. يؤدي الوكيل وظيفته حتى بلا شبكة. النموذج السحابي عاجز حين ينقطع الاتصال؛ أما النموذج على الجهاز فلا.</p>

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

<h2 id="litert-lm-وحزمة-النشر">‏LiteRT-LM وحزمة النشر</h2>

<p>تدريب نموذج صغير ونشره على أجهزة لا تُحصى مشكلتان منفصلتان. يعرض العرض LiteRT-LM كزمن تشغيل للنشر. LiteRT-LM زمن تشغيل يتيح لك وضع نماذج مثل Gemma 4 على طيف واسع من العتاد من المحمول إلى الأنظمة المدمجة. وبدمجه مع AI Core، كما يشرح العرض، يمكنك تشغيل مهارات وكيل على الجهاز.</p>

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

<h2 id="ماذا-يعني-هذا-لمنتجات-thakicloud">ماذا يعني هذا لمنتجات ThakiCloud</h2>

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

<p><strong>عدسة ai-platform.</strong> يزيح صعود النماذج الصغيرة المتخصصة تركيز بنية الخدمة. توفّر منصة ai-platform من ThakiCloud جدولة GPU قائمة على K8s وKueue، وعزلًا متعدد المستأجرين، وخدمة داخل المؤسسة. السؤال الذي يطرحه الضبط على الجهاز هنا ليس «إذا انتقل كل شيء إلى الجهاز، فهل يصبح الخادم غير ضروري؟» بل العكس. فلتدريب نموذج متخصص منفصل بإيجاز لكل تطبيق، تحتاج بنية تحتية تشغّل تلك المهام التدريبية بتكلفة منخفضة وعلى نطاق واسع. إن عبء عمل يكرّر ضبطًا بحجم 270 مليون يستغرق 21 دقيقة عبر مئات مجموعات الأدوات هو بالضبط ما تستهدفه بنية تصفّ الـGPU عبر Kueue وتعزل حسب المستأجر. التدريب على الخادم والاستدلال على الجهاز هو الخلاصة الطبيعية.</p>

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

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

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

<p>لهذا النهج حدود واضحة أيضًا.</p>

<p>أولًا، ثمن التخصص هو العمومية. ذلك النموذج الذي رفع 46% إلى 90% قويٌّ فقط في المهمة الضيّقة التي دُرِّب عليها. غيّر مخطط الأدوات أو انتقل إلى مجال تطبيق جديد وعليك الضبط من جديد. وفي بيئة تتغير فيها التطبيقات والأدوات كثيرًا، يكبُر عبء الصيانة تبعًا لذلك.</p>

<p>ثانيًا، هل تكفي الـ90% يعتمد على المهمة. إن الخطأ في استدعاء دالة يعني تنفيذ فعل خاطئ، ففي المجالات التي تكون فيها كلفة الفشل عالية قد يكون خطأ بنسبة 10% قاتلًا. وفي تلك الحالة تحتاج بنية مزدوجة يتحقق فيها نموذج خادم من نتيجة الجهاز.</p>

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

<p>رابعًا، يواجه النشر على الجهاز تجزئة الأجهزة. فحتى لو امتص LiteRT-LM التغاير، يبقى الأداء الفعلي وقيود الذاكرة لكل جهاز يطلبان تحققًا فرديًا.</p>

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

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

<ul>
  <li><a href="https://www.youtube.com/watch?v=-TiET_K-E_g">From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents - Cormac Brick, Google (YouTube)</a></li>
  <li><a href="https://www.startuphub.ai/ai-news/ai-research/2026/google-s-cormac-brick-on-tiny-llms-for-on-device-agents">Google’s Cormac Brick on Tiny LLMs for On-Device Agents - StartupHub.ai</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/mobile-actions">Fine-tune FunctionGemma 270M for Mobile Actions - Google AI for Developers</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="on-device" /><category term="fine-tuning" /><category term="functiongemma" /><category term="gemma" /><category term="litert-lm" /><category term="edge-ai" /><category term="small-language-model" /><category term="function-calling" /><category term="serving" /><category term="self-hosting" /><category term="llmops" /><category term="paxis" /><summary type="html"><![CDATA[عرض Cormac Brick من Google AI Edge حالة رفع فيها ضبطُ نموذج FunctionGemma بحجم 270 مليون معامل الدقةَ في مهمة وكيل محددة من 46% إلى 90%. الجوهر هو تشغيل نموذج صغير مضبوط على مهمة ضيّقة داخل الهاتف نفسه بدل استدعاء نموذج كبير. ننظر في سبب التقاط هذا النهج للكمون والخصوصية والتكلفة معًا، وماذا يعني صعود النماذج المتخصصة على الجهاز لبنية الخدمة ومنصة الوكلاء في ThakiCloud.]]></summary></entry><entry xml:lang="en"><title type="html">Low Effort Somehow Won the Code Review</title><link href="https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins/" rel="alternate" type="text/html" title="Low Effort Somehow Won the Code Review" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins</id><content type="html" xml:base="https://thakicloud.github.io/en/comics/code-review-effort-levels-low-effort-wins/"><![CDATA[<p>Claude Code’s /code-review just grew effort levels: a dial for how hard the review works, and the whole review gets rewritten from scratch at each setting. The funny part is that even the lowest effort setting reportedly beats other code reviewers. Cranking the dial, though, just means running more inference, and on someone else’s cloud every turn of that dial ticks the meter. Naturally, Paxis and Metis pushed it to the top.</p>

<p><img src="/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" alt="Low Effort Somehow Won the Code Review" /></p>

<blockquote>
  <p>Source: <a href="https://x.com/hjguyhan/status/2077894748183097710">Claude Code’s /code-review now has effort levels, with the review rewritten at every one.</a> · twitter</p>
</blockquote>

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

<p>Whether you can crank the effort dial comes down to who owns the compute. On a rented cloud, every notch of review effort nudges the bill, so you end up rationing the dial exactly when you need it. ThakiCloud’s on-prem approach keeps the models and GPUs inside your own facility, so you can push effort to the top without watching a meter spin. Paxis fans out review agents across effort levels and cross-checks them, while Metis runs that inference on your own rack. If low effort already wins, the side that runs high effort for free just goes further.</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="comics" /><category term="ai-coding" /><category term="code-review" /><category term="on-prem" /><category term="sovereign-ai" /><category term="thakicloud" /><category term="compute-cost" /><summary type="html"><![CDATA[We cranked the effort dial to max. So did the invoice.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://thakicloud.github.io/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" /><media:content medium="image" url="https://thakicloud.github.io/assets/images/posts/comics/code-review-effort-levels-low-effort-wins/strip.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry xml:lang="en"><title type="html">Effort Levels for Code Review: Claude Code /code-review from low to ultra</title><link href="https://thakicloud.github.io/en/dev/claude-code-review-effort-levels/" rel="alternate" type="text/html" title="Effort Levels for Code Review: Claude Code /code-review from low to ultra" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/dev/claude-code-review-effort-levels</id><content type="html" xml:base="https://thakicloud.github.io/en/dev/claude-code-review-effort-levels/"><![CDATA[<h2 id="overview">Overview</h2>

<p>There is a question people skip when choosing a code review tool: how much review does this change actually need? Running the same review intensity on a one-line typo fix and on a rewrite of payment logic is either wasteful or insufficient. Most automated review tools do not leave that choice to the user and operate at a single fixed intensity.</p>

<p>Claude Code addressed this directly in v2.1.101. The April 11, 2026 release renamed the existing <code class="language-plaintext highlighter-rouge">/simplify</code> command to <code class="language-plaintext highlighter-rouge">/code-review</code> and attached an effort level flag that governs how deeply the model reasons before answering. There are five levels, low, medium, high, max, and ultra, and the review itself is rewritten at each one. Shallow levels return fast, high-confidence findings; deep levels spend more time and sweep through edge cases and subtle regressions.</p>

<p>This post reads that design from the perspective of ThakiCloud, which operates AI coding agents. We look at why effort level is the right axis for splitting cost and quality in code review, when to pick each level in practice, and how the idea overlaps with the skill harness and verification loop of Paxis, our agent platform. The durations and costs cited below are all reported values from Anthropic’s public documentation and release notes, not figures measured by ThakiCloud.</p>

<h2 id="what-the-feature-is">What the feature is</h2>

<p><code class="language-plaintext highlighter-rouge">/code-review</code> is a slash command that reads the diff in your current working tree, finds problems, and reports them. The key change is that you can append a level to the command. Specifying a level like <code class="language-plaintext highlighter-rouge">/code-review low</code> makes the review engine adjust its exploration scope and reasoning depth to match. Omitting the level runs the default.</p>

<p>What matters is that the level is not simply “make the output longer or shorter.” According to the documentation, low and medium return a small set of high-confidence findings, while high and max return uncertain findings alongside the confident ones. In other words, shallow levels prioritize precision and deep levels prioritize recall; the character of the review itself changes. This also matches the psychology of the person receiving the review. On a small patch, a handful of certain findings beats a long list padded with false positives; just before a merge, missing nothing is better.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Code change&lt;br/&gt;working tree diff] --&gt; B{Select effort level}
    B --&gt;|low / medium| C[Precision first&lt;br/&gt;few high-confidence findings]
    B --&gt;|high / max| D[Recall first&lt;br/&gt;includes uncertain findings]
    B --&gt;|ultra| E[Cloud sandbox&lt;br/&gt;parallel agent review]
    C --&gt; F[Second-scale response&lt;br/&gt;small patch, config change]
    D --&gt; G[Minute-scale exploration&lt;br/&gt;pre-merge, complex state]
    E --&gt; H[Each finding verified independently&lt;br/&gt;5-10 min, paid tier]
    F --&gt; I[--comment: PR inline]
    G --&gt; I
    H --&gt; I
    I --&gt; J[--fix: apply to working tree]
</code></pre>

<h2 id="when-to-use-each-of-the-five-levels">When to use each of the five levels</h2>

<p>Choosing a level is a matter of weighing the risk of the change against the time you have left. Translating the character the documentation describes into practical intuition:</p>

<p>low and medium are for a quick sanity check. Use them before pushing a config edit or a small patch when you only want to filter out obvious correctness bugs. Responses come back in seconds, so you can run them habitually right before a commit without breaking your flow.</p>

<p>high and max are for code paths just before a merge or that carry complex state. Merging a feature branch into main, or touching areas like concurrency and transactions where subtle regressions hide, falls here. These levels spend more time verifying assumptions and digging through edge cases, so findings labeled “this may not be an issue but check it” appear alongside the certain ones. Whether you treat that uncertainty as noise or as a safety net depends on the situation. Just before a merge, the safety net is the right read.</p>

<p>ultra is a different kind of tool. We cover it separately below.</p>

<p>If you compress this ladder into one sentence, it says: match review intensity to the risk of the change. This is exactly the principle we follow when operating scheduled skills. Start cheap, and escalate only the failing task to an expensive tier. Running every review at maximum intensity wastes cost, and running every review at minimum intensity plants the seed of an incident.</p>

<h2 id="comment-and-fix-putting-review-into-the-workflow">–comment and –fix: putting review into the workflow</h2>

<p>Separate from effort levels, two flags wire the review into an actual workflow. <code class="language-plaintext highlighter-rouge">--comment</code> posts findings as inline comments on the PR, and <code class="language-plaintext highlighter-rouge">--fix</code> applies findings directly to the working tree.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Broad pre-merge review with PR comments plus local application</span>
/code-review high <span class="nt">--comment</span> <span class="nt">--fix</span>

<span class="c"># Deep cloud review, then apply results to the working tree</span>
/code-review ultra <span class="nt">--fix</span>
</code></pre></div></div>

<p>The solo-developer workflow the documentation offers goes like this. Combine <code class="language-plaintext highlighter-rouge">--comment --fix</code> to leave findings on the PR and apply them locally, then eyeball the diff and push. It is a way to pass the first review pass automatically without waiting on a reviewer. That said, because <code class="language-plaintext highlighter-rouge">--fix</code> touches the code, a human must review the applied diff. Automatic application is not a replacement for review; it is preparation for it.</p>

<h2 id="ultrareview-cloud-multi-agent-review">ultrareview: cloud multi-agent review</h2>

<p>The ultra level is unlike the other four that run locally. Running <code class="language-plaintext highlighter-rouge">/code-review ultra</code> bundles your repository state, uploads it to a remote sandbox, and lets specialized reviewer agents analyze the code in parallel there. Each agent focuses on a different class of issue, and findings are independently verified one by one. According to the documentation, a run takes five to ten minutes, and after three free runs for Pro and Max subscribers, each run costs five to twenty dollars.</p>

<p>Two design decisions stand out here. First, the review is handled as a fan-out of several specialized agents rather than a single agent. Since one reviewer struggles to catch every class of defect equally well, splitting perspectives by issue type widens coverage. Second, each finding is verified independently. A fan-out on its own risks accumulating hallucinations, so it must be closed with a verification stage before merging. ultra implements both principles as a product feature.</p>

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

<p>The design principles of this feature overlap strikingly with what we have practiced operating an agent platform. We split it across our two products.</p>

<p><strong>Paxis lens.</strong> Paxis is ThakiCloud’s Agent-Native Cloud, treating Skills, Tools, Policies, and Audit Logs as first-class resources. The question <code class="language-plaintext highlighter-rouge">/code-review</code> poses is the same one the Paxis skill harness solves every day: which intensity of agent do you attach to which task? Paxis selects from over 960 skills via BM25 and runs them in isolated sandboxes, and the same idea as effort levels operates here. Light work like exploration and lookup goes to a cheap tier; heavy work like architectural judgment and verification goes to an expensive tier. ultra’s multi-agent parallel review and per-finding independent verification share the same structure as the way Paxis closes fan-out results with a verification stage. A fan-out without verification accumulates hallucinations, and a verification gate stops it. If code review runs as one isolated agent skill whose results pass through policy gates and audit logs, that is exactly the operating model Paxis aims for.</p>

<p><strong>ai-platform lens.</strong> The fact that ultra offloads the review to a cloud sandbox and charges per run reconfirms that agent workloads ultimately run on GPU and isolated-execution infrastructure. ThakiCloud’s ai-platform provides K8s and Kueue based GPU scheduling, multi-tenant isolation, and on-premises serving. A workload that spins up a fleet of reviewer agents in parallel is exactly the kind of work such infrastructure targets. For organizations reluctant to upload source code to an external cloud in particular, the option to run the same multi-agent review pattern inside their own infrastructure becomes important. Because agent economics only hold when low-cost serving and isolated execution are in place, the two lenses complement each other.</p>

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

<p>Effort levels are not a cure-all. A few honest counterarguments.</p>

<p>First, the level choice itself depends on the user’s judgment. Misreading the risk sends an important change through as low, or wastes ultra on a trivial one. The tool provides the axis; positioning yourself correctly on it is still up to the human.</p>

<p>Second, the uncertain findings that high and max produce are a double-edged sword. They can act as a safety net, but if false positives pile up they cause review fatigue and you end up ignoring the list. How much to trust an unverified finding depends on the team’s discipline.</p>

<p>Third, ultra uploads the repository to a remote sandbox. For organizations with sensitive source, that alone is an adoption barrier. And the five-to-twenty-dollar cost per run is heavy to run often, so the team has to compute its own economics past the three free runs.</p>

<p>Fourth, automatic <code class="language-plaintext highlighter-rouge">--fix</code> does not replace review. Pushing without checking the applied diff lets convenient-looking automation slip in silent bugs instead. Automation is a tool that assists thinking, not one that replaces it.</p>

<p>Even so, the idea of effort levels points in the right direction. Matching review intensity to the risk of the change is exactly the cost-quality balance we learned operating agents.</p>

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

<ul>
  <li><a href="https://code.claude.com/docs/en/code-review">Code Review - Claude Code Docs</a></li>
  <li><a href="https://fast.io/resources/claude-code-review-guide/">Claude Code Review: How to Use /code-review and Ultrareview - Fastio</a></li>
  <li><a href="https://www.mindstudio.ai/blog/claude-code-effort-levels-explained">Claude Code Effort Levels Explained - MindStudio</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="dev" /><category term="claude-code" /><category term="code-review" /><category term="effort-levels" /><category term="ultrareview" /><category term="ai-coding" /><category term="agent" /><category term="developer-tools" /><category term="cost-quality" /><category term="paxis" /><category term="dev" /><summary type="html"><![CDATA[In v2.1.101 Claude Code renamed /simplify to /code-review and attached effort levels to the review. low and medium return a few high-confidence findings, high and max add broader coverage with uncertain findings, and ultra runs a deep review where multiple agents verify each finding in the cloud. We look at why this staging is the right way to split cost and quality in code review, and how the idea maps onto the Paxis skill harness.]]></summary></entry><entry xml:lang="en"><title type="html">295B on a Single Card: Anatomy of Hunyuan Hy3’s 1-bit and 4-bit Serving</title><link href="https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu/" rel="alternate" type="text/html" title="295B on a Single Card: Anatomy of Hunyuan Hy3’s 1-bit and 4-bit Serving" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/hunyuan-hy3-1bit-4bit-single-gpu/"><![CDATA[<h2 id="overview">Overview</h2>

<p>The first wall a team hits when serving a large model on its own infrastructure is not compute, it is memory. Loading a 295B model in FP16 requires roughly 598GB of weights resident in GPU memory, which barely fits across eight H100 80GB cards. That is why flagship open-weight models have always sat in an awkward place: released, but hard for us to actually serve.</p>

<p>The 1-bit and 4-bit GGUF builds of Hy3 that Tencent Hunyuan released on July 14, 2026 aim squarely at this point. They compress a 295B MoE model into low-bit form so it runs on a single card, and the weights ship under Apache 2.0. On X, Tencent introduced it as a “flagship-scale 295B model that can be served on a single GPU,” mentioning llama.cpp and MTP together.</p>

<p>This post reads the Hy3 quantized builds from ThakiCloud’s perspective as a team that serves low-bit models in a multi-tenant setting. We walk through what the compression actually changes, why the phrase “single GPU” needs to be read carefully, and what this trend means for our on-prem inference infrastructure. To be clear up front: the size and performance figures below are all values reported by Tencent and the community, not numbers ThakiCloud reproduced.</p>

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

<p>Hy3 is a Mixture-of-Experts model with 295B total parameters, but only about 21B activate to process a single token. It supports a long 256K-token context and targets agentic tasks, coding, and tool use. What is new here is not a new model but a low-bit GGUF representation of the existing Hy3 weights. Two variants were released.</p>

<p>The 1-bit build reduces the model from roughly 598GB to 85.5GiB. At that size, the weights fit on a single 96GB-class card. The 4-bit build occupies 169.9GiB and must span two cards, but in exchange it holds much closer to the original quality as reported. Both builds run with llama.cpp and are designed to enable MTP (Multi-Token Prediction) to raise token generation throughput.</p>

<pre><code class="language-mermaid">flowchart TB
    A[Hy3 295B MoE&lt;br/&gt;FP16 ~598GB] --&gt; B{Low-bit GGUF quantization}
    B --&gt;|1-bit| C[85.5GiB&lt;br/&gt;one 96GB card]
    B --&gt;|4-bit| D[169.9GiB&lt;br/&gt;two cards]
    C --&gt; E[Run with llama.cpp]
    D --&gt; E
    E --&gt; F[Enable MTP&lt;br/&gt;multi-token prediction for throughput]
    F --&gt; G[21B active params&lt;br/&gt;only some experts compute per token]
    G --&gt; H[Agentic, coding, tool use&lt;br/&gt;256K long context]
</code></pre>

<p>The MoE structure is what makes this compression especially attractive. Of the 295B, only 21B worth of experts actually participate in the computation for each token, so the compute itself is on the order of a 21B dense model. The bottleneck lies entirely in “where do you keep all the expert weights resident.” Low-bit compression attacks exactly that residency cost.</p>

<h2 id="why-single-gpu-needs-careful-reading">Why “Single GPU” Needs Careful Reading</h2>

<p>This is the phrase in the marketing that is easiest to misread. “Served on a single GPU” is true, but the single GPU here means a device with 128GB-class unified memory. Think DGX Spark, a 128GB Mac Studio, or Strix Halo. If you pictured a single 16GB RTX 3060, that expectation is off.</p>

<p>This distinction matters because the practical math changes completely. Loading 85.5GiB of weights requires at least a 96GB card, and once you add KV cache, activation memory, and the attention state of a long context, real-world headroom shrinks further. A workload that actually fills a 256K context is tight even on a 128GB-class device. “One card” refers to physical slot count, not to cheap hardware.</p>

<p>Even so, this release is meaningful because the point of comparison is an eight-card H100 node. If the multi-GPU node that FP16 serving used to require is replaced by a single high-capacity card, the power, floor space, and interconnect complexity all drop sharply. The absolute cost does not fall so much as the shape of the required system becomes fundamentally simpler.</p>

<h2 id="1-bit-vs-4-bit-what-you-gain-and-what-you-lose">1-bit vs 4-bit: What You Gain and What You Lose</h2>

<p>The two builds represent different choices. The 1-bit build is optimized for pushing the model onto minimal hardware. The 85.5GiB size is the result of extreme compression, and it accepts a corresponding quality loss versus the original. The 4-bit build demands nearly twice the memory at 169.9GiB, but community reports say it holds nearly to original performance.</p>

<p>A practical decision rule falls out here. In agentic workflows where tool calls and long reasoning chains stack up, small quality regressions accumulate and tend to break the final result. Short question-answering looks fine even at 1-bit, but in autonomous multi-step agent work the extra margin of 4-bit acts as a safety buffer. If the hardware budget allows, favoring 4-bit for agent serving is the reasonable default.</p>

<p>The mention of MTP fits into this context too. Multi-token prediction proposes and verifies several tokens from a single forward pass, raising the throughput of the memory-bandwidth-bound decoding stage. Because low-bit models have smaller weights, they free up relative memory bandwidth headroom, which pairs well with throughput techniques like MTP.</p>

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

<p>Since these are llama.cpp-based GGUF files, the serving flow itself is familiar. You fetch the GGUF, load it with llama.cpp, enable the MTP option, and expose it as an OpenAI-compatible server. Conceptually the structure looks like this.</p>

<div class="language-bash highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c"># Load the 1-bit GGUF build (conceptual example, check the release repo for exact filenames/flags)</span>
./llama-server <span class="se">\</span>
  <span class="nt">--model</span> hy3-295b-1bit.gguf <span class="se">\</span>
  <span class="nt">--ctx-size</span> 262144 <span class="se">\</span>
  <span class="nt">--n-gpu-layers</span> 999 <span class="se">\</span>
  <span class="nt">--draft-max</span> 4          <span class="c"># MTP-style multi-token prediction</span>
</code></pre></div></div>

<p>If you want to prioritize throughput at FP8 or higher precision instead, the community has also documented a path that serves across multiple cards using vLLM or SGLang with Expert Parallelism. The low-bit GGUF path targets single-node serving on minimal hardware, while the vLLM path targets throughput and concurrent user count.</p>

<p>We did not actually download the 85.5GiB build and run inference for this post. The hardware requirement of 96GB or more unified memory falls outside the scope of this drain environment. Accordingly, the figures above are all values reported by Tencent and the community, and we honestly note the absence of reproduction. Anyone evaluating adoption should include a step of confirming quality and throughput with their own benchmarks on the target hardware.</p>

<h2 id="implications-for-thakicloud-products">Implications for ThakiCloud Products</h2>

<p>This release matters especially from the perspective of ThakiCloud’s <strong>ai-platform</strong>. ai-platform schedules GPUs with K8s and Kueue and serves models across diverse customer environments centered on vLLM. A flagship-scale model running on a single high-capacity node means the node placement unit for multi-tenant serving becomes simpler. Instead of scheduling premised on eight-card H100 nodes, treating a single 128GB-class card as one serving unit makes Kueue’s queue management and priority allocation far more predictable.</p>

<p>In the on-prem and sovereign AI context, this trend is even more direct. Customers who cannot send domestic data outside must run models on their own hardware, and an 8-GPU node is a high barrier in procurement, floor space, and power. If a flagship model can be served on a single 128GB-class device, the hardware threshold for sovereign deployment drops noticeably. That said, verifying whether the low-bit quality loss is acceptable for the customer workload is a responsibility we must own.</p>

<p>From an agent-workload perspective, this connects to <strong>Paxis</strong> as well. Paxis is the Agent-Native Cloud that runs on top of ai-platform, executing skills in isolated sandboxes and passing every action through policy gates and audit logs. If a model specialized for agents and tool calls like Hy3 can be served at low hardware cost, the per-run cost of agents comes down, which in turn means more autonomous workflows can be run economically. Low-cost serving is the structure that creates agent economics.</p>

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

<p>The biggest counterargument is the reality of “single GPU.” A 96GB to 128GB-class unified-memory device is still expensive and not truly mainstream hardware. Reading this release as “now anyone can run 295B on a laptop” is a misunderstanding. More precisely, it is “a workload that required a multi-GPU node has come down to a single high-capacity card.”</p>

<p>Second, the quality loss of the 1-bit build can be fatal depending on the workload. The benchmark summaries say “close to the original,” but that is usually measured against 4-bit or on short-task-heavy evaluations. How 1-bit holds up under long reasoning chains and precise, repeated tool calls in agentic tasks is confirmed only on real workloads.</p>

<p>Third, these figures have not yet been broadly and independently verified. They rely on reports from Tencent and the early community, and until reproduction results across varied hardware and tasks accumulate, treating them cautiously is the safer stance. We too will use the published numbers only as a starting point when evaluating adoption, taking our own measurements on the target environment as canonical.</p>

<p>Even so, the direction itself is clear. The move of the serving unit for flagship open-weight models from a multi-GPU node to a single high-capacity card is a welcome signal for any infrastructure that deals with on-prem and sovereign AI.</p>

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

<ul>
  <li><a href="https://x.com/TencentHunyuan/status/2076953120765280284">Tencent Hunyuan, Hy3 1-bit and 4-bit release (X)</a></li>
  <li><a href="https://huggingface.co/tencent/Hy3">tencent/Hy3 (Hugging Face)</a></li>
  <li><a href="https://explainx.ai/blog/tencent-hy3-gguf-1-bit-4-bit-single-gpu-llama-cpp-july-2026">Tencent Hy3 GGUF 1-bit 4-bit Single GPU (explainX)</a></li>
  <li><a href="https://www.remio.ai/post/tencent-hunyuan-hy3-quantized-release-1bit-single-card-deployment-4bit-near-full-performance">Hunyuan Hy3 Quantized Release analysis (Remio)</a></li>
  <li><a href="https://www.spheron.network/blog/deploy-hunyuan-3-gpu-cloud/">Deploy Hunyuan Hy3 with vLLM &amp; Expert Parallelism (Spheron)</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="quantization" /><category term="hunyuan-hy3" /><category term="moe" /><category term="1-bit" /><category term="4-bit" /><category term="gguf" /><category term="llama-cpp" /><category term="mtp" /><category term="inference" /><category term="serving" /><category term="on-prem" /><category term="self-hosting" /><category term="llmops" /><category term="ai-platform" /><summary type="html"><![CDATA[Tencent's Hy3 1-bit and 4-bit GGUF builds shrink a 295B MoE from 598GB to 85.5GiB so it runs on a single GPU. But the single GPU here means a 128GB-class unified-memory device, not a 16GB consumer card. We look at what this compression gains and what it hides, why MTP shows up alongside it, and what single-node serving of a flagship model means for ThakiCloud's on-prem inference strategy.]]></summary></entry><entry xml:lang="en"><title type="html">From 46% to 90% Inside a Phone: Fine-Tuning Small LLMs for On-Device Agents</title><link href="https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents/" rel="alternate" type="text/html" title="From 46% to 90% Inside a Phone: Fine-Tuning Small LLMs for On-Device Agents" /><published>2026-07-17T00:00:00+09:00</published><updated>2026-07-17T00:00:00+09:00</updated><id>https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents</id><content type="html" xml:base="https://thakicloud.github.io/en/llmops/on-device-tiny-llm-finetune-agents/"><![CDATA[<h2 id="overview">Overview</h2>

<p>The notion that small models are not smart held on for a long time. So practitioners threw almost every task at large models, paying for it with latency, cost, and the risk of data leaving the device. But if you scope the task very narrowly, the story changes. Give up generality and tune a small model to do exactly one thing well, and within that narrow domain there is no longer a reason to call a large model.</p>

<p>“From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents,” presented by Cormac Brick, a Principal Engineer at Google AI Edge, targets exactly this point. Fine-tuning the 270M-parameter FunctionGemma to a specific agent task raised accuracy from 46% to 90%, which is both the title and the thesis of the talk. This model is reported to deliver roughly 2,000 tokens per second of prefill throughput on a Pixel 7. All of it happens inside the phone, with no server call.</p>

<p>This post reads that talk from the perspective of ThakiCloud, which operates multi-tenant inference infrastructure. We look at why a small specialized model makes sense on-device, what fine-tuning actually changes, how a runtime like LiteRT-LM simplifies deployment, and what practical meaning this trend carries for our serving infrastructure and agent platform. The accuracy, throughput, and duration figures cited below are all reported values from the talk and related coverage, not figures reproduced by ThakiCloud.</p>

<!-- Courtesy of embedresponsively.com -->

<div class="responsive-video-container">
    <iframe src="https://www.youtube-nocookie.com/embed/-TiET_K-E_g" frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>
  </div>

<p>The video above is Cormac Brick’s full original talk. The analysis below is grounded in that talk and public reporting.</p>

<h2 id="what-the-technology-is">What the technology is</h2>

<p>FunctionGemma is a 270M-parameter model in the Gemma family specialized for function calling. Function calling is the core behavior of an on-device agent, because it turns a user’s natural-language request into a structured tool call the app can execute. Converting “set an alarm for 9 a.m. tomorrow” into a call like <code class="language-plaintext highlighter-rouge">setAlarm(time="09:00", date="tomorrow")</code> is an example. As long as this conversion is accurate, there is no need to summon a general-purpose model of billions of parameters.</p>

<p>The problem is that a generically deployed small model has low accuracy on a specific app’s tool schema. The 46% the talk cites is exactly that point. This is where fine-tuning enters. Tune the model narrowly to the target app’s actual function schema and request patterns, and the same 270M model rises to 90%.</p>

<pre><code class="language-mermaid">flowchart TB
    A[User natural-language request&lt;br/&gt;alarm for 9 tomorrow] --&gt; B[On-device agent]
    B --&gt; C{FunctionGemma 270M}
    C --&gt;|generic deployment| D[about 46% accuracy&lt;br/&gt;app schema unaligned]
    C --&gt;|task-specific fine-tuning| E[about 90% accuracy&lt;br/&gt;aligned to real function schema]
    E --&gt; F[structured function call&lt;br/&gt;setAlarm 09:00 tomorrow]
    F --&gt; G[app executes directly&lt;br/&gt;no server call]
    E --&gt; H[LiteRT-LM runtime&lt;br/&gt;Pixel 7 about 2000 tok/s]
</code></pre>

<h2 id="from-46-to-90-what-fine-tuning-does">From 46% to 90%: what fine-tuning does</h2>

<p>Understanding the nature of this gap matters. A large model reasons its way through even an unfamiliar schema thanks to vast general knowledge. A small model lacks that slack. But concentrate it on a narrow distribution, and within that distribution it becomes nearly as accurate as a large model. Fine-tuning is less about injecting new intelligence into the model and more about steering the capacity it already has toward the target task.</p>

<p>According to the talk, this fine-tuning finishes in a remarkably short time. Related coverage reports that training completes in about 21 minutes. Thanks to the small scale of 270M, training itself is light and manageable even on consumer hardware. This carries direct implications for data science practice. It means an operating model where each app and each tool set has its own small specialized model, each trained briefly, is realistic. Instead of covering every app with one giant general-purpose model, you keep several specialized models sliced finely by task.</p>

<p>This idea also touches a principle we have held in our batch content work. A specialized solution that fills a validated, narrow skeleton beats a high-degree-of-freedom general solution for average quality. Fine-tuning a small model implements that principle at the model level.</p>

<h2 id="what-on-device-gives-you-latency-privacy-offline-cost">What on-device gives you: latency, privacy, offline, cost</h2>

<p>The talk emphasizes on-device for four reasons.</p>

<p>Latency drops. Because the request does not round-trip the network, the function-call conversion finishes instantly inside the phone. For a UI where the agent must react to user actions in real time, this difference is decisive.</p>

<p>Privacy holds. The user’s requests and personal data never leave the device. In sensitive contexts like health, finance, and messaging, the very fact that data does not go to a server becomes a product requirement.</p>

<p>It works offline. The agent functions even without a network. A cloud model is helpless when the connection drops; an on-device model is not.</p>

<p>Cost disappears. Because inference happens on the device, there is no per-token API billing. The heavier the app’s usage, the larger this saving.</p>

<h2 id="litert-lm-and-the-deployment-stack">LiteRT-LM and the deployment stack</h2>

<p>Training a small model and deploying it to countless devices are separate problems. The talk presents LiteRT-LM as the deployment runtime. LiteRT-LM is a runtime that lets you put models like Gemma 4 onto a wide range of hardware from mobile to embedded systems. Combine it with AI Core, the talk explains, and you can drive on-device agent skills.</p>

<p>The key is that a path exists to deploy one model consistently across diverse hardware. Without the labor of re-fitting a trained specialized model to each device’s accelerator, the runtime absorbs that heterogeneity. This is the practical condition that lifts on-device agents from experiment level to product level.</p>

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

<p>The trend of on-device specialized models can look like a signal in the opposite direction to us, operators of cloud serving, but it actually carries direct implications for both products.</p>

<p><strong>ai-platform lens.</strong> The rise of small specialized models shifts the focus of serving infrastructure. ThakiCloud’s ai-platform provides K8s and Kueue based GPU scheduling, multi-tenant isolation, and on-premises serving. The question on-device fine-tuning poses here is not “if everything moves on-device, is the server unnecessary?” It is the opposite. To train a separate specialized model briefly for each app, you need infrastructure that runs those training jobs at low cost and at scale. A workload that repeats a 21-minute fine-tune of a 270M model across hundreds of tool sets is exactly what infrastructure that queues GPUs with Kueue and isolates by tenant targets. Training on the server, inference on the device is the natural conclusion.</p>

<p>At the same time, not every organization is satisfied by device inference alone. When larger context or more complex reasoning is needed, a server model still steps in. And for organizations reluctant to send source data to an external cloud, on-premises serving and self-hosting become important. Being competitive on low serving cost is the key to holding on to those organizations.</p>

<p><strong>Paxis lens.</strong> The essence of FunctionGemma is turning natural language into a structured tool call. This is a miniature of what Paxis does. Paxis is ThakiCloud’s Agent-Native Cloud, which selects from over 960 skills via BM25, runs them in isolated sandboxes, and passes every action through policy gates and audit logs. If an on-device agent handles function calls for a narrow tool set on the phone, Paxis handles tool routing over a far wider skill space in the cloud. The two layers do not compete; they complement. A layered structure emerges where lightweight local intent interpretation is handled by the device, and work requiring complex multi-agent orchestration and auditing is handled by Paxis.</p>

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

<p>This approach has clear limits too.</p>

<p>First, the price of specialization is generality. That model that lifted 46% to 90% is strong only on the narrow task it was trained on. Change the tool schema or move to a new app domain and you have to fine-tune again. In an environment where apps and tools change often, the maintenance burden grows accordingly.</p>

<p>Second, whether 90% is enough depends on the task. Getting a function call wrong means executing a wrong action, so in domains where the cost of failure is high, a 10% error can be fatal. In that case you need a dual structure where a server model verifies the on-device result.</p>

<p>Third, the figure of 21 minutes of training depends heavily on scale and hardware. The real operating cost including data preparation, schema alignment, and evaluation cannot be judged by training time alone. The talk’s impressive numbers should be taken as values under well-arranged conditions.</p>

<p>Fourth, on-device deployment faces device fragmentation. Even if LiteRT-LM absorbs the heterogeneity, actual per-device performance and memory constraints still demand individual verification.</p>

<p>Even so, the direction of running a small specialized model on the device is persuasive. It is the point where the four benefits of latency, privacy, offline, and cost hold simultaneously. For us, this trend is not a signal that the server becomes unnecessary, but one that makes us redraw where the division between training and inference should sit.</p>

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

<ul>
  <li><a href="https://www.youtube.com/watch?v=-TiET_K-E_g">From 46% to 90%: Fine-Tuning Tiny LLMs for On-Device Agents - Cormac Brick, Google (YouTube)</a></li>
  <li><a href="https://www.startuphub.ai/ai-news/ai-research/2026/google-s-cormac-brick-on-tiny-llms-for-on-device-agents">Google’s Cormac Brick on Tiny LLMs for On-Device Agents - StartupHub.ai</a></li>
  <li><a href="https://ai.google.dev/gemma/docs/mobile-actions">Fine-tune FunctionGemma 270M for Mobile Actions - Google AI for Developers</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;}, {&quot;label&quot;=&gt;&quot;LinkedIn&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-linkedin&quot;, &quot;url&quot;=&gt;&quot;https://www.linkedin.com/company/thakicloud&quot;}, {&quot;label&quot;=&gt;&quot;X&quot;, &quot;icon&quot;=&gt;&quot;fab fa-fw fa-x-twitter&quot;, &quot;url&quot;=&gt;&quot;https://x.com/thakicloud&quot;}]}</name><email>info@thakicloud.co.kr</email></author><category term="llmops" /><category term="on-device" /><category term="fine-tuning" /><category term="functiongemma" /><category term="gemma" /><category term="litert-lm" /><category term="edge-ai" /><category term="small-language-model" /><category term="function-calling" /><category term="serving" /><category term="self-hosting" /><category term="llmops" /><category term="paxis" /><summary type="html"><![CDATA[Google AI Edge's Cormac Brick presented a case where fine-tuning the 270M-parameter FunctionGemma lifted accuracy on a specific agent task from 46% to 90%. The key is running a small model tuned to a narrow task on the phone itself instead of calling a large one. We look at why this approach captures latency, privacy, and cost at once, and what the rise of on-device specialized models means for ThakiCloud's serving infrastructure and agent platform.]]></summary></entry></feed>