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

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

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

إيجاد مبرمجين لديهم قدرة عالية على تطبيق متطلبات المؤسسات بشكل دقيق، وكتابة برامج تعمل دون مشاكل تقنية، يعد أحد التحديات التي تواجه الكيانات التجارية والحكومية، وهو ما جعل التكاليف المادية والزمنية للحصول على برمجيات خاصة عالية جداً، وهذا التحدي هو ما دفع عددا من المراكز البحثية حول العالم لإيجاد وسائل للتخفيف من تلك الأعباء، ومن أحدث هذه المحاولات، ما قام به البروفيسور دان كلاين (Dan Klein) مع فريق بحث بجامعة كاليفورنيا بيركلي (University of California, Berkeley)، حيث قام الفريق البحثي، بالعمل على نظام ذكاء اصطناعي يمكنه القيام بعملية البرمجة بشكل آلي، وبعبارة أخرى، فقد قام الفريق البحثي ببرمجة الكمبيوتر ليقوم ببرمجة الكمبيوتر.

ولكي يكون الحديث أكثر مصداقية، فإن الخوارزمية التي عمل عليها الفريق البحثي، ما زالت في حاجة إلى البشر لكي يقوموا بتحديد خواص البرنامج المراد عمله، وذلك بكتابة الخطوات البرمجية التي يلزم تنفيذها، ولكن لا يتطلب هذا الإلمام بلغة برمجة محددة، بل يمكن كتابتها بأسلوب مقارب للكود البرمجي وهو ما يطلق عليه سودوكود (pseudocode)، وهو عبارة عن وصف دقيق لكيفية عمل برنامج ما، ولكن بلغة أقرب لما يستخدمه البشر في حياتهم اليومية، ومن ثم تقوم الخوارزمية التي تم تطويرها بجامعة كاليفورنيا بيركلي، بتحويل ذلك السودوكود، إلى كود برمجي حقيقي، بإحدى لغات البرمجة المعروفة كلغة الجافا (Java) أو البايثون (Python).