أصبحت أدوات الذكاء الاصطناعي قادرة على تحويل الأفكار إلى تطبيقات وبرامج بسرعة كبيرة. يمكنك اليوم أن تشرح فكرتك باللغة العربية أو الإنجليزية، وتستخدم أدوات مثل Claude Code, ChatGPT Codex وLovable وCursor وغيرها للمساعدة في بناء منتجك.
لكن هناك فرق مهم بين أن تطلب من الذكاء الاصطناعي إنشاء تطبيق، وأن تعطيه مواصفات واضحة لبناء منتج يعمل بالشكل الصحيح.
قد تطلب منه إنشاء نظام لإدارة الأسطول أو CRM أو منصة للحجوزات، فينشئ لك واجهات جذابة خلال وقت قصير. ومع ذلك، قد تكتشف أن بعض الوظائف لا تعمل، أو أن البيانات غير مترابطة، أو أن صلاحيات المستخدمين غير صحيحة، أو أن النظام لا يتعامل مع الأخطاء بطريقة مناسبة.
الحل هو تحويل فكرتك إلى متطلبات واضحة ومنظمة قبل البدء في تنفيذ المنتج.
لا تحتاج إلى أن تصبح مبرمجًا حتى تفعل ذلك. تحتاج فقط إلى فهم المعلومات التي يجب أن توضحها للذكاء الاصطناعي.
في هذا المقال، سنتعرف على كيفية كتابة هذه المتطلبات بطريقة عملية تناسب غير المتخصصين.
1. ما المقصود بالمواصفات التقنية للمنتج؟
المواصفات التقنية (Technical Requirement Specifications) هي وثيقة توضح كيف يجب أن يعمل البرنامج، وما الوظائف التي يقدمها، وكيف يتعامل مع البيانات والمستخدمين، وما المتطلبات التي يجب تحقيقها قبل اعتبار المنتج جاهزًا.
يمكن تشبيه بناء البرمجيات ببناء منزل.
إذا أخبرت المهندس أنك تريد منزلًا حديثًا مكونًا من ثلاث غرف نوم، فقد فهم فكرتك العامة، لكنه لا يزال يحتاج إلى تفاصيل عن الأبعاد، والكهرباء، والسباكة، والسلامة، وتوزيع الغرف.
الأمر نفسه ينطبق على البرمجيات.
ما تقوله للذكاء الاصطناعي
ما يحتاج إلى توضيح
أنشئ نظام CRM
ما بيانات العميل؟ وكيف تتم إدارته؟
أضف حسابات للمستخدمين
كيف يسجل المستخدم الدخول؟ وما صلاحياته؟
أنشئ Dashboard
ما المؤشرات المطلوبة؟ وكيف يتم حسابها؟
أضف التقارير
ما البيانات التي تتضمنها التقارير؟ وهل يمكن تصديرها؟
اجعل النظام آمنًا
كيف يتم التحقق من الهوية والتحكم في الوصول؟
اجعل النظام قابلًا للتوسع
ما القرارات التقنية التي تسمح بإضافة وظائف مستقبلية؟
المواصفات هي التي تحول الفكرة العامة إلى تعليمات يستطيع الذكاء الاصطناعي استخدامها لبناء منتج متكامل بدلًا من مجموعة شاشات منفصلة.
2. المستويات الثلاثة لتعليمات بناء المنتج باستخدام AI
لفهم كيفية توجيه الذكاء الاصطناعي، يجب التمييز بين ثلاثة مستويات أساسية.
المستوى الأول: متطلبات المنتج — ماذا نريد أن يفعل المنتج؟
هذا المستوى يتعلق بالهدف التجاري، والمستخدمين، والمشكلات التي يحلها المنتج، والوظائف الأساسية المطلوبة.
مثال:
"نريد بناء منصة لإدارة الأساطيل تساعد الشركات على إدارة السيارات، ومتابعة المصروفات التشغيلية، وجدولة الصيانة الوقائية، ومتابعة تخصيص السيارات للسائقين."
يمكنك تحديد هذه المتطلبات دون أي خبرة برمجية.
المستوى الثاني: المواصفات الوظيفية — كيف يجب أن تعمل كل وظيفة؟
هنا نوضح سلوك كل ميزة والقواعد التي تتحكم فيها.
مثال:
"عندما يحين موعد الصيانة الدورية لسيارة، يجب أن ينشئ النظام تنبيهًا بالصيانة القادمة. يستطيع مدير الأسطول فتح التنبيه، والاطلاع على بيانات السيارة، وإنشاء أمر صيانة."
بهذه الطريقة، لا نكتفي بطلب ميزة الصيانة، بل نحدد كيفية عملها.
المستوى الثالث: المواصفات التقنية — كيف سيتم بناء البرنامج؟
يشمل هذا المستوى بنية النظام، وقاعدة البيانات، والواجهة الأمامية، والخلفية البرمجية، وواجهات الربط، والأمان، والاستضافة، والاختبارات.
مثال:
"يجب تخزين جداول الصيانة وأوامر الصيانة في قاعدة بيانات مترابطة. ويجب التحقق من البيانات في الخادم، والتأكد من أن كل شركة لا تستطيع الوصول إلى بيانات الشركات الأخرى."
الفكرة الأساسية: أنت تحدد احتياجات العمل وسلوك المنتج المطلوب، ويمكنك الاستعانة بالذكاء الاصطناعي لاقتراح التصميم التقني، مع مراجعة القرارات المهمة قبل تنفيذها.
3. أهم أقسام المواصفات التي يحتاجها منتجك
لا تحتاج إلى كتابة وثيقة ضخمة منذ اليوم الأول. ابدأ بالأقسام التالية، ثم أضف التفاصيل حسب حجم المنتج وتعقيده.
1. وصف المنتج (Product Overview)
اشرح ما الذي تريد بناءه، ومن سيستخدمه، وما المشكلة التي يحلها.
يتضمن ذلك:
فكرة المنتج والهدف التجاري.
العملاء والمستخدمون المستهدفون.
المشكلات التي يعالجها المنتج.
الوظائف الأساسية.
ما سيتم تنفيذه في الإصدار الأول وما سيتم تأجيله.
مثال: بناء منصة SaaS متعددة الشركات لإدارة الأساطيل، تتيح لكل شركة إدارة سياراتها وصيانتها ووقودها ومصروفاتها وتقاريرها، مع ضمان عدم وصول أي شركة إلى بيانات شركة أخرى.
2. المستخدمون والصلاحيات (User Roles & Permissions)
حدد أنواع المستخدمين وما الذي يستطيع كل مستخدم فعله.
الدور
الصلاحيات الأساسية
مدير المنصة
إدارة الشركات المشتركة وتشغيل المنصة.
مالك الشركة
إدارة حساب الشركة والمستخدمين والاشتراك.
مدير الأسطول
إدارة السيارات والصيانة والمصروفات والتقارير.
الموظف
تنفيذ المهام التشغيلية المسموح بها.
مستخدم للعرض
الاطلاع على البيانات المسموح بها دون تعديلها.
لا يكفي تحديد أسماء الأدوار فقط. يجب توضيح من يستطيع إنشاء البيانات وتعديلها وحذفها، ومن يستطيع الاطلاع عليها، وما الإجراءات التي تحتاج إلى موافقة.
3. الوظائف والمتطلبات الوظيفية (Functional Requirements)
قسّم المنتج إلى ميزات مستقلة، وحدد لكل ميزة:
الهدف منها.
البيانات المطلوبة.
الإجراءات التي يستطيع المستخدم تنفيذها.
قواعد العمل التي يجب الالتزام بها.
النتيجة المتوقعة بعد كل إجراء.
الصلاحيات المطلوبة.
الحالات الاستثنائية والأخطاء المحتملة.
مثال: إدارة السيارات
يستطيع المستخدم إضافة سيارة وعرض بياناتها وتعديلها وأرشفتها.
تحتوي السيارة على رقم التسجيل، والشركة المصنعة، والموديل، وسنة الصنع، ورقم الهيكل، والحالة، وقراءة العداد.
يجب التحقق من الحقول المطلوبة قبل الحفظ.
يجب تطبيق قواعد واضحة لتفرد أرقام التسجيل.
لا يستطيع المستخدم الوصول إلى السيارات التابعة لشركة أخرى دون صلاحية مناسبة.
إذا فشل الحفظ، يجب عرض رسالة خطأ مفهومة.
4. مسارات العمل (User Workflows)
اشرح كيف ينتقل المستخدم من خطوة إلى أخرى، وكيف ترتبط الوظائف ببعضها.
على سبيل المثال، يمكن أن تسير عملية الصيانة كالتالي:
يكتشف النظام اقتراب موعد الصيانة.
يراجع مدير الأسطول بيانات السيارة وتفاصيل الصيانة.
ينشئ المدير أمر صيانة.
يسجل الموظف المختص الأعمال التي تم تنفيذها.
يحفظ النظام سجل الصيانة ويحدّث حالة السيارة.
تظهر البيانات المحدّثة في لوحة التحكم.
تساعد هذه الخطوات الذكاء الاصطناعي على فهم العلاقة بين الوظائف بدلًا من إنشاء شاشات لا تتصل ببعضها بصورة صحيحة.
5. البيانات وقاعدة البيانات (Database Requirements)
حدد المعلومات التي سيحتفظ بها النظام والعلاقات بينها.
في نظام إدارة الأساطيل، قد تشمل البيانات الأساسية:
الشركات.
المستخدمين والصلاحيات.
السيارات.
السائقين.
معاملات الوقود.
جداول الصيانة.
أوامر الصيانة.
المصروفات.
عمليات الفحص.
الإشعارات.
على سبيل المثال، يجب أن تكون كل سيارة مرتبطة بشركة محددة، وأن يرتبط كل أمر صيانة بالسيارة المعنية.
ليس مطلوبًا منك تصميم جميع جداول قاعدة البيانات بنفسك. يمكنك أن تطلب من الذكاء الاصطناعي اقتراح التصميم المناسب، ثم تراجع العلاقات والحقول الإلزامية وقواعد التحقق وطريقة حذف البيانات.
6. بنية النظام (System Architecture)
توضح بنية النظام الأجزاء الرئيسية للبرنامج وكيفية تواصلها.
يتكون منتج SaaS عادةً من:
Frontend: الشاشات التي يتعامل معها المستخدم.
Backend: المنطق البرمجي وقواعد العمل.
Database: المكان الذي تُخزَّن فيه البيانات.
APIs: الواجهات التي تسمح للأجزاء المختلفة بالتواصل.
Authentication: التحقق من هوية المستخدم.
Authorization: تحديد ما يُسمح للمستخدم بالوصول إليه أو تنفيذه.
Infrastructure: البيئة والخدمات اللازمة لتشغيل النظام.
Integrations: الربط مع الخدمات الخارجية، مثل الدفع الإلكتروني والخرائط والبريد الإلكتروني.
إذا كان المنتج يخدم عدة شركات، فيجب تصميم النظام من البداية بحيث يعزل بيانات كل شركة عن الأخرى.
اطلب من الذكاء الاصطناعي شرح البنية المقترحة بلغة بسيطة قبل البدء في تنفيذ النظام بالكامل.
7. الأمان وحماية البيانات (Security)
يجب تحديد متطلبات الأمان منذ بداية المشروع.
تشمل هذه المتطلبات:
تخزين كلمات المرور بطريقة آمنة واستعادة الحسابات.
تطبيق الصلاحيات على الخادم، وليس في الواجهة فقط.
الفصل بين بيانات العملاء.
التحقق من المدخلات والملفات المرفوعة.
حماية مفاتيح API وكلمات المرور والأسرار التقنية.
تسجيل العمليات المهمة عند الحاجة.
تحديد متطلبات النسخ الاحتياطي واستعادة البيانات.
وضع قواعد الاحتفاظ بالبيانات وحذفها.
على سبيل المثال، إخفاء سيارات شركة أخرى من الشاشة لا يكفي. يجب أيضًا منع المستخدم من استرجاع هذه السيارات عن طريق طلب مباشر إلى واجهة API.
8. متطلبات الواجهة وتجربة المستخدم (UI/UX)
اشرح كيف تريد أن يبدو التطبيق وكيف يجب أن يتفاعل معه المستخدم.
حدد:
التصميم العام والتنقل والألوان والخطوط.
العناصر المشتركة مثل النماذج والجداول.
البحث والفلاتر والنوافذ والإشعارات.
حالات التحميل وعدم وجود بيانات والنجاح والخطأ.
طريقة العرض على الكمبيوتر والهاتف.
دعم اللغة العربية واتجاه الكتابة من اليمين إلى اليسار عند الحاجة.
صور أو أمثلة مرجعية للتصميم المطلوب.
مهم: اكتمال تصميم الشاشة لا يعني اكتمال الوظيفة. يجب أن تعمل الأزرار فعليًا، وأن تحفظ النماذج البيانات الصحيحة، وأن تتصل الواجهة بالخدمات المطلوبة.
9. التكاملات وواجهات الربط (Integrations & APIs)
إذا كان المنتج يحتاج إلى خدمات خارجية، فحدد كيف سيتعامل معها.
لكل تكامل، وضّح:
اسم الخدمة والغرض منها.
البيانات التي سيتم تبادلها.
توقيت تنفيذ العملية.
متطلبات المصادقة والصلاحيات.
ما الذي يحدث إذا تعطلت الخدمة.
هل توجد حاجة إلى إعادة المحاولة أو التسجيل أو المعالجة اليدوية؟
مثلًا، يجب أن يتعامل تكامل الدفع مع حالات نجاح الدفع وفشله، والطلبات المكررة، ومطابقة حالة الدفع مع النظام.
10. الاختبارات ومعايير اكتمال الوظيفة (Testing & Definition of Done)
حدد كيف ستعرف أن الوظيفة أصبحت جاهزة بالفعل.
يمكن استخدام القائمة التالية:
الواجهة تعمل كما هو متوقع.
البيانات تُحفظ وتُسترجع بصورة صحيحة.
قواعد التحقق مطبقة.
الصلاحيات مفروضة بشكل صحيح.
الأخطاء تتم معالجتها بطريقة آمنة.
الاختبارات المطلوبة تم تنفيذها.
الوظائف الموجودة سابقًا ما زالت تعمل.
التوثيق تم تحديثه عند الحاجة.
اطلب من الذكاء الاصطناعي التمييز بين الاختبارات التي نجحت، والتي فشلت، والتي تعذر تنفيذها. لا تقبل منه الادعاء بأن النظام يعمل أو أن جميع الاختبارات نجحت دون تحقق فعلي.
4. كيف تكتب Prompt أفضل للذكاء الاصطناعي؟
تعتمد جودة النتيجة على وضوح تعليماتك، والسياق الذي تقدمه، وطريقة مراجعتك لما يتم تنفيذه.
اتبع الخطوات التالية:
الخطوة الأولى: اشرح المنتج.
حدد العملاء المستهدفين، والمشكلة التي تريد حلها، والهدف من المنتج.
الخطوة الثانية: حدد نطاق العمل.
وضح الوظائف المطلوبة في الإصدار الأول، وما سيتم تأجيله إلى مراحل لاحقة.
الخطوة الثالثة: اشرح مسارات العمل والقواعد.
حدد خطوات الاستخدام، والبيانات المطلوبة، والنتائج المتوقعة، وما يجب أن يحدث عند وجود مشكلة.
الخطوة الرابعة: اطلب تحديد النواقص.
قبل التنفيذ، اطلب من الذكاء الاصطناعي تحديد المعلومات الغامضة والافتراضات والمتطلبات الناقصة والمخاطر المحتملة.
الخطوة الخامسة: راجع التصميم المقترح.
اطلب شرح بنية النظام والعلاقات بين البيانات وآلية الأمان وخطة التنفيذ بلغة بسيطة.
الخطوة السادسة: نفّذ تدريجيًا.
ابدأ بالأساسيات، ثم نفّذ كل وظيفة على حدة، بدلًا من طلب إنشاء النظام بالكامل في أمر واحد.
الخطوة السابعة: اختبر النتيجة.
جرّب مسارات العمل الفعلية وتأكد من أن التنفيذ يطابق المواصفات.
يساعد هذا الأسلوب على اكتشاف الأخطاء مبكرًا وتقليل الحاجة إلى إعادة بناء أجزاء كبيرة من المنتج لاحقًا.
5. Prompt جاهز يمكنك استخدامه مع أي منتج
يمكنك نسخ التعليمات التالية وتعديل البيانات بين الأقواس بما يناسب فكرتك.
Prompt:
"أنت مهندس برمجيات خبير ومتخصص في تصميم الأنظمة. ساعدني على تحويل فكرتي التجارية إلى منتج برمجي حقيقي وجاهز للتشغيل.
معلومات المنتج
اسم المنتج: [اسم المنتج]
نوع المنتج: [SaaS أو CRM أو Marketplace أو منصة حجوزات وغيرها]
المستخدمون المستهدفون: [من سيستخدم المنتج]
المشكلة التي يحلها: [المشكلة]
الهدف الأساسي: [النتيجة التجارية المطلوبة]
المتطلبات الأساسية
حلّل فكرة المنتج وحدد المستخدمين والوظائف ومسارات العمل وقواعد العمل.
افصل بين متطلبات الإصدار الأول والتحسينات المستقبلية.
حدد أدوار المستخدمين وصلاحياتهم.
اشرح كل وظيفة، بما في ذلك البيانات المطلوبة والإجراءات وقواعد التحقق والنتائج والأخطاء المحتملة.
وضّح مسارات العمل والعلاقات بين الوظائف.
اقترح تصميم قاعدة البيانات واشرح العلاقات بين السجلات.
اقترح بنية مناسبة تشمل الواجهة الأمامية والخلفية وقاعدة البيانات وواجهات API والمصادقة والصلاحيات والأمان والنشر.
حدد متطلبات حماية البيانات والتسجيل والنسخ الاحتياطي ومعالجة الأخطاء والاختبارات.
حدد التكاملات الخارجية والاعتماديات الخاصة بها.
ضع معايير قبول واضحة لكل وظيفة أساسية.
قواعد العمل
اشرح المصطلحات التقنية بلغة بسيطة.
لا تخترع قواعد عمل مهمة دون توثيق الافتراضات.
حدد المعلومات الناقصة واطرح أسئلة محددة عندما تؤثر الإجابات في التصميم.
فضّل البنية الآمنة والقابلة للصيانة والتطوير على التعقيد غير الضروري.
لا تعتبر النموذج المرئي تطبيقًا مكتملًا.
نفّذ العمل على مراحل.
إذا كان هناك مشروع قائم، افحص الكود الحالي قبل تعديله.
نفّذ الاختبارات والفحوصات المتاحة، واذكر نتائجها الفعلية.
وضّح صراحةً أي شيء لم يتم التحقق منه.
المخرجات المطلوبة
ابدأ بإعداد وثيقة متطلبات المنتج (PRD)، والمواصفات الوظيفية، والتصميم المقترح لبنية النظام، وتصميم قاعدة البيانات، وخطة التنفيذ المرحلية.
اشرح التصميم المقترح وحدد القرارات التي لم تُحسم قبل البدء في التنفيذ.
بعد موافقتي على المتطلبات والبنية، ابدأ التنفيذ مرحلة بمرحلة، وتحقق من كل مرحلة قبل الانتقال إلى المرحلة التالية."
6. أخطاء شائعة عند بناء المنتجات باستخدام AI
الخطأ الأول: طلب بناء النظام بالكامل في أمر واحد
قد ينتج عن ذلك شاشات وكود لا يراعيان العلاقات بين الوظائف.
الحل: حدد النطاق، وراجع البنية، ثم نفّذ العمل على مراحل صغيرة ومترابطة.
الخطأ الثاني: التركيز على التصميم فقط
قد تبدو لوحة التحكم مكتملة بينما تعرض بيانات تجريبية أو تحتوي على أزرار لا تنفذ أي إجراء.
الحل: حدد مصدر البيانات، والمنطق البرمجي، وقواعد التحقق، والصلاحيات، ومعايير قبول كل وظيفة.
الخطأ الثالث: عدم تحديد قواعد العمل
في نظام الاشتراكات مثلًا، ماذا يحدث عندما يصل العميل إلى الحد المسموح به؟ وهل يمكن للمدير زيادة الحد؟ وماذا يحدث عند انتهاء الاشتراك؟
إذا لم تحدد هذه القواعد، فقد يتخذ الذكاء الاصطناعي قرارات لا تناسب نموذج عملك.
الحل: وثّق القواعد المهمة وحدد القرارات التي ما زالت تحتاج إلى حسم.
الخطأ الرابع: تأجيل تصميم البنية التقنية
قد تؤدي إضافة تعدد الشركات والصلاحيات والعلاقات المعقدة بعد نمو النظام إلى تغييرات كبيرة ومكلفة.
الحل: حدد المتطلبات الأساسية منذ البداية، خاصة الأمان وملكية البيانات وتصميم قاعدة البيانات وقابلية التطوير.
الخطأ الخامس: افتراض أن الكود الذي أنشأه AI صحيح
قد ينتج الذكاء الاصطناعي حسابات غير صحيحة أو صلاحيات غير آمنة أو تكاملات ناقصة أو كودًا لا يعمل في بيئة التشغيل المطلوبة.
الحل: اطلب اختبارات فعلية، وراجع منطق العمل الحساس، وتحقق من الوظائف الأساسية قبل إطلاق المنتج.
7. هل تحتاج إلى خلفية تقنية؟
لا. تحتاج إلى فهم المنتج الذي تريد بناءه، والمشكلة التي يحلها، وسلوك الوظائف المطلوبة، والأولويات التي يجب تنفيذها، وكيفية التأكد من أن النتيجة صحيحة.
يمكن للذكاء الاصطناعي مساعدتك في تحويل قراراتك إلى مواصفات تقنية وكود برمجي. ومع ذلك، تظل مراجعة مهندس متخصص مهمة عند التعامل مع البنية المعقدة، والأمان، والمدفوعات، والامتثال، والنشر الفعلي.
الهدف ليس أن تصبح مبرمجًا في وقت قصير، بل أن تصبح أكثر قدرة على توصيل متطلباتك وتقييم المنتج الذي يتم بناؤه.
الخلاصة
أصبح بناء البرمجيات باستخدام الذكاء الاصطناعي أسهل من أي وقت مضى، لكن ذلك لا يلغي الحاجة إلى متطلبات واضحة.
ابدأ بالمشكلة التجارية، ثم حوّلها إلى متطلبات وظيفية، وحدد الأساس التقني، ونفّذ المنتج تدريجيًا مع اختبار كل مرحلة.
فكرتك توضح للذكاء الاصطناعي ما تريد تحقيقه، والمواصفات توضح ما يجب أن يفعله المنتج، والاختبارات تؤكد ما إذا كانت النتيجة تعمل بالفعل.
لا تحتاج إلى كتابة كل سطر من الكود أو فهم كل التفاصيل التقنية. لكنك تحتاج إلى توفير السياق الصحيح، وطرح الأسئلة المناسبة، والتأكد من أن المنتج النهائي يحقق المتطلبات التي حددتها.