Chạy script an toàn lần đầu: bản sao, đọc trước, thư mục mẫu
Trước khi để script chạm dữ liệu thật, sao lưu, đọc lại xem nó ghi gì ở đâu, và luôn chạy thử trên thư mục mẫu trước.
Kiểm tra lần cuối: 26/9/2026.
Sau bài này bạn sẽ: sao lưu dữ liệu, đọc lại script để biết nó đọc/ghi gì, và tự tin chạy nó lần đầu trên dữ liệu thật
⏱ khoảng 18 phút (đã tính thời gian chuyển qua lại giữa các app) · 💻 Cần máy tính (không có bản trên điện thoại) · Tài khoản công cụ AI: 18+ · Kiểm tra lần cuối: 26/9/2026
Vì sao quan trọng

Ở bài trước, Minh đã có một scriptĐoạn code nhỏ làm 1 việc cụ thể chạy đúng — nhưng mới chỉ chạy trên 3 file CSV giả lập. Rủi ro thật của việc để AI viết script không phải là "code xấu". Rủi ro thật là: script chạy trên dữ liệu thật và làm hỏng thứ bạn không có bản sao. AI viết code rất tự tin, kể cả khi nó sắp làm điều bạn không muốn — nó không tự biết đâu là file quý giá của bạn.
Hai cách chạy lần đầu trên dữ liệu thật
Chạy ẩu
- Không có bản sao — hỏng là mất luôn
- Không đọc xem script ghi đè gì
- Việc đầu tiên nó chạm là dữ liệu thật của bạn
Chạy an toàn lần đầu
- Sao lưu dữ liệu trước, ở một chỗ khác
- Đọc lại: script đọc gì, ghi gì, có xóa/ghi đè không
- Thư mục mẫu luôn đi trước dữ liệu thật
Ba việc trong cột phải chính là ba nguyên tắc an toàn khi để AI viết script cho bạn: thư mục testThư mục riêng chứa bản copy dữ liệu (`Desktop\test-buoi-6`, thư mục `input` trên Colab) nơi mọi script chạy lần đầu; không chạy trong Drive hay thư mục công việc, backupBản copy dữ liệu thật cất ở chỗ khác (ổ ngoài, Drive) trước khi chạy script trên dữ liệu thật; script mẫu của khóa chỉ copy, không move, không xóa, và đọc kế hoạch (hoặc đọc code) trước khi chạy. Đọc code không có nghĩa là bạn phải hiểu từng dòng — chỉ cần trả lời được ba câu: nó đọc gì, nó ghi gì ở đâu, và có dòng nào xóa hoặc ghi đè không.
Thử ngay — sao lưu rồi hỏi AI xác nhận trước khi chạy
Minh sắp chạy tong_hop_quy.py lần đầu trên thư mụcThư mục (Drive hoặc máy) bạn tạo ở buổi 1 để lưu 11 tài sản của khóa; khác Office AI Toolkit (tài sản #5: 5 template văn phòng của buổi 3) quỹ thật của tháng 9 (4 file, mỗi tuần một file). Trước khi bấm chạy, anh làm hai việc:
▶ Thử ngay
-
Sao lưu thật: copy toàn bộ thư mục
inputra một thư mục khác trước khi chạy bất cứ gì.Bằng chuột (Windows và Mac đều làm được): chuột phải vào thư mục
input→ Sao chép (Copy) → vào một thư mục khác (ví dụ Desktop) → chuột phải → Dán (Paste) — đổi tên bản dán thành có ngày, ví dụsao-luu-thang-9.Kiểm bản sao mà không cần dòng lệnh: mở cả hai thư mục, so số file hiển thị ở dưới cửa sổ (Windows: thanh trạng thái; Mac: thanh dưới của Finder, bật ở View → Show Status Bar) và dung lượng của từng thư mục (chuột phải → Thuộc tính (Properties) trên Windows, hoặc Lấy thông tin (Get Info) trên Mac) — khớp cả hai là bản sao ổn.
Quen dòng lệnh (Mac/Linux) thì làm nhanh hơn:
cp -r input sao-luu-thang-9, rồi so hai thư mục bằngdiff -rq input sao-luu-thang-9— không in ra dòng nào nghĩa là giống hệt. -
Hỏi lại AI, dán nguyên script bài trước, xin xác nhận rõ ràng trước khi chạy trên dữ liệu thật:
Chép cả khung dưới đây → dán vào ô chat của AI → xóa dòng [DÁN NGUYÊN VĂN CẢ SCRIPT CỦA BẠN VÀO ĐÂY] ngay trong khung chat và dán toàn bộ script thật của bạn (cả file, không chỉ một đoạn) vào đúng chỗ đó → rồi mới bấm gửi. Thiếu phần này AI sẽ xác nhận "an toàn" cho một script nó chưa hề thấy đủ.
Câu lệnh để dán vào AI
Đây là script Python tôi đang có, do AI viết cho tôi ở một đoạn chat trước: """ [DÁN NGUYÊN VĂN CẢ SCRIPT CỦA BẠN VÀO ĐÂY — toàn bộ file .py, không chỉ một đoạn] """ Tôi sắp chạy nó trên dữ liệu thật (thư mục input chứa toàn bộ file CSV quỹ của cả tháng), không phải dữ liệu mẫu nữa. Trước khi tôi bấm chạy, hãy trả lời rõ ba việc: 1. Script này đọc file nào, ghi file nào — liệt kê chính xác. 2. Có dòng nào trong script xóa, đổi tên, hoặc ghi đè lên file trong thư mục input không? 3. Nếu tôi copy toàn bộ thư mục input ra một chỗ khác để backup trước khi chạy, như vậy đã đủ an toàn chưa, hay cần tôi sửa thêm gì trong script để chắc chắn không mất dữ liệu gốc?

- Dán script và 3 câu hỏi an toàn vào một đoạn chat mới, gửi đi (clip lướt nhanh qua phần câu lệnh dài).
- ChatGPT trả lời: script chỉ đọc các file .csv nằm ngay trong thư mục input/, ghi ra đúng một file tong-hop.csv, không xóa, đổi tên hay ghi đè file nào trong input/.
- Cuối câu trả lời, ChatGPT khuyên kiểm thêm cách script đọc cột Số tiền và việc file tong-hop.csv có thể bị ghi đè nếu chạy lại.
Xem câu trả lời thật và kết quả sao lưu
Kết quả của bạn khác là bình thường. Hãy so 3 điểm dưới đây, không so từng chữ.
Sao lưu thật: cp -r input sao-luu-thang-9, rồi so hai thư mục bằng diff -rq input sao-luu-thang-9 → không có dòng khác biệt nào in ra, nghĩa là bản sao giống hệt bản gốc.
Chạy thật ngày 26/9/2026 trên ChatGPT bản miễn phí, trình duyệt không đăng nhập. Trả lời cho câu 1-2:
Script chỉ tìm và đọc các file có đuôi .csv trực tiếp bên trong thư mục input… Script chỉ chủ động tạo/ghi một file: tong-hop.csv. File này nằm ở thư mục mà bạn chạy script, không nằm trong input… Trong toàn bộ script bạn đưa, tôi không thấy lệnh nào: xóa file, đổi tên file, di chuyển file, mở file trong input ở chế độ ghi… mode="r" nghĩa là chỉ đọc.
Trả lời cho câu 3:
Nếu mục tiêu của bạn là bảo vệ dữ liệu gốc trong input, thì việc copy toàn bộ input sang một nơi khác trước khi chạy là một biện pháp backup hợp lý và về mặt script này thì đã đủ… Tuy nhiên, có một vấn đề khác tôi muốn bạn biết trước khi chạy dữ liệu thật: […] script sẽ âm thầm coi nó là 0 đồng rồi tiếp tục chạy […] script cũng có thể bỏ qua cả một file nếu thiếu cột bắt buộc, nhưng chỉ báo [CẢNH BÁO] rồi tiếp tục tổng hợp các file còn lại. Vì vậy, rủi ro lớn hơn ở đây không phải là mất file gốc, mà là tạo ra một báo cáo tổng hợp sai mà script vẫn báo là đã xử lý xong.
Đúng như ChatGPT vừa cảnh báo: khi Minh thật sự chạy script trên 4 file của tháng 9, một file bị bỏ qua đúng như vậy — bài kế tiếp xử lý chính chuyện này.
So 3 điểm:
- Bản sao (backup) giống hệt bản gốc — kiểm bằng cách so sánh hai thư mục.
- AI liệt kê đúng: chỉ đọc file trong input (mode đọc), chỉ ghi 1 file tong-hop.csv ở ngoài input.
- AI tự nói thêm một rủi ro bạn chưa hỏi — đây là lý do bạn vẫn tự đọc, không chỉ tin lời “đã an toàn”.
Kết quả khác dự kiến?
Sao lưu và đọc trước — vẫn có thể lệch, biết để sửa đúng chỗ
- Bạn quên sao lưu vì "chắc không sao đâu" → luôn coi bước sao lưu là bắt buộc, không phải tùy chọn, với bất kỳ script nào AI viết.
- AI trả lời "an toàn" nhưng không tự nói thêm rủi ro nào khác → hỏi thẳng: "Còn rủi ro nào khác tôi nên biết trước khi chạy không?"
- Bạn đọc thấy dòng ghi file trùng tên với một báo cáo cũ quan trọng → đổi tên file cũ đó trước, đừng để script ghi đè.
- Kết quả chạy có dòng [CẢNH BÁO] nhưng bạn lướt qua vì tưởng là bình thường → mọi dòng CẢNH BÁO đều phải đọc hết, đó là AI đang báo có chuyện — bài sau nói kỹ.
Câu kiểm tra
Làm trên việc thật của bạn
Trước khi chạy bất kỳ script nào AI viết cho bạn trên dữ liệu thật, điền đủ ba dòng này:
Ba việc bắt buộc trước khi chạy trên dữ liệu thật
- Tôi đã sao lưu dữ liệu thật ra một chỗ khác — sao lưu ở đâu, ngày nào
- Tôi đã đọc script/kế hoạch và trả lời được: nó đọc gì, ghi gì, có xóa/ghi đè không
- Tôi đã chạy thử trên thư mục mẫu ít nhất một lần và kết quả đúng số kỳ vọng
Tự chấm
Tóm lại
- Rủi ro thật của việc để AI viết script không phải là code xấu — mà là chạy trên dữ liệu thật khi chưa có bản sao.
- Trước khi bấm chạy lần đầu trên dữ liệu thật: sao lưu, đọc lại xem script đọc gì/ghi gì, và luôn có một thư mục mẫu đi trước.
- AI xác nhận "an toàn" vẫn có thể bỏ sót một góc — tự đọc lại là lớp chặn cuối cùng, không phải bước thừa.
Tên và giao diện sản phẩm thuộc về chủ sở hữu tương ứng. BaoPeak không liên kết, không được tài trợ bởi các công ty này.
Mô tả một việc lặp lại để AI viết script cho bạn
Viết một "đơn đặt hàng" đủ chi tiết để AI viết ra một script Python chạy được ngay, rồi tự chạy thử lần đầu.
Script báo lỗi: dán nguyên văn cho AI và vòng sửa
Kết quả sai không phải lúc nào cũng có ô đỏ. Dán nguyên văn thông báo và số kỳ vọng cho AI, sửa từng vòng tới khi đúng.