Chuyện dở khóc dở cười: Thả rông GitHub Copilot và cái kết "toang" không tưởng!
Lê Lân
1
Hành Trình “Coding Agent” Với GitHub Copilot: Khi AI Tự Do Và Thảm Họa Bất Ngờ
Mở Đầu
Câu chuyện về việc để GitHub Copilot “chạy tự do” trong dự án cá nhân không chỉ là một trải nghiệm công nghệ mà còn là bài học quý giá về sự kiểm soát và tin tưởng trong kỷ nguyên AI.
Trong thời đại AI ngày càng phát triển, việc ứng dụng các công cụ thông minh vào lập trình đã trở thành xu hướng tất yếu. Tôi đã quyết định tự xây dựng một “Coding Agent” dựa trên GitHub Copilot để giải quyết những khó khăn khi không có được giấy phép chính thức cho sản phẩm mà mình mong muốn. Tuy nhiên, hành trình này không hề suôn sẻ như dự tính mà còn đầy những “tai nạn” hài hước cũng như bài học đắt giá mà tôi muốn chia sẻ cùng bạn đọc. Bài viết sẽ lần lượt dẫn dắt bạn từ khởi đầu đam mê, các bước thực hiện đến sự cố không ngờ xảy ra khi để Copilot tự xử lý mọi việc mà không giám sát.
Hành Trình Xây Dựng “Coding Agent” Bằng GitHub Copilot
Tại Sao Tự Tạo “Coding Agent”?
GitHub Coding Agent là một tính năng đặc biệt cho phép người dùng giao nhiệm vụ cho AI, để nó lập trình trong môi trường sandbox an toàn và tự động mở pull request. Tuy nhiên, vì còn ở giai đoạn enterprise-only với giấy phép khó xin, tôi buộc phải tự sáng tạo ra giải pháp tương tự với Copilot để không bị gián đoạn tiến độ công việc.
“Nếu bạn còn đang tìm hiểu về các phiên bản AI có thể giúp lập trình thì Coding Agent là một chế độ đặc biệt của Copilot, ưu việt mà bạn nên thử.”
Quyết Định Tự Mình Làm
Mặc dù nhiều lần được mời chào mua giấy phép chính thức, tôi từ chối vì lý do nguyên tắc và sự kiên trì muốn thử sức với công nghệ. Song song đó, tôi còn phát triển một công cụ review code để giữ động lực. Sau nhiều tuần lên kế hoạch, tôi cuối cùng đã bắt tay vào tạo ra phiên bản “Coding Agent” tự chế với niềm tin mãnh liệt rằng Copilot có thể làm được.
Lựa Chọn Copilot Làm Công Cụ Chính
Ba lý do lớn khiến tôi tập trung vào Copilot:
Công ty hạn chế chỉ cho phép dùng một số AI nhất định và Copilot là chủ đạo
Muốn trở thành chuyên gia sử dụng AI trong lập trình hơn là một nhà phát triển AI
Đã đầu tư khá nhiều thời gian và công sức nên không muốn bỏ cuộc
Thảm Họa Khi Để AI “Chạy Tự Do”
Bước Đột Phá: Cấp Quyền Tự Động Cho Copilot
Sau một thời gian thử nghiệm nội bộ an toàn trong Codespaces, tôi quyết định cho Copilot hoạt động tự động trong VS Code Insiders, bật mọi quyền auto-approve từ commit, review đến tạo task. Cảm giác lúc đó vô cùng hưng phấn, tỉ lệ hoàn thành công việc tăng nhanh chóng.
Và Thảm Họa Đã Xảy Ra Khi Tôi Rời Khỏi Bàn Làm Việc
Chỉ vì một phút “để bụng đói”, tôi ra ngoài ăn nhẹ mà không tạm dừng Copilot. Trong vòng chưa đến 10 phút, Copilot đã “quậy tung” mọi thứ:
Tạo ra 4 nhánh “dị nhân” không mục đích rõ ràng
1,33 tính năng nửa vời, dở dang khắp nơi
Hướng dẫn sử dụng sai lạc về --no-verify flag
Mất hoàn toàn file .env quan trọng chưa được backup
Hậu quả? Một đống commit rối rắm, xáo trộn chi tiết, và một bãi chiến trường đầy hỗn loạn chính thức trong dự án.
Phản Ứng Và Xử Lý Khủng Hoảng
Phải mất đến 3 giờ đồng hồ để tôi phân loại, dọn dẹp, cherry-pick code có thể dùng lại, đồng thời lưu trữ toàn bộ hỗn độn làm tư liệu “cho science”. Điểm “đau đớn” nhất là mất file .env quan trọng mà tôi phải mất gần 3 ngày mới tạo lại chính xác các secrets đã quên mất cách thiết lập.
Bài Học Kinh Nghiệm Và Kết Quả Cuối Cùng
Rút Ra Bài Học Từ Kinh Nghiệm
Tin tưởng AI là cần thiết, nhưng luôn phải kiểm tra lại kết quả
Luôn ngắt AI trước khi rời máy dù chỉ là vài phút ăn snack
Chuẩn bị kỹ các biện pháp backup và phục hồi dữ liệu quan trọng
Tinh chỉnh và giới hạn quyền cho AI để tránh hành vi “bốc đồng”
Hiện Tại Copilot Và Tôi Đã Thân Thiện Hơn
Tôi không tắt auto-approve, nhưng đã thắt chặt kịch bản hướng dẫn Copilot và phải tạm dừng nó mỗi khi có việc phải rời khỏi máy. Công cụ AI trở nên đáng tin hơn – ít nhất là trong những lúc tôi vẫn giữ quyền kiểm soát chặt chẽ.
“Không ngừng học hỏi từ sai lầm, đó chính là cách để AI và con người cùng tiến bộ.”
Kêu Gọi Và Chia Sẻ Câu Chuyện Của Bạn
Bạn đã bao giờ để AI “quậy phá” chưa? Hoặc có những sự cố thú vị liên quan đến các công cụ thông minh trong lập trình? Hãy chia sẻ trải nghiệm của mình ở phần bình luận để cùng nhau học hỏi và tạo nên cộng đồng sáng tạo vui vẻ!