Hướng dẫn

Cách review mã do AI tạo ra

Để review mã do AI tạo ra, hãy bắt đầu với những gì đã thay đổi — tệp nào và vì sao — rồi tự thử nghiệm hành vi trước khi đọc bất kỳ dòng mã nào. Sau đó, kiểm tra các khu vực mà mã AI thường sai nhất: thiếu kiểm tra quyền phía máy chủ, bí mật bị lộ ra trình duyệt, đầu vào chưa được xác thực, gói hoặc hàm không tồn tại, và các chỉnh sửa trên những thứ bạn chưa bao giờ yêu cầu nó động vào.

AI viết mã thường chạy được và thường trông gọn gàng. Điều đó khiến bạn dễ phê duyệt mà không thực sự kiểm tra. Hướng dẫn này là một quy trình review hoạt động dù bạn đọc mã thành thạo hay hoàn toàn không đọc được.

Điều chỉnh mức độ review theo rủi ro

Không phải thay đổi nào cũng cần cùng một mức chú ý.

Thay đổiCách review
Văn bản, màu sắc, bố cụcXem trong bản xem trước trên máy tính và điện thoại
Một trang hoặc tính năng mớiThử nghiệm luồng; lướt qua các tệp đã thay đổi
Đăng nhập, quyền, thanh toán, dữ liệu cá nhânĐọc kỹ, thử nghiệm thực tế, cân nhắc người review thứ hai
Cấu trúc cơ sở dữ liệu, xóa dữ liệu, migrationĐọc thay đổi, thử trên bản sao, sao lưu trước

Bước 1: Xem những gì đã thay đổi

Trước khi đánh giá mã, hãy lấy danh sách các thay đổi:

  • Nếu dự án nằm trong Git, hãy xem diff: các tệp và dòng đã thay đổi kể từ lần commit cuối. Xem cách dùng Git với ứng dụng xây dựng bằng AI.
  • Hoặc hỏi trực tiếp AI:

Liệt kê mọi tệp bạn đã thay đổi trong lần chỉnh sửa gần nhất, và với mỗi tệp, giải thích trong một câu những gì đã thay đổi và vì sao.

Các dấu hiệu cảnh báo ở bước này: tệp không liên quan đến yêu cầu, tệp bị xóa, thay đổi cấu hình hoặc phụ thuộc mà bạn không yêu cầu.

Bước 2: Thử nghiệm hành vi trước

Đọc mã cho bạn biết nó được định làm gì; thử nghiệm cho bạn biết nó thực sự làm gì. Trước khi đọc:

  • Thử thay đổi như một người dùng bình thường, trên máy tính và màn hình cỡ điện thoại.
  • Thử với đầu vào sai: ô trống, văn bản rất dài, số âm, ngày trong quá khứ.
  • Thử khi đã đăng xuất, và khi đăng nhập bằng một người dùng khác.
  • Chạy lại các luồng quan trọng nhất: đăng ký, đăng nhập, hành động chính, thanh toán.

Nếu thử nghiệm thất bại, bạn đã tiết kiệm được thời gian đọc — hãy báo cáo rõ ràng và để AI sửa. Xem cách viết báo cáo lỗi tốt.

Bước 3: Kiểm tra quyền trên máy chủ

Đây là việc quan trọng nhất cần kiểm tra. Các công cụ AI thường ẩn một nút trong trang nhưng để máy chủ sẵn sàng thực hiện hành động đó cho bất kỳ ai yêu cầu.

Với mỗi route hoặc hàm đọc hay thay đổi dữ liệu, hãy hỏi:

  • Nó có kiểm tra người dùng đã đăng nhập không?
  • Nó có kiểm tra người dùng này được phép truy cập bản ghi này không?
  • Kiểm tra đó nằm trên máy chủ, không chỉ trong trang?

Với mỗi API route bạn đã thêm hoặc thay đổi, cho tôi biết nó kiểm tra quyền gì trên máy chủ, trích dẫn dòng tương ứng. Đánh dấu mọi route không có kiểm tra nào.

Sau đó thử nghiệm: đăng nhập bằng người dùng A, ghi lại ID của một bản ghi, đăng nhập bằng người dùng B và yêu cầu bản ghi đó. Danh sách kiểm tra bảo mật cho ứng dụng xây dựng bằng AI có bài kiểm tra đầy đủ.

Bước 4: Tìm bí mật bị lộ

  • Tìm trong các tệp đã thay đổi bất cứ thứ gì trông giống khóa hoặc mật khẩu.
  • Kiểm tra xem khóa bí mật có được đọc từ biến môi trường và chỉ dùng trong mã phía máy chủ không.
  • Chú ý các tiền tố công khai như VITE_ hoặc NEXT_PUBLIC_ trên các biến bí mật — những biến đó được đưa vào mã trình duyệt.

Xem cách giữ an toàn cho khóa API.

Bước 5: Kiểm tra đầu vào và lỗi

  • Xác thực trên máy chủ. Kiểm tra trên trình duyệt có thể bị bỏ qua. Các trường bắt buộc, độ dài, định dạng và giá trị cho phép cũng nên được máy chủ kiểm tra.
  • Truy vấn cơ sở dữ liệu dùng tham số, không dùng văn bản được ghép từ đầu vào của người dùng vào câu truy vấn.
  • Lỗi không bị nuốt. Một khối try/catch không làm gì sẽ che giấu các lỗi. Lỗi cần được ghi lại, và người dùng chỉ nên thấy một thông báo đơn giản.
  • Không hiển thị chi tiết nội bộ cho người dùng — stack trace và lỗi cơ sở dữ liệu thuộc về nhật ký.

Bước 6: Kiểm tra xem nó có thật không

Các mô hình AI đôi khi tạo ra mã trông đúng nhưng tham chiếu đến những thứ không tồn tại.

  • Gói: mọi phụ thuộc mới phải là một gói thực sự, được bảo trì, đúng với tên đó. Hãy cảnh giác với những tên trông giống lỗi chính tả của các gói phổ biến.
  • Hàm và tùy chọn API: nếu mã gọi một hàm thư viện hoặc một tùy chọn API bên ngoài mà bạn chưa từng thấy, hãy kiểm tra tài liệu chính thức.
  • Mã giữ chỗ: tìm TODO, mock, fake, dữ liệu mẫu được mã cứng, hoặc các hàm trả về một giá trị cố định.

Bạn có thêm gói mới nào không? Với mỗi gói, cho tôi tên chính xác, dùng để làm gì, và liệu chúng ta có thể không cần nó không.

Bước 7: Kiểm tra xem nó có phù hợp không

Mã có thể chạy được và vẫn khiến ứng dụng khó thay đổi hơn về sau:

  • Trùng lặp. Cùng một logic được sao chép ở nhiều nơi sẽ dần lệch nhau.
  • Nhất quán. Nó nên tuân theo các mẫu mà phần còn lại của ứng dụng đang dùng.
  • Kích thước. Một yêu cầu 20 dòng mà tạo ra 600 dòng xứng đáng được đặt câu hỏi.
  • Mã chết. Các phiên bản cũ bị bỏ lại bên cạnh các phiên bản mới.

Có đoạn mã nào trong dự án giờ đã không còn được dùng do thay đổi này không, hoặc logic nào bị trùng lặp ở nơi khác? Đừng thay đổi gì; chỉ liệt kê.

Những sai lầm thường gặp

  • Phê duyệt vì trông gọn gàng. Mã sạch vẫn có thể bỏ qua kiểm tra quyền.
  • Đọc thay vì thử nghiệm. Thử nghiệm trước; đọc sau.
  • Chỉ thử luồng thuận lợi. Hãy thử đầu vào xấu, sai người dùng và trạng thái đã đăng xuất.
  • Bỏ qua các thay đổi tệp không liên quan. Hãy hỏi vì sao mọi tệp đều thay đổi.
  • Tin hoàn toàn vào việc AI tự review. Dùng review của AI như lượt rà soát đầu tiên và xác nhận bằng thử nghiệm.
  • Review cả tuần thay đổi cùng lúc. Hãy review các thay đổi nhỏ ngay khi chúng xảy ra.

Danh sách kiểm tra

  • Tôi biết những tệp nào đã thay đổi và vì sao, và không có gì không liên quan bị đổi.
  • Thay đổi hoạt động trên máy tính và điện thoại, với đầu vào sai, khi đã đăng xuất và khi là người dùng khác.
  • Mọi route dữ liệu đều kiểm tra đăng nhập và quyền sở hữu trên máy chủ.
  • Không có bí mật nào trong mã hoặc trong gói mã trình duyệt.
  • Đầu vào được xác thực trên máy chủ; truy vấn dùng tham số.
  • Lỗi được ghi lại, không bị nuốt, và không hiển thị chi tiết cho người dùng.
  • Các gói mới là thật và cần thiết; không còn hàm bịa đặt hay mã giữ chỗ.
  • Các thay đổi rủi ro cao đã được đọc kỹ và, khi cần, có người review thứ hai.

Review mã trên Mythex

  • Chế độ Ask trả lời các câu hỏi về mã mà không chỉnh sửa — lý tưởng cho các prompt "giải thích mọi thay đổi" và "route nào thiếu kiểm tra quyền". Xem Chat.
  • Chế độ xem mã hiển thị cây tệp, trình soạn thảo và terminal trên mọi gói (chỉ đọc ở gói Free, có thể chỉnh sửa ở gói Pro), để bạn tự đọc những gì đã thay đổi. Xem Trình soạn thảo mã.
  • /test để agent nhấp qua bản xem trước như một người dùng và báo cáo các luồng bị lỗi.
  • Checkpoint cho phép bạn hoàn tác một thay đổi không vượt qua review.

Nếu một lập trình viên đang review giúp bạn, cách làm việc với lập trình viên trên một ứng dụng xây dựng bằng AI đề cập đến việc bàn giao; nếu quá trình review phát hiện lỗi, xem cách gỡ lỗi một ứng dụng xây dựng bằng AI.

Câu hỏi thường gặp

Tôi không phải lập trình viên thì có review được mã do AI tạo ra không?

Bạn có thể review phần lớn. Hãy kiểm tra xem thay đổi có làm đúng điều bạn yêu cầu không, thử nghiệm các luồng quan trọng, thử truy cập dữ liệu của người dùng khác, và yêu cầu AI giải thích từng tệp đã thay đổi bằng ngôn ngữ đời thường. Với thanh toán, dữ liệu nhạy cảm hoặc bảo mật, hãy nhờ một lập trình viên xem qua.

Những vấn đề phổ biến nhất trong mã do AI tạo ra là gì?

Thiếu kiểm tra quyền phía máy chủ, bí mật đặt ở chỗ trình duyệt có thể đọc được, đầu vào không được xác thực trên máy chủ, gói hoặc hàm không tồn tại, lỗi bị nuốt mà không báo, và các thay đổi trên những tệp bạn không yêu cầu.

Tôi có thể yêu cầu AI review chính mã của nó không?

Có, và nó thường tìm ra vấn đề thực sự, nhất là khi bạn hỏi những câu cụ thể như route nào thiếu kiểm tra quyền. Hãy coi đó là lượt rà soát đầu tiên, không phải sự đảm bảo, và xác nhận các phát hiện bằng cách thử nghiệm.

Một lần review mã nên mất bao lâu?

Tùy theo mức độ rủi ro. Một thay đổi văn bản hoặc kiểu dáng chỉ cần xem nhanh trong bản xem trước. Thay đổi về đăng nhập, thanh toán, quyền hoặc cơ sở dữ liệu xứng đáng được đọc kỹ, thử nghiệm thực tế và có thể cần thêm một người thứ hai.

Mythex · Pricing · Xây dựng mọi thứ với AI · Mẫu website và ứng dụng · So sánh Mythex · Thuật ngữ xây dựng ứng dụng bằng AI · Công cụ miễn phí để xây dựng ứng dụng bằng AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو 简体中文 繁體中文(香港) 繁體中文(台灣)