ChatGPT có thể viết code PowerShell không?

15/06/2023 lúc 08:30

Chúng tôi đã đưa khả năng viết mã PowerShell của ChatGPT vào thử thách. Xem xem chatbot trí tuệ nhân tạo đã thực hiện như thế nào.

Dù ChatGPT có đáng kinh ngạc như thế nào, gần đây tôi nghe nhiều nhà phát triển bày tỏ lo ngại rằng nền tảng này cuối cùng có thể khiến họ mất việc vì khả năng viết mã của nó. Ngược lại, những nhà phát triển khác lại cho rằng ChatGPT không đáng lo ngại vì việc viết mã của nó rất kém chất lượng.

Việc các nhà phát triển đang thảo luận về khả năng viết mã của ChatGPT đã khiến tôi suy nghĩ về PowerShell. Cụ thể, liệu ChatGPT có thể viết mã PowerShell không? Nếu có, thì mã của nó có được viết tốt không?

Test #1: Tập lệnh PowerShell cơ bản

Tôi bắt đầu thực hiện các thử nghiệm của mình. Tôi yêu cầu ChatGPT giúp tôi viết một đoạn mã đơn giản “Hello World” bằng PowerShell. Như bạn có thể thấy trong Hình 1, ChatGPT đã cung cấp hướng dẫn để tạo một đoạn mã Hello World, kể cả cách mở PowerShell.

Hình 1. ChatGPT đã cung cấp cho tôi hướng dẫn để viết một đoạn mã Hello World.

Thử nghiệm được hiển thị trong Hình 1 đã thuyết phục tôi rằng ChatGPT thực sự có thể viết mã PowerShell. Tuy nhiên, việc giải thích cách sử dụng PowerShell để thực hiện một nhiệm vụ đơn giản không có nghĩa là tạo ra một đoạn mã có thể sử dụng được. Vì vậy, tôi quyết định tiến hành thử nghiệm khác.

Xem thêm: Giả mạo ChatGPT để chiếm đoạt tài khoản – Hãy cẩn thận

Test #2: Mã PowerShell phức tạp hơn

Thử nghiệm này liên quan đến việc tôi viết một đoạn mã PowerShell và sau đó yêu cầu ChatGPT viết cùng một đoạn mã đó. Tôi sẽ so sánh hai đoạn mã này. Tôi không quan tâm đến việc xem ai có thể viết mã nhanh hơn. Mặc dù tôi làm việc với PowerShell hàng ngày, ChatGPT hầu như chắc chắn sẽ viết mã nhanh hơn tôi.

Cho thử nghiệm của mình, tôi muốn tạo một đoạn mã phức tạp hơn so với đoạn mã Hello World nhưng không quá phức tạp. Cuối cùng, mục tiêu của tôi là so sánh mã được tạo bởi trí tuệ nhân tạo với mã của tôi, và điều đó có thể được thực hiện mà không cần viết một đoạn mã dài và khó khăn.

Tôi quyết định yêu cầu ChatGPT tạo một đoạn mã đơn giản để đếm từ 1 đến 100, chờ 250 mili giây giữa mỗi số, và hiển thị một thanh tiến trình.

Đoạn mã cơ bản PowerShell

Dưới đây là đoạn mã PowerShell mà tôi đã viết:

For ($Count = 1; $Count -le 100; $Count++ )

{

    Write-Progress -Activity “Counting” -Status “$Count% Complete:” -PercentComplete $Count

    Start-Sleep -Milliseconds 250

}

Hình 2. Đây là giao diện khi tôi chạy đoạn mã của mình.

Xem thêm: Cách sử dụng ChatGPT để tạo ra một ứng dụng – Bạn có biết?

Đoạn mã PowerShell phức tạp

Sau khi xem mã của tôi, hãy xem đoạn mã của ChatGPT. Bạn có thể xem câu truy vấn của tôi và kết quả từ ChatGPT trong Hình 3. (Trong trường hợp bạn tò mò, tôi không đo thời gian so với ChatGPT, nhưng tôi mất ba hoặc bốn phút để viết mã của mình, trong khi ChatGPT mất ít hơn một phút để tạo ra mã của nó.)

$progressPreference = 'SilentlyContinue'

for ($i = 1; $i -le 100; $i++) {

    Write-Progress -Activity "Counting from 1 to 100" -Status "Counting..." -PercentComplete ($i) -SecondsRemaining ((100 - $i) * 0.25)

    Start-Sleep -Milliseconds 250

}

Hình 3. Đây là mã mà ChatGPT đã tạo.

Xem thêm: Cách dùng ChatGPT để viết code một cách hoàn hảo

Mặc dù cặp đoạn mã PowerShell này gần như giống nhau, nhưng mã mà ChatGPT tạo ra không hoạt động khi tôi thử nghiệm. Mã thực sự đã đếm đến 100 và chờ 250 mili giây giữa mỗi số. Tuy nhiên, mã không hiển thị thanh tiến trình.

Tôi đã làm việc với PowerShell đủ lâu để biết rằng dòng mã đầu tiên trong mã của ChatGPT gây ra vấn đề. Nếu bạn loại bỏ dòng đó, mã sẽ hoạt động tốt. Tuy nhiên, mục đích của thử nghiệm này là xem liệu ChatGPT có thể viết mã đáng tin cậy, chứ không phải xem tôi có thể gỡ lỗi mã hay không.

Tôi quyết định nhấp vào nút “Regenerate Response” để xem liệu ChatGPT có thể tạo ra kết quả tốt hơn hay không. Thú vị là ChatGPT đã tạo lại mã sử dụng vòng lặp While, như được hiển thị trong Hình 4.

ChatGPT viết lại đoạn mã PowerShell

Hình 4. ChatGPT đã viết lại mã sử dụng vòng lặp While.

Mặc dù đã có những sửa đổi này, mã của ChatGPT vẫn không hoạt động. Tôi muốn xem liệu tôi có thể giúp ChatGPT viết mã tốt hơn. Tôi cho biết vấn đề là gì cho ChatGPT, như được hiển thị trong Hình 5. ChatGPT đã nhận ra lỗi của mình và sau đó tạo lại đoạn mã. Lần này, đoạn mã hoạt động đúng như mong đợi.

Hình 5. ChatGPT đã sửa đoạn mã bị hỏng mà nó đã viết.

Xem thêm: Các chatbot AI tốt nhất: ChatGPT và các lựa chọn thay thế khác

Đánh giá về khả năng viết mã PowerShell của ChatGPT

Đánh giá của tôi: ChatGPT thực sự có khả năng viết mã PowerShell nhưng chưa hoàn hảo (cho đến thời điểm này).

Điều làm tôi ngạc nhiên trong các thử nghiệm này là sau khi tôi nhấp vào nút “Regenerate Response”: ChatGPT đã viết lại đoạn mã để sử dụng một loại vòng lặp khác. Điều này cho thấy rằng ChatGPT có thể thực sự viết mã PowerShell chứ không chỉ tái sử dụng một đoạn mã nó tìm thấy trực tuyến.

Nếu bạn đang tìm kiếm một đối tác triển khai các giải pháp công nghệ cho doanh nghiệp của bạn, hãy đến với IDC Online. IDC Online cung cấp các giải pháp công nghệ thông tin và đám mây cho doanh nghiệp. Bao gồm cả các giải pháp trực quan hóa dữ liệu và các giải pháp khác. Với đội ngũ chuyên gia giàu kinh nghiệm, IDC Online đem lại cho bạn những trải nghiệm tuyệt vời.

Hãy truy cập vào trang web https://idconline.vn/ của IDC Online để biết thêm thông tin chi tiết. Hoặc nếu bạn có vấn đề gì cần giải đáp hãy liên hệ với chúng tôi qua hotline: 19006452. IDC Online luôn ở đây để được đồng hành cùng bạn