เชื่อมต่อกับเรา

บทสัมภาษณ์

Itamar Friedman ซีอีโอและผู้ร่วมก่อตั้ง CodiumAI – ซีรี่ส์สัมภาษณ์

mm

การตีพิมพ์

 on

อิตามาร์ ฟรีดแมน เป็นซีอีโอและผู้ร่วมก่อตั้ง โคเดียมAI- Codium มุ่งเน้นไปที่ด้าน “ความสมบูรณ์ของโค้ด” ของการสร้างโค้ด — การสร้างการทดสอบอัตโนมัติ คำอธิบายโค้ด และการทบทวน พวกเขาได้เผยแพร่งานวิจัยเกี่ยวกับการสร้างโซลูชันโค้ดสำหรับความท้าทายด้านการเขียนโปรแกรมที่แข่งขันได้ซึ่งมีประสิทธิภาพเหนือกว่า Google DeepMind

คุณเริ่มสนใจ AI เมื่อไหร่และอย่างไร?

ในปี 2009 ฉันทำงานที่ Mellanox (Acq. โดย NVIDIA) และเรียนวิศวกรรมไฟฟ้า เมื่อตระหนักว่ากระบวนการพัฒนาที่น่าเบื่อหลายๆ กระบวนการใน Mellanox สามารถทำให้เป็นอัตโนมัติได้ด้วยอัลกอริธึมการเรียนรู้ของเครื่อง ฉันจึงเปลี่ยนสาขาวิชาเอกเป็นการเพิ่มประสิทธิภาพและการเรียนรู้ของเครื่อง และจบปริญญาโทสาขานี้ ภายในปี 2010 ฉันกำลังทำงานในโครงการการเรียนรู้เชิงลึก (ด้วยโครงข่ายประสาทเทียมเชิงลึก 3 ชั้น) ซึ่งวางรากฐานสำหรับช่วงเวลาของฉันที่ Alibaba ซึ่งฉันได้เป็นผู้นำกลุ่มวิจัยที่เชี่ยวชาญด้านการค้นหาสถาปัตยกรรมประสาท โมเดลการฝึกอบรม และการสร้างเครื่องมือ AutoML สำหรับนักพัฒนา ประมาณปี 2021 ฉันไม่ละอายที่จะเรียกงานของเราว่า "AI" เนื่องจากโมเดลภาษาขนาดใหญ่กลายเป็นเครื่องมืออันทรงพลัง และจินตนาการของฉันเกี่ยวกับสิ่งที่สามารถทำได้ด้วยโมเดลเหล่านั้นก็เพิ่มมากขึ้น

ในที่สุดบริษัทสตาร์ทอัพที่เน้นด้านคอมพิวเตอร์วิทัศน์ก่อนหน้านี้ของคุณก็ถูกซื้อกิจการโดย Alibaba Group ในที่สุด สตาร์ทอัพนี้คืออะไร และสิ่งที่คุณได้รับจากประสบการณ์นี้คืออะไร

Visualead เชี่ยวชาญในการสแกนโลโก้ รหัส QR และทุกสิ่งที่เกี่ยวข้อง รวมถึงการรักษาความปลอดภัยและการซ่อนข้อมูลในภาพเพื่อให้สามารถทำธุรกรรม P2P และการมีส่วนร่วมได้อย่างปลอดภัย ที่ Visualead เราใช้อัลกอริทึมบนอุปกรณ์เคลื่อนที่มาตั้งแต่ปี 2012 รวมถึงรุ่นต่างๆ ด้วย การทำเช่นนั้นในสมัยนั้นเป็นเรื่องที่ท้าทายและยุ่งยาก และเราได้เรียนรู้มากมายเกี่ยวกับการสร้างแบบจำลองและราวกั้นที่มีประสิทธิภาพรอบๆ สิ่งมีชีวิตทางสถิติเหล่านี้

จนถึงทุกวันนี้ ฉันยังคงนำบทเรียนที่ได้เรียนรู้จากเวลานั้นมาใช้กับโครงการปัจจุบันที่ฉันดำเนินการ เช่น เมื่อเราสร้างเครื่องมือสร้างโซลูชันแบบโอเพ่นซอร์ส อัลฟ่าโซเดียม เราได้แนะนำแนวคิดของ Flow Engineering และใช้แนวคิดนี้เพื่อสร้างโฟลว์ไปยังเอาท์พุตแบบจำลอง LLM ของ Guardrail

คุณช่วยแบ่งปันเรื่องราวต้นกำเนิดเบื้องหลังการเปิดตัว CodiumAI ได้ไหม

ที่ Alibaba ฉันได้เห็นโดยตรงว่าจุดบกพร่องในโค้ดสามารถนำไปสู่ปัญหามูลค่าหลายล้านดอลลาร์ได้อย่างไร และความท้าทายที่นักพัฒนาต้องเผชิญเพื่อให้ทันกับการสร้างโค้ดโดยไม่กระทบต่อคุณภาพหรือความสมบูรณ์ ปัญหานี้ยังคงมีอยู่ และในปัจจุบันโค้ดคุณภาพต่ำเป็นสาเหตุของปัญหามูลค่านับล้านล้านดอลลาร์ที่ยังคงเติบโตอย่างต่อเนื่อง

ทีมงานที่ CodiumAI เชี่ยวชาญในการสร้างเครื่องมือที่ขับเคลื่อนด้วย AI ในวงกว้าง และได้รับการผลักดันให้จัดการกับปัญหาที่นักพัฒนาต้องเผชิญ ด้วยการกำเนิดของความสามารถ LLM และ AI ใหม่ เราเข้าใจว่านี่คือโอกาสของเราในการสร้างแพลตฟอร์มความสมบูรณ์ของโค้ดแบบองค์รวม เพื่อช่วยให้ทีมที่มีงานยุ่งเช่นเราลดจุดบกพร่องและบรรเทาปัญหาด้านความสมบูรณ์อื่นๆ เมื่อ AI สร้างโค้ดมากขึ้นเรื่อยๆ ปัญหาในการเปรียบเทียบโค้ดนี้และทำให้แน่ใจว่าโค้ดทำงานตามที่ตั้งใจไว้ก็กลายเป็นปัญหาที่สำคัญและเป็นประเด็นที่เราถูกผลักดันให้แก้ไข การสร้างเครื่องมือที่เสริมศักยภาพด้วย AI ในวงกว้าง ดังนั้นการเปรียบเทียบจึงเป็นแนวคิดที่สำคัญสำหรับเรา

ในฐานะกลุ่มนักพัฒนาที่มีประสบการณ์ เราเข้าใจดี การจัดการกับงานที่น่าเบื่อ เช่น การทดสอบและการตรวจสอบโค้ดอาจเป็นเรื่องน่าหงุดหงิด เรามีความมุ่งมั่นอย่างมากในการช่วยให้ทีมที่มีงานยุ่งสามารถเพิ่มและจัดการความสมบูรณ์ของโค้ดได้ในที่สุด

คุณช่วยอธิบายได้ไหมว่า CodiumAI วิเคราะห์แบบไม่สำคัญประเภทใดที่ทำงานกับโค้ด และสิ่งนี้สนับสนุนนักพัฒนาในการปรับปรุงคุณภาพโค้ดได้อย่างไร

จนกระทั่งเมื่อไม่นานมานี้ เครื่องมือที่มีอยู่สำหรับนักพัฒนาให้คุณค่าเพียงเล็กน้อย แต่ด้วยการมาถึงของความสามารถของ LLM (ChatGPT, Copilot ฯลฯ) เริ่มเกินความคาดหมาย และการสนับสนุนสำหรับนักพัฒนาก็ไม่ใช่เรื่องเล็กน้อยอีกต่อไป

Codiumate Coding-Agent ที่พัฒนาโดย CodiumAI นำเสนอเครื่องมือเฉพาะสำหรับนักพัฒนาเพื่อปรับปรุงเวิร์กโฟลว์และปรับปรุงการสร้างโค้ด Codiumate เพิ่มความคล่องตัวให้กับกระบวนการพัฒนาด้วยการให้ความช่วยเหลืออัตโนมัติตลอดทั้งงานเขียนโค้ด การใช้ตัวอย่างโค้ดที่มีอยู่ซึ่งนักพัฒนาที่เป็นมนุษย์ไฮไลต์ในสภาพแวดล้อมของตน ทำให้ตัวแทนสามารถร่างแผนการพัฒนาที่ปฏิบัติตามได้ง่ายและสอดคล้องกันโดยอัตโนมัติ เขียนโค้ดตามแผนนั้น ระบุโค้ดที่ซ้ำกันซึ่งนักพัฒนาอาจต้องการใช้หรือลบ ร่างเอกสาร และแนะนำการทดสอบเพื่อให้แน่ใจว่าโค้ดทำงานอย่างถูกต้องก่อนที่จะปรับใช้ในสภาพแวดล้อมจริง

Codiumate ช่วยให้นักพัฒนาได้รับการวิเคราะห์พฤติกรรมเชิงลึก โดยให้ความกระจ่างถึงพฤติกรรมที่เป็นไปได้และสาขาต่างๆ ของโค้ดที่อยู่ระหว่างการทดสอบ สิ่งนี้ช่วยให้นักพัฒนาสามารถตรวจสอบโค้ดที่สร้างขึ้นและสร้างการทดสอบที่ (สาขา) ครอบคลุมพฤติกรรมทั้งหมด ดังนั้นการปรับปรุงโค้ดมากกว่าการที่นักพัฒนาได้พิจารณากรณีที่เป็นไปได้ทั้งหมดด้วยตัวเอง

PR-Agent มีฟังก์ชันเฉพาะอะไรบ้างสำหรับการวิเคราะห์คำขอดึง และจะปรับปรุงกระบวนการตรวจสอบบนแพลตฟอร์ม เช่น GitHub และ GitLab ได้อย่างไร

PR-Agent นำเสนอฟังก์ชันการทำงานที่หลากหลายที่ออกแบบมาเพื่อปรับปรุงและปรับปรุงกระบวนการวิเคราะห์คำขอดึง (PR) และการตรวจสอบระหว่างผู้ให้บริการ git ต่างๆ

การสร้างคำอธิบาย PR อัตโนมัติจะสร้างคำอธิบายที่ครอบคลุมและมีรายละเอียดสำหรับคำขอดึงข้อมูลโดยอัตโนมัติ ฟีเจอร์นี้จัดการปัญหาทั่วไปที่นักพัฒนาอาจข้ามคำอธิบาย PR โดยละเอียดเนื่องจากการจำกัดเวลาหรือการกำกับดูแล ด้วยคำอธิบายอัตโนมัติ PR ทุกรายการจะมีบริบทที่เพียงพอ ทำให้ผู้ตรวจสอบเข้าใจการเปลี่ยนแปลงได้ง่ายขึ้นโดยไม่จำเป็นต้องถอดรหัสรหัสที่ต่างกันอย่างกว้างขวาง นอกจากนี้เรายังสร้างการตรวจสอบ PR อัตโนมัติเพื่อให้นักพัฒนาเห็นภาพรวมที่ครอบคลุมของ PR ซึ่งทำให้พวกเขามองเห็นปัญหาที่อาจเกิดขึ้น เช่น จุดบกพร่อง ช่องโหว่ด้านความปลอดภัย หรือกลิ่นโค้ดในเชิงรุก ข้อเสนอแนะล่วงหน้านี้ช่วยให้นักพัฒนาทำการแก้ไขก่อนกระบวนการตรวจสอบ ซึ่งจะเป็นการปรับปรุงคุณภาพของโค้ดที่เข้าถึงผู้ตรวจสอบ

การใช้ประโยชน์จาก AI การแนะนำโค้ดอัตโนมัติยังสามารถแนะนำการปรับปรุงหรือการใช้งานทางเลือกได้โดยตรงภายในอินเทอร์เฟซ PR คำแนะนำเหล่านี้อาจเป็นการปรับให้เหมาะสม การยึดมั่นในมาตรฐานการเข้ารหัส หรือแม้แต่การปรับปรุงสถาปัตยกรรม ซึ่งช่วยยกระดับคุณภาพของฐานโค้ดทีละน้อย

PR-Agent รองรับตัวเลือกมากมายสำหรับการปรับแต่งคำสั่งที่นำเสนอ หนึ่งในตัวเลือกการปรับแต่งที่เป็นประโยชน์มากที่สุดคือการใช้ป้ายกำกับที่กำหนดเองเพื่อปรับปรุงองค์กรและการจัดการคำขอดึงข้อมูลบนแพลตฟอร์ม เช่น GitHub และ GitLab ฟังก์ชันนี้มีส่วนช่วยในเรื่องประสิทธิภาพการดำเนินงานและความชัดเจนของกระบวนการพัฒนาและการตรวจสอบ

CodiumAI สร้างการทดสอบที่มีความหมายอย่างไร และอะไรทำให้การทดสอบเหล่านี้มีประสิทธิภาพมากกว่าการทดสอบหน่วยมาตรฐาน

เราปรับปรุงการสร้างการทดสอบโดยการสแกนที่เก็บโค้ดเพื่อหาส่วนย่อยที่เกี่ยวข้องที่เกี่ยวข้องกับโค้ดที่กำลังทดสอบ การใช้การแจ้งแบบลูกโซ่ทางความคิดเพื่อแมปพฤติกรรมโค้ดที่เป็นไปได้ทั้งหมด รวมถึงเส้นทางทั่วไปและกรณี Edge แนวทางของเราใช้การดึงข้อมูลเฉพาะบริบทและพร้อมท์ที่ปรับแต่งให้เหมาะกับภาษาการเขียนโปรแกรมที่แตกต่างกัน ฝังความรู้ของผู้เชี่ยวชาญเพื่อให้แน่ใจว่าการทดสอบเป็นไปตามมาตรฐานอุตสาหกรรม นอกจากนี้ CodiumAI ยังตั้งค่าสภาพแวดล้อมรันไทม์เฉพาะเพื่อตรวจจับจุดบกพร่องและสร้างการทดสอบการรักษาตนเองได้ดียิ่งขึ้น ความสามารถเหล่านี้ทำให้การทดสอบที่สร้างโดย CodiumAI ครอบคลุมมากกว่าการทดสอบหน่วยมาตรฐาน ซึ่งมักจะพลาดพฤติกรรมที่ไม่ได้ตั้งใจอันเนื่องมาจากอคติโดยธรรมชาติของนักพัฒนาและข้อจำกัดในการคาดการณ์สถานการณ์ที่เป็นไปได้ทั้งหมด ซึ่งส่งผลให้เกิดการทดสอบที่ไม่เพียงแต่ละเอียดถี่ถ้วนเท่านั้น แต่ยังมีประสิทธิภาพมากขึ้นในการเปิดเผยข้อบกพร่องเล็กๆ น้อยๆ และกรณีขอบอีกด้วย

จากความคิดเห็นของผู้ใช้ อะไรคือฟีเจอร์ที่มีคุณค่าที่สุดของ CodiumAI และฟีเจอร์เหล่านี้ส่งผลต่อประสิทธิภาพการทำงานของนักพัฒนาอย่างไร

จากความคิดเห็นของผู้ใช้ที่เราได้รับ เราพบว่า /ถามด้วยบริบทบล็อกโค้ด และ /ทดสอบการสร้าง คุณสมบัติของสาร Codiumate เป็นที่ต้องการอย่างมากและปรับปรุงขั้นตอนการทำงานของนักพัฒนา

กับ /ถามด้วยบริบทบล็อกโค้ด (ดูเอกสารที่นี่: /ถาม) นักพัฒนาสามารถถามคำถามปลายเปิดเกี่ยวกับโค้ดของตน หรือขอการปรับปรุงโค้ดหรือตรวจสอบในระหว่างเซสชันแชทฟรี คุณลักษณะนี้มีประโยชน์อย่างยิ่งในการทำความเข้าใจโค้ดเบสให้ลึกซึ้งยิ่งขึ้น เนื่องจากโมเดลยังคงรักษาบริบททั้งหมดของโปรเจ็กต์ ทำให้สามารถตอบคำถามที่มีรายละเอียดสูงและเฉพาะเจาะจงได้

พื้นที่ /ทดสอบการสร้าง (ดูเอกสารที่นี่: /ทดสอบ) ช่วยให้นักพัฒนาสามารถสร้างชุดทดสอบที่ครอบคลุมสำหรับโค้ดของตนได้ในคลิกเดียว การสำรวจพฤติกรรมของโค้ด การระบุและแก้ไขจุดบกพร่องอย่างทันท่วงที และการขยายความครอบคลุมของโค้ดอย่างรวดเร็วถือเป็นทรัพย์สินมหาศาลต่อประสิทธิภาพการทำงาน

ตัวแทนประชาสัมพันธ์ /ทบทวน (ดูเอกสารที่นี่ - /ทบทวน) สแกนการเปลี่ยนแปลงรหัส PR และสร้างการตรวจสอบ PR โดยอัตโนมัติเพื่อตรวจจับปัญหาก่อนที่นักพัฒนาจะผลักดันไปสู่การใช้งานจริง ที่

/อธิบาย (ดูเอกสารที่นี่ - /อธิบาย) สแกนการเปลี่ยนแปลงรหัส PR และสร้างคำอธิบายสำหรับ PR ทั้งชื่อ ประเภท สรุป บทสรุป และป้ายกำกับ ซึ่งช่วยประหยัดเวลาและพลังงานของนักพัฒนา ซึ่งสามารถนำไปใช้กับงานที่มีความต้องการสูงหรือสร้างสรรค์ได้ดียิ่งขึ้น

CodiumAI ระบุ Edge Case และพฤติกรรมที่น่าสงสัยในโค้ดได้อย่างไร

เครื่องมือของเราจะสแกนพื้นที่เก็บข้อมูลของนักพัฒนาเพื่อหาส่วนย่อยของโค้ดที่เกี่ยวข้องซึ่งเกี่ยวข้องกับโค้ดที่อยู่ระหว่างการทดสอบ และใช้คำสั่งลูกโซ่แห่งความคิด เราจะแมปลักษณะการทำงานของโค้ดที่เป็นไปได้ทั้งหมดและแสดงให้นักพัฒนาเห็น CodiumAI สามารถระบุพฤติกรรมที่น่าสงสัยได้โดยตรง (โดยไม่คำนึงถึงรุ่นการทดสอบ) โดยการระบุความคลาดเคลื่อนหรือความไม่สอดคล้องกันระหว่างข้อมูลโค้ดต่างๆ หรือข้อมูลโค้ดและเอกสารประกอบ

CodiumAI รองรับภาษาการเขียนโปรแกรมหลัก คุณช่วยอธิบายวิธีจัดการกับความแตกต่างเฉพาะภาษาในการวิเคราะห์โค้ดและการสร้างการทดสอบได้ไหม

สำหรับภาษาโปรแกรมหลัก ๆ แพลตฟอร์มของเราเป็นมากกว่าการสนับสนุนขั้นพื้นฐานโดยการใช้เทคนิคเฉพาะทาง ซึ่งรวมถึงการดึงข้อมูลเฉพาะบริบทและการแจ้งเตือนที่กำหนดเองซึ่งปรับให้เหมาะกับไวยากรณ์และความหมายเฉพาะของแต่ละภาษา ข้อความแจ้งที่ปรับแต่งเหล่านี้รวมความรู้จากผู้เชี่ยวชาญในโดเมนภาษาเพื่อให้ได้ผลลัพธ์ระดับอุตสาหกรรม นอกจากนี้ เรายังมอบความสามารถในการสร้างสภาพแวดล้อมรันไทม์สำหรับภาษาเหล่านี้โดยเฉพาะ ซึ่งช่วยเพิ่มความสามารถของเครื่องมือของเราในการตรวจจับจุดบกพร่องและสร้างการทดสอบการรักษาตนเองได้อย่างมีประสิทธิภาพ

สำหรับภาษาที่ไม่ค่อยมีคนใช้ เราจะใช้ประโยชน์จากโมเดลภาษาขนาดใหญ่ (LLM) ที่เข้าใจภาษาการเขียนโปรแกรมหลายภาษาโดยเนื้อแท้ ซึ่งเสริมด้วยโครงสร้างพื้นฐานตามบริบททั่วไปและระบบพร้อมท์ที่ปรับเปลี่ยนได้ ซึ่งร่วมกันอำนวยความสะดวกในการวิเคราะห์โค้ดและการสร้างการทดสอบที่แม่นยำในสภาพแวดล้อมการเขียนโปรแกรมที่หลากหลาย ด้วยการใช้แนวทางแบบสองระดับ เราสามารถรับประกันการสนับสนุนที่ครอบคลุมโดยไม่คำนึงถึงภาษาการเขียนโปรแกรมที่ใช้

CodiumAI มีการวางแผนการปรับปรุงในอนาคตอะไรบ้างเพื่อรองรับและทำให้งานของนักพัฒนาง่ายขึ้น

กลยุทธ์การพัฒนาในอนาคตของ CodiumAI เน้นการเพิ่มประสิทธิภาพชุดเครื่องมือ AI ที่มีอยู่ เพื่อบูรณาการในทุกขั้นตอนของวงจรการพัฒนาซอฟต์แวร์ได้อย่างราบรื่น ด้วยการใช้หลักการวิศวกรรมโฟลว์ขั้นสูงเพื่อปรับปรุงและลดความซับซ้อนของขั้นตอนการทำงานของนักพัฒนา ตัวแทนของเราจะมอบคุณค่าที่สำคัญตลอดขั้นตอนการพัฒนาต่างๆ นอกจากนี้ CodiumAI ยังมุ่งมั่นที่จะสร้างความมั่นใจว่าเครื่องมือเหล่านี้มีความเป็นเลิศในการจัดการสถานการณ์โค้ดและข้อความที่ซับซ้อนในโลกแห่งความเป็นจริง ทำให้เป็นสิ่งที่ขาดไม่ได้ในงานเขียนโปรแกรมในแต่ละวัน แนวทางแบบองค์รวมนี้มีจุดมุ่งหมายเพื่อยกระดับข้อเสนอของเราในฐานะเครื่องมือที่มีประสิทธิภาพและใช้งานประจำวันสำหรับนักพัฒนา เพิ่มประสิทธิภาพและประสิทธิภาพในกระบวนการพัฒนาซอฟต์แวร์

ขอบคุณสำหรับบทสัมภาษณ์ที่ดี ผู้อ่านที่ต้องการเรียนรู้เพิ่มเติมควรเยี่ยมชม โคเดียมAI.

ผู้ร่วมก่อตั้ง unite.AI และเป็นสมาชิกของ สภาเทคโนโลยี Forbes อองตวนเป็นอ ผู้เป็นเจ้ายังมาไม่ถึง ผู้หลงใหลเกี่ยวกับอนาคตของ AI และหุ่นยนต์

เขายังเป็นผู้ก่อตั้ง หลักทรัพย์.ioซึ่งเป็นเว็บไซต์ที่เน้นการลงทุนด้านเทคโนโลยีก่อกวน