تعلم البرمجة بالدارجة المغربية

AI Coding Agents: دليل عملي باش تخدم مع وكلاء البرمجة بلا ما تفقد المهارات ديالك

AI Coding Agents: دليل عملي باش تخدم مع وكلاء البرمجة بلا ما تفقد المهارات ديالك

مقدمة

شي سنين اللورا، كان أقصى حاجة كيديرها الذكاء الاصطناعي فالبرمجة هي يكمّل ليك سطر ولا جوج ديال الكود. دابا الأمور تبدلات بزاف: كتكتب لـ AI “زيد Feature ديال Reset Password مع Tests”، وهو كيقرا المشروع ديالك، كيعدّل فبزاف ديال الملفات، كيشغّل الـ Tests، وإلى طاحو كيصلحهم بوحدو.

هادو هوما AI Coding Agents أو “وكلاء البرمجة”. ومع أنهم كيوفرو وقت كبير، كيطرحو أسئلة مهمة: واش المطور غادي يتعوّض؟ كيفاش نخدم معاهم بلا ما نولّي “Copy-Paste Developer”؟ وشنو هي المخاطر الأمنية؟

فهاد المقال غادي نشرحو الفرق بين Autocomplete وChat وAgents، كيفاش الـ Agent كيخدم من الداخل، ونعطيوك Workflow عملي تقدر تطبقو من غدا فالخدمة ولا فالمشاريع ديالك، مع نصائح باش تبقى كتتعلم وتحمي الكود ديالك.

من Autocomplete لـ Agents: شنو تبدّل؟

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

1. الـ Autocomplete (الإكمال التلقائي)

كتكتب، والأداة كتقترح عليك السطر الجاي ولا Function كاملة. نتا اللي كتقرر كل حاجة، والـ AI غير كيسرّع عليك الكتابة. السياق ديالو غالباً محدود فالملف اللي حال.

2. الـ Chat (المحادثة)

كتسوّل: “علاش هاد الكود كيعطي Error؟” ولا “كتب ليا Regex للإيميل”، وهو كيجاوبك. ولكن نتا اللي خاصك تنقل الكود، تحطو فالبلاصة الصحيحة، وتجربو.

3. الـ Agent (الوكيل)

هنا الفرق الكبير: الـ Agent كيدير الأفعال بوحدو. كيقرا الملفات، كيقلّب فالمشروع، كيعدّل الكود، كيشغّل أوامر فالـ Terminal (Tests، Build، Linter)، وكيعاود يحاول حتى يوصل للهدف. نتا كتولّي بحال “Tech Lead” كيعطي المهمة وكيراجع النتيجة.

جدول مقارنة

النوع شنو كيدير؟ شكون كيتحكم؟ مزيان لـ أمثلة على أدوات
Autocomplete كيقترح الكود وانت كتكتب المطور 100% كتابة سريعة، Boilerplate Copilot (الإكمال)، Cursor Tab
Chat كيجاوب على الأسئلة وكيكتب Snippets المطور كينقل وكيطبق الشرح، Debugging، التعلم ChatGPT، Claude، Copilot Chat
Agent فالـ IDE كيعدّل بزاف ديال الملفات وكيشغّل أوامر الـ Agent مع موافقتك Features متوسطة، Refactoring Cursor Agent، Copilot Agent Mode
Agent فالـ Terminal كيخدم من سطر الأوامر على المشروع كامل الـ Agent مع صلاحيات كتحددها مهام كبيرة، Automation، Scripts Claude Code، Codex CLI، Gemini CLI
Agent فالـ Cloud كيخدم فبيئة معزولة وكيرجع ليك Pull Request الـ Agent، ونتا كتراجع الـ PR مهام مستقلة كتخدم فالخلفية Copilot Coding Agent، Codex فالـ Cloud

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

كيفاش كيخدم AI Coding Agent من الداخل؟

الـ Agent فالأساس هو نموذج لغوي (LLM) + أدوات (Tools) + حلقة (Loop). إلى ما عندكش فكرة على كيفاش كتخدم النماذج اللغوية، بدا بـ مقدمة في النماذج اللغوية الكبيرة.

الحلقة كتكون تقريباً هكا:

1. Plan    →  يفهم المهمة ويقسمها لخطوات
2. Explore →  يقرا الملفات، يقلّب بـ grep، يفهم البنية ديال المشروع
3. Edit    →  يعدّل الكود ولا يزيد ملفات جداد
4. Verify  →  يشغّل Tests / Build / Linter
5. Iterate →  إلى كان شي Error، يقرا الرسالة ويرجع للخطوة 3
6. Report  →  يعطيك ملخص على شنو دار

الأدوات اللي كيستعمل الـ Agent غالباً هي: قراءة الملفات، الكتابة فيها، البحث فالكود، وتنفيذ أوامر فالـ Shell. وبزاف ديال الـ Agents كيقدرو يتزادو ليهم أدوات أخرى عبر MCP، بحال الوصول لقاعدة البيانات ولا لـ GitHub Issues. شرحنا هاد البروتوكول بالتفصيل فـ دليل MCP (Model Context Protocol).

الشي المهم اللي خاصك تفهم: الـ Agent ما “كيعرفش” المشروع ديالك. كيكتاشفو فكل جلسة. داكشي علاش جودة النتيجة كتعتمد بزاف على السياق (Context) اللي كتعطيه.

Workflow عملي للمطور Junior ولا Mid

هادي هي الطريقة اللي كننصحو بيها باش تخدم مع أي Agent بطريقة مسؤولة.

الخطوة 1: كتب Task Brief مزيان

الفرق بين نتيجة زوينة ونتيجة كارثية غالباً هو كيفاش كتبتي المهمة. قارن:

Brief ضعيف:
صلح الـ Login
Brief مزيان:

المهمة: فـ صفحة Login، ملي المستخدم كيدخل إيميل بحروف كبيرة
([email protected]) كيطلع ليه "User not found".

السياق:
- الـ Logic ديال Login كاين فـ src/auth/login.ts
- الإيميلات كيتسجلو فالداتابيز بحروف صغيرة

المطلوب:
- طبّع الإيميل (lowercase + trim) قبل البحث
- زيد Test كيغطي هاد الحالة فـ tests/auth/login.test.ts
- ما تبدّلش الـ API ديال الدالة

التحقق: npm test خاصو يدوز كامل

Brief مزيان فيه: المشكل، السياق (فين كاين الكود)، المطلوب بالضبط، الحدود (شنو ما خاصوش يتقاس)، وكيفاش نتحققو.

الخطوة 2: عطيه ملف Context للمشروع

أغلب الأدوات كتقرا ملف تعليمات فالجذر ديال المشروع بشكل أوتوماتيكي. Claude Code كيقرا CLAUDE.md، وبزاف ديال الأدوات الأخرى كتدعم AGENTS.md اللي ولّا Format مفتوح ومشترك، وكاينين أدوات عندها ملفات القواعد الخاصة بيها. ديما شوف الـ Documentation ديال الأداة ديالك.

مثال بسيط ديال AGENTS.md:

# AGENTS.md

## المشروع
API ديال متجر إلكتروني بـ Node.js + Express + PostgreSQL.

## أوامر مهمة
- تثبيت: `npm install`
- Tests: `npm test`
- Lint: `npm run lint`

## القواعد
- استعمل TypeScript strict، بلا `any`.
- كل Feature جديدة خاصها Tests.
- ما تبدّلش ملفات `migrations/` القديمة، زيد Migration جديدة.
- ما تقراش ولا تعدّلش ملفات `.env`.

هاد الملف كيوفّر عليك تعاود نفس الشرح فكل جلسة، وكيخلي النتائج أكثر استقرار.

الخطوة 3: خدم فـ Branch وبخطوات صغيرة

ما تخليش الـ Agent يخدم مباشرة على main. صاوب Branch لكل مهمة، وإلى ما كنتيش متمكن من Git، راجع دليل Git لإدارة النسخ:

git checkout -b fix/login-email-case

قسّم المهام الكبيرة لمهام صغيرة. “بني ليا E-commerce كامل” غادي يعطيك كود كبير وصعيب يتراجع. “زيد Endpoint ديال Add to Cart مع Validation وTests” غادي يعطيك حاجة تقدر تفهمها وتتحكم فيها.

بزاف ديال الأدوات فيها Plan Mode ولا شي حاجة مشابهة: الـ Agent كيقترح خطة قبل ما يبدّل حتى ملف. استعملها فالمهام اللي فيها شك، وصحّح الخطة قبل التنفيذ.

الخطوة 4: راجع الـ Diff سطر بسطر

هادي أهم خطوة، وهي اللي كتفرّق بين المطور المحترف والـ “Vibe Coder”. قبل أي Commit:

# شوف شنو تبدّل
git status
git diff

# ولا راجع ملف بملف
git diff src/auth/login.ts

سوّل راسك:

  • واش فاهم كل سطر تبدّل؟
  • واش الـ Agent بدّل حوايج ما طلبتهاش منو؟
  • واش زاد Dependencies جداد؟ واش كاينين بصّح وموثوقين؟
  • واش حيّد ولا “سكّت” شي Test باش يدوز؟ (كتوقع أكثر مما كتظن!)

الخطوة 5: شغّل الـ Tests بيدك

حتى إلى قالك الـ Agent “All tests pass”، شغّلهم نتا:

npm test
npm run lint

ومن بعد جرّب الـ Feature يدوياً إلى كانت فيها واجهة. الـ Tests كيقولو ليك واش الكود كيخدم كيف ما هو مكتوب، ماشي واش كيدير داكشي اللي بغيتي.

الخطوة 6: Commits صغيرة وواضحة

git add src/auth/login.ts tests/auth/login.test.ts
git commit -m "fix(auth): normalize email case before lookup"

Commits صغيرة كتسهّل الرجوع (git revert) إلى تبيّن من بعد بلي شي تعديل فيه مشكل.

Vibe Coding ولا الاستعمال المسؤول؟

مصطلح Vibe Coding شاع فـ 2025، وكيعني تقريباً: “كتوصف شنو بغيتي، كتقبل أي كود كيعطيك الـ AI بلا ما تقراه، وكتبقى غير كتجرب حتى يخدم”.

واش هادشي غالط؟ ماشي ديما:

الحالة Vibe Coding مقبول؟
Prototype سريع باش تجرب فكرة إيه، مزيان
Script شخصي كتستعملو مرة وحدة غالباً ماشي مشكل
مشروع Hackathon ولا Demo مقبول
كود Production فيه داتا ديال الناس لا
Authentication، Payments، Security أبداً
مشروع غادي يتصاين سنين لا

القاعدة البسيطة: إلى كان الكود غادي يمس مستخدمين حقيقيين ولا داتا حقيقية، خاصك تفهمو وتكون مسؤول عليه. الـ AI ما كيتحاسبش، نتا اللي كتتحاسب.

كيفاش تبقى تتعلم وما تفقدش المهارات ديالك؟

هادا تخوف حقيقي خصوصاً عند المطورين Juniors. إلى ولّيتي كتعطي كلشي للـ Agent، غادي تلقى راسك ما كتعرفش تصلح حتى Bug بسيط بلا AI. هاد النصائح كيعاونو:

  • سوّلو “علاش”: ملي يعطيك حل، طلب منو يشرح ليك القرارات ديالو والبدائل.
  • كتب نتا الأول: فالمواضيع الجديدة عليك، حاول تكتب الحل بيدك، ومن بعد قارنو مع حل الـ Agent.
  • خلي “مناطق بلا AI”: بحال الـ Algorithms والتمارين ولا Side Project كتكتبو بيدك.
  • قرا الكود بحال Code Review: كل Diff كتراجعو هو فرصة باش تتعلم Patterns جديدة.
  • Debug بيدك من وقت للآخر: استعمل الـ Debugger وقرا الـ Stack Traces قبل ما تعطيهم للـ AI.
  • ركّز على الأساسيات: Data Structures، HTTP، الداتابيز، Git، والأمن. هادو هوما اللي كيخلّيوك تحكم واش الكود ديال الـ AI مزيان ولا لا.

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

الأمان: الـ Agent عندو مفاتيح الدار!

الـ Agent كيقدر يقرا الملفات ديالك ويشغّل أوامر على جهازك. يعني إلى وقع شي مشكل، العواقب حقيقية. هادي أهم القواعد:

1. حمي الأسرار (Secrets)

  • ما تحطش API Keys ولا Passwords فالكود ولا فالـ Prompt.
  • خلي .env فـ .gitignore، وبزاف ديال الأدوات كتسمح ليك تمنع الـ Agent من قراءة ملفات معينة، استعمل هاد الخاصية.
  • إلى تسرّب شي Secret بالغلط، بدّلو (Rotate) فوراً، ماشي غير تحيدو من الكود.

2. راجع الأوامر قبل ما توافق عليها

أغلب الـ Agents كيطلبو الإذن قبل ما يشغّلو أوامر. ما توافقش بلا ما تقرا، خصوصاً الأوامر بحال rm -rf، git push --force، تعديل الداتابيز، ولا curl ... | bash. وبلاش تفعّل “Auto-approve لكلشي” إلا فبيئة معزولة (Container ولا VM) ما فيهاش داتا مهمة.

3. حذاري من المشاريع غير الموثوقة

إلى فتحتي Repository ما كتعرفوش وخدمتي فيه بـ Agent، الملفات ديالو (README، Comments، Issues) ممكن يكون فيها Prompt Injection: تعليمات مخبّعة كتحاول تقنع الـ Agent يدير شي حاجة خطيرة، بحال يصيفط ملفاتك لشي سيرفر. خدم فـ Sandbox وبصلاحيات محدودة ملي كتكون الثقة ناقصة.

4. تحقق من الـ Dependencies

الـ AI أحياناً كيقترح Packages ما كايناش أصلاً، والمهاجمين كيقدرو يسجلو باكيدجات بنفس السمية فيها كود خبيث. قبل أي npm install ولا pip install جديد، تأكد بلي الباكيدج حقيقي، معروف، ومصان.

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

أسئلة شائعة

واش AI Coding Agents غادي يعوّضو المطورين؟

الأدوات كتبدّل طريقة الخدمة بزاف، ولكن مازال خاص شي واحد يفهم الـ Business، يحدد المتطلبات، يقرر فالمعمارية، ويتحمل المسؤولية ديال الكود فالـ Production. اللي كيتبدّل هو المهارات المطلوبة: أقل كتابة يدوية، وأكثر تخطيط ومراجعة.

شنو أحسن AI Coding Agent؟

ما كاينش جواب واحد، وكلشي كيتبدّل بسرعة. اختار على حساب الـ Workflow ديالك: إلى كتحب الـ IDE، جرّب Agent مدمج فيه. إلى كتخدم بزاف فالـ Terminal، جرّب Agent ديال CLI. والأحسن تجرب جوج ولا ثلاثة على نفس المهمة وتقارن بنفسك.

واش مناسب للمبتدئين؟

إيه، ولكن بحذر. استعملو كـ “أستاذ” كيشرح ليك، ماشي كـ “خدام” كيدير الواجب فبلاصتك. إلى ما فهمتيش الكود اللي كتب، ما تقبلوش.

واش الكود ديالي كيتصيفط للشركة اللي صاوبات الأداة؟

غالباً إيه، الكود اللي كيقراه الـ Agent كيتصيفط للنموذج باش يعالجو. قرا سياسة الخصوصية وإعدادات الـ Data Retention، وفالشركات تأكد من السياسة الداخلية قبل ما تستعمل أي أداة على كود الخدمة.

كيفاش نخلّي الـ Agent يعطي نتائج أحسن؟

Brief واضح، ملف Context (بحال AGENTS.md ولا CLAUDE.md)، مهام صغيرة، وطريقة تحقق واضحة (Tests). وكلما كان المشروع منظم ومغطّي بالـ Tests، كلما كانت النتائج أحسن.

خلاصة

AI Coding Agents ماشي سحر، وماشي خطر كيهدد الخدمة ديالك، هوما أدوات قوية كتضاعف داكشي اللي عندك. إلى كنتي مطور منظم كتعرف تحدد المهمة وتراجع الكود، غادي تولّي أسرع بزاف. وإلى كنتي كتقبل أي حاجة بلا ما تفهم، غادي تتراكم عليك Bugs ومشاكل أمنية بسرعة كبيرة.

الخلاصة العملية: Brief مزيان ← Context واضح ← Branch ← خطوات صغيرة ← مراجعة الـ Diff ← Tests ← Commit. وديما خلي وقت باش تتعلم وتكتب بيدك.

ودابا دورك: واش جربتي شي AI Coding Agent فالمشاريع ديالك؟ شنو أكثر حاجة عجباتك، وشنو أكبر مشكل طاح عليك معاه؟ صيفط لينا التجربة ديالك على [email protected]، وإلى عجبك المقال شاركو مع صحابك المطورين!

Digital Arabians Author

DigitalArabians

مدونة DigitalArabians متخصصة في تعليم البرمجة بالدارجة المغربية، تهدف إلى تبسيط مفاهيم البرمجة والتقنية للمتحدثين بالعربية. نقدم محتوى تعليمي عالي الجودة لمساعدة المبتدئين والمحترفين على تطوير مهاراتهم البرمجية.