Dân IT có thể được ChatGPT hỗ trợ code tự động hóa như thế nào?

Công Nghệ
Dân IT có thể được ChatGPT hỗ trợ code tự động hóa như thế nào?

ChatGPT đang là một trong những chủ đề được nhiều người quan tâm nhất hiện nay bao gồm cả anh em IT, lập trình viên. Có thể xem ChatGPT là một chatbot tích hợp trí tuệ nhân tạo với khả năng trả lời lại những câu hỏi của người dùng; và đáng chú ý là những câu hỏi không hề giới hạn một lĩnh vực nào kể cả lập trình. Nhiều bài viết, đánh giá cho rằng ChatGPT có thể thay thế lập trình viên trong tương lai, tuy vậy thì ở hiện tại, ChatGPT đang thực sự giúp ích được khá nhiều việc dành cho anh em DEV. Bài viết hôm nay chúng ta cùng nhau tìm hiểu xem dân IT có thể được ChatGPT hỗ trợ viết code tự động hóa như thế nào nhé. 

Khả năng lập trình của ChatGPT

CFTE, một tổ chức uy tín về công nghệ đã thử nghiệm kỹ năng lập trình của ChatGPT bằng cách cho nó tham gia một bài kiểm tra gồm 15 câu hỏi trắc nghiệm cho phép chọn nhiều đáp án, nội dung về lập trình Python (ngôn ngữ lập trình phổ biến nhất hiện nay). Mỗi câu hỏi có giới hạn thời gian trả lời trong vòng 1 phút 30 giây. Và kết quả là ChatGPT đã hoàn thành cả 15 câu hỏi trong thời gian cho phép và đạt điểm cao hơn 85% trong gần 4 triệu lập trình viên từng tham gia thực hiện bài test này.

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

Trước đó, ChatGPT cũng đã vượt qua được bài phỏng vấn xin việc của Google và được ứng tuyển vào vị trí lập trình viên cấp độ 3 tại công ty, tương đương với mức lương 183 nghìn USD/năm. Chỉ 2 ví dụ trên đã cho thấy khả năng lập trình ấn tượng của ChatGPT, điều quan trọng hơn là khả năng học hỏi của nó diễn ra hàng ngày, có nghĩa là ChatGPT hoàn toàn có khả năng thông minh hơn trong việc lập trình trong tương lai.

Lập trình viên có thể sử dụng ChatGPT như thế nào

Trái với những bài viết cho rằng ChatGPT sẽ thay thế anh em DEV trong tương lai, thì ở thời điểm hiện tại sau hơn nửa năm ra mắt (cuối năm 2022), lập trình viên lại xem ChatGPT như một công cụ hữu ích cho việc lập trình. Công cụ này thường được sử dụng để tạo nhanh các frame, bản code mẫu (template) để dựng ứng dụng tiết kiệm rất nhiều thời gian khởi tạo dự án cho anh em DEV.

Nó cũng có thể là một công cụ debug hữu ích dành cho anh em nhờ việc phân tích các đoạn code mà chúng ta cung cấp. Hay thiết thực hơn là các công việc liên quan đến tạo tài liệu, viết testcase,… những thứ mà dường như lập trình viên lười làm nhất. Chúng ta cùng đi cụ thể vào những ứng dụng mà ChatGPT mang lại cho anh em DEV nhé.

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

1. Tìm tài liệu và hướng dẫn

Hãy sử dụng ChatGPT như một Google cho việc tìm tài liệu lập trình, tạo code mẫu hay đọc document chuẩn. Khi chúng ta đặt câu hỏi càng chi tiết thì ChatGPT sẽ càng cho ra câu trả lời chính xác mà chúng ta cần, bao gồm cả source code kèm theo lời giải thích chính xác.

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

Ví dụ như trên chúng ta muốn nhờ ChatGPT tạo một đoạn code cho việc gọi API bằng thư viện axios trong React. Kết quả nhận được là các bước chi tiết step by step rõ ràng từ việc cài đặt thư viện, import thư viện đến đoạn code mẫu các sử dụng thư viện Axios bằng đúng ngôn ngữ lập trình JavaScript trong React. Nếu so với cách truyền thống, chúng ta cần phải gõ từ khóa vào Google, chọn một vài kết quả đáng tin, xong đó lại xem từng đoạn sample code khá rắc rối thì ChatGPT giúp công việc tiết kiệm được đến 90% thời gian cho bạn đấy.

Việc làm AI lương thưởng hấp dẫn, mới nhất dành cho bạn!

2. Debug code

Để kiểm tra xem đoạn code bạn viết có đúng hay không, hay phức tạp hơn là muốn xem bạn của bạn có thể sai chỗ nào, muốn sửa lại nó thì làm thế nào; đừng ngại hãy copy cả đoạn code đó để ChatGPT xử lý nhé.

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

Ở ví dụ trên khi cung cấp cho ChatGPT 1 đoạn code và hỏi xem nó đúng hay sai thì chúng ta nhận được một câu trả lời không thể chi tiết hơn với 3 lỗi sai được chỉ ra cùng một đoạn code đã chỉnh sửa cho hợp lý. Cụ thể 3 lỗi bạn gặp phải gồm:

  • Sử dụng biến X viết hoa và viết thường
  • Sử dụng toán tử gắn “=” trong câu lệnh If, mà đúng thì phải dùng toán tử “==”
  • 2 dòng code print bạn cần thụt dòng vào thì mới đúng syntax của ngôn ngữ Python

3. Refactor code

Không chỉ debug code, ChatGPT còn có khả năng tối ưu source code, cải thiện chính đoạn code mà chúng ta viết ra. Trong nhiều trường hợp nếu bạn cung cấp đủ dữ kiện đầu vào, ChatGPT có khả năng đưa ra các gợi ý giúp bạn refactor lại cả source code dự án của bạn theo đúng các chuẩn gợi ý từ framework, thư viện, ngôn ngữ mà bạn sử dụng. 

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

Trong ví dụ trên, bạn yêu cầu ChatGPT viết lại function trong Python bạn cung cấp theo cách mà ngôn ngữ này đề xuất hay cộng đồng lập trình viên Python cho là tốt (Idiomatic Python). Và kết quả bạn nhận lại không làm bạn thất vọng, thậm chí còn đề xuất việc sử dụng một Set thay vì một List để lưu trữ các thành phố (city).

4. Viết documentation

ChatGPT có thể đọc đoạn code bạn cung cấp đầu vào và viết documentation (hướng dẫn sử dụng) cho đoạn code đó. Đây là tính năng tuyệt vời giúp bạn tiết kiệm rất nhiều thời gian cho một công việc vẫn thường được xem là nhàm chán đối với phần lớn anh em lập trình viên. Dưới đây là một ví dụ là ChatGPT tự động tạo doc cho đoạn code viết bằng Python đầu vào, rất chi tiết và rõ ràng.

Khả năng lập trình của ChatGPTKhả năng lập trình của ChatGPT

Kết bài

Trên đây là một số ứng dụng mà ChatGPT mang lại danh cho dân IT nói chung cũng như anh em lập trình viên nói riêng. ChatGPT rất hữu dụng cho chúng ta nếu biết khai thác đúng cách, vì thế hãy tận dụng nó chứ đừng lạm dụng công cụ này; điều quan trọng vẫn là phải tự mình tư duy cũng như giải quyết bài toán gặp phải trong quá trình làm dự án. ChatGPT sẽ giúp bạn tiết kiệm rất nhiều thời gian và trở nên giỏi hơn trong lĩnh vực, nghề nghiệp của bạn. Hy vọng bài viết này mang lại những thông tin hữu ích dành cho bạn, hẹn gặp lại các bạn trong các bài viết tiếp theo của mình. 

Tác giả: Phạm Minh Khoa

Xem thêm:

Tìm kiếm việc làm IT mới nhất tại Station D!

Bài viết liên quan

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bộ cài đặt Laravel Installer đã hỗ trợ tích hợp Jetstream

Bài viết được sự cho phép của tác giả Chung Nguyễn Hôm nay, nhóm Laravel đã phát hành một phiên bản chính mới của “ laravel/installer ” bao gồm hỗ trợ khởi động nhanh các dự án Jetstream. Với phiên bản mới này khi bạn chạy laravel new project-name , bạn sẽ nhận được các tùy chọn Jetstream. Ví dụ: API Authentication trong Laravel-Vue SPA sử dụng Jwt-auth Cách sử dụng Laravel với Socket.IO laravel new foo --jet --dev Sau đó, nó sẽ hỏi bạn thích stack Jetstream nào hơn: Which Jetstream stack do you prefer? [0] Livewire [1] inertia > livewire Will your application use teams? (yes/no) [no]: ... Nếu bạn đã cài bộ Laravel Installer, để nâng cấp lên phiên bản mới bạn chạy lệnh: composer global update Một số trường hợp cập nhật bị thất bại, bạn hãy thử, gỡ đi và cài đặt lại nha composer global remove laravel/installer composer global require laravel/installer Bài viết gốc được đăng tải tại chungnguyen.xyz Có thể bạn quan tâm: Cài đặt Laravel Làm thế nào để chạy Sql Server Installation Center sau khi đã cài đặt xong Sql Server? Quản lý các Laravel route gọn hơn và dễ dàng hơn Xem thêm Tuyển dụng lập trình Laravel hấp dẫn trên Station D

By stationd
Principle thiết kế của các sản phẩm nổi tiếng

Principle thiết kế của các sản phẩm nổi tiếng

Tác giả: Lưu Bình An Phù hợp cho các bạn thiết kế nào ko muốn làm code dạo, design dạo nữa, bạn muốn cái gì đó cao hơn ở tầng khái niệm Nếu lập trình chúng ta có các nguyên tắc chung khi viết code như KISS , DRY , thì trong thiết kế cũng có những nguyên tắc chính khi làm việc. Những nguyên tắc này sẽ là kim chỉ nam, nếu có tranh cãi giữa các member trong team, thì cứ đè nguyên tắc này ra mà giải quyết (nghe hơi có mùi cứng nhắc, mình thì thích tùy cơ ứng biến hơn) Tìm các vị trí tuyển dụng designer lương cao cho bạn Nguyên tắc thiết kế của GOV.UK Đây là danh sách của trang GOV.UK Bắt đầu với thứ user cần Làm ít hơn Thiết kế với dữ liệu Làm mọi thứ thật dễ dàng Lặp. Rồi lặp lại lần nữa Dành cho tất cả mọi người Hiểu ngữ cảnh hiện tại Làm dịch vụ digital, không phải làm website Nhất quán, nhưng không hòa tan (phải có chất riêng với thằng khác) Cởi mở, mọi thứ tốt hơn Bao trừu tượng luôn các bạn, trang Gov.uk này cũng có câu tổng quát rất hay Thiết kế tốt là thiết kế có thể sử dụng. Phục vụ cho nhiều đối tượng sử dụng, dễ đọc nhất nhất có thể. Nếu phải từ bỏ đẹp tinh tế – thì cứ bỏ luôn . Chúng ta tạo sản phẩm cho nhu cầu sử dụng, không phải cho người hâm mộ . Chúng ta thiết kế để cả nước sử dụng, không phải những người đã từng sử dụng web. Những người cần dịch vụ của chúng ta nhất là những người đang cảm thấy khó sử dụng dịch...

By stationd
Hiểu về trình duyệt – How browsers work

Hiểu về trình duyệt – How browsers work

Bài viết được sự cho phép của vntesters.com Khi nhìn từ bên ngoài, trình duyệt web giống như một ứng dụng hiển thị những thông tin và tài nguyên từ server lên màn hình người sử dụng, nhưng để làm được công việc hiển thị đó đòi hỏi trình duyệt phải xử lý rất nhiều thông tin và nhiều tầng phía bên dưới. Việc chúng ta (Developers, Testers) tìm hiểu càng sâu tầng bên dưới để nắm được nguyên tắc hoạt động và xử lý của trình duyệt sẽ rất hữu ích trong công việc viết code, sử dụng các tài nguyên cũng như kiểm thử ứng dụng của mình. Cách để npm packages chạy trong browser Câu hỏi phỏng vấn mẹo về React: Component hay element được render trong browser? Khi hiểu được cách thức hoạt động của trình duyệt chúng ta có thể trả lời được rất nhiều câu hỏi như: Tại sao cùng một trang web lại hiển thị khác nhau trên hai trình duyệt? Tại sao chức năng này đang chạy tốt trên trình duyệt Firefox nhưng qua trình duyệt khác lại bị lỗi? Làm sao để trang web hiển thị nội dung nhanh và tối ưu hơn một chút?… Hy vọng sau bài này sẽ giúp các bạn có một cái nhìn rõ hơn cũng như giúp ích được trong công việc hiện tại. 1. Cấu trúc của một trình duyệt Trước tiên chúng ta đi qua cấu trúc, thành phần chung và cơ bản nhất của một trình duyệt web hiện đại, nó sẽ gồm các thành phần (tầng) như sau: Thành phần nằm phía trên là những thành phần gần với tương tác của người dùng, càng phía dưới thì càng sâu và nặng về xử lý dữ liệu hơn tương tác. Nhiệm...

By stationd
Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Thị trường EdTech Vietnam- Nhiều tiềm năng nhưng còn bị bỏ ngỏ tại Việt Nam

Lĩnh vực EdTech (ứng dụng công nghệ vào các sản phẩm giáo dục) trên toàn cầu hiện nay đã tương đối phong phú với nhiều tên tuổi lớn phân phối đều trên các hạng mục như Broad Online Learning Platforms (nền tảng cung cấp khóa học online đại chúng – tiêu biểu như Coursera, Udemy, KhanAcademy,…) Learning Management Systems (hệ thống quản lý lớp học – tiêu biểu như Schoology, Edmodo, ClassDojo,…) Next-Gen Study Tools (công cụ hỗ trợ học tập – tiểu biểu như Kahoot!, Lumosity, Curriculet,…) Tech Learning (đào tạo công nghệ – tiêu biểu như Udacity, Codecademy, PluralSight,…), Enterprise Learning (đào tạo trong doanh nghiệp – tiêu biểu như Edcast, ExecOnline, Grovo,..),… Hiện nay thị trường EdTech tại Việt Nam đã đón nhận khoảng đầu tư khoảng 55 triệu đô cho lĩnh vực này nhiều đơn vị nước ngoài đang quan tâm mạnh đến thị trường này ngày càng nhiều hơn. Là một trong những xu hướng phát triển tốt, và có doanh nghiệp đã hoạt động khá lâu trong ngành nêu tại infographic như Topica, nhưng EdTech vẫn chỉ đang trong giai đoạn sơ khai tại Việt Nam. Tại Việt Nam, hệ sinh thái EdTech trong nước vẫn còn rất non trẻ và thiếu vắng nhiều tên tuổi trong các hạng mục như Enterprise Learning (mới chỉ có MANA), School Administration (hệ thống quản lý trường học) hay Search (tìm kiếm, so sánh trường và khóa học),… Với chỉ dưới 5% số dân công sở có sử dụng một trong các dịch vụ giáo dục online, EdTech cho thấy vẫn còn một thị trường rộng lớn đang chờ được khai phá. *** Vừa qua Station D đã công bố Báo cáo Vietnam IT Landscape 2019 đem đến cái nhìn toàn cảnh về các ứng dụng công...

By stationd