Việc đánh giá mã nguồn của GLM-5.2 phụ thuộc vào prompt của bạn

GLM-5.2 từ Z.ai là một mô hình open-weight phổ biến. Chúng tôi đã thử nghiệm để xem khả năng đánh giá mã nguồn của nó tốt đến mức nào. Chúng tôi nhận thấy rằng chất lượng đánh giá thay đổi tùy thuộc vào cách bạn giao tiếp với nó.

Chúng tôi đã thực hiện hai bài kiểm tra. Trong bài kiểm tra thứ nhất, chúng tôi sử dụng một backend TypeScript đơn giản với 16 lỗi. Trong bài kiểm tra thứ hai, chúng tôi xây dựng một hệ thống phức tạp với 10 lỗi tinh vi. Những lỗi này đòi hỏi sự hiểu biết về cách các phần khác nhau của ứng dụng hoạt động cùng nhau.

Dưới đây là những gì chúng tôi rút ra được:

  • Cách dùng từ trong prompt quan trọng hơn nỗ lực suy luận. Việc thay đổi prompt làm thay đổi kết quả nhiều hơn so với việc chuyển đổi giữa chế độ suy luận thấp (low reasoning) và cao (high reasoning).
  • Các prompt quá khắt khe có thể phản tác dụng. Nếu bạn yêu cầu mô hình "chặn hoặc phê duyệt một PR trên môi trường production", nó sẽ tập trung vào bảo mật. Nó tìm thấy các thông tin bí mật bị mã hóa cứng (hardcoded secrets) và các thuật toán băm (hashing) yếu, nhưng lại bỏ lỡ các lỗi logic thực sự mà bạn muốn nó tìm.
  • Các lỗi cục bộ (local bugs) khá dễ dàng đối với GLM-5.2. Nó có thể bắt được các lỗi bên trong một hàm duy nhất, chẳng hạn như một guard phân quyền bị lỗi hoặc một biến sai.
  • Các lỗi trên toàn hệ thống (system-wide bugs) là một thách thức đối với GLM-5.2. Nó gặp khó khăn với các quy tắc trải dài trên nhiều tệp tin. Ví dụ, nó đã bỏ lỡ trường hợp các tác vụ đã lưu trữ (archived tasks) bị rò rỉ vào kết quả tìm kiếm và các bản xuất dữ liệu (exports).
  • Các mô hình tiên phong (frontier models) đáng tin cậy hơn. GPT-5.5 và Opus 4.8 đã phát hiện được các lỗi phức tạp liên quan đến nhiều route chỉ trong một lần chạy. GLM-5.2 hoạt động không nhất quán với các tác vụ này.

Cách sử dụng GLM-5.2 hiệu quả:

  • Sử dụng nó cho logic cục bộ. Nó rất tuyệt trong việc tìm lỗi bên trong một hàm.
  • Đưa ra hướng dẫn cụ thể. Thay vì yêu cầu một bản đánh giá "khắt khe", hãy yêu cầu nó kiểm tra tính nhất quán giữa các route khác nhau.
  • Chỉ rõ các hành vi bạn muốn kiểm tra. Hãy yêu cầu nó xác minh xem tìm kiếm, xuất dữ liệu và danh sách có xử lý dữ liệu theo cùng một cách hay không.
  • Đừng chỉ dựa vào một lần chạy duy nhất đối với các mã nguồn quan trọng. Vì kết quả có thể thay đổi, bạn nên chạy lại nhiều lần hoặc sử dụng một mô hình mạnh hơn cho các thay đổi phức tạp.

GLM-5.2 là một công cụ có năng lực, nhưng bạn phải điều chỉnh prompt sao cho phù hợp với tác vụ.

Source: https://dev.to/kilocode/glm-52s-code-reviews-are-only-as-good-as-your-prompt-5233

Optional learning community: https://t.me/GyaanSetuAi