8 điểm bởi xguru 2021-07-19 | 1 bình luận | Chia sẻ qua WhatsApp
<p>- Những cảm nhận sau vài tuần sử dụng <br /> → "Trong vòng 3~5 năm tới, tất cả chúng ta sẽ viết nhiều chú thích hơn, dùng những cái tên mang tính mô tả hơn cho mọi thứ, viết ít code hơn rất nhiều và thực hiện vô số lượt review code"<br /> <br /> - Ưu điểm <br /> → Rất xuất sắc trong việc viết các đoạn mã boilerplate lặp đi lặp lại, nhàm chán <br /> → Có thể tạo code để chia nhỏ dataset, huấn luyện và đánh giá chỉ với lượng ngữ cảnh tối thiểu<br /> → "Giờ thì không còn cần viết quick macro nữa"<br /> <br /> - Nhược điểm <br /> → Với các tính năng nâng cao, mức độ hữu ích của Copilot khá tinh tế <br /> → Cần cẩn thận khi nó tạo ra một lượng lớn code có thể làm đúng hoặc cũng có thể không đúng <br /> → Đôi khi nó gợi ý các phiên bản thư viện cũ, dùng code không đúng cú pháp, hoặc điền vào các tham số thuật toán ML không tồn tại <br /> → "Luôn phải chú ý"<br /> <br /> [ Nghiên cứu ] <br /> Đã rút ra được những insight quan trọng từ bài báo Codex về GPT <br /> <br /> - Tiềm năng <br /> → "Codex có thể hữu ích theo nhiều cách khác nhau. Ví dụ, nó có thể hỗ trợ onboarding người dùng vào một codebase mới, giảm context switching cho các lập trình viên dày dạn kinh nghiệm, cho phép những người không phải developer viết đặc tả để Codex tạo bản triển khai nháp, đồng thời hỗ trợ việc học tập hoặc khám phá"<br /> → Tức là nếu nó học được codebase của công ty và gợi ý các pattern hay module được dùng trên toàn công ty, thì sẽ giúp chuẩn hóa pattern và practice (dù điều đó sẽ không xảy ra ngay lập tức)<br /> → Ngoài ra, việc những người không phải developer có thể viết đặc tả là điều rất đáng hào hứng. Đặc biệt là các tester. Họ có thể không viết được code để kiểm thử API hay UI, nhưng có thể viết mô tả về điều họ muốn làm, nên phần lớn lượng code họ cần đủ đơn giản để Copilot có thể viết được, và điều này có thể nâng cao năng suất rất nhiều. Ngay cả với Copilot bản preview hiện tại thì điều đó cũng đã phần nào khả thi <br /> <br /> - Giới hạn <br /> → Vì Codex có thể đề xuất các giải pháp thực tế không thực hiện đúng công việc mong muốn, nên việc "review code" là rất quan trọng <br /> → Ngoài ra, vì "Automation Bias" (thiên kiến tự động hóa), Copilot càng tốt thì con người càng ít có xu hướng tìm bug trong đoạn code được sinh ra, và các bug trong code được sinh ra sẽ rất tinh vi, khó nhận ra <br /> <br /> - Có thể gợi ý code sai </p>

1 bình luận

 
steadyslow 2021-07-19
<p>Tôi cũng nghĩ rằng nó đưa ra gợi ý tốt hơn rất nhiều so với dự đoán. Có vẻ như khả năng viết lách bằng tiếng Anh sẽ trở nên quan trọng hơn. Tuy vậy, có vẻ hiện tại vẫn còn khá xa mới đến mức có thể giúp người không phải lập trình viên hoặc lập trình viên junior dễ dàng viết được code logic nghiệp vụ, còn với các lập trình viên có kinh nghiệm thì nó dường như hỗ trợ khá nhiều trong việc giảm thời gian viết những đoạn code nhàm chán.<br /> <br /> Về nhược điểm thì tôi cũng cảm nhận tương tự như những gì được viết ở đây. Đặc biệt là ở chỗ đôi khi nó "đề xuất mã không đúng về mặt cú pháp". Hiện tại, vì các gợi ý vẫn chưa hoàn chỉnh nên tôi chỉ ở mức tham khảo đôi chút rồi tự viết code theo, nhưng tôi cũng nghĩ rằng khi chất lượng gợi ý tăng lên thì, đúng như đã nói ở trên, số lỗi phát sinh do cứ thế dùng nguyên xi chúng có thể sẽ nhiều hơn.</p>