كل خطأ يصبح قاعدة:
كيف يتعلم diffray من ملاحظاتك

لماذا مراجعة الكود بالذكاء الاصطناعي بدون التعلم من التعليقات هي مجرد مولد ضوضاء مكلف

٩ يناير ٢٠٢٦
١٠ دقائق قراءة

كشف Boris Cherny، مبتكر Claude Code، مؤخراً عن سير عمله، وانتشرت جملة واحدة من منشوره في مجتمع المطورين: "في كل مرة نرى Claude يفعل شيئاً خاطئاً، نضيفه إلى CLAUDE.md، حتى يعرف Claude ألا يفعله في المرة القادمة."

لخص قائد المنتج Aakash Gupta الأمر بشكل مثالي: "كل خطأ يصبح قاعدة." كلما عمل الفريق مع الذكاء الاصطناعي لفترة أطول، أصبح أكثر ذكاءً.

هذه هي بالضبط الفلسفة التي بُني عليها diffray. اليوم، سنريك كيف يعمل من الداخل.

المشكلة: تلوث السياق يقتل جودة المراجعة

قبل أن نتحدث عن القواعد، نحتاج إلى فهم التحدي التقني الرئيسي لمراجعة الكود بالذكاء الاصطناعي — تلوث السياق.

تُظهر أبحاث Anthropic أن نماذج اللغة الكبيرة، مثل البشر، تفقد تركيزها مع امتلاء نافذة السياق. تتراكم التصحيحات، وتتكدس المناقشات الجانبية، وتبقى مخرجات الأدوات القديمة. النتيجة متوقعة:

إيجابيات خاطئة

الذكاء الاصطناعي يجد "مشاكل" غير موجودة

هلوسات

أخطاء برمجية خيالية وأنماط غير موجودة

انحراف الهدف

المراجعات تصبح أقل صلة تدريجياً

قام JetBrains Research (ديسمبر ٢٠٢٥) بقياس هذا: سياقات الوكلاء تنمو بسرعة كبيرة لدرجة أنها تصبح مكلفة، لكنها لا تقدم أداءً أفضل بشكل ملحوظ. المزيد من السياق ≠ نتائج أفضل.

الحل: وكلاء فرعيون متخصصون بسياق معزول

يستخدم Boris Cherny الوكلاء الفرعيين كـ"تغليفات آلية لسير العمل الأكثر شيوعاً." فلسفته:

"الموثوقية تأتي من التخصص مع القيود"

بدلاً من مراجع واحد كلي المعرفة، يُنشئ أمر مراجعة الكود الخاص به عدة وكلاء متوازيين بمسؤوليات مختلفة:

١.وكيل يتحقق من إرشادات الأسلوب
٢.آخر يحلل تاريخ المشروع لفهم الأنماط
٣.ثالث يُشير إلى الأخطاء الواضحة
٤.ثم خمسة وكلاء إضافيين يبحثون تحديداً عن ثغرات في النتائج الأولية

هذه الطبقة التنافسية حاسمة. الوكلاء الثانويون يتحدون نتائج المرور الأول، مما يزيل الإيجابيات الخاطئة من خلال الشكوكية المنظمة.

النتيجة، بكلمات Cherny: "يجد كل المشاكل الحقيقية بدون الوهمية."

كيف يعمل تقنياً

عندما يُفوض الوكيل الرئيسي إلى وكيل فرعي، تُنشأ نافذة سياق جديدة تحتوي فقط على وصف المهمة والمعاملات ذات الصلة. يمكن للوكيل الفرعي الاستكشاف بشكل موسع—مستهلكاً عشرات الآلاف من الرموز أثناء البحث في الكود—لكنه يُرجع فقط ملخصاً مكثفاً من ١٠٠٠-٢٠٠٠ رمز.

هذا يحافظ على تركيز الوكيل الرئيسي مع السماح بالتحليل العميق.

الوكيل الرئيسي(سياق نظيف)
🛡️
الأمان
سياق معزول
الأسلوب
سياق معزول
الأداء
سياق معزول
🏗️
العمارة
سياق معزول
ملخصات مكثفة(١-٢ آلاف رمز لكل منها)

في diffray، نستخدم أكثر من ٣٠ وكيلاً متخصصاً، كل منهم يركز على مجال محدد: الأمان، الأداء، أسلوب الكود، الأنماط المعمارية، والمزيد. كل وكيل يعمل في سياق معزول ويُرجع فقط النتائج الجوهرية.

صياغة القواعد: تحويل الملاحظات إلى معرفة

الآن إلى الحدث الرئيسي. الوكلاء الفرعيون يحلون مشكلة السياق. لكن كيف تجعل الذكاء الاصطناعي يتعلم من تصحيحاتك؟

نمط CLAUDE.md

في Claude Code، تحتفظ الفرق بملف CLAUDE.md في مستودعها—نوع من "الدستور" للمشروع. يُحمل الملف تلقائياً في السياق عند كل جلسة.

لكن هناك قيد حاسم. تُظهر أبحاث HumanLayer أن موجه النظام في Claude Code يحتوي بالفعل على ~٥٠ تعليمة، ونماذج اللغة الكبيرة المتقدمة تتبع بموثوقية فقط ١٥٠-٢٠٠ تعليمة إجمالاً. جودة اتباع التعليمات تنخفض بالتساوي مع زيادة العدد.

هذا يعني: لا يمكنك فقط إلقاء ٥٠٠ قاعدة وتوقع السحر.

ثلاثة مستويات من المعرفة

القواعد الفعالة تُشفر المعرفة على ثلاثة مستويات:

ماذا (خريطة المشروع)

## Tech Stack
- Backend: Python 3.11, FastAPI, SQLAlchemy
- Frontend: React 18, TypeScript, TailwindCSS
- DB: PostgreSQL 15

لماذا (القرارات المعمارية)

## Why We DON'T Use ORM for Complex Queries
History: ORM generated N+1 queries in reports.
Decision: Raw SQL for analytics, ORM only for CRUD.

كيف (العمليات)

## Before Committing
- Run `make lint` — must pass with no errors
- Run `make test` — coverage must not drop

مشكلة الأساليب اليدوية

صيانة القواعد اليدوية تعمل... طالما أن فريقك صغير ومنضبط. في الواقع:

المطورون ينسون تحديث القواعد

القواعد تصبح قديمة أسرع من الكود

الاتفاقيات الضمنية تبقى ضمنية

المعرفة القبلية تموت عندما يغادر الأشخاص الرئيسيون

كيف يؤتمت diffray صياغة القواعد

diffray يقلب العملية. بدلاً من كتابة القواعد يدوياً، أنت فقط تُعطي ملاحظات على المراجعات.

حلقة التعلم

📝
PR
🔍
مراجعة diffray
💬
ملاحظات المطور
🧠
التحليل
🔬استخراج الأنماط
ما الذي كان خاطئاً؟
⚙️توليد القواعد
إنشاء قاعدة محددة
التحقق
الاختبار على تاريخ PR
الـ PR التالي يتضمن القاعدة

الخطوة ١: تُعطي ملاحظات

أعطيت إعجاب سلبي لتعليق diffray؟ رددت "هذا ليس خطأ، إنه مقصود"؟ تجاهلت توصية؟ diffray يلتقط كل شيء.

الخطوة ٢: استخراج الأنماط

diffray يحلل: ما الذي كان خاطئاً بالضبط؟ هل كان إنذاراً خاطئاً (الكود صحيح)، سياق غير قابل للتطبيق (القاعدة لا تنطبق هنا)، أو اتفاقية خاصة بالمشروع (هكذا نفعلها هنا)؟

الخطوة ٣: توليد القواعد

بناءً على النمط، يصوغ diffray قاعدة تُحدد النطاق (أي الملفات/المجلدات)، وما يجب كبته أو تطبيقه، ولماذا. القاعدة مرتبطة بالملاحظات الأصلية للتتبع.

الخطوة ٤: التحقق

قبل تطبيق القاعدة، يُشغلها diffray ضد طلبات السحب التاريخية. كم تعليقاً كان سيُكبت؟ كم منها كانت إيجابيات خاطئة فعلية؟ القاعدة تُطبق فقط إذا حسّنت الدقة.

أنواع القواعد في diffray

🚫

قواعد الكبت

"لا تُشر إلى X في السياق Y" — كتم تحذيرات محددة في الكود القديم، ملفات الاختبار، أو الكود المُولَّد.

🛡️

قواعد التطبيق

"تحقق دائماً من Z" — ضمان عدم تفويت الأنماط الحرجة مثل تحديد معلمات SQL أو فحوصات المصادقة.

🎯

قواعد السياق

"ضع في الاعتبار الخصوصيات" — تعديل الأولوية بناءً على نوع الملف، المُزخرفات، أو أنماط الكود المحيطة.

📖

قواعد المصطلحات

"نسميه هكذا" — تعليم diffray مفردات مجالك حتى يفهم قاعدة الكود الخاصة بك بشكل أفضل.

مثال عملي: من الإزعاج إلى قاعدة

تخيل: diffray يترك تعليقاً على طلب السحب الخاص بك:

تحذير الأداء: استخدام any يُقلل من أمان النوع. فكر في التحديد الصريح للنوع.

أنت تعرف أن هذه وحدة قديمة مجدولة لإعادة الكتابة في الربع القادم. إصلاح الأنواع الآن سيكون مضيعة للوقت.

ترد: "هذا كود قديم، سيُعالج التحديد في إعادة هيكلة الربع الثاني"

ما يحدث بعد ذلك:

١.diffray يتعرف على الملاحظات السلبية
٢.يحلل السياق: الملف في src/legacy/، هناك TODO بتاريخ
٣.يجد حالات مشابهة في التاريخ: ١٢ تعليقاً مماثلاً في الشهر الماضي
٤.يولد قاعدة كبت لـ src/legacy/** مع تاريخ انتهاء (الربع الثاني)
٥.طلب السحب التالي في src/legacy/ — diffray يصمت عن الأنواع

لكن المهم: القاعدة ليست دائمة. تاريخ الانتهاء يعني أنه بعد الربع الثاني، سيبدأ diffray مرة أخرى في التحقق من الأنواع في هذا المجلد.

المقياس: تقليل معدل الإيجابيات الخاطئة

المقياس الرئيسي لفعالية مراجعة الكود بالذكاء الاصطناعي هو معدل الإيجابيات الخاطئة. كم تعليقاً من ١٠٠ كان عديم الفائدة؟

المعايير النموذجية للصناعة:

٤٠-٦٠%

إيجابيات خاطئة لمراجعة AI الأساسية

٢٥-٣٥%

مع قواعد يدوية

٨-١٣%

diffray مع قواعد متعلمة

كيف نحقق هذا:

عزل السياق

من خلال الوكلاء الفرعيين يمنع الانحراف

تخصص الوكلاء

يحسن الدقة في كل مجال

التعلم من الملاحظات

يزيل الإيجابيات الخاطئة المتكررة

التحقق من القواعد

يمنع الإفراط في التخصيص

البدء: ثلاث خطوات

الخطوة ١: اربط diffray بمستودعك

التكامل يستغرق ٥ دقائق عبر GitHub App أو GitLab webhook.

الخطوة ٢: اعمل فقط

خلال الأسبوعين إلى الثلاثة الأولى، يعمل diffray في وضع التعلم. يدرس بنية مشروعك، أنماط طلبات السحب، وأسلوب تعليقات المراجعين.

الخطوة ٣: أعطِ ملاحظات

لا تتجاهل تعليقات diffray بصمت. أعطِ إعجاباً للمفيدة، رفضاً لغير المفيدة، ورد على القابلة للنقاش.

كل تفاعل يجعل diffray أذكى. بعد شهر، سيكون لديك مراجع AI شخصي يعرف اتفاقياتك أفضل من مطور جديد بعد التعريف.

الخاتمة: ذكاء اصطناعي ينمو مع فريقك

فلسفة "كل خطأ يصبح قاعدة" ليست مجرد عبارة جذابة. إنها مبدأ معماري يفصل الأدوات اللعب عن الحلول الجاهزة للإنتاج.

diffray مبني على ثلاثة أعمدة:

وكلاء فرعيون بسياق معزول

للدقة بدون تلوث

صياغة قواعد من الملاحظات

للتعلم بدون عمل يدوي

التحقق على التاريخ

للثقة في التحسينات

النتيجة: مراجعة كود بالذكاء الاصطناعي تتحسن مع كل طلب سحب. ليس لأن النموذج تم تحديثه، بل لأنه يتعلم من فريقك.

ابدأ بتدريب مراجع الذكاء الاصطناعي الخاص بك اليوم

ثبّت diffray وافتح طلب سحب. مجاني للمستودعات العامة ويشمل طبقة مجانية سخية للمستودعات الخاصة.

مقالات ذات صلة