Phỏng vấn
Giáo sư Eran Yahav, Đồng sáng lập và Đồng Giám đốc điều hành của Tabnine – Loạt bài Phỏng vấn

Giáo sư Eran Yahav, Đồng sáng lập và Đồng Giám đốc điều hành của Tabnine, là một giáo sư khoa học máy tính tại Viện Công nghệ Technion – Israel, với nghiên cứu tập trung vào ngôn ngữ lập trình, học máy và kỹ thuật phần mềm, đặc biệt là tổng hợp chương trình và phân tích mã quy mô lớn. Bên cạnh công việc học thuật, ông đồng sáng lập Tabnine (ban đầu là Codota) để ứng dụng nhiều năm nghiên cứu vào các công cụ thực tiễn cho nhà phát triển, góp phần tiên phong trong lĩnh vực tự động hoàn thành mã và tự động hóa dựa trên AI. Công việc của ông kết nối giữa học viện và ngành công nghiệp, với trọng tâm là làm cho mã được tạo bởi AI trở nên đáng tin cậy, an toàn và nhận thức ngữ cảnh hơn cho các môi trường doanh nghiệp thực tế.
Tabnine là một nền tảng lập trình hỗ trợ bởi AI được thiết kế để hỗ trợ các nhà phát triển trong toàn bộ vòng đời phát triển phần mềm, từ viết và gỡ lỗi mã đến tạo kiểm thử và tài liệu. Ban đầu được ra mắt như một công cụ hoàn thành mã, nó đã phát triển thành một nền tảng rộng hơn tập trung vào doanh nghiệp, tích hợp AI sinh và các quy trình làm việc dựa trên tác nhân, cho phép các nhóm tự động hóa các tác vụ phát triển phức tạp trong khi vẫn duy trì kiểm soát chặt chẽ về quyền riêng tư, bảo mật và tuân thủ. Với hỗ trợ cho hàng chục ngôn ngữ lập trình và tích hợp trên các IDE chính, Tabnine hướng tới việc nâng cao năng suất của nhà phát triển đồng thời đảm bảo mã được tạo bởi AI vẫn đáng tin cậy và phù hợp với các tiêu chuẩn của tổ chức.
Ông đã dành nhiều năm nghiên cứu phân tích và tổng hợp chương trình tại Technion và trước đây từng làm việc tại IBM Research. Vấn đề nào trong phát triển phần mềm đã thuyết phục ông đồng sáng lập Tabnine, và nghiên cứu học thuật của ông đã định hình tầm nhìn ban đầu của công ty như thế nào?
Công việc học thuật của tôi tập trung vào phân tích và tổng hợp chương trình, về cơ bản là dạy máy móc hiểu và tạo ra mã. Tôi đã làm luận án tiến sĩ về Phân tích Chương trình, và đây cũng là nơi tôi dành những năm đầu tiên cho công việc nghiên cứu ứng dụng. Việc giải quyết các vấn đề về chất lượng phần mềm bằng phân tích chương trình đã cho thấy rõ rằng một số vấn đề rất khó giải quyết một khi chương trình đã được viết không chính xác. Có thể nói, phòng bệnh hơn chữa bệnh. Điều này thuyết phục tôi rằng cách đúng đắn để giải quyết chất lượng phần mềm là thông qua Tổng hợp Chương trình, và đây là lĩnh vực tôi dành phần lớn thời gian và năng lượng nghiên cứu.
Ban đầu tôi nghiên cứu Tổng hợp Chương trình cho các chương trình đồng thời, cố gắng tự động hóa việc tạo ra các chương trình đồng thời từ các chương trình tuần tự. Sau đó, tôi chuyển sang một phương pháp tổng hợp chương trình có thể áp dụng rộng rãi hơn bằng cách sử dụng học máy.
Tổng hợp chương trình sử dụng học máy cũng là ý tưởng nền tảng cung cấp sức mạnh cho Tabnine. Ý tưởng, mà giờ đây có vẻ hiển nhiên, là các mô hình có thể học các mẫu mã trực tiếp từ kho ngữ liệu mã lớn và hỗ trợ các nhà phát triển trong thời gian thực. Ý tưởng tổng quát này có thể áp dụng xuyên suốt tất cả các giai đoạn của vòng đời phát triển phần mềm – từ tạo mã, xem xét mã, đến triển khai và hơn thế nữa.
Tầm nhìn luôn là tăng cường khả năng của nhà phát triển con người bằng cách cung cấp cho họ các công cụ đẩy nhanh quá trình phát triển và loại bỏ ma sát. Phát triển phần mềm là một lĩnh vực sáng tạo và giải quyết vấn đề, và mục tiêu là để AI loại bỏ ma sát khỏi quy trình bằng cách xử lý các tác vụ thường nhật và giúp các nhà phát triển duy trì trạng thái tập trung. Tầm nhìn đó vẫn dẫn dắt chúng tôi cho đến ngày nay, mặc dù công nghệ đã phát triển đáng kể kể từ những ngày đầu.
Tabnine đã tiên phong trong lĩnh vực trợ lý lập trình AI nhiều năm trước khi AI sinh trở nên phổ biến với các công cụ như các mô hình của OpenAI. Nhìn lại, vai trò của AI trong phát triển phần mềm đã phát triển như thế nào kể từ những ngày đầu đó, và ngành công nghiệp đã học được những bài học gì từ làn sóng đầu tiên của các copilot lập trình?
Thế hệ đầu tiên của các trợ lý lập trình AI tập trung chủ yếu vào dự đoán. Về cơ bản, chúng là các hệ thống tự động hoàn thành nâng cao, giúp các nhà phát triển viết mã nhanh hơn bằng cách dự đoán dòng hoặc hàm tiếp theo.
Điều đã thay đổi với các vòng lặp tác nhân là giờ đây AI có thể xử lý các tác vụ với tính tự chủ cao hơn, đến mức chúng ta có thể coi các tác nhân (với sự hướng dẫn phù hợp) là những nhà phát triển cấp dưới độc lập.
Nhưng điều này cũng đã dạy cho ngành công nghiệp một bài học quan trọng. Khả năng thuần túy của mô hình là chưa đủ cho phát triển phần mềm doanh nghiệp. Các mô hình được đào tạo trên dữ liệu công khai có thể tạo ra đầu ra ấn tượng, nhưng chúng thường thiếu nhận thức về kiến trúc, các phụ thuộc và quy ước của một tổ chức.
Đó là lý do tại sao giai đoạn tiến hóa tiếp theo không chỉ là về các mô hình lớn hơn hay cửa sổ ngữ cảnh lớn hơn, mà còn là về việc kết nối những mô hình đó với ngữ cảnh thực tế mà phần mềm được xây dựng.
Nhiều doanh nghiệp đang nhận ra rằng việc mở rộng quy mô các tác nhân AI đòi hỏi nhiều hơn là các mô hình lớn hơn—nó đòi hỏi ngữ cảnh tổ chức sâu hơn. Tại sao ông tin rằng ngữ cảnh đang trở thành biên giới thực sự cho sự phát triển đáng tin cậy dựa trên AI?
Các hệ thống phần mềm là những mạng lưới phức tạp của các mối quan hệ. Một thay đổi đơn lẻ có thể ảnh hưởng đến nhiều dịch vụ, API hoặc các thành phần phía dưới.
Các mô hình AI ngày nay rất giỏi trong việc tạo ra mã hợp lý, nhưng chúng thường hoạt động mà không có sự hiểu biết có cấu trúc về những mối quan hệ đó. Nếu không có sự hiểu biết đó, AI không thể lập luận một cách đáng tin cậy về hậu quả của một thay đổi.
Điều mà các doanh nghiệp đang khám phá ra là độ tin cậy của các hệ thống AI phụ thuộc vào chất lượng của ngữ cảnh mà chúng hoạt động. Nếu một hệ thống AI hiểu được kiến trúc của hệ thống, các phụ thuộc giữa các dịch vụ và các tiêu chuẩn mã hóa của tổ chức, nó có thể tạo ra mã phù hợp chặt chẽ hơn nhiều với cách hệ thống đó thực sự hoạt động.
Theo nghĩa đó, ngữ cảnh đang trở thành biên giới tiếp theo cho sự phát triển AI doanh nghiệp.
Động cơ Ngữ cảnh Doanh nghiệp mới của ông nhằm mục đích cung cấp cho các tác nhân AI sự hiểu biết có cấu trúc về kiến trúc, các phụ thuộc và thực tiễn kỹ thuật của một tổ chức. Cách tiếp cận này khác với các phương pháp phổ biến như sinh tăng cường truy xuất mà nhiều công ty hiện đang dựa vào như thế nào?
Sinh tăng cường truy xuất là một kỹ thuật hữu ích. Nó cho phép các mô hình kéo vào các tài liệu hoặc đoạn mã liên quan khi tạo ra câu trả lời.
Nhưng bản thân việc truy xuất không tạo ra sự hiểu biết. Nó cung cấp quyền truy cập vào thông tin, chứ không phải cấu trúc.
Động cơ Ngữ cảnh Doanh nghiệp được thiết kế để đi xa hơn bằng cách xây dựng một biểu diễn có cấu trúc của môi trường phần mềm. Nó phân tích các kho lưu trữ, dịch vụ, phụ thuộc, API và các mối quan hệ kiến trúc, sau đó tổ chức chúng thành một mô hình về cách hệ thống thực sự hoạt động.
Điều này cho phép các hệ thống AI lập luận về các mối quan hệ giữa các thành phần thay vì chỉ truy xuất các đoạn văn bản. Đối với các môi trường doanh nghiệp phức tạp, sự khác biệt đó trở nên rất quan trọng.
Các công cụ lập trình AI đang phát triển từ các gợi ý tự động hoàn thành thành các tác nhân tự trị có khả năng thực thi các quy trình làm việc nhiều bước. Ông nhìn nhận sự cân bằng giữa các nhà phát triển con người và hệ thống tác nhân sẽ thay đổi như thế nào trong năm năm tới?
Các tác nhân AI sẽ ngày càng đảm nhận nhiều tác vụ phát triển thường nhật hơn. Chúng đã có khả năng triển khai các tính năng từ đầu đến cuối, bao gồm cả kiểm thử và tài liệu. Mỗi nhà phát triển sẽ trở thành một trưởng nhóm của các nhà phát triển AI. Thách thức chính sẽ là truyền đạt các yêu cầu cho nhóm này và xác minh rằng các sản phẩm được tạo ra phù hợp với các yêu cầu đã được phác thảo.
Tuy nhiên, phát triển phần mềm về cơ bản là về giải quyết vấn đề và thiết kế. Các nhà phát triển con người sẽ tiếp tục xác định kiến trúc, đưa ra các đánh đổi và định hướng tổng thể cho các hệ thống.
Điều sẽ thay đổi là mức độ trừu tượng mà các nhà phát triển làm việc. Thay vì tập trung vào mã, các nhà phát triển sẽ ngày càng điều phối các quy trình làm việc ở cấp độ cao hơn và hợp tác với các hệ thống AI thực thi các phần của những quy trình làm việc đó.
Nói cách khác, vai trò của các nhà phát triển trở nên chiến lược hơn khi AI xử lý nhiều công việc cơ học hơn.
Tabnine đã chỉ ra rằng người dùng doanh nghiệp có thể thấy tỷ lệ chấp nhận mã được tạo bởi AI đạt khoảng 80% trong một số môi trường. Các tổ chức nên sử dụng những số liệu nào để xác định xem các công cụ lập trình AI có thực sự cải thiện năng suất của nhà phát triển hay chỉ đơn giản là tạo ra nhiều mã hơn?
Câu hỏi then chốt không phải là AI tạo ra bao nhiêu mã, mà là nó thực sự tạo ra bao nhiêu công việc hữu ích.
Có một số số liệu mà các tổ chức nên theo dõi. Một là tỷ lệ chấp nhận ngay lần đầu, đo lường mức độ thường xuyên mà mã được tạo bởi AI có thể được sử dụng mà không cần sửa đổi. Một số liệu khác là thời gian chu kỳ xem xét—cần bao nhiêu vòng lặp trước khi một yêu cầu kéo có thể được hợp nhất.
Các tổ chức cũng nên xem xét thời gian của nhà phát triển dành cho việc làm lại, cũng như thời gian chờ đợi cho các thay đổi từ phát triển đến sản xuất.
Nếu các công cụ AI thực sự cải thiện năng suất, bạn sẽ thấy sự cải thiện trên tất cả các số liệu đó. Các nhà phát triển dành ít thời gian hơn để sửa mã được tạo ra và nhiều thời gian hơn để làm việc trên các tác vụ có giá trị cao hơn.
Các doanh nghiệp vẫn thận trọng về việc để lộ mã độc quyền cho các mô hình bên ngoài. Khái niệm “Lập trình AI Đáng tin cậy” giải quyết các mối quan tâm về quản trị, quyền riêng tư và tuân thủ đã làm chậm việc áp dụng các công cụ phát triển AI của doanh nghiệp như thế nào?
Sự tin tưởng là một trong những yếu tố quan trọng nhất trong việc doanh nghiệp áp dụng AI.
Sự tin tưởng là thách thức cuối cùng để hiện thực hóa kỹ sư AI. Làm thế nào để chúng ta tin tưởng kỹ sư AI hành động tự chủ để hoàn thành các nhiệm vụ kỹ thuật phần mềm quan trọng? Làm thế nào để chúng ta đảm bảo hành












