كل الوحدات الحلقة الشرائح الصغيرة أمسِك الزمام تصحيح الأخطاء English

برمجة التطبيق بالإحساس

حلقة البناء الحقيقية — ومعرفة متى تُمسك زمام الأمور من الذكاء الاصطناعي بالضبط.

الوحدة 5 · حوّل المراحل إلى ميزاتٍ تعمل، شريحةً شريحة.

متوسّط البناء يتضمّن مختبرًا ~55 دقيقة

ماذا ستتعلّم

  • تشغيل حلقة البناء الأساسية: اطلب → راجع → شغّل → أودِع، وكرّر
  • لماذا تتفوّق الشرائح الصغيرة على طلبٍ ضخمٍ واحد «ابنِ التطبيق»
  • الإشارات التي تخبرك أن تُمسك الزمام وتقود يدويًّا
  • تصحيح الأخطاء مع المساعد — السبب الجذري لا مجرّد رقعة
  • كيف تتحرّر حين يدور المساعد في حلقة
  • مختبر عملي: ابنِ المرحلتين M2 (بحث) وM3 (حذف) بالحلقة، من الطرف إلى الطرف محليًّا

المتطلبات المسبقة: الوحدة 4 — snippet-vault بمرحلة M1 (إنشاء + عرض) مدموجةً في main.

حلقة البناء

البرمجة بالإحساس ليست طلبًا ضخمًا واحدًا — بل حلقةٌ محكمة تدور بها مرّاتٍ كثيرة في الساعة. كل دورةٍ تضيف قطعةً صغيرةً واحدة مُراجَعةً ومُودَعة:

┌──────────────────────────────────────────────┐ │ 1. PROMPT → ask for ONE small slice │ │ 2. REVIEW → read the diff (like a PR) │ │ 3. RUN → does it actually work? │ │ 4. COMMIT → checkpoint the good state │ └──────────────────────────────────────────────┘ ↺ repeat

الحلقة إيقاعك لبقيّة البناء. كل مرحلةٍ في SPEC.md تصير حفنةً من هذه الدورات. ولأنك تُودِع كل حالةٍ جيّدة، فإن دورةً سيّئة تبعد دائمًا git restore واحدًا عن الزوال.

سريعٌ وآمن

يظنّ الناس أن المراجعة والإيداعات تبطئك. والعكس صحيح: الخطوات الصغيرة المُراجَعة تعني أنك نادرًا ما تصحّح لغزًا، لأن ما انكسر في آخر تغييرٍ صغير. السرعة تأتي من عدم التعثّر.

اعمل بشرائح صغيرة

أكبر مهارةٍ منفردة في البرمجة بالإحساس هي تقطيع العمل صغيرًا. «ابنِ التطبيق كلّه» يعطيك كومةً لا تستطيع مراجعتها. «أضِف صندوق بحثٍ يرشّح القائمة بالعنوان» يعطيك تغييرًا تقرؤه في دقيقة.

كبيرٌ جدًّاشريحةٌ بالحجم الصحيح
«ابنِ خزنة المقتطفات.»«أضِف نموذج إنشاء المقتطف وأرسله POST إلى الـAPI.»
«أضِف بحثًا ومرشّحاتٍ وترتيبًا ووسومًا.»«أضِف صندوق بحثٍ يرشّح القائمة بالعنوان.»
«اجعله يبدو جميلًا.»«نسّق قائمة المقتطفات كبطاقاتٍ بتباعد.»

دع المواصفة تقود

قطّعت العمل بالفعل في الوحدة 3. ابنِ مرحلةً واحدة (أو قصّةً واحدة ضمنها) لكل فرع، بالترتيب. حين تنجح كل معايير قبول القصّة، فقد اكتملت — انتقل للتالية.

متى تُمسك الزمام

المساعد سائقٌ سريع على الطريق السريع، وعبءٌ في موقفٍ ضيّق. المحترف يعرف متى يكفّ عن التفويض ويحرّر الشيفرة بنفسه. راقب هذه الإشارات:

الإشارةماذا تفعل
فشل في الإصلاح نفسه مرّتينأوقف الحلقة. اقرأ الشيفرة بنفسك وأصلح أو حدّد السطر بالضبط.
منطقٌ حسّاسٌ أمنيًّا أو ماليًّاالمصادقة، المدفوعات، الصلاحيات — اكتبها أو تحقّق منها يدويًّا.
منطقٌ دقيق يخطئه قليلًا باستمراراكتب اللبّ الصعب يدويًّا، ودع الذكاء الاصطناعي للقوالب حوله.
لا تفهم مخرجاتهلا تشحن ما لا تستطيع صيانته. بسّطه بنفسك أو اطلب شرحًا.
التغيير يتضخّمتولَّ الأمر، قلّص النطاق، واستأنف الحلقة أصغر.

أنت السائق، دائمًا

إمساك الزمام ليس فشلًا — بل هو المهارة كلها. أفضل مبرمجي الإحساس يسلّمون بسلاسةٍ قطعًا صغيرةً محدّدة للذكاء الاصطناعي ويخطفون الزمام لحظة يبدأ بالتِيه. السيّارة سيّارتك.

تصحيح الأخطاء مع المساعد

حين ينكسر شيء، يكون المساعد ممتازًا — إن أحطته كتقرير خطأٍ جيّد بدل «إنه معطّل، أصلحه».

طلب تصحيحٍ جيّد

  • الصق الخطأ بالضبط وأثر التتبّع (stack trace).
  • قل ما توقّعته مقابل ما حدث.
  • أعطِ الملف/الملفات ذات الصلة كسياق.
  • اطلب السبب الجذري أولًا، ثم الإصلاح — لا رقعةً عمياء.
This request throws the error below. I expected the new snippet to appear in the list; instead the list is empty after reload. Error: [paste exact error + stack trace] Explain the root cause, then propose the smallest fix.

أعِد الإنتاج قبل الإصلاح

تأكّد أولًا أنك تستطيع إطلاق الخطأ بموثوقية. إصلاحٌ لا تستطيع التحقّق منه مقابل إعادة إنتاجٍ هو مجرّد تخمين — والذكاء الاصطناعي سيولّد تخميناتٍ واثقةً بسرور.

كيف تتحرّر

حين يدور المساعد أو يظلّ يخطئ، لا تعِد الطلب بشدّةٍ أكبر فحسب. غيّر الموقف:

الحركةمتى
أعِد ضبط السياقيناقض نفسه — ابدأ المهمّة من جديد (تآكل السياق من الوحدة 2).
صغّر الطلبقسّم الشريحة إلى أصغر منها.
أعطِ مثالًاأرِ المدخل/المخرج بالضبط أو ملفًّا مشابهًا يحاكيه.
اكتب اللبّ يدويًّااكتب الأسطر الخمسة الصعبة بنفسك، ثم دع الذكاء الاصطناعي يكمل حولها.

مختبر عملي: ابنِ M2 وM3 بالحلقة

ستأخذ خزنة المقتطفات من «إنشاء + عرض» إلى تطبيقٍ حقيقيٍّ يعمل — بإضافة البحث والحذف عبر حلقة البناء، وإمساك الزمام مرّةً على الأقل، وربط الواجهة بالـAPI من الطرف إلى الطرف.

ما تحتاجه

مستودع snippet-vault من الوحدة 4 (M1 مدموجة)، ومساعدك، والتطبيقان يعملان (api/ وweb/).

1

افرَع لـM2 (بحث)

git checkout -b feature/m2-search
2

أدِر الحلقة للبحث

اطلب شريحةً، راجع التغيير، شغّله، أودِع — مقابل معايير قبول M2 من SPEC.md:

Add M2 search from SPEC.md: GET /snippets?q= filters the list by title (case-insensitive) in the API, and a search box in the web UI that filters the list live. Small diff. Don't touch create or delete.

تحقّق من كل معيار قبولٍ يدويًّا: الترشيح الحيّ، عدم حساسية حالة الأحرف، حالة الفراغ الودودة. أودِع عند الاخضرار.

3

أمسِك الزمام مرّة — عن قصد

اعثر على موضعٍ واحد ليست فيه مخرجات الذكاء الاصطناعي صحيحةً تمامًا (حالة حدّية، اسم، جزء أخرق) وأصلحه بنفسك يدويًّا بدل إعادة الطلب. دوّن ماذا ولماذا. ثم ادمج M2:

git checkout main git merge feature/m2-search
4

افرَع وابنِ M3 (حذف)

git checkout -b feature/m3-delete

أدِر الحلقة ثانيةً: DELETE /snippets/:id في الـAPI وزرّ حذفٍ (مع تأكيد) في الواجهة. راجع، شغّل، تحقّق، أودِع، ثم ادمج في main.

5

أكّد أنه يعمل من الطرف إلى الطرف

والتطبيقان يعملان، في المتصفّح: أنشئ مقتطفًا، شاهده مُدرَجًا، ابحث عنه، واحذفه. هذا تطبيقٌ حقيقيٌّ يعمل — M1 حتى M3، حيًّا محليًّا.

6

تأمّل

في REFLECTION.md: أين أمسكت الزمام، ولماذا؟ أيّ معايير قبولٍ تحقّقت منها يدويًّا؟ ثم أودِعه.

ما الذي تسلّمه

مستودع snippet-vault بتطبيقٍ يعمل. تحقّق من نفسك قبل التسليم:

  • M2 (بحث) وM3 (حذف) كلٌّ بُني على فرعٍ ودُمج في main
  • الإنشاء والعرض والبحث والحذف كلّها تعمل في المتصفّح
  • إيداعٌ واحد على الأقل حرّرت فيه أنت مخرجات الذكاء الاصطناعي يدويًّا
  • REFLECTION.md يدوّن أين أمسكت الزمام وما تحقّقت منه

مسرد مصغّر

المصطلحالمعنى المبسّط
حلقة البناءاطلب → راجع → شغّل → أودِع، مكرّرةً بدوراتٍ صغيرة.
الشريحةقطعة عملٍ صغيرة قائمة بذاتها تبنيها وتتحقّق منها دفعةً واحدة.
إمساك الزمامالكفّ عن التفويض وتحرير الشيفرة يدويًّا حين يكون الذكاء الاصطناعي الأداة الخطأ.
السبب الجذريالسبب الكامن للعلّة، لا العَرَض فقط.
إعادة الإنتاجإطلاق العلّة بموثوقيةٍ لتؤكّد أن الإصلاح يعمل فعلًا.
من الطرف إلى الطرفالمسار كلّه يعمل معًا — هنا، الواجهة → الـAPI → والعودة.

الخلاصة وما التالي

صار لديك الآن

حلقة البناء طبيعةً ثانية، والحُكم على متى تُمسك الزمام عند الحاجة، ومنهج تصحيحٍ يجد الأسباب الجذرية — وخزنة مقتطفاتٍ تعمل فعلًا من الطرف إلى الطرف: إنشاء وعرض وبحث وحذف، كلّها مدموجةٌ في main يعمل.

التالي: الوحدة 6 — اختبار الشيفرة المولّدة. تطبيقك يعمل حين تنقر فيه يدويًّا — لكن كيف تعرف أنه ما زال يعمل بعد تغيير الذكاء الاصطناعي التالي؟ نضيف اختباراتٍ آلية، أوّل شبكة أمانٍ حقيقية لـ«يعمل مرّة واحدة».

برمجة التطبيق بالإحساس

الأهداف الحلقة الشرائح الصغيرة أمسِك الزمام تصحيح الأخطاء التحرّر المختبر العملي المسرد الخلاصة