مقابلات
إيتامار فريدمان، الرئيس التنفيذي ومؤسس CodiumAI – سلسلة المقابلات

إيتامار فريدمان هو الرئيس التنفيذي ومؤسس CodiumAI. تركز Codium على جانب “سلامة الكود” من توليد الكود — توليد اختبارات آلية، وشرح الكود، ومراجعة الكود. وقد نشرت أبحاثًا حول توليد حلول كودية لتحديات البرمجة التنافسية التي تتفوق على Google DeepMind.
متى وكيف بدأت بالفعل في الاهتمام بالذكاء الاصطناعي؟
في عام 2009، عملت في Mellanox (Acq. من قبل NVIDIA (NVDA )) ودرست الهندسة الكهربائية. وأدركت أن العديد من عمليات التطوير المرهقة في Mellanox يمكن توفيرها بواسطة خوارزميات التعلم الآلي، لذلك غيرت تخصصي إلى التحسين والتعلم الآلي واكملت ماجستير في هذا المجال. وبحلول عام 2010، كنت أعمل بالفعل على مشروع تعلم sâu (بعمق 3 طبقات من الشبكات العصبية) ووضع الأسس لمواضيعي في Alibaba حيث قادت مجموعة بحثية متخصصة في البحث عن هندسة الشبكات العصبية، وتدريب النماذج، وإنشاء أدوات AutoML للمطورين. حول عام 2021، لم أكن خجولًا من تسمية عملنا ” الذكاء الاصطناعي”، حيث أصبحت النماذج اللغوية الكبيرة أدوات قوية، وازدادت مخيلتي لما يمكن تحقيقه معها.
ما كان مشروعك السابق، Visualead، الذي تم الاستحواذ عليه في النهاية من قبل مجموعة Alibaba؟ وما هي بعض النقاط الرئيسية التي استفدت منها من هذه التجربة؟
ركز Visualead على مسح الشعارات، والرموز التعبيرية، وكل ما بينهما، بما في ذلك تأمين المعلومات وإخفائها في الصور لتمكين المعاملات الآمنة بين الأشخاص والتفاعل. في Visualead، كنا نعمل على خوارزميات على أجهزة المحمول منذ عام 2012، بما في ذلك النماذج. كان من الصعب والخداع القيام بذلك في ذلك الوقت، واكتسبنا الكثير من المعرفة حول بناء نماذج كفؤة ومراقبة هذه الكائنات الإحصائية.
مازلت أستفيد من الدروس التي تعلمتها في ذلك الوقت في المشاريع الحالية التي أقوم بها – على سبيل المثال، عندما بنينا أداة توليد الحلول مفتوحة المصدر AlphaCodium قمنا بتقديم مفهوم هندسة التدفق وتطبيق هذا المفهوم لبناء تدفق لحماية نماذج LLM.
يمكنك مشاركة قصة ولادة CodiumAI؟
في Alibaba، رأيت بشكل مباشر كيف يمكن أن يؤدي خطأ في الكود إلى مشكلة تبلغ مليون دولار، والتحديات التي واجهها المطورون للحفاظ على توليد الكود دون التضحية بالجودة أو السلامة. مازالت هذه المشكلة مستمرة، واليوم يُعزى الكود ذو الجودة المنخفضة إلى مشكلة تبلغ تريليون دولار وتستمر في النمو.
يتخصص فريق CodiumAI في بناء أدوات مدعومة بالذكاء الاصطناعي على نطاق واسع، ويتحرك لتحديد نقاط الألم التي يواجهها المطورون. مع ولادة قدرات LLM والذكاء الاصطناعي الجديدة، أدركنا أن هذه هي فرصتنا لبناء منصة شاملة لسلامة الكود لمساعدة الفرق المزدحمة مثلنا في تقليل العيوب وتخفيف قضايا السلامة الأخرى. مع توليد المزيد والمزيد من الكود بواسطة الذكاء الاصطناعي، أصبحت مشكلة قياس هذا الكود وضمان عمله حسب النية مشكلة حاسمة وأصبحت نقطة ألم حاسمة التي كنا مدفوعين لحلها. بناء أدوات مدعومة بالذكاء الاصطناعي على نطاق واسع، وبالتالي القياس هو مفهوم أساسي بالنسبة لنا.
يمكنك وصف أنواع التحليل غير البسيط التي يقوم بها CodiumAI على الكود، وكيف يدعم المطورين في تحسين جودة الكود؟
حتى وقت قريب، لم تقدم الأدوات الحالية المتاحة للمطورين أي قيمة – ولكن مع وصول LLMs (ChatGPT، Copilot، إلخ) بدأت القدرات في تجاوز التوقعات، والدعم المتاح للمطورين لم يعد غير مهم.
يقدم وكلاء Codiumate التابع لشركة CodiumAI للمطورين أدوات فريدة لتحسين سير عملهم وتحسين توليد الكود. يبسّط وكلاء Codiumate عملية التطوير من خلال تقديم المساعدة الآلية في جميع مراحل مهمة البرمجة. باستخدام مقتطفات الكود الحالية التي يبرزها المطور البشري في بيئته، يمكن للوكيل صياغة خطة تطوير سهلة ومترابطة تلقائيًا، وكتابة الكود وفقًا لتلك الخطة، وتحديد الكود المكرر الذي قد يريد المطور استخدامه أو إزالته، وكتابة الوثائق، واقتراح الاختبارات لضمان عمل الكود بشكل صحيح قبل نشره في بيئة حية.
يقدم وكلاء Codiumate للمطورين تحليلًا سلوكيًا متعمقًا – إضاءة السلوكيات والفروع المحتملة التي يغطيها الكود قيد الاختبار. هذا يسمح للمطور بفحص الكود المتولد وإنشاء اختبارات تغطي جميع السلوكيات، وبالتالي تحسين الكود أكثر مما لو كان المطور قد أ考虑 جميع الحالات المحتملة بنفسه.
ما هي الوظائف المحددة التي يقدمها وكلاء PR لتحليل الطلبات الجديدة، وكيف يبسّط عملية المراجعة على منصات مثل GitHub وGitLab (GTLB ) ؟
يقدم وكلاء PR مجموعة من الوظائف المصممة لتعزيز وتبسيط عملية مراجعة الطلبات الجديدة والتحليل عبر مقدمي جيت المختلفين.
توليد وصف الطلبات الجديدة تلقائيًا يولد وصفًا شاملاً ومفصلاً للطلبات الجديدة. هذه الميزة تتعامل مع المشاكل الشائعة التي قد يتجاهل فيها المطورون وصفًا مفصلاً للطلبات الجديدة بسبب القيود الزمنية أو الإهمال. مع الوصف التلقائي، كل طلب مجهز سياقًا كافياً، مما يجعل من السهل على المراجعين فهم التغييرات دون الحاجة إلى فك شفرة الاختلافات بشكل مكثف. لقد بنينا أيضًا مراجعة الطلبات الجديدة تلقائيًا لتقديم نظرة شاملة للمطورين على الطلب، مما يسمح لهم بتحديد المشاكل المحتملة مثل الأخطاء أو الثغرات الأمنية أو روائح الكود بشكل استباقي. يسمح هذا الرأي الاستباقي للمطورين بإجراء التصحيحات قبل عملية المراجعة، وبالتالي تحسين جودة الكود الذي يصل إلى المراجعين.
باستخدام الذكاء الاصطناعي، يمكن اقتراح تحسينات أو تنفيذ بديل مباشرة داخل واجهة الطلب الجديدة. يمكن أن تكون هذه الاقتراحات تحسينات أو اتباع معايير الترميز أو حتى تحسينات معمارية، مما يساعد على تعزيز جودة قاعدة الكود بشكل متزايد.
يدعم وكلاء PR خيارات عديدة لتخصيص الأوامر التي يقدمونها. واحدة من أكثر الخيارات المفيدة هي استخدام التسميات المخصصة لتعزيز تنظيم وإدارة الطلبات الجديدة على منصات مثل GitHub وGitLab. تساهم هذه الوظيفة في الكفاءة التشغيلية ووضوح عمليات التطوير والمراجعة.
كيف يولد CodiumAI اختبارات ذات معنى، وما الذي يجعل هذه الاختبارات أكثر فاعلية من الاختبارات الوحدوية القياسية؟
نحسن من توليد الاختبارات من خلال مسح مخازن الكود للقطع ذات الصلة المتعلقة بالكود قيد الاختبار. باستخدام سلسلة الأفكار لتحديد جميع السلوكيات المحتملة للكود، بما في ذلك المسارات العادية والحالات الحدية، نستخدم نهجًا لاستدعاء السياق الخاص باللغة، ومؤشرات مخصصة مخصصة لكل لغة برمجة، مع دمج معرفة الخبراء في مجال اللغة لضمان أن الاختبارات تتوافق مع المعايير الصناعية. بالإضافة إلى ذلك، نقوم بتهيئة بيئات تشغيل محددة لهذه اللغات، مما يعزز من قدرة أدواتنا على الكشف عن الأخطاء وتوليد اختبارات ذاتية التعافي. هذه القدرات تجعل اختبارات CodiumAI أكثر شمولاً من الاختبارات الوحدوية القياسية، والتي غالبًا ما تفوت السلوكيات غير المقصودة بسبب التحيزات الذاتية للمطورين وقيود التوقع لجميع السيناريوهات. هذا يؤدي إلى اختبارات ليست فقط شاملة ولكن أيضًا أكثر فعالية في الكشف عن الأخطاء الدقيقة والحالات الحدية.
استنادًا إلى ملاحظات المستخدمين، ما هي الميزات الأكثر تقييمًا في CodiumAI، وكيف أثرت هذه الميزات على إنتاجية المطورين؟
استنادًا إلى ملاحظات المستخدمين التي تلقيناها، نرى أن ميزتي /ask مع سياق الكتلة و /توليد الاختبار لوكيل Codiumate يتم تقييمهما بشكل كبير ويعززان سير عمل المطور.
باستخدام /ask مع سياق الكتلة (انظر الوثائق هنا: /ask) يمكن للمطورين طرح أسئلة مفتوحة حول كودهم، أو طلب تحسينات أو مراجعات خلال جلسة محادثة مجانية. هذه الميزة مفيدة بشكل خاص لاكتساب فهم أعمق للقاعدة الكودية، حيث يحتفظ النموذج بالسياق الكامل للمشروع، مما يسمح له بالتأكد من الأسئلة المفصلة والمحددة.
أداة /توليد الاختبار (انظر الوثائق هنا: /test) تسمح للمطورين بتوليد مجموعات اختبارات شاملة لкодهم بكل بساطة. استكشاف سلوك الكود، وتحديد الأخطاء وحلها بسرعة، وتوسيع تغطية الكود بسرعة هو مورد هام للإنتاجية.
وظيفة وكيل PR /مراجعة (انظر الوثائق هنا – /review) يفحص تغييرات الكود في الطلبات الجديدة ويولد تلقائيًا مراجعة للطلب الجديدة لاكتشاف المشاكل قبل أن يرسل المطورون إلى الإنتاج. وظيفة /وصف (انظر الوثائق هنا – /describe) يفحص تغييرات الكود في الطلبات الجديدة ويولد وصفًا للطلب – العنوان، النوع، الملخص، المسار، والوسوم، مما يوفر للمطورين وقتًا وطاقة يمكنهم توجيهها إلى مهام أكثر تحديًا أو إبداعية.
كيف يحدد CodiumAI الحالات الحدية والسلوكيات المشبوهة في الكود؟
أدواتنا تفتش مخزن المطور للقطع ذات الصلة المتعلقة بالكود قيد الاختبار، وبتحديد سلسلة الأفكار، نحدد جميع السلوكيات المحتملة للكود ونعرضها على المطور. يمكن لـ CodiumAI تحديد السلوكيات المشبوهة مباشرة (بغض النظر عن توليد الاختبارات)، من خلال تحديد الاختلافات أو الانconsistencies بين قطع الكود المختلفة، أو بين قطع الكود والوثائق المرافقة.
يدعم CodiumAI لغات برمجة رئيسية؛ هل يمكنك توضيح كيف يتعامل مع دقة اللغة في تحليل الكود وتوليد الاختبارات؟
للغات البرمجة الرئيسية، يتجاوز منصتنا الدعم الأساسي من خلال تنفيذ تقنيات متخصصة. تشمل هذه التقنيات استدعاء السياق الخاص باللغة، ومؤشرات مخصصة مخصصة لكل لغة برمجة، مع دمج معرفة الخبراء في مجال اللغة لتحقيق نتائج على مستوى الصناعة. بالإضافة إلى ذلك، نقدم قدرات لتهيئة بيئة تشغيل محددة لهذه اللغات، مما يعزز من قدرة أدواتنا على الكشف عن الأخطاء وتوليد اختبارات ذاتية التعافي.
لغات أقل شيوعًا، نستفيد من نماذج اللغة الكبيرة (LLMs) التي تفهم بشكل طبيعي لغات برمجة متعددة. يتم补 هذا بواسطة بنيتنا العامة للسياق ونظام التوجيه التكيفي، الذي يسهمان معًا في دقة تحليل الكود وتوليد الاختبارات في بيئات برمجة متنوعة. من خلال اتباع نهج من مستويين، يمكننا ضمان الدعم الشامل بغض النظر عن لغة البرمجة المستخدمة.
ما هي التحسينات المستقبلية المخطط لها لـ CodiumAI لدعم وتسهيل مهام المطورين بشكل أكبر؟
تركز استراتيجية التطوير المستقبلية لـ CodiumAI على تعزيز مجموعة الأدوات المدعومة بالذكاء الاصطناعي لتكاملها بشكل متساوٍ عبر جميع مراحل دورة حياة التطوير البرمجي. من خلال تطبيق مبادئ هندسة التدفق المتقدمة لتبسيط وتسهيل سير عمل المطورين، سيقدم وكلاؤنا قيمة كبيرة عبر مراحل التطوير المختلفة. بالإضافة إلى ذلك، يلتزم CodiumAI بضمان أن تتفوق هذه الأدوات في التعامل مع سيناريوهات الكود والنصوص الحقيقية المعقدة، مما يجعلها لا غنى عنها في مهام البرمجة اليومية. هذا النهج الشامل يهدف إلى رفع عطاءنا كأداة قوية ومتكررة الاستخدام للمطورين، مما يعزز الإنتاجية والكفاءة في عملية التطوير البرمجي.
شكرًا على المقابلة الرائعة، يرجى زيارة CodiumAI لمعرفة المزيد.












