Không biết code vẫn 'lên đời' phần mềm 100% bằng AI? Chuyện có thật và cú lật kèo kinh điển!
Lê Lân
0
Có Phải 100% Phát Triển Phần Mềm Hỗ Trợ AI Là Điều Có Thể? – Một Trải Nghiệm Thực Tế
Mở Đầu
Bạn có bao giờ tưởng tượng một người không biết lập trình có thể tạo ra phần mềm chất lượng với hơn 80% bao phủ kiểm thử chỉ nhờ sự trợ giúp từ AI không?
Tôi là một người không biết code, không có nền tảng kỹ thuật phần mềm chính quy, chỉ với chút ít kinh nghiệm HTML và PHP. Tuy nhiên, chỉ trong vòng một tháng, tôi đã phát triển dự án Pagonic — một công cụ nén dữ liệu tiên tiến, mã nguồn mở, đạt hơn 310 bài kiểm thử với 85% độ bao phủ và sở hữu một bộ công cụ dashboard benchmark cực kỳ chi tiết.
Bài viết này sẽ chia sẻ chi tiết hành trình phát triển phần mềm hoàn toàn dựa trên sự hỗ trợ của trí tuệ nhân tạo như ChatGPT và GitHub Copilot, cũng như những bài học, thủ thuật và chiến lược mà tôi đã áp dụng trên con đường biến ý tưởng thành hiện thực.
Trí Tuệ Nhân Tạo Và Đội Ngũ Lồng Ghép: ChatGPT + GitHub Copilot
Bắt Đầu Với AI
Tôi không phải lập trình viên nhưng được bạn bè giới thiệu GitHub Copilot — một công cụ giúp viết code dựa trên câu lệnh tự nhiên.
Mục tiêu đầu tiên là xây dựng một phần mềm thay thế WinRAR hiện đại và mở nguồn.
Tôi đã phát triển kế hoạch chi tiết dưới dạng các tệp văn bản với tiêu đề và kế hoạch sprint.
Quy Trình Làm Việc Với AI
Trước tiên, tôi trình bày ý tưởng với ChatGPT để nhận phân tích.
Sau đó, cho Copilot tạo code dựa trên kế hoạch đã thống nhất.
Kiểm thử và hoàn thiện lặp đi lặp lại quá trình Kế hoạch > Tạo code > Kiểm thử > Cải tiến.
Việc lên kế hoạch và tổ chức dự án kỹ càng giúp bù đắp cho việc tôi thiếu kinh nghiệm lập trình chính quy.
Quy Trình Phát Triển: Tập Trung Vào Kế Hoạch, Kiểm Thử, Và Code
Giai Đoạn 1: Xây Dựng Cơ Sở Hạ Tầng Kiểm Thử
Dành 2 tuần đầu viết các file hạ tầng như registry.py, errors.py cùng các bài test tương ứng.
Tăng độ bao phủ test từ 12% lên 85%, tạo dựng nền tảng kiểm thử vững chắc.
Ví dụ hệ thống đăng ký handler nén để quản lý các định dạng file:
Code ví dụ
Ý nghĩa
register_handler(format_name, handler_class)
Đăng ký định dạng nén mới
get_handler(file_path)
Lấy handler phù hợp dựa trên phần mở rộng
Giai Đoạn 2: Sinh Ra Module ZIP
Lập kế hoạch sprint hàng ngày để phát triển modul ZIP.
Thiết kế từ compression engine đến các thành phần điều khiển entropy, giám sát hiệu năng.
Vượt qua thử thách khi file zip_handler.py dần mở rộng lên 3000+ dòng — yêu cầu tái cấu trúc modular hóa.
Tôi nhận ra lập trình không chỉ là code mà còn là quản lý phức tạp, cần chiến lược rõ ràng và tổ chức chặt chẽ.
Bài Học Đắt Giá: Quên Mất Phần Giải Nén - Hơn 500MB/s Nén Nhưng Chỉ 2.8MB/s Giải Nén
Sự Cố Xấu Hổ
Phần nén được tối ưu cực cao (~500MB/s), trong khi giải nén chỉ là một dòng code đơn giản dựa trên thư viện tiêu chuẩn zipfile với tốc độ 2.8 MB/s.
Khi kiểm thử cuối cùng, tôi bị bạn hỏi về tốc độ giải nén và cảm giác như bị “đứng hình”.
Bài Học Rút Ra
AI hỗ trợ phát triển phần mềm cũng giống lập trình truyền thống: có thể dồn tâm huyết vào phần hấp dẫn mà bỏ quên phần cơ bản nhưng thiết yếu.
Việc xây dựng hoàn chỉnh pipeline, không chỉ tập trung mỗi phần nén, là rất quan trọng.
Đột Phá Trong Giải Nén: Tăng Từ 2.8MB/s Lên Gần 254MB/s Với Ba Chiến Lược Tối Ưu AI
1. Chiến Lược Đường Nhanh Kết Hợp Song Song (Ngưỡng 10MB)
def decompress(...): # phân tích ZIP tùy chỉnh và chọn chiến lược xử lý phù hợp
Bắt đầu dùng parser ZIP tự phát triển thay vì thư viện chuẩn.
Chọn phương án phân giải nén dựa trên kích thước và số lượng file.
Sử dụng đa luồng cho file lớn, một luồng cho file nhỏ.
Chiến Thuật Quản Lý AI: Cách Tôi Điều Khiển ChatGPT Và Copilot
Chiến Lược "Tải Ngữ Cảnh"
Mở đầu mỗi phiên làm việc với prompt chi tiết về trạng thái dự án, mục tiêu, giới hạn.
Quy Tắc "Tăng Độ Phức Tạp Dần"
Viết hàm tối giản (MVP) không quá 20 dòng.
Viết kiểm thử ngay sau đó.
Chỉ thêm tính năng sau khi test chạy ổn định.
Giới hạn file code dưới 1000 dòng.
Quy Trình "Chuyển Giao Giữa ChatGPT Và Copilot"
Khi Copilot “bối rối”, tôi chuyển đoạn code cho ChatGPT để nhận tư vấn kiến trúc.
Sau đó trở lại với Copilot để hoàn thiện phần lập trình.
Tuân thủ nghiêm ngặt các quy tắc phát triển, tôi có thể kiểm soát chất lượng code ngay cả khi phụ thuộc hoàn toàn vào AI.
Triết Lý Thiết Kế Giao Diện Người Dùng: Thiết Kế Tập Trung Vào AI
Phương Pháp "Tiết Lộ Thông Tin Dần Dần"
Cấp 1: Giao diện kéo thả đơn giản, thân thiện (như WinRAR).
Cấp 2: Gợi ý thông minh dựa trên phân tích dữ liệu (định dạng và cài đặt phù hợp).
Cấp 3: Chế độ chuyên gia cho phép tùy chỉnh sâu, theo dõi hiệu năng.
Tính Năng Tương Lai Hướng AI
Lựa chọn định dạng nén tối ưu dựa đánh giá độ phức tạp và entropy tập tin.
Báo cáo tiến trình và ước lượng thời gian dựa trên AI.
Gợi ý tối ưu hóa hiệu năng theo thời gian thực.
Lộ Trình Phát Triển Cho 12 Tháng Tới
Giai đoạn
Mục tiêu chính
Tính năng nổi bật
1-3
Hoàn thiện cơ sở
Đạt 500MB/s nén, 253.7MB/s giải nén, nâng test coverage đến 95%
4-6
Mở rộng hỗ trợ định dạng
Tích hợp RAR đọc-only, TAR, 7-Zip và tối ưu AI
7-9
Phát triển GUI
Chọn Tauri hoặc Electron, xây dựng giao diện và các thành phần AI
10-12
Tích hợp đám mây
Nén/giải nén trực tiếp từ Google Drive, OneDrive, tính năng chia sẻ nhóm
Dự án hiện tại: Pagonic với 310+ bài test, 81% độ bao phủ, hiệu năng ấn tượng, phát triển 100% nhờ GitHub Copilot và ChatGPT.
Kết Luận
Qua trải nghiệm thực tế này, tôi đã chứng minh được rằng với kế hoạch chi tiết và việc tận dụng tối đa sức mạnh AI, người không chuyên hoàn toàn có thể phát triển phần mềm phức tạp với chất lượng cao. Hành trình phát triển Pagonic không chỉ là câu chuyện về AI viết code, mà còn là minh chứng cho một phương pháp phát triển phần mềm hiện đại, có kế hoạch, kiểm thử kỹ lưỡng và cải tiến liên tục.
Bạn cũng có thể bắt đầu hành trình AI-assisted software development của riêng mình ngay hôm nay! Hãy thử áp dụng những chiến lược, quy tắc và công cụ tôi chia sẻ để tạo ra sản phẩm phần mềm mang dấu ấn cá nhân và sự hỗ trợ của AI.