
ChatGPT – Người trợ lý đáng tin cậy của lập trình viên
ChatGPT ngày càng được sử dụng rộng rãi, trở thành công cụ hữu ích không thể thiếu giúp các nhà phát triển tự động hóa nhiều tác vụ trong quy trình làm việc. Với khả năng xử lý ngôn ngữ tự nhiên, ChatGPT có thể hiểu các yêu cầu phức tạp và đưa ra câu trả lời chính xác, giải quyết nhiều vấn đề mà trước đây chỉ con người mới có thể xử lý.
Trong bài viết này, chúng ta sẽ cùng tìm hiểu cách ChatGPT có thể hỗ trợ công việc của lập trình viên như thế nào, thông qua ví dụ xây dựng một ứng dụng web đơn giản. Điều này cho thấy tiềm năng của ChatGPT trong tương lai gần khi trở thành người trợ lý đáng tin cậy của các nhà phát triển phần mềm.
Giả sử chúng ta cần xây dựng một API lấy thông tin giá Bitcoin từ các nguồn dữ liệu bên ngoài. Yêu cầu đặt ra là API phải được viết bằng công nghệ hiện đại, có chất lượng mã cao, logic xử lý đáng tin cậy. Để ChatGPT hiểu rõ bối cảnh và đưa ra gợi ý phù hợp, ta cần cung cấp thêm các thông tin: vai trò người yêu cầu, mục đích sử dụng và yêu cầu kỹ thuật.
Xét về mặt kỹ thuật, cơ sở dữ liệu của ChatGPT chỉ có đến tháng 9/2021. Do đó nếu yêu cầu sử dụng công nghệ mới hơn, ChatGPT sẽ thông báo không có thông tin. Vì vậy, ta cần xác định rõ ràng phiên bản công nghệ phù hợp để Bot có thể đưa ra gợi ý tốt nhất.
Khi đặt câu hỏi với 3 tham số: vai trò, thông tin bổ sung và yêu cầu làm rõ, ChatGPT sẽ hiểu bối cảnh và trả lời chính xác hơn, thay vì đưa ra công thức chung chung. Điều này giúp cuộc trò chuyện giống như ta đang tham khảo ý kiến từ một chuyên gia.
Hãy cùng xem ChatGPT đề xuất như thế nào khi chúng ta yêu cầu:
“Bạn là một kỹ sư phần mềm chuyên nghiệp. Hãy viết một API lấy giá Bitcoin từ các nguồn khác nhau bằng Spring Boot, Java 17 và Gradle.”
Ngay lập tức ChatGPT sẽ đưa ra các bước cụ thể để xây dựng dự án:
- Tạo project Spring Boot qua Spring Initializr hoặc IDE
- Định nghĩa cấu trúc thư mục và package
- Xây dựng các model class, service class và controller
- Cấu hình build.gradle với các dependency cần thiết
- Viết lệnh khởi chạy ứng dụng và endpoint truy cập API qua HTTP
Như vậy chỉ trong vài giây, chúng ta đã có ngay khung ứng dụng với đầy đủ chi tiết. ChatGPT cũng đề xuất tuân theo các best practice khi phân chia các layer service, model và controller rõ ràng.
Tuy nhiên lấy dữ liệu từ một nguồn duy nhất có thể không đảm bảo tính sẵn sàng cao. ChatGPT gợi ý kết nối đến hai API để so sánh và chọn giá phù hợp:
@Service
public class QuoteService {
private static final String SOURCE_1_API = “…”;
private static final String SOURCE_2_API = “…”;
public Quote getBitcoinQuote() {
// Call 2 API in parallel
Mono<Quote> quote1 = callSource1();
Mono<Quote> quote2 = callSource2();
// Compare and return quote price
return Mono.zip(quote1, quote2, this::chooseQuote);
}
private Mono<Quote> callSource1() {
// Call source 1
}
private Mono<Quote> callSource2() {
// Call source 2
}
private Quote chooseQuote(Quote q1, Quote q2) {
// Return higher price
}
}
Ở đây ChatGPT đã tự động áp dụng Reactor framework để xử lý bất đồng bộ và song song hóa các call API. Điều này giúp tối ưu hiệu năng và tốc độ xử lý. Sau khi call song song xong, phương thức chooseQuote sẽ so sánh và chọn ra response tốt nhất.
Như vậy chỉ sau vài lần trao đổi, chúng ta đã có ngay một bản thiết kế tốt cho API. Các chi tiết còn lại như test, document có thể tiếp tục trao đổi với ChatGPT để hoàn thiện dự án.
So với cách tra cứu truyền thống trên Google hay StackOverflow, ChatGPT giúp cuộc đối thoại liên tục và nhận được gợi ý phù hợp ngay lập tức. Đặc biệt, khả năng hiểu ngữ cảnh và đưa ra code mẫu của ChatGPT là rất hữu ích cho các nhà phát triển.
Tuy nhiên, cần lưu ý một số hạn chế của ChatGPT:
- Cơ sở dữ liệu có giới hạn, không cập nhật các công nghệ mới nhất
- Mã nguồn được đề xuất có thể còn thiếu sót, cần kiểm tra và hiệu chỉnh
- Khó xử lý các trường hợp ngoại lệ phức tạp
Do đó, ChatGPT phù hợp để hỗ trợ lập trình viên thiết kế bộ khung ứng dụng, triển khai các use case phổ biến. Các trường hợp phức tạp hơn vẫn cần dựa vào kinh nghiệm và kỹ năng của developer.
Tóm lại, với sự bùng nổ của AI, ChatGPT hứa hẹn sẽ trở thành người đồng hành đắc lực của lập trình viên trong tương lai gần. Dù vậy, con người vẫn đóng vai trò then chốt để định hướng, giám sát và tối ưu hóa công việc của ChatGPT. Sự kết hợp nhịp nhàng giữa người và máy chính là chìa khóa để nâng cao năng suất lao động trí tuệ.
EHOMEAI.VN CUNG CẤP TÀI KHOẢN ỨNG DỤNG TRÍ TUỆ NHÂN TẠO
👉 MUA TÀI KHOẢN CLAUDE AI 👉https://ehomeai.vn/2023/09/30/mua-tai-khoan-claude-ai/
💥Sau khi chuyển khoản Bạn đăng nhập vào:
👉 Nhóm Hỗ trợ Kích hoạt tài khoản sau khi ĐÃ THANH TOÁN 👉 https://zalo.me/g/vttemw127
👉 Nhóm ứng dụng OPEN AI & ChatGPT trong Công việc & Kinh doanh 👉 https://zalo.me/g/tmbsma080
👉 Nhóm ứng dụng OPEN AI & ChatGPT trong Giáo dục 👉https://zalo.me/g/izsmdw110