Offline AI trong IDE: An toàn và hiệu suất

JetBrains vừa cho ra mắt tính năng AI hoàn toàn mới mang tên Full Line code completion, chạy offline hoàn toàn trên máy người dùng, đảm bảo tính bảo mật cao và đặc biệt cực nhẹ, cực tiết kiệm chi phí.

Upload image

Với sự phát triển mạnh mẽ của các công cụ AI như Github Copilot, Codeium, ChatGTP, Gemini,… ngày càng nhiều developer sử dụng AI vào trong công việc hằng ngày của mình. Bên cạnh các lợi ích mà AI mang lại, những quan ngại về vấn đề bảo mật khi developer cung cấp thông tin dự án, code,… cho các public AI cũng dần nảy sinh. Trong bối cảnh đó, JetBrains đã ra mắt tính năng Full Line code completion cho các IDEs của mình ở version 2024.1.

Full Line code completion là gì?

Đúng như tên gọi của mình, tính năng này sẽ giúp ta hoàn thành một dòng code, sử dụng AI để phân tích và tạo ra dòng code phù hợp với những gì chúng ta đang làm. Hiện nay, tính năng này đang hỗ trợ các ngôn ngữ JavaKotlinPythonJavaScriptTypeScriptCSSPHPGo, Ruby trên các JetBrains IDEs tương ứng: IntelliJ IDEA Ultimate, PyCharm Professional, WebStorm, PhpStorm, GoLand, RubyMine. 

Upload image

Quá trình sử dụng Full Line code completion

Điểm khác biệt

Vậy Full Line code completion có gì khác so với các công cụ như Github Copilot, Codeium,…?

Đầu tiên là AI model mà tính năng này sử dụng hoàn toàn chạy local trên máy của user, hoàn toàn không có bất kì data nào được gửi về các loại server, từ đó tránh được rủi ro lộ thông tin dự án giúp đảm bảo các yêu cầu về bảo mật. Đồng thời, vì chạy local nên tính năng này cũng không tính thêm chi phí.

Đặc biệt, theo thông số JetBrains đưa ra, các model này chỉ nặng khoảng 100Mb, nghĩa là ta không cần lo lắng về việc nó sẽ làm máy tính của chúng ta trở thành cái lò sưởi như các large language models khi chạy local. Với trải nghiệm cá nhân của mình khi sử dụng trên Macbook Pro chạy chip M1 Pro thì GPU, RAM không thay đổi gì đáng kể so với khi không enable tính năng này. Chi tiết hơn, đối với các máy có chip kiến trúc x86-64 thì model sẽ chạy trên CPU, còn với kiến trúc ARM64 thì model sẽ chạy trên GPU.

Upload image

Model size

Điểm khác biệt thứ hai là đa số các công cụ khác sẽ generate ra 1 block of code thì JetBrains chọn chỉ generate ra 1 dòng code (như cái tên full line). Điều này mình nghĩ là một nước đi hợp lý, vì theo thống kê của Gartner, khi sử dụng AI thì thời gian writing new code của developer giảm đi, chuyển sang thời gian debugging và testing. Điều này phản ánh rằng với các developer còn thiếu kinh nghiệm thì việc AI tạo ra cho họ cả một block of code hoàn chỉnh lại trở thành cái bẫy tạo ra nhiều bug hơn khi họ thiếu khả năng đọc hiểu hoặc lười đọc qua đoạn code do AI tạo ra. Từ đó việc chỉ generate ra một dòng code đâu đó sẽ là điểm cân bằng giữa việc tăng tốc độ code và vẫn đảm bảo developer phải hiểu và đi qua từng dòng code.

Upload image

Thống kê về việc sử dụng thời gian của developer (Nguồn: Gartner)

Cách sử dụng

Để sử dụng tính năng này thì bạn phải có Subscription của JetBrains và update các IDEs lên version 2024.1. Vào mục Settings | Editor | General | Code Completion bạn sẽ thấy tính năng này đã được enable sẵn. Lưu ý là nếu bạn đang dùng Github Copilot hay các plugin tương tự thì phải disable đi vì sẽ gây xung đột.

Upload image

Cách bật tính năng Full Line code completion

Với sự ra mắt của tính năng Full Line code completion, JetBrains không chỉ góp phần vào sự tiến bộ trong công nghệ phát triển phần mềm mà còn đảm bảo tính bảo mật cao cho người dùng. Đây chắc chắn là một công cụ giá trị cho những ai muốn tận dụng sức mạnh của AI trong khi vẫn kiểm soát được dữ liệu cá nhân và thông tin dự án. Để thực sự hiểu và tận dụng tối đa tính năng này, hãy thử nghiệm và xem nó thay đổi quy trình làm việc của bạn như thế nào. Hãy khám phá và đón nhận sự hỗ trợ mà công nghệ mang lại, nhưng luôn nhớ kiểm soát và thấu hiểu công cụ bạn đang sử dụng.

Atekco - Home for Authentic Technical Consultants