Skills: مهارات تصحيح الأخطاء
آخر تحديث: 2026-08-31
تصحيح الأخطاء هو الجزء الأكثر استهلاكًا للوقت في التطوير — المهارات تُدوّن خبرات تصحيح الأخطاء فكل جلسة استكشاف لديها منهجية تتبعها.
1. أنواع مهارات تصحيح الأخطاء
(1) تشخيص الأخطاء
تحديد الأسباب الجذرية من رسائل الخطأ:
YAML
---
name: error-diagnoser
description: "تشخيص الأسباب الجذرية من رسائل الخطأ"
triggers:
- keyword: "error|bug|exception"
tools:
- Read
- Grep
- Glob
- Bash
---
(2) تحليل الأداء
تحديد عنق زجاجة الأداء:
| بُعد التحليل | الأداة/الطريقة | المخرجات |
|---|---|---|
| نقاط CPU الساخنة | مخرجات Profiler | ترتيب زمن الدوال |
| تسريبات الذاكرة | مقارنة لقطات الذاكرة | موقع الكائنات المسربة |
| الاستعلامات البطيئة | تحليل سجلات SQL | قائمة الاستعلامات البطيئة |
| وقت البدء | قياس الطوابع الزمنية | التوزيع الزمني حسب المرحلة |
(3) تحليل السجلات
استخراج الأدلة الرئيسية من السجلات:
MARKDOWN
## تدفق تحليل السجلات
1. اقرأ ملف السجل
2. Grep لكلمات ERROR/WARN المفتاحية
3. استخرج أكوام الاستثناءات والجدول الزمني
4. ربط إدخالات السجل للطلب نفسه
5. إخراج تقرير التحليل
2. عملية تصحيح الأخطاء المنهجية
(1) طريقة التصحيح رباعية المراحل
TEXT
📖 للعرض فقط
المراحل الأربع لتصحيح الأخطاء
├── 1. إعادة الإنتاج
│ ├── أكد أن الخطأ قابل لإعادة الإنتاج
│ ├── سجّل خطوات إعادة الإنتاج
│ └── ضيّق شروط إعادة الإنتاج
├── 2. التحديد
│ ├── اقرأ تتبع كومة الخطأ
│ ├── ابحث عن الكود ذي الصلة
│ └── أكد موقع المشكلة
├── 3. الإصلاح
│ ├── حلّل السبب الجذري
│ ├── اكتب كود الإصلاح
│ └── أضف فحوصات دفاعية
└── 4. التحقق
├── سيناريو إعادة الإنتاج ناجح
├── شغّل مجموعة الاختبارات الكاملة
└── أكد عدم وجود تراجع
(2) التحديد بالبحث الثنائي
MARKDOWN
## تصحيح الأخطاء بالبحث الثنائي
1. أكد نطاق الإصدارات حيث توجد المشكلة
2. Bash: git bisect start
3. ضيّق النطاق إلى التزام محدد خطوة بخطوة
4. Read لفرق ذلك الالتزام
5. حدد سطر الكود المحدد الذي أدخل المشكلة
(3) تصحيح الأخطاء القائم على الفرضيات
MARKDOWN
## طريقة التحقق من الفرضيات
1. اذكر فرضيات الأسباب المحتملة (3 كحد أقصى)
2. صمّم طريقة تحقق لكل فرضية
3. تحقق من الأعلى احتمالًا إلى الأقل
4. التحقق ناجح → أكد السبب الجذري
5. التحقق فاشل → استبعد الفرضية، أعد التحليل
3. أنماط الأخطاء الشائعة
(1) مرجع سريع لأنماط الأخطاء
| نوع الخطأ | الخصائص النموذجية | اتجاه البحث |
|---|---|---|
| مؤشر فارغ | NoneType/null/undefined |
تحقق من سلسلة تعيين المتغيرات |
| خطأ نوع | TypeError/ClassCastException |
تحقق من تحويلات الأنواع والتأكيدات |
| التزامن | فشل متقطع | تحقق من الحالة المشتركة والأقفال |
| الحدية | فشل فقط مع مدخلات محددة | تحقق من القيم الفارغة والصفرية والقصوى |
| اختلاف البيئة | يعمل محليًا، يفشل في الإنتاج | تحقق من التكوين وإصدارات التبعيات |
| التوقيت | يعتمد على الترتيب | تحقق من العمليات غير المتزامنة وترتيب الأحداث |
(2) تفسير رسائل الخطأ
TEXT
📖 للعرض فقط
ترتيب قراءة كومة الخطأ:
1. السطر الأخير: نوع الخطأ والرسالة (الأكثر أهمية)
2. الثاني-الثالث من الأسفل: مواقع الاستدعاء في كودك
3. الإطارات الأعلى: سلسلة استدعاءات الإطار/المكتبة
4. أول سطر غير إطاري: نقطة التفعيل الفعلية
4. ممارسة مهارة تصحيح الأخطاء
▶ مثال: مهارة التشخيص الذكي
أنشأت Alice مهارة تشخيص الأخطاء تلقائيًا:
YAML
---
name: smart-debug
description: "تصحيح منهجي: إعادة إنتاج→تحديد→إصلاح→تحقق"
tools:
- Read
- Grep
- Glob
- Bash
- Edit
---
MARKDOWN
## تدفق تصحيح الأخطاء
1. Read لرسالة الخطأ وتتبع الكومة
2. Grep للعثور على مكان ظهور رسالة الخطأ في الكود
3. Read للكود ذي الصلة، حلّل الأسباب المحتملة
4. اذكر 3 فرضيات وتحقق واحدة تلو الأخرى
5. بعد تأكيد السبب الجذري، Edit للإصلاح
6. Bash لتشغيل الاختبارات للتحقق
قال Bob: "أكبر خوف في تصحيح الأخطاء هو 'جرب فقط' — إصلاح شيء دون معرفة سبب نجاحه يعني أنك سترتكب نفس الخطأ مرة أخرى. المهارات تفرض تدفق الفرضية→التحقق فكل خطوة لها أساس مُبرر."
❓ الأسئلة الشائعة
س هل تصحيح الأخطاء بالذكاء الاصطناعي أسرع من اليدوي؟
ج أسرع بكثير للأخطاء النمطية (المؤشرات الفارغة، أخطاء الأنواع، الاستثناءات الشائعة). لقضايا المنطق التجاري المعقدة، الذكاء الاصطناعي يمكنه تضييق النطاق لكن التشخيص النهائي لا يزال يحتاج مدخلات بشرية.
س كيف أمنع الذكاء الاصطناعي من إعطاء اتجاهات تصحيح خاطئة؟
ج اطلب من الذكاء الاصطناعي سرد الفرضيات والتحقق واحدة تلو الأخرى، بدلاً من القفز إلى الاستنتاجات. تحقق من كل خطوة في سلسلة الاستدلال.
س هل تحتاج مهارة تصحيح الأخطاء صلاحيات تعديل؟
ج مرحلة التشخيص تحتاج قراءة فقط. مرحلة الإصلاح تحتاج Edit. نوصي بالتقسيم إلى مهارتين: تشخيص (للقراءة فقط) + إصلاح (قراءة-كتابة).
📖 ملخص
- ثلاثة أنواع مهارات تصحيح الأخطاء: تشخيص الأخطاء، تحليل الأداء، تحليل السجلات
- عملية رباعية المراحل: إعادة الإنتاج → التحديد → الإصلاح → التحقق
- طرق التحديد: تحليل الكومة، البحث الثنائي، التحقق من الفرضيات
- المبدأ الأساسي: افهم قبل أن تتصرف؛ قائم على الفرضيات، وليس التجربة العمياء
📝 تمارين
- أساسي (⭐): أنشئ مهارة تشخيص أخطاء يمكنها تحديد مواضع الكود من أكوام الأخطاء تلقائيًا.
- متوسط (⭐⭐): أنشئ مهارة تصحيح أخطاء منهجية تنفذ الطريقة رباعية المراحل مع التحقق من الفرضيات.
- متقدم (⭐⭐⭐): أنشئ مهارة تحليل أداء تحدد عنق زجاجة من مخرجات Profiler، مع تقديم اقتراحات تحسين وفوائد مقدرة.