Kết nối với chúng tôi

Phỏng vấn

Itamar Friedman, CEO & Đồng sáng lập của CodiumAI – Chuỗi phỏng vấn

mm

Được phát hành

 on

Itamar Friedman, Giám đốc điều hành và Đồng sáng lập của bục giảngAI. Codium tập trung vào khía cạnh “tính toàn vẹn của mã” trong quá trình tạo mã - tạo ra các bài kiểm tra tự động, giải thích mã và đánh giá. Họ đã công bố nghiên cứu về việc tạo ra các giải pháp mã cho những thách thức lập trình cạnh tranh vượt trội hơn Google DeepMind.

Bạn bắt đầu quan tâm đến AI từ khi nào và như thế nào?

Năm 2009, tôi làm việc tại Mellanox (Acq. by NVIDIA) và học ngành kỹ thuật điện. Nhận thấy rằng nhiều quy trình phát triển tẻ nhạt ở Mellanox có thể được tự động hóa bằng thuật toán học máy, tôi đã thay đổi chuyên ngành của mình sang tối ưu hóa và học máy và hoàn thành bằng Thạc sĩ về lĩnh vực này. Đến năm 2010, tôi đã thực hiện một dự án deep learning (với mạng lưới thần kinh sâu 3 lớp), đặt nền móng cho thời gian làm việc tại Alibaba, nơi tôi lãnh đạo một nhóm nghiên cứu chuyên về tìm kiếm kiến ​​trúc thần kinh, đào tạo mô hình và xây dựng các công cụ AutoML cho các nhà phát triển. Vào khoảng năm 2021, tôi không xấu hổ khi gọi công việc của chúng tôi là “AI”, khi các mô hình ngôn ngữ lớn trở thành công cụ mạnh mẽ và trí tưởng tượng của tôi về những gì có thể đạt được với chúng ngày càng tăng.

Công ty khởi nghiệp tập trung vào thị giác máy tính trước đây của bạn Visualead cuối cùng đã được Tập đoàn Alibaba mua lại, công ty khởi nghiệp này là gì và một số bài học quan trọng mà bạn rút ra được từ trải nghiệm này là gì?

Visualead chuyên quét logo, Mã QR và mọi thứ liên quan, bao gồm bảo mật và ẩn thông tin trong hình ảnh để cho phép tương tác và giao dịch P2P an toàn. Tại Visualead, chúng tôi đã chạy các thuật toán trên thiết bị di động từ năm 2012, bao gồm cả các mẫu máy. Ngày trước, việc làm điều đó thật khó khăn và đầy thử thách, đồng thời chúng tôi đã học được rất nhiều điều về cách xây dựng các mô hình và rào chắn hiệu quả xung quanh những sinh vật thống kê này.

Cho đến ngày nay, tôi vẫn áp dụng những bài học rút ra từ thời điểm đó vào các dự án hiện tại mà tôi đảm nhận - ví dụ như khi chúng tôi xây dựng công cụ tạo giải pháp nguồn mở AlphaCodium chúng tôi đã giới thiệu khái niệm về Kỹ thuật dòng chảy và áp dụng khái niệm này để xây dựng dòng chảy tới đầu ra của mô hình LLM lan can.

Bạn có thể chia sẻ câu chuyện về nguồn gốc đằng sau việc ra mắt CodiumAI không?

Tại Alibaba, tôi đã tận mắt chứng kiến ​​một lỗi trong mã có thể dẫn đến vấn đề trị giá hàng triệu đô la và những thách thức mà các nhà phát triển phải đối mặt để theo kịp việc tạo mã mà không làm giảm chất lượng hoặc tính toàn vẹn. Vấn đề này vẫn tiếp diễn và ngày nay mã chất lượng thấp được cho là nguyên nhân của một vấn đề nghìn tỷ đô la đang tiếp tục gia tăng.

Nhóm tại CodiumAI chuyên xây dựng các công cụ hỗ trợ AI trên quy mô lớn và nỗ lực giải quyết những điểm yếu mà các nhà phát triển phải đối mặt. Với sự ra đời của các khả năng LLM và AI mới, chúng tôi hiểu rằng đây là cơ hội để chúng tôi xây dựng một nền tảng toàn diện về tính toàn vẹn mã nhằm giúp các nhóm bận rộn như chúng tôi giảm thiểu lỗi và giảm thiểu các vấn đề về tính toàn vẹn khác. Khi ngày càng có nhiều mã được tạo ra bởi AI, vấn đề về điểm chuẩn của mã này và đảm bảo nó hoạt động như dự định đã trở thành một điểm yếu nghiêm trọng và là vấn đề mà chúng tôi buộc phải giải quyết. Xây dựng các công cụ hỗ trợ AI trên quy mô lớn và do đó, việc đo điểm chuẩn là một khái niệm thiết yếu đối với chúng tôi.

Là một nhóm các nhà phát triển có kinh nghiệm, chúng tôi hiểu điều đó; việc xử lý các công việc tẻ nhạt như kiểm tra và xem xét mã có thể khiến bạn nản lòng. Chúng tôi tập trung cao độ vào sứ mệnh để cuối cùng cho phép các nhóm bận rộn tăng cường và quản lý tính toàn vẹn mã của họ.

Bạn có thể mô tả loại phân tích không tầm thường mà CodiumAI thực hiện trên mã không và điều này hỗ trợ các nhà phát triển như thế nào trong việc cải thiện chất lượng mã?

Cho đến gần đây, các công cụ hiện có dành cho nhà phát triển mang lại rất ít giá trị - nhưng với sự xuất hiện của các khả năng LLM (ChatGPT, Copilot, v.v.) đang bắt đầu vượt quá mong đợi và sự hỗ trợ dành cho nhà phát triển không còn là chuyện nhỏ nữa.

Tác nhân mã hóa Codiumate do CodiumAI phát triển cung cấp cho các nhà phát triển các công cụ độc đáo để cải thiện quy trình làm việc của họ và tăng cường tạo mã. Codiumate hợp lý hóa quá trình phát triển bằng cách cung cấp hỗ trợ tự động trong suốt nhiệm vụ mã hóa. Bằng cách sử dụng các đoạn mã hiện có mà nhà phát triển con người nêu bật trong môi trường của họ, nhân viên có thể tự động soạn thảo một kế hoạch phát triển gắn kết và dễ thực hiện, viết mã theo kế hoạch đó, xác định mã trùng lặp mà nhà phát triển có thể muốn sử dụng hoặc xóa, soạn thảo tài liệu và đề xuất các thử nghiệm để đảm bảo mã hoạt động bình thường trước khi được triển khai trong môi trường trực tiếp.

Codiumate cung cấp cho các nhà phát triển khả năng phân tích hành vi chuyên sâu - làm sáng tỏ các hành vi có thể xảy ra và các nhánh mà quá trình kiểm tra mã bao gồm. Điều này cho phép nhà phát triển kiểm tra mã được tạo và tạo các thử nghiệm (nhánh) bao gồm tất cả các hành vi, do đó cải thiện mã nhiều hơn so với việc nhà phát triển tự mình tính đến tất cả các trường hợp có thể xảy ra.

PR-Agent cung cấp những chức năng cụ thể nào để phân tích yêu cầu kéo và làm cách nào để hợp lý hóa quy trình xem xét trên các nền tảng như GitHub và GitLab?

PR-Agent cung cấp nhiều chức năng được thiết kế để nâng cao và hợp lý hóa quy trình phân tích và đánh giá yêu cầu kéo (PR) trên nhiều nhà cung cấp git khác nhau.

Tự động tạo mô tả PR tự động tạo ra các mô tả toàn diện và chi tiết cho các yêu cầu kéo. Tính năng này giải quyết các vấn đề thường gặp trong đó các nhà phát triển có thể bỏ qua phần mô tả PR chi tiết do hạn chế về thời gian hoặc do giám sát. Với các mô tả tự động, mọi PR đều được trang bị đầy đủ ngữ cảnh, giúp người đánh giá dễ dàng hiểu các thay đổi hơn mà không cần phải giải mã rộng rãi các khác biệt về mã. Chúng tôi cũng xây dựng tính năng đánh giá PR tự động để cung cấp cho các nhà phát triển cái nhìn tổng quan toàn diện về PR, cho phép họ phát hiện các vấn đề tiềm ẩn như lỗi, lỗ hổng bảo mật hoặc mùi mã một cách chủ động. Phản hồi ưu tiên này cho phép các nhà phát triển thực hiện các chỉnh sửa trước quá trình xem xét, do đó nâng cao chất lượng mã đến tay người đánh giá.

Tận dụng AI, các đề xuất mã tự động cũng có thể đề xuất cải tiến hoặc triển khai thay thế trực tiếp trong giao diện PR. Những đề xuất này có thể là tối ưu hóa, tuân thủ các tiêu chuẩn mã hóa hoặc thậm chí là cải tiến kiến ​​trúc, giúp nâng cao dần chất lượng của cơ sở mã.

PR-Agent hỗ trợ nhiều tùy chọn để tùy chỉnh các lệnh mà nó đưa ra. Một trong những tùy chọn tùy chỉnh hữu ích nhất là sử dụng nhãn tùy chỉnh để nâng cao khả năng tổ chức và quản lý các yêu cầu kéo trên các nền tảng như GitHub và GitLab. Chức năng này góp phần nâng cao hiệu quả hoạt động và sự rõ ràng của quá trình phát triển và đánh giá.

CodiumAI tạo ra các bài kiểm tra có ý nghĩa như thế nào và điều gì khiến các bài kiểm tra này hiệu quả hơn các bài kiểm tra đơn vị tiêu chuẩn?

Chúng tôi tăng cường việc tạo thử nghiệm bằng cách quét kho lưu trữ mã để tìm các đoạn mã có liên quan đến mã đang được thử nghiệm. Bằng cách sử dụng các lời nhắc theo chuỗi suy nghĩ để vạch ra tất cả các hành vi mã tiềm năng, bao gồm các đường dẫn điển hình và các trường hợp khó khăn, phương pháp tiếp cận của chúng tôi sử dụng các lời nhắc tùy chỉnh và tìm nạp theo ngữ cảnh cụ thể phù hợp với các ngôn ngữ lập trình khác nhau, nhúng kiến ​​thức chuyên môn để đảm bảo các bài kiểm tra đáp ứng các tiêu chuẩn ngành. Ngoài ra, CodiumAI thiết lập các môi trường thời gian chạy cụ thể để phát hiện lỗi tốt hơn và tạo ra các thử nghiệm tự phục hồi. Những khả năng này làm cho các bài kiểm tra do CodiumAI tạo ra trở nên toàn diện hơn so với các bài kiểm tra đơn vị tiêu chuẩn, vốn thường bỏ sót các hành vi ngoài ý muốn do thành kiến ​​cố hữu của nhà phát triển và những hạn chế trong việc thấy trước tất cả các tình huống có thể xảy ra. Điều này dẫn đến các thử nghiệm không chỉ kỹ lưỡng mà còn hiệu quả hơn trong việc phát hiện các lỗi tinh vi và các trường hợp khó khăn.

Dựa trên phản hồi của người dùng, tính năng nào có giá trị nhất của CodiumAI và những tính năng này ảnh hưởng như thế nào đến năng suất của nhà phát triển?

Dựa trên phản hồi của người dùng mà chúng tôi đã nhận được, chúng tôi thấy rằng /ask với ngữ cảnh khối mã/thế hệ thử nghiệm các tính năng của tác nhân Codiumate được đánh giá cao và nâng cao quy trình làm việc của nhà phát triển.

Với /ask với ngữ cảnh khối mã (xem tài liệu tại đây: /hỏi) nhà phát triển có thể đặt câu hỏi mở về mã của họ hoặc yêu cầu cải tiến hoặc đánh giá mã trong phiên trò chuyện miễn phí. Tính năng này đặc biệt có lợi cho việc hiểu sâu hơn về cơ sở mã, vì mô hình giữ lại bối cảnh đầy đủ của dự án, cho phép mô hình giải quyết các yêu cầu rất chi tiết và cụ thể.

Sản phẩm /thế hệ thử nghiệm (xem tài liệu tại đây: /kiểm tra) cho phép các nhà phát triển tạo ra các bộ thử nghiệm toàn diện cho mã của họ chỉ bằng một cú nhấp chuột. Khám phá hành vi mã, xác định và giải quyết lỗi kịp thời cũng như nhanh chóng mở rộng phạm vi bao phủ mã là một tài sản to lớn đối với năng suất.

Đại lý PR /ôn tập (xem tài liệu tại đây – /ôn tập) quét các thay đổi trong mã PR và tự động tạo bản đánh giá PR để phát hiện các vấn đề trước khi các nhà phát triển bắt tay vào sản xuất. Các

/mô tả (xem tài liệu tại đây – /mô tả) quét các thay đổi mã PR và tạo mô tả cho PR – tiêu đề, loại, tóm tắt, hướng dẫn và nhãn giúp nhà phát triển tiết kiệm thời gian và năng lượng để họ có thể áp dụng tốt hơn cho các nhiệm vụ đòi hỏi khắt khe hơn hoặc sáng tạo hơn.

CodiumAI xác định các trường hợp nguy hiểm và hành vi đáng ngờ trong mã bằng cách nào?

Các công cụ của chúng tôi quét kho lưu trữ của nhà phát triển để tìm các đoạn mã có liên quan liên quan đến mã đang được thử nghiệm và sử dụng các lời nhắc theo chuỗi suy nghĩ, chúng tôi ánh xạ tất cả các hành vi mã có thể có và hiển thị chúng cho nhà phát triển. CodiumAI có thể trực tiếp xác định các hành vi đáng ngờ (bất kể thế hệ thử nghiệm) bằng cách xác định sự khác biệt hoặc mâu thuẫn giữa các đoạn mã khác nhau hoặc các đoạn mã và tài liệu đi kèm.

CodiumAI hỗ trợ các ngôn ngữ lập trình chính; bạn có thể giải thích rõ hơn về cách nó xử lý các sắc thái ngôn ngữ cụ thể trong phân tích mã và tạo thử nghiệm không?

Đối với các ngôn ngữ lập trình chính, nền tảng của chúng tôi vượt xa sự hỗ trợ cơ bản bằng cách triển khai các kỹ thuật chuyên biệt. Chúng bao gồm tìm nạp theo ngữ cảnh cụ thể và lời nhắc tùy chỉnh phù hợp với cú pháp và ngữ nghĩa riêng của từng ngôn ngữ. Những lời nhắc tùy chỉnh này kết hợp kiến ​​thức chuyên môn về lĩnh vực ngôn ngữ để có được kết quả ở cấp ngành. Ngoài ra, chúng tôi còn cung cấp khả năng thiết lập môi trường thời gian chạy dành riêng cho các ngôn ngữ này, giúp nâng cao khả năng phát hiện lỗi và tạo ra các thử nghiệm tự khắc phục hiệu quả cho công cụ của chúng tôi.

Đối với các ngôn ngữ ít phổ biến hơn, chúng tôi tận dụng các mô hình ngôn ngữ lớn (LLM) vốn có thể hiểu được nhiều ngôn ngữ lập trình. Điều này được bổ sung bởi cơ sở hạ tầng ngữ cảnh chung và hệ thống nhắc nhở thích ứng của chúng tôi, cùng nhau tạo điều kiện thuận lợi cho việc phân tích mã và tạo thử nghiệm chính xác trên các môi trường lập trình đa dạng. Bằng cách áp dụng cách tiếp cận cấp độ kép, chúng tôi có thể đảm bảo hỗ trợ toàn diện bất kể ngôn ngữ lập trình được sử dụng.

Những cải tiến nào trong tương lai được lên kế hoạch cho CodiumAI để hỗ trợ hơn nữa và đơn giản hóa nhiệm vụ của các nhà phát triển?

Chiến lược phát triển trong tương lai của CodiumAI nhấn mạnh vào việc tăng cường bộ công cụ AI sẵn có để tích hợp liền mạch trên tất cả các giai đoạn của vòng đời phát triển phần mềm. Bằng cách sử dụng các nguyên tắc kỹ thuật dòng chảy tiên tiến để hợp lý hóa và đơn giản hóa quy trình làm việc của nhà phát triển, các đại lý của chúng tôi sẽ mang lại giá trị đáng kể trong các giai đoạn phát triển khác nhau. Hơn nữa, CodiumAI cam kết đảm bảo các công cụ này vượt trội trong việc xử lý các kịch bản văn bản và mã phức tạp trong thế giới thực, khiến chúng không thể thiếu trong các tác vụ lập trình hàng ngày. Cách tiếp cận toàn diện này nhằm mục đích nâng cao dịch vụ của chúng tôi như một công cụ mạnh mẽ, sử dụng hàng ngày cho các nhà phát triển, nâng cao năng suất và hiệu quả trong quá trình phát triển phần mềm.

Cảm ơn bạn về cuộc phỏng vấn tuyệt vời, độc giả muốn tìm hiểu thêm hãy truy cập bục giảngAI.

Một đối tác sáng lập của unity.AI & một thành viên của Hội đồng Công nghệ Forbes, Antoine là một nhà tương lai học người đam mê tương lai của AI và robot.

Ông cũng là người sáng lập của Chứng khoán.io, một trang web tập trung vào đầu tư vào công nghệ đột phá.