تريد AWS أن يصبح Amazon Q صديقًا لك طوال دورة حياة تطوير البرامج بأكملها
في مؤتمرها re:Invent، أعلنت AWS يوم الثلاثاء عن سلسلة من التحديثات لـ Q Developer، منصة مساعد البرمجة الخاصة بها والتي تتنافس مع أمثال GitHub Copilot. ينصب التركيز هنا على تجاوز إكمال التعليمات البرمجية ومساعدة المطورين في نطاق أوسع من المهام الروتينية المشاركة في دورة حياة البرنامج الشاملة.
تعد الخدمة، التي قد تتذكرها تحت اسمها السابق “CodeWhisperer”، جزءًا من منصة الذكاء الاصطناعي الشاملة Amazon Q geneative AI الخاصة بـ AWS، والتي تتضمن أيضًا Q Business (والتي تحصل أيضًا على عدد كبير من التحديثات اليوم).
“ما يحتاجه المطورون هو أنهم يريدون أن يكون Q هو الصديق لحل بعض المهام الثقيلة غير المتمايزة حتى يتمكنوا بالفعل من الحصول على مزيد من الحرية في الابتكار،” أخبرني سواميناثان “سوامي” سيفاسوبرامانيان، نائب رئيس قسم الذكاء الاصطناعي والبيانات في AWS . “لهذا السبب يعد وجود مساعد – أو صديق – يساعدهم على القيام بالأشياء بشكل أسرع وأكثر انسيابية، أمرًا مهمًا للغاية، ولهذا السبب نركز عليه بشكل كبير.”
إدارة دورة حياة البرنامج من البداية إلى النهاية
أخبرني سيفاسوبرامانيان أنه يعتقد أن ما يميز Q Developer عن المنصات المنافسة هو تركيزها على دورة حياة تطوير البرمجيات بأكملها. ويعني ذلك حتى الآن مساعدة المطورين في استكشاف المشكلات وإصلاحها وتنفيذ مهام متعددة الخطوات لإصلاحها (أو إنشاء تطبيقات جديدة تمامًا)، بالإضافة إلى فحص التعليمات البرمجية بحثًا عن الثغرات الأمنية.
في re:Invent، تأخذ الشركة هذه الخطوة إلى الأمام. يمكن لـ Q الآن، على سبيل المثال، إنشاء اختبارات الوحدة تلقائيًا. ولكن ربما الأهم من ذلك هو أنه يمكنه الآن القيام بالشيء الوحيد الذي يكرهه العديد من المطورين أكثر من غيره: كتابة الوثائق الخاصة بهذا الكود والحفاظ عليها. لإكمال هذه الدورة، يستطيع Q الآن إنشاء أول مراجعة للكود عندما يقوم المطورون بالتحقق من الكود الخاص بهم.
قال سيفاسوبرامانيان: “في أمازون، لدينا هذه القاعدة التي تنص على أنه لا يتم التحقق من أي كود دون مراجعة الكود”. “لذا، إذا لم تقم بمراجعة الكود، فلن تتمكن من التحقق من الكود. ولكن ليس لدى العديد من الشركات في الواقع ما يكفي من كبار المهندسين للمراجعة أو يقول كبير المهندسين: “لا أستطيع التعامل مع هذا العدد الكبير من المراجعات”. هل يمكن لأحد أن يراجعها أولاً قبل أن نفعل ذلك؟». ستعمل Q على تبسيط عملية مراجعة التعليمات البرمجية من خلال كونها السطر الأول من المراجعين وتهتم بالتحقق تلقائيًا من جودة التعليمات البرمجية والثغرات الأمنية وما إلى ذلك.
بعد ذلك، بمجرد أن يتم إنتاج الكود، يمكن لوكيل العمليات الجديد لـ Q الآن سحب البيانات تلقائيًا من AWS CloudWatch، خدمة المراقبة الخاصة بالشركة، والبدء فورًا في التحقيق عند انطلاق الإنذار. “إنه يستخدم [knowledge it has about an] موارد AWS الخاصة بالمؤسسة ثم تقوم بغربلة مئات نقاط البيانات عبر الموارد المختلفة الموجودة في CloudWatch. وأوضح سيفاسوبرامانيان أنه بعد تحليله، يأتي Q بفرضية محتملة للسبب الجذري ثم يرشد المستخدمين إلى كيفية إصلاحه.
كل ما أردته في عيد الميلاد هو المساعدة في عمليات ترحيل Cobol و.NET، أليس كذلك؟
بالنسبة للمؤسسات التي لديها قواعد تعليمات برمجية قديمة، غالبًا ما يتضمن الانتقال إلى السحابة إعادة كتابة الكثير من التعليمات البرمجية الموجودة لديها. كانت إحدى الميزات المميزة الأولى لـ Amazon Q Developer هي وكيلها لتحويل التعليمات البرمجية. في ذلك الوقت، كان تركيز هذا الوكيل على تحديث تطبيقات Java القديمة. واليوم، يقوم الفريق بتوسيع هذا من خلال مساعدة المطورين أيضًا على تحديث تطبيقاتهم القديمة المستندة إلى .NET من Windows إلى Linux.
وعلى الرغم من أن هذا قد يبدو في البداية أمرًا مثيرًا للفضول، إلا أن AWS تطلق أيضًا وكيلًا لتحديث تطبيقات COBOL المركزية. لا تزال الكثير من المؤسسات الكبيرة تعتمد على هذا الكود القديم، والذي يعرف القليل من المطورين كيفية العمل معه اليوم. وشدد سيفاسوبرامانيان على أن هذه عمليات هجرات معقدة للغاية، وبالتالي فإن الهدف هنا ليس مجرد ترجمة الكود الحالي 1:1.
وقال: “إن هدفنا ليس في الواقع مجرد الإعجاب بمشروع COBOL بالكامل وإخراجه من الكود”. “الحقيقة هي أن هذه المشاريع معقدة للغاية بطبيعتها. يجب أن يكون لديك إنسان في الحلقة للاستفادة منها، ولكنني سمعت عملاء يقولون: “مرحبًا، هذا يستغرق عدة سنوات وقد أخبرنا العملاء صراحةً أن هذا سيغير قواعد اللعبة وسيسقط هذا الجدول الزمني بشكل كبير.”
أشار سيفاسوبرامانيان إلى أنه على الرغم من وجود كود COBOL أقل لتدريب النماذج على أتمتة ترحيل التعليمات البرمجية، فقد تمكن الفريق من الاستفادة من خبرة AWS الشاملة في تحديث تطبيقات الحواسيب المركزية، بالإضافة إلى الأساليب التقليدية لترجمة التعليمات البرمجية.
وقال: “يمكن القول إن نقل التعليمات البرمجية من لغة إلى أخرى هو الجزء السهل”. “لكن الجزء الأصعب هو: كيف تعرف أنك قمت بالأمر بشكل صحيح؟ وكيف تعرف حتى ما يفعله الكود؟ ومن ثم التحدي في هذه [codebases] هو أنها عادة ما تكون سيئة التوثيق وأن التبعيات ليست مفهومة جيدًا. لذا فإن ما قمنا ببنائه هو حقًا مبتكر للغاية، و [the system] يفهم أيضًا، على مستوى المشروع، ما هي أهداف كل وحدة من الوحدات، ثم يخطط وينشئ جدولًا زمنيًا لتخطيط الترحيل لإنشاء الكود فعليًا، ثم إنشاء الاختبار – وإحضار البشر إلى الحلقة ليروا كيف يمكنك التحقق من صحة ذلك.”
اكتشاف المزيد من مجلة كوكان
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.