Bỏ qua, tới nội dung chính
BaoPeak

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.

Cần máy tínhTài khoản công cụ: 18+Công cụ miễn phí

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

Minh copy một thư mục dữ liệu mẫu sang một thư mục test riêng trước khi chạy script
Bản sao trước, thư mục test riêng — chạy an toàn trước khi đụng dữ liệu thật. · Nguồn: nhân vật minh họa, do AI vẽ — không phải người thật

Ở bài trước, Minh đã có một script 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
Khác nhau đúng ba việc nhỏ, làm trước khi bấm chạy — không phải sau khi đã hỏng.

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 test, backup, 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

Câu kiểm tra

Bạn đã có script chạy đúng trên dữ liệu mẫu. Giờ định chạy lần đầu trên dữ liệu quỹ thật của cả tháng. Việc nào nên làm TRƯỚC khi bấm chạy?

Minh sắp chạy tong_hop_quy.py lần đầu trên thư mục 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

  1. Sao lưu thật: copy toàn bộ thư mục input ra 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ằng diff -rq input sao-luu-thang-9 — không in ra dòng nào nghĩa là giống hệt.

  2. 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?

Màn hình ChatGPT sau khi dán script và 3 câu hỏi an toàn — câu trả lời xác nhận script chỉ đọc thư mục input, không xóa hay ghi đè, ở khối chữ bên dưới
ChatGPT · chụp ngày 26/9/2026 — giao diện có thể đã đổi
▶ Hỏi AI xác nhận an toàn trước khi chạy trên dữ liệu thật · quay màn hình thật trên ChatGPT, ngày 27/9/2026 — clip không có tiếng, giao diện có thể đã đổi
  1. 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).
  2. 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/.
  3. 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:

  1. 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.
  2. AI liệt kê đúng: chỉ đọc file trong input (mode đọc), chỉ ghi 1 file tong-hop.csv ở ngoài input.
  3. 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ỗ

  1. 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.
  2. 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?"
  3. 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 đè.
  4. 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

Câu kiểm tra

Đọc code 2 phút theo 3 câu hỏi, bạn thấy dòng: with open(file_path, mode="r", ...) cho các file trong thư mục input. Điều này cho biết gì?

Câu kiểm tra

AI trả lời “script này an toàn, không xóa gì” nhưng bạn vẫn quyết định tự đọc lại code trước khi chạy trên dữ liệu thật. Vì sao?

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

  1. Tôi đã sao lưu dữ liệu thật ra một chỗ khác — sao lưu ở đâu, ngày nào
  2. Tôi đã đọc script/kế hoạch và trả lời được: nó đọc gì, ghi gì, có xóa/ghi đè không
  3. 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ự chấm — tick khi bạn chỉ ra được dòng nào trong bài của mình đạt

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.
Bài tiếp theo →Bài 3 — Script báo lỗi: dán nguyên văn cho AI và vòng sử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.

Trong bài này