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

02/05/2023 lúc 14:50

Một trong những khám phá thú vị về ChatGPT là nó có thể viết code khá tốt. Nhưng đó là một dự án rất đơn giản. Làm thế nào để bạn sử dụng ChatGPT để viết code như một phần của thực hành lập trình hàng ngày của mình? Đó là điều chúng tôi sẽ khám phá ở đây.

ChatGPT có thể làm tốt những loại code nào?

Có hai sự thật quan trọng về ChatGPT và lập trình. Thứ nhất là nó thực sự có thể viết mã hữu ích. Thứ hai là nó có thể hoàn toàn lạc lối, rơi vào hố thỏ, đuổi đuổi đuôi của chính mình và tạo ra những đoạn mã hoàn toàn không sử dụng được.

Tôi đã phát hiện điều này một cách khó khăn. Sau khi hoàn thành plugin WordPress, tôi quyết định xem ChatGPT có thể đi đến đâu. Tôi đã viết một câu hỏi rất cẩn thận cho một ứng dụng Mac, bao gồm các mô tả chi tiết về các phần giao diện người dùng, tương tác, những gì sẽ được cung cấp trong cài đặt, cách chúng hoạt động và nhiều hơn nữa. Sau đó, tôi cho nó ăn vào.

ChatGPT đã trả lời bằng một dòng chữ và mã lệnh. Sau đó nó dừng giữa chừng. Khi tôi yêu cầu tiếp tục, nó đổ ra nhiều mã lệnh và văn bản hơn nữa. Tôi yêu cầu tiếp tục sau tiếp tục và nó đổ ra nhiều mã lệnh hơn và hơn nữa. Nhưng… không có cái nào trong số đó có thể sử dụng được. Nó không xác định được nơi mã lệnh nên đi, cách xây dựng dự án và – khi tôi xem kỹ mã lệnh được tạo ra – nó bỏ qua các hoạt động chính mà tôi yêu cầu, chỉ để lại các mô tả văn bản đơn giản nói “chương trình logic nằm ở đây”.

Xem thêm: Trình tạo nghệ thuật AI tốt nhất: DALL-E 2 và những lựa chọn khác

ChatGPT không thể code cho 1 ứng dụng hoàn chỉnh

Sau một loạt các bài thử nghiệm lặp đi lặp lại, tôi nhận ra rằng nếu bạn yêu cầu ChatGPT tạo ra một ứng dụng hoàn chỉnh, nó sẽ thất bại. Một phát biểu tương ứng với quan sát này là nếu bạn không biết gì về lập trình và muốn ChatGPT xây dựng một cái gì đó cho bạn, nó cũng sẽ thất bại.

Nơi mà ChatGPT thành công, và làm rất tốt, là giúp cho những người đã biết lập trình để xây dựng các chức năng cụ thể và hoàn thành các công việc cụ thể. Đừng yêu cầu ChatGPT tạo ra một ứng dụng chạy trên thanh menu. Nhưng nếu bạn yêu cầu ChatGPT tạo ra một chức năng để đặt một menu trên thanh menu, và sau đó dán nó vào dự án của bạn, nó sẽ diễn ra khá tốt.

Sử dụng ChatGPT để giới thiệu kỹ thuật, viết các thuật toán nhỏ và viết các hàm phụ trợ. Bạn thậm chí có thể yêu cầu ChatGPT giúp bạn phân tích một dự án lớn thành các phần nhỏ hơn, sau đó bạn có thể yêu cầu nó giúp bạn viết code cho các phần đó.

Với điều đó trong tâm trí, hãy xem các bước cụ thể để sử dụng ChatGPT để viết mã.

Xem thêm: 6 điều ChatGPT không thể làm và 20 thứ khác từ chối thực hiện

ChatGPT có thể giúp bạn viết code như thế nào?

1. Thu hẹp và tăng cường yêu cầu của bạn

Bước đầu tiên là quyết định những gì bạn sẽ yêu cầu từ ChatGPT. Quyết định điều bạn muốn chức năng hoặc hàm của mình làm gì, hoặc những gì bạn muốn học để tích hợp vào code của bạn. Quyết định các tham số mà bạn sẽ truyền vào code của mình và những gì bạn muốn nhận được. Sau đó, hãy xem cách bạn sẽ mô tả nó.

Hãy tưởng tượng rằng bạn đang trả tiền cho một lập trình viên để làm điều này. Bạn có cung cấp đủ thông tin cho người đó để làm việc trên nhiệm vụ của bạn không? Hay bạn quá mơ hồ và người bạn trả tiền cho có thể sẽ hỏi câu hỏi hoặc đưa ra một cái gì đó hoàn toàn không liên quan đến những gì bạn muốn?

Dưới đây là một ví dụ. Hãy nói rằng tôi muốn tóm tắt bất kỳ trang web nào. Tôi muốn cung cấp cho nó một trang web như bài viết này và nhận lại một bản tóm tắt ngắn gọn và phù hợp. Như đầu vào của tôi, tôi sẽ chỉ định một đường dẫn URL của trang web. Như đầu ra của tôi, đó là một khối văn bản với một bản tóm tắt.

2. Sử dụng ChatGPT để khám phá các thư viện và tài nguyên

Tiếp tục với ví dụ trên, một cách cổ điển để trích xuất dữ liệu trang web là chỉ tìm kiếm văn bản giữa các thẻ đoạn văn HTML.

Tuy nhiên, với sự phát triển của các công cụ trí tuệ nhân tạo, sử dụng một thư viện AI để thực hiện trích xuất thông minh và tóm tắt là có ý nghĩa hơn. Một trong những điểm mạnh của ChatGPT (và đó cũng là một lĩnh vực bạn có thể dễ dàng xác minh để tránh mô hình hành vi sai chính tả) là tìm thư viện và tài nguyên.

OpenAI (nhà sản xuất của ChatGPT) bán quyền truy cập API vào các động cơ GPT-3 và GPT-4 sẽ làm chính xác những gì chúng ta muốn. Nhưng trong trường hợp của ví dụ này, hãy giả sử rằng chúng ta không muốn trả phí giao dịch.

Xem thêm: Tôi đã viết một quy trình bằng 12 ngôn ngữ lập trình với ChatGPT

Cách tương tác với ChatGPT

Vì vậy, hãy xem cách tương tác với ChatGPT để tìm hiểu cách sử dụng một công cụ như vậy miễn phí, với một dự án chạy trên PHP.

Tôi bắt đầu bằng một câu hỏi được thiết kế để thu thập thông tin về các thư viện sẽ cung cấp chức năng mà tôi muốn. Một thư viện (đối với những người đọc không phải là lập trình viên) là một bộ mã mà một lập trình viên có thể truy cập để thực hiện nhiều công việc khác nhau. Một phần lớn của lập trình hiện đại là tìm và lựa chọn các thư viện phù hợp. Vì vậy, đây là một điểm khởi đầu tốt.

Câu hỏi mô tả thư

Trong trường hợp này, tôi đang xem xét các khối mã được viết bởi những người khác để tóm tắt văn bản. Đây là prompt đầu tiên của tôi:

Mô tả mười thư viện AI mã nguồn mở khác nhau (và ngôn ngữ mà chúng hoạt động) mà tôi có thể sử dụng để tạo bản tóm tắt nội dung cốt lõi chính của bất kỳ trang web nào, bỏ qua mọi quảng cáo hoặc tài liệu nhúng.

Điều này đã đưa cho tôi đúng những gì tôi muốn, bao gồm cả đề cập đến các dịch vụ của OpenAI. Tôi nghĩ rằng OpenAI sẽ là lựa chọn tốt ở đây, nhưng cho dự án giả định này, tôi không muốn dành ngân sách cho các khoản phí API. Vì vậy, tôi sẽ thu hẹp câu hỏi lại.

Câu hỏi về phí

Có bất kỳ trong số này miễn phí?

ChatGPT đưa ra một câu trả lời khá thận trọng với câu hỏi của tôi. Đây là những gì nó nói: “Vâng, tất cả 10 thư viện trí tuệ nhân tạo này đều là mã nguồn mở và miễn phí để sử dụng. Tuy nhiên, một số trong số chúng có thể có giới hạn sử dụng hoặc yêu cầu thanh toán để truy cập vào các tính năng hoặc tài nguyên bổ sung.” Vì vậy, dựa trên đó, tôi đã làm rõ câu hỏi của mình.

Thư viện nào trong số những thư viện này không có giới hạn sử dụng và không yêu cầu bất kỳ khoản thanh toán hoặc giấy phép bổ sung nào

Lưu ý rằng đây rất giống một cuộc trò chuyện. Tôi không phải hỏi lại câu hỏi ban đầu. Tôi chỉ đang nghiên cứu sâu hơn trong cùng một cách tôi có thể làm nếu tôi có một chuyên gia ở đó và đang tìm kiếm sự làm rõ. Trong trường hợp này, ChatGPT đã đưa cho tôi tám lựa chọn thư viện, nhưng không có thư viện nào đề cập đến ngôn ngữ PHP mà tôi đang lập trình. Vì vậy, đây là prompt tiếp theo:

Câu hỏi về thư viện

Trong số 8 thư viện đó, tôi có thể sử dụng thư viện nào với PHP không?

Nó trả về ba thư viện, nhưng tôi không chắc về từng thư viện làm gì. Vì vậy, một câu hỏi tiếp theo là:

Sự khác biệt giữa Sumy, Gensim và NLTK là gì?

Tôi vẫn chưa chắc chắn, vì vậy tôi đã làm rõ kế hoạch sử dụng của mình và sau đó hỏi:

Nếu tôi muốn tạo bản tóm tắt các bài báo trên trang web, thư viện nào sẽ hoạt động tốt hơn?

Câu trả lời mà tôi nhận được rõ ràng và hứa hẹn: “Sumy được thiết kế đặc biệt cho tóm tắt văn bản, đó là công việc tạo ra một bản tóm tắt chứa những thông tin quan trọng nhất từ một đoạn văn bản.” Vì vậy, bây giờ là lúc để xem xét những gì liên quan đến việc sử dụng Sumy với PHP. Tôi đặt câu hỏi cuối cùng cho phần này của dự án:

Bạn có thể giải thích cách sử dụng Sumy từ PHP không?

Chú ý rằng, trong bước 1, tôi quyết định mô-đun chương trình mà tôi sẽ nhận được sự trợ giúp. Sau đó, ở bước này, tôi đã có một cuộc trò chuyện với ChatGPT để quyết định thư viện nào để sử dụng và cách tích hợp nó vào dự án của mình.

Xem thêm: Học ngôn ngữ lập trình nào để có mức lương 10000$/tháng?

3. Yêu cầu ChatGPT viết code ví dụ

Vâng, hãy dừng lại một chút ở đây. Bài viết này có tựa đề “Làm thế nào để sử dụng ChatGPT để viết code.” Và nó sẽ giúp bạn làm điều đó, nhưng chúng ta thực sự đang yêu cầu ChatGPT viết code ví dụ. Đợi đã. Sao vậy?

Hãy làm rõ. Trừ khi bạn đang viết một hàm rất nhỏ, ChatGPT sẽ không thể viết được code của bạn. Trước tiên, bạn sẽ phải duy trì mã code đó. ChatGPT rất tệ trong việc sửa đổi code đã được viết. Tệ đến mức, nó không làm được. Vì vậy, để có được mã mới, bạn phải yêu cầu ChatGPT tạo ra một cái gì đó mới. Như tôi đã tìm thấy trước đây, ngay cả khi câu hỏi của bạn gần như giống nhau. ChatGPT có thể thay đổi những gì nó đưa cho bạn một cách rất không đáng ngờ.

Điều đó có nghĩa là bạn phải tự làm. Như chúng ta đã biết, phiên bản nháp của một đoạn code hiếm khi là mã cuối cùng. Vì vậy, ngay cả khi bạn mong đợi ChatGPT tạo ra code cuối cùng thì nó thực sự chỉ là một điểm khởi đầu. Nơi bạn cần đưa nó đến hoàn thiện, tích hợp vào dự án lớn hơn của bạn, kiểm tra nó, cải tiến nó, gỡ lỗi nó, và vân vân.

Ví dụ về đoạn code do ChatGPT viết

Nhưng điều đó không có nghĩa là đoạn mã ví dụ là vô giá trị. Hoàn toàn không phải như vậy. Hãy xem xét một đoạn prompt mà tôi đã viết dựa trên dự án tôi đã mô tả trước đó. Đây là phần đầu tiên của nó:

Viết một hàm PHP có tên là summary_article.

Là đầu vào, summary_article sẽ được chuyển một URL tới một bài báo trên trang web liên quan đến tin tức như ZDNET.com hoặc Reuters.com.

Tôi đang cho ChatGPT biết ngôn ngữ lập trình mà nó nên sử dụng. Tôi cũng cho nó biết đầu vào. Nhưng trong khi làm vậy, tôi cung cấp hai trang web làm mẫu để giúp ChatGPT hiểu về phong cách của bài viết. Thành thật mà nói, tôi không chắc rằng ChatGPT đã không bỏ qua phần hướng dẫn đó. Tiếp theo, tôi sẽ cho nó biết cách để làm phần lớn công việc:

Bên trong summary_article, truy xuất nội dung của trang web tại URL được cung cấp. Sử dụng thư viện Sumy từ bên trong PHP và bất kỳ thư viện cần thiết nào khác, trích xuất nội dung chính của bài viết, bỏ qua mọi quảng cáo hoặc tài liệu nhúng và tóm tắt bài viết trong khoảng 50 từ. Hãy chắc chắn rằng bản tóm tắt bao gồm các câu hoàn chỉnh. Bạn có thể vượt quá 50 từ để hoàn thành câu cuối cùng, nếu cần.

Tôi cũng xác định một số từ định để giới hạn những gì tôi muốn làm như một bản tóm tắt. Một phiên bản sau của quy trình có thể lấy số đó như một tham số. Cuối cùng, tôi nói những gì tôi muốn là kết quả:

Khi quá trình xử lý hoàn tất, hãy viết mã summary_article để nó trả về bản tóm tắt ở dạng văn bản thuần túy.

Đoạn mã kết quả khá đơn giản. ChatGPT đã gọi một thư viện khác (Goose) để lấy nội dung bài viết. Sau đó, nó chuyển nội dung đó cho Summy với giới hạn 50 từ. Cuối cùng nó trả về kết quả. Đó là tất cả. Nhưng khi các thứ cơ bản đã được viết, chỉ là vấn đề lập trình để quay lại và thêm các chỉnh sửa. Sau đó tùy chỉnh những gì được chuyển đến hai thư viện, và đưa ra kết quả.

Xem thêm: S-GPT, Lối tắt để kết nối ChatGPT với Hệ điều hành Apple

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách sử dụng ChatGPT – một mô hình ngôn ngữ tự nhiên trí tuệ nhân tạo – để viết code một cách hoàn hảo. Chúng ta đã thấy cách sử dụng ChatGPT để tạo ra một quy trình đơn để tóm tắt nội dung bài viết. Việc sử dụng ChatGPT cho phép chúng ta tiết kiệm thời gian và nỗ lực khi viết code. Đồng thời đảm bảo tính chính xác và hiệu quả của quy trình.

Tuy nhiên, việc sử dụng công nghệ AI cần phải được thực hiện cẩn thận và có kiểm soát để đảm bảo tính an toàn và độ tin cậy của kết quả. Tóm lại, sử dụng ChatGPT để viết code là một cách tiết kiệm thời gian và tối ưu hóa quy trình. Nhưng cần được áp dụng một cách cẩn thận và có kiểm soát.

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