Logo Zephyrnet

Giới thiệu Amazon CodeWhisperer, người bạn đồng hành mã hóa hỗ trợ ML

Ngày:

Chúng tôi rất vui mừng thông báo Mã Amazon, một dịch vụ hỗ trợ máy học (ML) giúp cải thiện năng suất của nhà phát triển bằng cách cung cấp các đề xuất mã dựa trên nhận xét tự nhiên của nhà phát triển và mã trước đó. Với CodeWhisperer, các nhà phát triển có thể chỉ cần viết bình luận nêu một nhiệm vụ cụ thể bằng tiếng Anh đơn giản, chẳng hạn như “tải tệp lên S3”. Dựa trên điều này, CodeWhisperer tự động xác định dịch vụ đám mây và thư viện công cộng nào phù hợp nhất cho tác vụ được chỉ định, xây dựng mã cụ thể ngay lập tức và đề xuất các đoạn mã được tạo trực tiếp trong IDE.

Mặc dù đám mây đã dân chủ hóa việc phát triển ứng dụng bằng cách cấp quyền truy cập theo yêu cầu vào máy tính, lưu trữ, cơ sở dữ liệu, phân tích và ML, quy trình xây dựng ứng dụng phần mềm truyền thống vẫn yêu cầu các nhà phát triển dành nhiều thời gian để viết các đoạn mã soạn sẵn không liên quan trực tiếp đến vấn đề cốt lõi mà họ đang cố gắng giải quyết. Ngay cả những nhà phát triển có kinh nghiệm nhất cũng gặp khó khăn trong việc cập nhật nhiều ngôn ngữ lập trình, khuôn khổ và thư viện phần mềm, trong khi đảm bảo rằng họ đang tuân theo cú pháp lập trình chính xác và các phương pháp viết mã tốt nhất. Do đó, các nhà phát triển dành một lượng thời gian đáng kể để tìm kiếm và tùy chỉnh các đoạn mã từ web. Với CodeWhisperer, các nhà phát triển có thể tập trung vào IDE và tận dụng các đề xuất theo ngữ cảnh thời gian thực, đã được tùy chỉnh và sẵn sàng sử dụng. Ít bị phân tâm hơn khỏi IDE và các đề xuất sẵn sàng sử dụng, theo thời gian thực giúp bạn hoàn thành nhiệm vụ mã hóa của mình nhanh hơn và tăng năng suất.

Trong bài đăng này, chúng tôi thảo luận về những lợi ích của CodeWhisperer và cách bắt đầu.

Đưa sức mạnh của ML vào tầm tay của nhà phát triển

CodeWhisperer có sẵn như một phần của tiện ích mở rộng Bộ công cụ AWS cho các IDE chính, bao gồm JetBrains, Visual Studio Code và Đám mây AWS9. Trên AWS Lambda bảng điều khiển, CodeWhisperer có sẵn dưới dạng tính năng gợi ý mã gốc. Khi khởi chạy, bạn có thể sử dụng CodeWhisperer để tạo các đề xuất mã cho Python, Java và JavaScript. Bạn có thể cài đặt Bộ công cụ AWS bằng cách đi tới plugin hoặc màn hình mở rộng của IDE của bạn và tìm kiếm Bộ công cụ AWS.

Sau khi CodeWhisperer được bật, bạn sẽ tự động bắt đầu nhận được các đề xuất mã trong IDE của mình khi bạn bắt đầu viết mã hoặc nhận xét của mình. Bằng cách gặp gỡ các nhà phát triển cho dù bạn đang ở đâu, chúng tôi đang làm cho CodeWhisperer dễ sử dụng và thử nghiệm. Bạn có thể bắt đầu trong vòng vài phút và bắt đầu tận hưởng những lợi ích về năng suất ngay lập tức.

Nhiều hơn so với tự động hoàn thành truyền thống

Các công cụ tự động hoàn thành truyền thống cung cấp các hoàn thành từ một từ, ví dụ: danh sách các thuộc tính hoặc phương thức cho một đối tượng. CodeWhisperer cung cấp khả năng tăng năng suất tốt hơn nhiều bằng cách tạo toàn bộ các chức năng và khối mã logic cùng một lúc. Ngoài ra, CodeWhisperer hiểu ý định của nhà phát triển như được thể hiện thông qua các nhận xét đơn giản bằng tiếng Anh. Ví dụ sau cho thấy cách CodeWhisperer tạo toàn bộ hàm để chuyển đổi tệp JSON thành tệp CSV, đồng thời xem xét ý định của nhà phát triển về việc sử dụng các khóa trong tệp JSON làm tiêu đề của tệp CSV.

Việc xây dựng ứng dụng trên AWS trở nên dễ dàng hơn

CodeWhisperer giúp các nhà phát triển dễ dàng sử dụng các dịch vụ AWS bằng cách cung cấp các đề xuất mã cho các giao diện lập trình ứng dụng AWS (API) trên các dịch vụ phổ biến nhất, bao gồm Đám mây điện toán đàn hồi Amazon (Amazon EC2), Lambda và Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3). Khi bạn viết mã trong IDE của mình, CodeWhisperer sẽ tự động phân tích nhận xét, tập hợp mã bằng cách sử dụng các dịch vụ đám mây có liên quan và thư viện phần mềm công cộng để có chức năng mong muốn, đồng thời đề xuất các đoạn mã và thậm chí toàn bộ chức năng trực tiếp trong IDE đáp ứng các phương pháp hay nhất. Ví dụ sau cho thấy cách CodeWhisperer có thể tạo toàn bộ chức năng để tải tệp lên Amazon S3 bằng cách sử dụng mã hóa phía máy chủ.

Khai thác sức mạnh của AI một cách có trách nhiệm

Chúng tôi đã đào tạo mô hình CodeWhisperer về lượng lớn mã có sẵn công khai để cải thiện độ chính xác của các đề xuất. Nói một cách đơn giản, độ chính xác của mô hình tỷ lệ thuận với kích thước của dữ liệu huấn luyện. Và trong khi điều này đã giúp chúng tôi về mặt chính xác, các loại mô hình này cũng có thể tìm hiểu một số mẫu không mong muốn. Chúng tôi tin rằng mặc dù AI chắc chắn có thể thúc đẩy năng suất, nhưng chúng ta phải khai thác sức mạnh này một cách có trách nhiệm. Có một vài khả năng nổi bật làm cho CodeWhisperer trở nên độc đáo trong không gian này.

Tại AWS, chúng tôi muốn nói rằng bảo mật là công việc không. Đó là lý do tại sao CodeWhisperer cũng cung cấp khả năng chạy quét mã của bạn (do CodeWhisperer tạo ra cũng như do bạn viết) để phát hiện các lỗ hổng bảo mật. Ảnh chụp màn hình sau đây minh họa chức năng quét bảo mật của CodeWhisperer. Chúng tôi đã đưa vào một đoạn mã có thể gây rò rỉ tài nguyên. Khi bạn chọn Chạy quét bảo mật, CodeWhisperer phát hiện lỗ hổng này và hiển thị sự cố.

Thứ hai, chúng tôi đang cung cấp một trình theo dõi tham chiếu có thể phát hiện khi nào đầu ra được tạo có thể giống với dữ liệu đào tạo cụ thể. Mặc dù mô hình đã học cách viết mã và tạo mã hoàn toàn mới dựa trên quá trình học, nhưng trong một số trường hợp rất hiếm, một đề xuất mã được tạo độc lập có thể giống một đoạn mã duy nhất trong dữ liệu đào tạo. Bằng cách thông báo cho bạn khi điều này xảy ra, đồng thời cung cấp cho bạn kho lưu trữ và thông tin cấp phép, CodeWhisperer giúp bạn dễ dàng hơn trong việc quyết định có sử dụng mã trong dự án của mình hay không và thực hiện các quy định về mã nguồn liên quan khi bạn thấy phù hợp.

CodeWhisperer cho bạn biết trong thời gian thực rằng đề xuất mã hiện tại mà bạn đang thấy có thể giống với mã tham chiếu bằng cách hiển thị thông báo trong cửa sổ bật lên đề xuất. Trong ảnh chụp màn hình sau, mã được tạo tương tự như mã tham chiếu theo giấy phép MIT. Nếu nhà phát triển chấp nhận đề xuất, CodeWhisperer ghi lại thông tin chấp nhận và cấp phép tương ứng. Sau đó, bạn có thể xem nhật ký tham chiếu bằng cách chọn Open CodeWhisperer Reference Panel bên dưới nút CodeWhisperer.

Cuối cùng, chúng tôi đang triển khai các kỹ thuật để phát hiện sự thiên vị dựa trên các định kiến ​​chung. Chúng tôi đã triển khai các bộ lọc phát hiện sự thiên vị rõ ràng trong mã được tạo và xóa các đề xuất mã có thể được coi là thành kiến ​​và không công bằng. Ví dụ, hãy tưởng tượng một phần mềm tuyển dụng giúp người quản lý tuyển dụng bằng cách tự động lập danh sách ngắn các ứng viên. Trong trường hợp hòa, phần mềm phụ thuộc vào logic của tie-breaker. Trong khi tạo đề xuất cho tình huống này, có thể mô hình AI có thể tạo mã hỗ trợ các ứng viên dựa trên các tham số không phù hợp. CodeWhisperer có thể phát hiện sự thiên vị trong các đề xuất của mình và lọc ra trước khi hiển thị các đề xuất cho nhà phát triển.

Mở khóa tăng năng suất với CodeWhisperer

“Sự phân tâm là một thách thức liên tục trong khi viết mã, đặc biệt là khi cần chuyển đổi ngữ cảnh để tra cứu các mẫu mã và tài liệu trên web. Amazon CodeWhisperer giúp tôi tập trung vào mã bằng cách tự động đưa ra các đề xuất hữu ích ngay khi tôi cần, vì vậy tôi không bao giờ phải rời khỏi trình biên tập của mình ”.

- Ryan Grove, Kỹ sư phần mềm nhân viên tại SmugMug.

“Chúng tôi rất vui được hợp tác với AWS để đưa Amazon CodeWhisperer lên Nền tảng IntelliJ. Tại JetBrains, chúng tôi mong muốn làm cho việc phát triển phần mềm trở nên trơn tru và thú vị. Sự sẵn có của plugin cho các công cụ của chúng tôi sẽ giúp các nhà phát triển tập trung vào IDE của họ và giảm nhu cầu tìm kiếm và tùy chỉnh các đoạn mã từ web. Kể từ hôm nay, người dùng IntelliJ IDEA, PyCharm và WebStorm có thể bắt đầu làm việc với Amazon CodeWhisperer ngay trong IDE của họ, với nhiều IDE hơn sẽ được hỗ trợ trong tương lai gần. ”

- Max Shafirov, Giám đốc điều hành JetBrains.

Bắt đầu

Trong thời gian xem trước, CodeWhisperer có sẵn miễn phí cho tất cả các nhà phát triển trên toàn thế giới. Để truy cập dịch vụ trong bản xem trước, hãy tham gia danh sách chờ bằng cách đăng ký. Để biết thêm thông tin về dịch vụ, hãy truy cập Mã Amazon.


Về các tác giả

Ankur Desai là Giám đốc sản phẩm chính trong nhóm Dịch vụ AI của AWS.

Atul Deo là Giám đốc Quản lý Sản phẩm của nhóm Dịch vụ AI của AWS.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?