البرمجة

برمجة الانطباع: المزايا والمخاطر

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

  • الدرس 14 من 14
  • متوسط
  • مجاني، دون تسجيل

كفتان كلتاهما حقيقية

السرعة والوصول

  • من الفكرة إلى شيء يُعرض، في عصر واحد
  • أدوات داخلية لم تكن تستحق الوقت قط
  • من لا وصول له إلى فريق تقني صار يبدأ
  • رؤية فكرة قبل معرفة كتابتها

ما لم يُراجَع

  • فحص وصول لم يُكتب ولم يعطِ خطأ
  • شفرة لا يعرف أحد موضعها يوم تنكسر
  • قطعة قد تحمل معها رخصة شفرة عامة
  • مهارة لم تُبنَ لأن التعثر أُزيل

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

آخر مراجعة: تُراجع الحقائق وأسماء الأدوات في هذا الدرس مقابل مصادرها في هذا التاريخ.

ما برمجة الانطباع بالضبط، وبم تختلف عن البرمجة بمساعدة الذكاء الاصطناعي؟

شاع المصطلح في ٢٠٢٥، وككل مصطلح جديد لكل امرئ معناه الخاص به. والتعريف الذي نستعمله هو الذي وضعه استطلاع ستاك أوفرفلو للمطورين في استبيانه محيلا إلى ويكيبيديا: توليد البرمجيات من موجّهات النماذج اللغوية.

لكن الجملة التي تفصل هذا عن الاستعمال العادي ليست في التعريف؛ بل في السلوك. والحد الحقيقي هو: هل تقرأ الشفرة المولَّدة وتفهمها أم لا. فمن يقرأ الشفرة وينقدها ويكتب اختباراتها إنما يبرمج بالذكاء الاصطناعي، ودرسه البرمجة بالذكاء الاصطناعي. ومن ينظر إلى ناتج التشغيل وحده ويكتب الموجّه التالي بناء عليه فهو يمارس برمجة الانطباع.

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

وأمر يضيع في السجالات: برمجة الانطباع ليست اختراعا جديدا في طريقة العمل. فنسخ الشفرة من منتدى دون قراءتها كان هذا بعينه، وله عشرون سنة من التاريخ. الذي تغيّر هو المقياس. كنت تنسخ عشرين سطرا، وأنت اليوم تتلقى ألفين، ولا أحد يقرأ تلك الألفين أيضا.

كم من المطورين يفعل هذا فعلا؟

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

سأل استطلاع ستاك أوفرفلو للمطورين لعام ٢٠٢٥ صراحة: هل برمجة الانطباع جزء من عملك التطويري المهني، بالتعريف أعلاه. ومن ٢٦٥٦٤ شخصا أجابوا، قال ٧٢٫٢ بالمئة لا، وقال ٥٫٤ بالمئة آخرون لا قطعا. وفي الجانب الموجب قال ١١٫٩ بالمئة نعم، وقال ٢٫٨ بالمئة إلى حد ما، وقال ٠٫٤ بالمئة نعم قطعا. وقال ٢٫١ بالمئة إنهم جربوها ولم يتيقن ١٫٢ بالمئة.

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

والثانية ألا تقرأ الرقم أكثر مما هو. فهذا ما يقوله الناس عن أنفسهم لا قياس لسلوكهم، والعينة منتقاة ذاتيا. والأهم أن السؤال كان عن العمل المهني. فمن يبني تطبيقا صغيرا بالموجّهات في عطلة الأسبوع أجاب على الأرجح بـ«لا» في هذا الاستطلاع نفسه، وذلك الجمهور آخذ في الاتساع.

أين تستحق فعلا؟

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

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

أداة داخلية لنفسك. نص برمجي يعمل مرة في الشهر ولا يشغّله سواك. نص يعيد تسمية عشرة آلاف ملف. صفحة صغيرة تُظهر رقما واحدا. هذه لا مستخدمين لها ولا مهاجم، وإن انكسرت ضاع وقتك أنت فقط. والقلق على جودة الشفرة هنا قلق في غير موضعه.

التعلم، بشرط. رؤية كيف تعمل فكرة قبل أن تعرف كتابتها تبني الدافع، والدافع ليس بالقليل في التعلم. والشرط أن تعود بعدها فتكتب الشيء نفسه بنفسك. وبغير تلك الخطوة الثانية، تفعل برمجة الانطباع بالتعلم ما يفعله مشاهدة فيديو سباحة بالسباحة.

وميزة خاصة بإيران نادرا ما تُذكر: الوصول. فمن يجلس في بلدة صغيرة ولا سبيل له إلى فريق تقني صار يستطيع أن يبلغ بفكرته حدا يعرضها فيه على الناس. وهذا ليس بالأمر الهين، ولا ينبغي لأي نقد لهذه الطريقة أن يتجاهله.

أين تظهر الكلفة؟

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

الأمن، ومثال يفهمه أكثر الناس معكوسا. الافتراض الشائع أن الخطر يعني مفتاحا في شفرة جهة العميل. والآن اقرأ صفحة إرشاد جوجل نفسها عن مفاتيح فايربيس: تقول إن مفاتيح فايربيس، بخلاف المفاتيح المعتادة، لا تُستعمل للتحكم في الوصول إلى موارد الخلفية ولا بأس بوضعها في الشفرة أو ملفات التهيئة؛ والذي يحمي البيانات فعلا هو قواعد الأمن. أي أن تطبيقا مبنيا ببرمجة الانطباع قد يكون مفتاحه بلا خطر البتة وقاعدة بياناته مفتوحة للجميع، لأن القواعد لم تُكتب ولا يبلّغ أي فاحص مفاتيح بشيء. والصفحة نفسها، قبل سطرين، تقول عكس ذلك تماما عن مفتاح جيميناي: ذاك يجب ألا يكون في شفرتك أبدا. مفتاحان في تطبيق واحد، وقاعدتان متضادتان، والسبيل الوحيد لمعرفة أيهما أيّ هو قراءة التوثيق. النموذج يكتب شفرة تعمل، وهذا غير الآمن.

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

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

وكلفة تدفعها أنت. في الاستطلاع نفسه، قال ٢٠ بالمئة من المشاركين إنهم صاروا أقل ثقة بقدرتهم على حل المسائل. وقد بسطنا الآلية في درس البرمجة بالذكاء الاصطناعي: التعلم يأتي من التعثر، والأداة التي تزيل التعثر أزالت الشيء الذي كان يعلّمك.

ما يُظهره اليوم الأول وما لا يُظهره

  • 1

    إنه يعمل

    الصفحة تفتح، والزر يعمل، وما طلبته على الشاشة. الطبقة الوحيدة المرئية في اليوم الأول.

  • 2

    الحالات الحدية

    مدخل فارغ، ومدخل ضخم، وشخصان في وقت واحد. تأتي هذه مع المستخدمين الحقيقيين لا مع اختبارك أنت.

  • 3

    التحكم في الوصول

    من يحق له أن يرى أو يغيّر ماذا. وغيابه لا يعطي خطأ، ويبدو كل شيء عاديا لصاحب التطبيق.

  • 4

    الصيانة

    اليوم الذي ينكسر فيه شيء ولا تدري أين تنظر، لأنك لم تعرف قط ما الذي في أي موضع.

  • 5

    الرخصة والملكية

    من أين جاءت هذه القطعة وبأي شرط. ومن لم يقرأ الشفرة لا سبيل له عمليا إلى المعرفة.

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

موقفنا: مارس برمجة الانطباع على المسودة، وهندس المنتج

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

وقاعدتنا العملية سؤال لا مبدأ: لو فعل هذا البرنامج غدا الشيء الخطأ تماما، فماذا يُفقد؟ فإن كان الجواب «لا شيء، سأشغّله ثانية» فمارس عليه برمجة الانطباع ولا تُضع وقتك. وإن اشتمل الجواب على مال أحد أو بيانات أحد أو سمعة أحد، فتلك الشفرة يجب أن تُقرأ؛ سواء قرأتها أنت أم من تدفع له.

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

وفي المقابل، لأخذ جواب عن فكرة، ولأداة لا يشغّلها سواك، ولرؤية شكل شيء ما، فهذه الطريقة أسرع ما لديك، ولا فضيلة في الامتناع عنها.

ونقطة أخيرة لمن يوكل عمله إلى مستقل أو وكالة: سؤال «من قرأ هذه الشفرة» ليس سؤالا وقحا، وليس الجواب عنه صعبا. فإن لم تحصل على جواب فذلك هو الجواب. وكيف نؤدي عملنا نحن هنا مكتوب في تطوير التطبيقات والبرمجيات.

مارس برمجة الانطباع على المسودة، وهندس المنتج

  1. 1

    المسودة

    وجّه، وانظر النتيجة، وتقدم سريعا. وجودة الشفرة ليست معيارا هنا إطلاقا.

  2. 2

    قرار: الإبقاء أو الطرح

    سؤال واحد: لو فعل هذا غدا الشيء الخطأ تماما، فماذا يُفقد؟ الجواب يحدد أي طريق يُسلك.

  3. 3

    إعادة الكتابة مع مراجعة

    الميزة نفسها، لكن هذه المرة في تغييرات صغيرة تُقرأ، مع اختبار مُعرَّف قبل الشفرة.

  4. 4

    قبل النشر: الوصول والمدخلات والمفاتيح

    الثلاثة التي لا تعطي خطأ أبدا وتُفحص يدويا دائما. ولكل مفتاح، اقرأ توثيق الخدمة نفسها لا قاعدة عامة.

الخطوة الثالثة هي حيث تنكسر أكثر المشاريع: لا لأنها صعبة، بل لأن النموذج الأولي يعمل ولا يرى أحد سببا لمسّه.

الذكاء الاصطناعي في هذا العمل

هذا الدرس كله عن طريقة عمل مع الذكاء الاصطناعي، فيتناول هذا القسم ما يحدد كلفة تلك الطريقة: بأي أداة تمارس برمجة الانطباع وما الذي تُبقيه لنفسك. وموقفنا في جملة: <strong>الأداة التي تعرض عليك كل تغيير، حتى حين لا تقرؤه، أأمن من أداة تعرض النتيجة فقط، لأنك يوم تضطر إلى القراءة تجد ما تقرؤه.</strong>

أدوات تساعد فعلا

  • Cursor محرر بوكيل مدمج. وميزته الحقيقية لهذه الطريقة أنه يعرض التغييرات في صورة فروق داخل المحرر؛ فإن قررت يوما أن تقرأ فهي هناك. وصفحة أسعاره تُظهر خطة مجانية بطلبات محدودة وخطة احترافية بعشرين دولارا شهريا. ولا ندّعي شيئا عن الوصول من إيران: لم نجد قائمة دول مدعومة ولم نختبره بأنفسنا.
  • GitHub Copilot قصة الوصول إليه مفاجئة للقارئ الإيراني: تقول صفحة ضوابط التجارة في جيتهاب نفسها إن ترخيصا من الخزانة الأمريكية يغطي خدماتها السحابية للمطورين المقيمين في إيران، المجانية والمدفوعة. ننقل هذا ولا ندّعي شيئا عن الدفع. وإحدى ميزاته تمس هذا الدرس مباشرة: يمكن حجب الاقتراحات المطابقة لشفرة عامة، ولمن لا يقرأ الشفرة فذلك هو الدفاع العملي الوحيد أمام غموض الرخصة.
  • Claude Code وكيل سطر أوامر يرى المستودع ويستطيع تغيير عدة ملفات معا. وتلك القوة نفسها هي ما ينقل برمجة الانطباع من تطبيق صغير إلى مشروع حقيقي، وبالقدر نفسه يجعل ترك المراجعة أغلى. يُثبَّت مجانا لكنه لا يعمل بلا اشتراك كلود أو حساب في كونسول أنثروبيك، وإيران ليست في قائمة الدول المدعومة لدى أنثروبيك.
  • Gemini يناسب الخطوة الثانية التي يشترطها هذا الدرس: بعد أن تمارس برمجة الانطباع على شيء، خذه واطلب شرحه لتفهم ما بنيت. ووضع الدراسة فيه يسأل بدل أن يعطي الجواب. وتقول صفحة جوجل نفسها إن تطبيق جيميناي على الوب يعمل في أكثر من مئتين وثلاثين دولة وإقليما، وإيران ليست في تلك القائمة.

اين ينقلب ضدك

يمكن قول الخطر الخاص بهذه الطريقة في جملة: لا شيء مما هو خاطئ يعطي خطأ. فحص وصول لم يُكتب لا يعطي خطأ. ومدخل بلا تحقق لا يعطي خطأ. وقطعة تحمل رخصة غريبة لا تعطي خطأ. والتغذية الراجعة الوحيدة في هذه الطريقة أن البرنامج عمل، وتلك التغذية صامتة بالضبط عما يكلّف لاحقا.
ومثال فايربيس في قسم الكلف أوضح صور هذه المسألة، ومصدره صفحة جوجل نفسها: مفتاح فايربيس في شفرة جهة العميل لا بأس به لأنه لا يتحكم في الوصول، لكن الصفحة نفسها تقول إن الحماية الحقيقية بقواعد الأمن، وتقول إن مفتاح جيميناي يجب ألا يكون في شفرتك أبدا. مفتاحان وقاعدتان متضادتان. ولا يخبرك أي نموذج أيهما أيّ ما لم تسأل، ومن لا يقرأ الشفرة لا يدري أن ثمة ما يُسأل عنه.
وطريقان عمليان لتقليله: قبل النشر، بدل «هل يعمل؟» اسأل «ماذا يحدث لو غيّر أحدهم هذا؟»؛ ولكل خدمة تعطيك مفتاحا، اقرأ صفحة توثيقها عن ذلك المفتاح لا قاعدة عامة. ولمعرفة كيف يمكن الدفع لكل من هذه الأدوات من إيران، انظر دليل الشراء.

المصادر: Stack Overflow 2025 Developer Survey: AI Wikipedia: vibe coding (the definition the survey used) Google: API keys for Firebase, and what actually protects data OWASP Top 10: security misconfiguration GitHub Copilot plans GitHub and Trade Controls Cursor pricing Anthropic: supported countries Google: where the Gemini web app is available

حدود هذه النصيحة

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

من عملنا نحن

أن «مفتاحا في شفرة جهة العميل» ليس الصورة الوحيدة للمسألة هو عندنا قرار معماري لا رأي. فأدوات السيو في هذا الموقع تتصل بخدمة بيانات خارجية، واسم المستخدم وكلمة المرور لتلك الخدمة مخزنان في خيار ووردبريس؛ وكل استدعاء يجريه PHP نفسه ولا يكلّم متصفح الزائر تلك الخدمة قط. وفي اليوم الذي رُوجع فيه هذا الدرس اختبرنا ذلك بدل أن نستذكره: اسم تلك البيانات الاعتمادية لا يظهر إلا في ملفات PHP تحت مجلد includes في تلك الإضافة ولا يظهر في أي ملف جافاسكريبت؛ وملف main.js يحتويه صفر مرة؛ وفي مخرج صفحة الأدوات العامة، الموضع الوحيد الذي يظهر فيه اسم تلك الخدمة هو نص الصفحة نفسه القائل من أين تأتي البيانات. أي أنك تستطيع أن تسمي خدمة في نص صفحتك ولا تدع بياناتها الاعتمادية تغادر الخادم أبدا. ويمكنك إجراء الاختبار نفسه على موقعك ويستغرق دقيقة: ابحث في مخرج صفحتك وملفات الجافاسكريبت عن اسم كل مفتاح موجود في شفرتك.

اسئلة متابعة حقيقية

أيمكن بناء تطبيق حقيقي دون معرفة البرمجة؟

شيء يعمل، نعم. أما شيء يمكن الاعتماد عليه فيتوقف على ما يحمله. فما دام لا مستخدمون حقيقيون ولا بيانات حقيقية ولا مال، فلا بأس؛ ومن اللحظة التي يوجد فيها ذلك، لا بد أن يقرأ أحد الشفرة، وإن لم تكن أنت فلا بد من أحد.

كيف أؤمّن شفرة كُتبت ببرمجة الانطباع؟

لا بفحص واحد ولا بموجّه واحد، لأن المشكلة عادة ليست شيئا موجودا بل شيئا غائبا، والأداة لا تجد الغائب. وأقل ما ينفع فعلا: لكل بيانات تخزّنها اكتب من يحق له رؤيتها وتغييرها، ثم اعثر على ذلك في الشفرة؛ ولكل مفتاح في المشروع اقرأ توثيق تلك الخدمة نفسها عن ذلك المفتاح.

هل تُنهي برمجة الانطباع وظائف المبرمجين؟

نحن لا نتنبأ، ومن يعطيك رقما قاطعا لم يأتِ به من موضع. والذي يمكن رؤيته هو: أن العمل ذا القيمة السوقية لم يكن قط كتابة الشفرة، بل تقرير ما الذي يُبنى ولماذا يُبنى هكذا. وتلك القرارات لا تزال قرارات بشر، وفي الاستطلاع نفسه قال ٧٥٫٣ بالمئة إنهم حتى لو استطاع الذكاء الاصطناعي أداء أكثر مهام البرمجة فسيسألون إنسانا حين لا يثقون بإجاباته.