Image: AI generated
في الحادي والثلاثين من مارس 2026، نشرت Anthropic خرائط المصدر (source maps) عن طريق الخطأ مع حزمة npm الخاصة بـ Claude Code (v2.1.88). سبب ذلك سطرٌ واحد ناقص في .npmignore.1 كشفت خرائط المصدر البالغة 59.8 ميغابايت عن نحو 512,000 سطر من TypeScript غير مُشفَّر، موزَّعة على أكثر من 1,900 ملف. وأعلنت Anthropic أن الأمر “خطأ في حزم النشر لا اختراقٌ أمني، وأنه خطأ بشري”، وأوصت المستخدمين بتثبيت الإصدار v2.1.87.
فيما تصفّح الناسُ قاعدة الكود تلك، وجدوا أن دالةً واحدة في ملف واحد (print.ts) بلغت 3,167 سطراً.2
وكيل البرمجة الأكثر مبيعاً في العالم، الأداة التي تُعلن أنها تُعطينا أعنّةً لكودنا — لم تُلجم نفسها بأعنّة.
لم أُورد هذا المفارقةَ سُخريةً. العكس تماماً. تمثّل هذه الحادثة أوضحَ إجابة لسؤالٍ ظلّ دهراً يستعصي عليّ.
“Reins Engineering — أليست هندسة طَقم في نهاية المطاف؟”
سؤالٌ وجيه، وسؤالٌ حادّ في آنٍ واحد. ثمة تشابه لا ريب فيه: كلاهما يقعان خارج النموذج. كلاهما بنيةٌ لا نموذجيّة تُكتب بالكود. وكلاهما يحول دون انحراف الوكيل. لذا فالتساؤل — “أليست الأعنّة جزءاً من الطَقم؟” — مشروع.
ظللتُ فترةً عاجزاً عن إجابةٍ شافية. حين وجدتُها، أدركتُ أنها تُعرِّف Reins بأدقّ ما يكون. وحادثة التسريب أعلاه تُثبت تلك الإجابة على أرض الواقع.
أوّلاً: لا تعارض بينهما
تخيّل معدّاتِ الفارس. السرج يعلو ظهرَ الجواد، واللجام يُحيط برأسه، ومن اللجام تمتدّ خيطان حتى يدَي الفارس — وهما الأعنّة (اللجام والرسن والشكيمة كلٌّ في موضعه).
الأعنّة تُركَّب في اللجام. إنها ليست خارج الطَقم بل جزءٌ مُركَّب منه. فإن سألتَ: “هل الطقم والأعنّة متعارضان؟” كان الجواب لا. كلاهما جزءٌ من معدّةٍ واحدة.
من هنا نبدأ. التوصيف الشائع — “الطقم سياجٌ، والأعنّة توجيه” — يُقابل بينهما، وفي تلك المقابلة هزيمة. يكفي أن يقول أحدهم “بوابات التحقق أيضاً جزءٌ من الطقم” فتسقط الحجة، لأنه محقّ. CI والتحقق من الأنواع وحزم الاختبارات جميعها سقالاتٌ خارج النموذج — وهذا ما يشمله الطَقم.
لذا ينبغي تغيير السؤال: ليس هل يتعارضان، بل أين يتباينان.
من أين تصبح الأعنّة ممكنة؟ — ثلاث طبقات من الحلقات
قبل البحث عن موضع التباين، لا بدّ من فهم أين تصبح الأعنّة ممكنةً أصلاً. ثلاث طبقات:
① حلقة المحادثة LLM → إنسان → LLM كل شيء احتمالي. الأعنّة مستحيلة.
② حلقة الوكيل LLM → تنفيذ → رصد نتائج → LLM التنفيذ يلامس أرضاً حتمية → الأعنّة ممكنة.
③ حلقة Reins ② + مُتحقِّق مُصمَّم + سقّاطة الأعنّة مكتملة.
في حلقة المحادثة لا موضعَ للجام. الجواد لم يُركَب بعد. ما دام اللغويُّ يجيب والإنسانُ يقرأ ثم يردّ — لا توجد خطوة حتمية واحدة. لا شكيمة تحمل الإشارة.
حلقةُ الوكيل تضع السرجَ. لحظةَ يدخل التنفيذ — المُصرِّف يعمل، الاختبارات تسقط، الملفات تُكتب — تلامس الحلقةُ أرضاً حتمية للمرة الأولى. وحينئذٍ يوجد ما تُمسك به.
هذا بالضبط سرّ النجاح الهائل لـ Claude Code. بدمج بوابات حتمية — Bash، وI/O الملفات، وتشغيل الاختبارات — داخل الحلقة (وإن كان جزئياً بالمصادفة)، امتلك “أعنّةً جزئية” لم تكن موجودة في عصر المحادثة.
وهذا ليس رأيي وحدي. أثبت HAL (قائمة الوكلاء الشاملة) من جامعة برينستون، عبر 21,730 تشغيلاً للوكيل، أن تبديل الهيكل وحده — مع تثبيت النموذج — يُقلِّب الدقة عشراتٍ من النقاط المئوية.3 وخلص Addy Osmani إلى ذلك في جملة: “نموذجٌ لا بأس به + طقمٌ ممتاز > نموذجٌ ممتاز + طقمٌ رديء.” وأضاف أن Opus ذاته يُحقق درجاتٍ أعلى داخل طقمٍ مخصَّص مقارنةً بـ Claude Code.4
حتى هنا نكون في الأراضي التي تسمّيها الصناعة “هندسة الطقم” — اكتشافٌ صحيح، وهو تحديداً الموضع الذي يختلط فيه الأمر مع Reins، لأن كليهما ينتج النتائجَ من خارج النموذج.
لكنّ الطبقة ② ليست إلا النصف العَرَضي من Reins. Reins Engineering هي إكمال ذلك النصف بقصد: تحويل البوابة التي تسلّلت بالصدفة إلى مُتحقِّق مُصمَّم وسقّاطة وفصلٍ بين القرار والتنفيذ — رفعُ الطبقة ② إلى الطبقة ③. خطاب الطقم يُثبت Reins لكنه لا يُغني عنها.
ثلاثة محاور
جوادٌ واحد، رجلان يعملان عليه.
الأول يصنع الطقم: قياسات السرج، متانة اللجام، شكل الشكيمة. هذا يُناسب أيَّ جواد وأيَّ رحلة. صنعه مرّةً واحدةً ويُجزئ للذهاب إلى أيّ مكان. صانعُه خرّاز، لا الفارس.
الثاني يُمسك الأعنّة. يعرف هذه الرحلة: أيّ الطرق يسلك، أين المقصد، ومتى تصلح كلمة “وصلنا”. الخيطُ الذي يُمسكه مركَّبٌ في الطقم ذاته، لكنّ الإشارات التي يرسلها تختلف رحلةً من رحلة. الممسِك أعنّةً فارسٌ لا خرّاز.
ها هي المحاور الثلاثة:
- الوظيفة. الطقم يحجز — يرسم حدوداً لما لا يجب. الأعنّة تُوجِّه — تُقرِّر الوجهة وتُعرِّف متى انتهى السير.
- العمر. الطقم يُصنع مرّةً ويُعاد استخدامه في كل مهمة. الأعنّة تُصمَّم من جديد لكل مهمة.
- الملكية. الطقم يُشحن من البائع. الأعنّة يُؤلِّفها المعماري.
حلقة Claude Code متماثلة مهما كان مشروعي — ذلك طَقم. صنعته Anthropic وشحنته، وهو متساوٍ لجميع المستخدمين. أما تعريف “إتمام إخلاء المستأجِر = صور خمسٌ من مواضع بعينها” — فقد كتبتُه أنا، لهذا الميدان، بيدي. لا يحتويه أيّ طقم في الدنيا. ذلك هو Reins.
الاعتماد يسير في اتجاهٍ واحد
لو كانا الشيء ذاته، لما أمكن انتزاع أحدهما دون الآخر. لنجرّب.
طقمٌ بلا أعنّة. الوكيل يعمل. لا يتوقف. لكنه يتيه. يجوب ميداناً بلا علامة هدف ولا حكمٍ بالإنجاز، ثم يقف حين يرى “هذا يكفي على الأرجح.” نعرف هذا جيداً — نُسمّيه vibe coding.
أعنّةٌ بلا طقم. هذا لا يقوم أصلاً. أمسكتَ الخيط لكن لا لجام يحمله. لا شيء تُوصل إليه الإشارة. تُمسك حبلاً في الهواء.
الاعتماد أحادي الاتجاه. الأعنّة تحتاج الطقم، لكن الطقم لا يحتاج الأعنّة. الطقم يعمل دون أعنّة — يعمل بصورةٍ رديئة فحسب. هذا التفاوت يُفنّد “هما شيءٌ واحد” بحسمٍ تامّ. لو كانا متطابقَين لانهار كلاهما معاً حين يُنتزع أحدهما، لكنّ الطقم ينطلق وحده.
نقطة التقاطع الوحيدة
هل يتقاطعان إذن؟ نعم. في موضعٍ واحد بالضبط.
بوابةُ التحقق التنفيذية. حين تعمل CI داخل حلقة الوكيل، فإن سطحَ الإنفاذ يمتدّ في كلا الجانبين — جزءٌ من الطقم، وما تُلقيه الأعنّة في الوقت ذاته. هنا يولد السؤال “أليس ذلك طقماً؟” — محقّ، في تلك الزاوية الواحدة تُشيران إلى الشيء ذاته.
لكنّ ما يقع خارجها يتباين:
الطقم وحده التقاطع الأعنّة وحدها
───────────────── ───────────────── ─────────────────
صندوق حماية بوابة تحقق تعريف الإنجاز
توصيل الأدوات (فحص تنفيذي) تصميم مضادّ للـcheese
إدارة السياق تحليل وكيل↔هدف
(إحكام بلا وجهة) (سطح الإنفاذ) (نيّة بلا ركيزة)
للطقم إحكامٌ بلا وجهة — صندوق الحماية لا يأمرك بالذهاب إلى أيّ مكان، بل يمنعك من الخروج فحسب. وللأعنّة نيّةٌ بلا ركيزة تنفيذية — تعريف “ما هو الإنجاز” يسبق وجودَ البوابة التي تُنفِّذه. لا يستوعب طرفٌ منهما الآخرَ كلياً. إنهما يتقاطعان لا يتضمّن أحدهما الآخر.
لماذا سؤال “هل هو مجموعة جزئية؟” خاطئٌ
“إذن هل Reins مجموعةٌ جزئية من الطقم؟”
المجموعة الجزئية تستلزم قياسهما بمسطرةٍ واحدة. لكنّ الطقم يُعرَّف بـ من يشحنه وكم يُعاد استخدامه (محور الركيزة)، بينما تُعرَّف الأعنّة بـ ماذا تفعل بالمسار (محور الوظيفة). المسطرتان مختلفتان.
كأن تسأل: “هل الأحمر مجموعةٌ جزئية من الثقيل؟” ثمة ما هو أحمرُ وثقيل (= البوابة التنفيذية)، لكنّ اللون لا يُحتوى في الوزن — لأن المقياسَين مختلفان. علاقة المجموعة الجزئية خطأٌ في الفئات هنا.
العلاقة الدقيقة: الأعنّة تفترض الطقم، لكنها لا تندرج فيه. الطبقةُ التي تعلو ركيزةً لا تنطوي تحتها. ما يعلو يمتدّ إلى ما هو أبعد من الركيزة.
موضع التباين الحقيقي — الـcheese
حتى الآن كان حديثاً هيكلياً. لكنّ الموضع الذي تنفصل فيه Reins عن خطاب الطقم انفصالاً حاسماً هو شيءٌ آخر. الـcheese.
يعرف مصمّمو الألعاب ذلك. “اقتل عشرة فئران” مهمّةٌ سيّئة السمعة. ثمة هوّة بين ما تتحقق منه البوابة (موت عشرة فئران) وما أراده المصمّم فعلاً (أن يعيش اللاعب التجربة)، فيشقّ اللاعب طريقاً في تلك الهوّة. يُسمّى ذلك cheese. وهو بالضبط ما تُسمّيه أبحاث سلامة الذكاء الاصطناعي “مغالبة المواصفة” (specification gaming) — وكيل سباق القوارب يدور على مواضع النقاط بدلاً من إتمام السباق، ووكيل تتريس يُجمِّد اللعبة إلى الأبد كي لا يخسر.5
بوابتي لإخلاء المستأجر تُصاب بالـcheese أيضاً. خمسُ صور تتحقق من “وجود صور” لا من “اكتمال الإخلاء سليماً.” ماذا لو أن المسؤول التقط جدراناً نظيفةً فحسب؟ البوابة تمرّ. حين تصبح القياسةُ هدفاً تتوقف عن كونها قياسةً صالحة — هذا قانون Goodhart.6
ها هو جوهر المسألة. الطقم يستطيع الإجابة على “هل اجتازت؟” لا أكثر. هل الاختبارات خضراء، هل الأنواع سليمة، هل المخطط لم ينكسر — إلى هنا يصل. لكنّ “هل هذا الاجتياز يلتقط الغرضَ الحقيقي؟” لا يستطيع الطقم الإجابة عنه أبداً. لأن تعريف الـcheese يستلزم معرفة غرض الميدان. لماذا تُعدّ صور الجدار النظيف وحده تلاعباً؟ ولماذا اجتازت القواعدَ كلَّها بينما تحقق الغرضُ 90% فحسب؟ — ذلك لا يعرفه إلا من يعرف لماذا يُنجَز هذا العمل.
ذلك الشخص هو الفارس. ممسِك الأعنّة.
تصميمُ بواباتٍ لا يمكن مغالبتها — سدّ الهوّة بين الوكيل والغرض قبل أن تُشقّ — مختلفٌ بطبيعته من مهمةٍ لأخرى، ويحمل معرفة الميدان، ويُؤلِّفه المشغِّل. الطقمُ غيرُ المرتبط بمهمةٍ بعينها لا يستطيع ذلك — لا يعجز عنه فحسب، بل هو لا يملك الميدانَ أصلاً فلا سبيل له إلى معالجته.
هنا يقع الأرض الخاصة بـ Reins Engineering التي تغيب عن خطاب الطقم وهندسة الوكلاء. ذاك الخطاب يتحدث عن صنع طقمٍ أفضل. Reins تتحدث عن هذه الرحلة، وكيف نُسلِّمها للباب الصحيح دون أن تتفكّك.
إذن، نعود إلى حادثة التسريب
الآن يتضح لمَ تلك الحادثة دليلٌ لا سخريّة.
الجواد كان عبقرياً. Opus قوّةٌ احتمالية خالصة. والسرجُ كان يعمل — Claude Code أفضل طقمٍ في العالم وأرقام HAL تُثبت ذلك. ومع ذلك، انجرف الكود المبني بذلك الطقم نحو أنماط الفشل المتوقَّعة بالضبط. دالةٌ واحدة بـ 3,167 سطراً — هذه صورة “جدار 200 endpoint” مجسَّداً في الكود. والتسريبُ نفسه — سطرٌ ناقص في .npmignore — يعني أن مخرجات النشر لم تكن لها بوابة.
الشركة الصانعة لأفضل طقمٍ في العالم لم تُلجم بذلك الطقم مَرْبَطها الخاصّ.
هذا ليس نقيضاً للأطروحة، بل دليلها الحاسم. Reins ليست خاصيّةً يمتلكها النموذج أو الوكيل، بل انضباطٌ يُطبَّق عليه. تميُّز الوكيل شيء، ووقوع الكود المبني به تحت Reins شيءٌ آخر كلياً. الجواب ليس نموذجاً أكبر. وليس طقماً أحسن. بل الانضباط في إمساك الأعنّة، وتعريف إنجاز هذه الرحلة بنفسك، وتصميم البوابات كي لا تُغالَب — ذلك هو الجواب.
إذن
الطقم يجعل الجوادَ يجري. الأعنّة تُقرِّر أيَّ بابٍ يدخله. الطقم يُركَّب مرّةً ويبقى، والأعنّة تُمسَك في كل لحظة. الطقمُ يشحنه البائع، والأعنّةَ يقبضها الفارس بيده.
لا تتعارضان. هما جزآن من معدّةٍ واحدة. لكنهما مختلفان. الأعنّة لا توجد دون طقم، والطقمُ دون أعنّة يتيه. ومَن يعرف أن هذا العمل انتهى حقاً — هو دائماً اليدُ القابضة على الخيطين.
حين يسألك أحدٌ في المرة القادمة “أليست Reins مجرد طقم؟” أجِبه:
“الطقمُ يشحنه البائع، والأعنّة أصمّمها أنا لهذه المهمة. لا أعنّة بلا طقم، وطقمٌ بلا أعنّة لا يعدو التيه. حتى الأداة التي أعطَتنا الأعنّة لم تُلجم كودها بأعنّة — لأن Reins ليست شيئاً تمتلكه، بل شيءٌ تُحكمه.”
مقالات ذات صلة
- الذكاء الاصطناعي بأعنّة: Reins Engineering — المصدر الأصلي لإعادة تأطير البوابة بوصفها أعنّة
- مَن يُعرِّف “الإنجاز”؟ — بوابات لا تُغالَب، وتصميم المهام بوصفه تصميم quests
- لماذا تعمل وكلاء الكود ولماذا تنهار — “التوليد احتمالي، لكن التحقق يجب أن يكون حتمياً”
- لماذا لا يتوقف وكيلك أبداً — النظام القادر على التوقف = النظام الذي يُعرِّف إنجازه
- yongol: جدار 200 endpoint — المواصفة التي يُؤلِّفها المشغِّل = الأعنّة في صورتها الملموسة
مزيد من القراءة
مقالاتٌ خارجية تمسّ الحدودَ التي ناقشناها — بين الطقم والأعنّة، وطرق التوقف، والمواصفات المُغالَبة — بعمقٍ أو من زاويةٍ مغايرة.
- How Coding Agents Work — Simon Willison — “وكيل البرمجة هو طقمٌ يُغلِّف LLM.” التعريف الكلاسيكي للطقم، يُستحسن قراءته قبل المقال.
- Agent Harness Engineering — Addy Osmani — يُرسِّخ هندسة الطقم بوصفها تخصصاً هندسياً قائماً. يُعالج شرط الإنهاء عبر “عقد المسار” — يتقاطع مباشرةً مع هذا المقال.
- Reward Hacking in Reinforcement Learning — Lilian Weng — العمود النظري لقانون Goodhart ومغالبة المواصفة: لماذا يحدث الـcheese من منظور RL وRLHF.
- Water Finds a Crack — Soren Johnson — “إن أُتيح له الأمر، سيُحسِّن اللاعبُ اللعبةَ حتى تُفرَّغ من متعتها.” كلاسيكٌ في تصميم الألعاب يعرض الأصلَ الإنساني لاختراق المكافأة.
- Effective Harnesses for Long-Running Agents — Anthropic — صاحبة القضية تُعالج فشل “الإعلان عن الإنجاز قبل اكتماله.” التحقق الحتمي وشروط الإنهاء في مقالٍ واحد.
وقائع الحادثة (2026-03-31، v2.1.88، نقص سطر في
.npmignore/Bun وتسريب خرائط المصدر، ~512K سطر، ~1,900 ملف، موقف “خطأ بشري / ليس اختراقاً”، توصية بتثبيت v2.1.87) مُتحقَّق منها عبر The Register (“Anthropic accidentally exposes Claude Code source code”, 2026-03-31) وInfoQ وVentureBeat. ↩︎دالة
print.tsذات 3,167 سطراً مؤكَّدة من claudefa.st، “Claude Code Source Leak: Everything Found”. ↩︎Kapoor, Narayanan et al., “Holistic Agent Leaderboard: The Missing Infrastructure for AI Agent Evaluation” (Princeton)، arXiv:2510.11977 — 9 نماذج × 9 معايير قياس، 21,730 تشغيلاً. يُفصل أثرَ النموذج عن أثر الهيكل وأثر المعيار. لوحة القيادة المباشرة: hal.cs.princeton.edu. ↩︎
Addy Osmani, “Agent Harness Engineering” — “نموذجٌ لا بأس به + طقمٌ ممتاز > نموذجٌ ممتاز + طقمٌ رديء.” ملاحظة أن Opus ذاته يُسجِّل درجاتٍ أعلى في طقمٍ مخصَّص مقارنةً بـ Claude Code. ↩︎
Krakovna et al., Google DeepMind, “Specification gaming: the flip side of AI ingenuity”؛ مجموعة الأمثلة: V. Krakovna, “Specification gaming examples in AI” (حلقة نقاط CoastRunners، تجميد تتريس الأبدي، إلخ). “سلوكٌ يُرضي المواصفة الحرفية للهدف دون تحقيق نتيجته المقصودة.” ↩︎
Marilyn Strathern (1997), “‘Improving ratings’: audit in the British University system,” European Review 5(3):305–321 — مصدر “حين تصبح القياسةُ هدفاً تتوقف عن كونها قياسةً صالحة” (إعادة صياغة لمقترح Goodhart 1975 عبر Hoskin). ↩︎