- vừa được xem lúc

[Series] Bình dân học AI: AI trong Lập trình phần mềm

0 0 2

Người đăng: Minh Anh

Theo Viblo Asia

Trong bối cảnh cách mạng công nghệ 4.0, trí tuệ nhân tạo (AI) đang thay đổi cách chúng ta làm việc. Nhiều người lo ngại AI đang ngày càng bá đạo và dần thay thế con người trong hầu hết các lĩnh vực hiện nay - kỷ nguyên của Skynet. Tuy nhiên, thực tế cho thấy AI không phải là kẻ thù, mà là công cụ hỗ trợ mạnh mẽ. Thay vì sợ hãi, điều chúng ta cần là học cách cộng tác với AI, nâng cấp kỹ năng để tận dụng sức mạnh của nó. AI không đơn thuần "cướp" việc làm mà đang tái định hình thị trường lao động, người thật sự "cướp" việc làm là người biết làm việc với AI.

Do đó, series này ra đời, hướng đến "Bình dân học AI" (cái tên lấy cảm hứng từ 1 group facebook đang được khá quan tâm: Bình dân học AI)

1. Lập trình phần mềm – Tổng quan

Lập trình phần mềm là ngành sáng tạo và kỹ thuật, tập trung vào việc viết mã để phát triển ứng dụng, website, hoặc hệ thống. Công việc này đòi hỏi tư duy logic, kiến thức kỹ thuật, và khả năng giải quyết vấn đề. Các nhiệm vụ chính bao gồm:

  • Phân tích yêu cầu: Hiểu nhu cầu khách hàng hoặc dự án để xác định chức năng phần mềm.
  • Viết và kiểm tra mã: Sử dụng ngôn ngữ lập trình như Python, Java, hoặc JavaScript để xây dựng phần mềm, kiểm tra lỗi (debug).
  • Tối ưu hóa và bảo trì: Cải thiện hiệu suất mã, sửa lỗi, và cập nhật tính năng mới.
  • Quản lý dự án: Phối hợp với đội ngũ phát triển, thiết kế, và khách hàng để đáp ứng tiến độ.

Trước khi AI xuất hiện, lập trình viên làm việc thủ công, dành nhiều giờ để viết mã từ đầu, tìm lỗi, hoặc nghiên cứu thư viện. Ví dụ, xây dựng một chức năng đăng nhập cho website có thể mất 4-6 giờ, từ viết mã đến kiểm tra.

Khi AI xuất hiện ngày càng nhiều và ngày càng tốt hơn

AI đang cách mạng hóa ngành lập trình phần mềm, đặc biệt ở các tác vụ lặp lại hoặc yêu cầu phân tích nhanh. Nếu không thích nghi, một số khâu có thể bị AI thay thế:

  • Viết mã cơ bản: Công cụ như GitHub Copilot hoặc Cursor có thể tạo các đoạn mã đơn giản (như hàm đăng nhập, vòng lặp) trong vài giây.
  • Tìm và sửa lỗi: AI tự động phát hiện lỗi cú pháp hoặc đề xuất cách sửa mã, thay thế các lập trình viên chỉ làm công việc cơ bản.
  • Tạo mẫu code: AI sinh ra các đoạn mã mẫu cho website, ứng dụng, hoặc API, giảm nhu cầu viết từ đầu.
  • Tối ưu hóa mã: AI đề xuất cách cải thiện hiệu suất mã, như giảm thời gian chạy hoặc sử dụng thư viện tối ưu.

Cộng tác với AI như thế nào?

AI không thể thay thế khả năng thiết kế hệ thống phức tạp, tư duy sáng tạo, hoặc hiểu yêu cầu khách hàng của con người. Lập trình viên có thể cộng tác với AI để tăng năng suất và giảm nỗ lực:

  • Tạo mã nhanh: AI sinh ra các đoạn mã cơ bản hoặc gợi ý cú pháp, giúp lập trình viên tập trung vào logic phức tạp.
  • Tìm lỗi hiệu quả: AI hỗ trợ phát hiện lỗi và đề xuất cách sửa, giúp tiết kiệm thời gian debug.
  • Học thư viện mới: AI cung cấp ví dụ và giải thích về thư viện hoặc framework, giúp lập trình viên học nhanh hơn.
  • Vibe coding: Sử dụng các công cụ AI để lập trình bằng ngôn ngữ tự nhiên (natural language), giúp ngay cả người không có kinh nghiệm cũng có thể xây dựng ứng dụng.

Ví dụ, một lập trình viên ở Việt Nam có thể dùng AI để tạo mã cho một website bán hàng Tết, sau đó điều chỉnh để tích hợp các tính năng đặc thù như thanh toán qua MoMo hoặc hiển thị banner hoa mai.

2. Các công cụ AI phổ biến trong Lập trình phần mềm

Dưới đây là 6 công cụ AI phổ biến trong ngành lập trình phần mềm, bao gồm các công cụ vibe coding như Cursor, Windsurf, và Firebase Studio từ Google I/O 2025, kèm theo tính năng, ưu điểm và nhược điểm:

img

GitHub Copilot

  • Tính năng: Gợi ý mã, tự động hoàn thành đoạn code, và hỗ trợ viết mã trong nhiều ngôn ngữ như Python, JavaScript.
  • Ưu điểm:
    • Tích hợp mượt mà với Visual Studio Code, PyCharm, và các IDE phổ biến.
    • Gợi ý mã theo ngữ cảnh, tiết kiệm thời gian viết lặp lại.
    • Hỗ trợ nhiều ngôn ngữ lập trình và framework.
  • Nhược điểm:
    • Yêu cầu trả phí (~10 USD/tháng hoặc 100 USD/năm).
    • Gợi ý đôi khi không chính xác, cần kiểm tra kỹ.
    • Phụ thuộc vào kết nối internet để hoạt động.

img

Cursor

  • Tính năng: Một IDE dựa trên Visual Studio Code, tích hợp AI Composer để tạo, chỉnh sửa, và debug mã từ ngôn ngữ tự nhiên. Cursor hỗ trợ vibe coding, cho phép lập trình viên mô tả ý tưởng và để AI tạo mã.
  • Ưu điểm:
    • Gợi ý mã dựa trên toàn bộ dự án, hiểu ngữ cảnh sâu.
    • Hỗ trợ chỉnh sửa mã bằng ngôn ngữ tự nhiên, như “giảm padding thanh bên một nửa”.
    • Phù hợp cho cả lập trình viên chuyên nghiệp và người mới bắt đầu.
  • Nhược điểm:
    • Có thể phức tạp với dự án lớn, cần quản lý file quy tắc (.cursorrules).
    • Yêu cầu trả phí (~20 USD/tháng) cho tính năng nâng cao.
    • Đôi khi mất ngữ cảnh nếu chuyển đổi giữa các dự án.

img

Windsurf

  • Tính năng: Một IDE AI-native, trước đây là Codeium, với tính năng Cascade hỗ trợ tạo mã, debug, và lập kế hoạch dự án từ ngôn ngữ tự nhiên, lý tưởng cho vibe coding.
  • Ưu điểm:
    • Giao diện đơn giản, phù hợp cho lập trình viên độc lập và prototyping nhanh.
    • Hỗ trợ lập kế hoạch dự án, chia nhỏ nhiệm vụ thành các bước dễ thực hiện.
    • Có phiên bản miễn phí với tính năng cơ bản.
  • Nhược điểm:
    • Ít tính năng nâng cao hơn Cursor cho các dự án phức tạp.
    • Cần cải thiện tích hợp với các công cụ CI/CD.
    • Gợi ý mã đôi khi không chính xác với các framework mới.

img

Firebase Studio (Google I/O 2025)

  • Tính năng: Một IDE dựa trên đám mây được Google giới thiệu tại Google I/O 2025, cho phép tạo ứng dụng từ ngôn ngữ tự nhiên, hỗ trợ các framework như React, Flutter, và Node.js. Firebase Studio tích hợp với Gemini API để tạo mã và triển khai ứng dụng nhanh chóng.
  • Ưu điểm:
    • Không cần cài đặt, hoạt động trực tiếp trên trình duyệt.
    • Hỗ trợ vibe coding, tạo nguyên mẫu ứng dụng từ mô tả ý tưởng.
    • Tích hợp với hệ sinh thái Google (Firebase, Google Cloud).
  • Nhược điểm:
    • Yêu cầu Gemini API key, có thể tốn phí.
    • Còn trong giai đoạn đầu, chưa tối ưu cho dự án phức tạp.
    • Hạn chế về tùy chỉnh mã so với các IDE truyền thống.

img

Tabnine

  • Tính năng: Tự động hoàn thành mã, đề xuất hàm, và học thói quen lập trình của người dùng.
  • Ưu điểm:
    • Hỗ trợ nhiều ngôn ngữ và tích hợp với các IDE phổ biến.
    • Có phiên bản miễn phí với tính năng cơ bản.
    • Tùy chỉnh gợi ý dựa trên phong cách lập trình cá nhân.
  • Nhược điểm:
    • Tính năng nâng cao yêu cầu gói Pro (~12-24 USD/tháng).
    • Cần thời gian để AI học thói quen người dùng.
    • Đôi khi gợi ý mã không phù hợp với dự án phức tạp.

img

DeepCode (by Snyk)

  • Tính năng: Phân tích mã để phát hiện lỗi, lỗ hổng bảo mật, và đề xuất cải thiện hiệu suất.
  • Ưu điểm:
    • Phát hiện lỗi và lỗ hổng bảo mật chi tiết.
    • Tích hợp với GitHub, GitLab, và các công cụ CI/CD.
    • Có phiên bản miễn phí cho dự án nhỏ.
  • Nhược điểm:
    • Tập trung vào phân tích hơn là viết mã.
    • Yêu cầu trả phí (~20-50 USD/tháng) cho dự án lớn.
    • Cần kiến thức bảo mật để tận dụng tối đa.

3. Demo sử dụng Cursor và so sánh với quy trình thủ công

Cursor là một công cụ vibe coding nổi bật, cho phép lập trình viên tạo mã bằng ngôn ngữ tự nhiên, lý tưởng cho cả người mới và chuyên gia. Dưới đây là hướng dẫn chi tiết để tạo một chức năng đăng nhập cho website bán hàng Tết:

Bước 1: Cài đặt Cursor

  • Truy cập Cursor và tải IDE (dựa trên VS Code).
  • Đăng ký tài khoản và kích hoạt Composer (AI assistant, có bản dùng thử miễn phí).

Bước 2: Viết mã với gợi ý AI

  • Mở Cursor, tạo file mới (ví dụ: login.js).
  • Nhập mô tả bằng ngôn ngữ tự nhiên, ví dụ: Create a login function for a Tet e-commerce website that validates email and password, and returns an error if credentials are invalid.
  • Cursor sẽ gợi ý mã, như:
    function loginUser(email, password) { if (!email || !password) { return { error: "Email và mật khẩu là bắt buộc" }; } // Giả lập kiểm tra cơ sở dữ liệu const user = mockDatabase.find(u => u.email === email && u.password === password); if (!user) { return { error: "Thông tin đăng nhập không hợp lệ" }; } return { success: true, user };
    }
    

Bước 3: Kiểm tra và chỉnh sửa

  • Kiểm tra mã gợi ý, đảm bảo logic phù hợp với dự án.
  • Tinh chỉnh, ví dụ: thêm tích hợp với API thực tế hoặc mã hóa mật khẩu bằng bcrypt.

Bước 4: Kiểm tra và triển khai

  • Chạy thử mã trong Cursor để kiểm tra chức năng đăng nhập.
  • Tích hợp vào website và sử dụng DeepCode để kiểm tra bảo mật.

img

==> Thời gian: Khoảng 20-40 phút, bao gồm chỉnh sửa.

Nếu không sử dụng AI, quy trình tạo chức năng đăng nhập sẽ như sau:

  1. Nghiên cứu: Tìm hiểu cú pháp, thư viện, và cách xử lý đăng nhập (1-2 giờ).
  2. Viết mã: Viết hàm đăng nhập từ đầu, bao gồm logic kiểm tra (2-3 giờ).
  3. Debug: Tìm và sửa lỗi thủ công (1-2 giờ).
  4. Hoàn thiện: Kiểm tra và tích hợp mã vào website (1 giờ).

==> Thời gian: Tổng cộng 5-8 giờ.

Cộng tác với AI sẽ được những gì?:

  • Thời gian: Cursor giảm thời gian từ 5-8 giờ xuống 20-40 phút.
  • Nỗ lực: AI gợi ý mã nhanh, giảm công sức viết và debug thủ công.
  • Sáng tạo: AI hỗ trợ cú pháp và mẫu mã, nhưng lập trình viên cần tinh chỉnh logic và bảo mật.
  • Chi phí: Cursor yêu cầu trả phí (~20 USD/tháng), nhưng tiết kiệm hơn so với thời gian phát triển.

Lưu ý khi sử dụng vibe coding:

  • Cursor phù hợp cho prototyping nhanh hoặc dự án nhỏ, nhưng với các dự án lớn, cần kiểm tra mã cẩn thận để đảm bảo bảo mật và hiệu suất.
  • Sử dụng file quy tắc (.cursorrules) để hướng dẫn AI, tránh gợi ý không phù hợp.

4. Kết Luận

AI đang cách mạng hóa ngành lập trình phần mềm, giúp tự động hóa viết mã cơ bản, tìm lỗi, và tối ưu hóa, cho phép lập trình viên tập trung vào thiết kế hệ thống và sáng tạo. Với các công cụ vibe coding như Cursor, Windsurf, và Firebase Studio, ngay cả người mới cũng có thể xây dựng ứng dụng bằng ngôn ngữ tự nhiên. Ở Việt Nam, nơi ngành công nghệ đang bùng nổ với các startup và thương mại điện tử, AI là chìa khóa để bạn phát triển nhanh và nổi bật.

Để nâng cấp kỹ năng, hãy tham khảo các khóa học sau:

Thử ngay Cursor miễn phí và nâng cấp dần kỹ năng của bản thân trong Lập trình và nhiều lĩnh vực khác

Bình luận

Bài viết tương tự

- vừa được xem lúc

Các thuật toán cơ bản trong AI - Phân biệt Best First Search và Uniform Cost Search (UCS)

Nếu bạn từng đọc các thuật toán trong AI (Artificial Intelligence - Trí tuệ nhân tạo), rất có thể bạn từng nghe qua về các thuật toán tìm kiếm cơ bản: UCS (thuộc chiến lược tìm kiếm mù) và Best First Search (thuộc chiến lược tìm kiếm kinh nghiệm). Khác nhau rõ từ khâu phân loại rồi, thế nhưng hai th

0 0 177

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 163

- vừa được xem lúc

[ChatterBot] Thư viện chatbot hay ho dành cho Python| phần 3

Trong bài trước mình đã trình bày về Training data cho chatbot và tiền xử lý dữ liệu. Trong phần này sẽ trình bày với các bạn về logic adapter.

0 0 69

- vừa được xem lúc

[Deep Learning] Kỹ thuật Dropout (Bỏ học) trong Deep Learning

. Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.1. Dropout trong mạng Neural là gì.

0 0 74

- vừa được xem lúc

Kỹ thuật Dropout (Bỏ học) trong Deep Learning

Trong bài viết này, mình xin phép giới thiệu về Dropout (Bỏ học) trong mạng Neural, sau đó là mình sẽ có 1 số đoạn code để xem Dropout ảnh hưởng thế nào đến hiệu suất của mạng Neural. 1.

0 1 87

- vừa được xem lúc

Blockchain dưới con mắt làng Vũ Đại 4.0

Mở bài. Hey nhô các bạn, lại là mình đây .

0 0 54