Mã nhanh hơn không có nghĩa là kỹ thuật tốt hơn
Một nhóm có yêu cầu không rõ ràng, các bài kiểm tra yếu, quyền sở hữu lộn xộn và quá trình triển khai dễ vỡ sẽ không đạt được hiệu suất cao vì ai đó đã cài đặt GitHub Copilot.
Nó có thể chỉ tạo mã lỗi nhanh hơn.
Đó là phần mà nhiều đội đang bắt đầu tìm hiểu. Các công cụ AI có thể giúp các nhà phát triển phát triển nhanh chóng. Họ có thể tạo bản soạn sẵn, giải thích mã lạ, đề xuất kiểm tra, tóm tắt nhật ký và so sánh các tùy chọn kiến trúc. Được sử dụng tốt, chúng thực sự hữu ích.
Nhưng AI không khắc phục được những thói quen kỹ thuật kém.
Nếu một nhóm đã bỏ qua các cuộc thảo luận về thiết kế, hãy bỏ qua việc quan sát
Mã nhanh hơn không có nghĩa là kỹ thuật tốt hơn
Một nhóm có yêu cầu không rõ ràng, các bài kiểm tra yếu, quyền sở hữu lộn xộn và quá trình triển khai dễ vỡ sẽ không đạt được hiệu suất cao vì ai đó đã cài đặt GitHub Copilot.
Nó có thể chỉ tạo mã lỗi nhanh hơn.
Đó là phần mà nhiều đội đang bắt đầu tìm hiểu. Các công cụ AI có thể giúp các nhà phát triển phát triển nhanh chóng. Họ có thể tạo bản soạn sẵn, giải thích mã lạ, đề xuất kiểm tra, tóm tắt nhật ký và so sánh các tùy chọn kiến trúc. Được sử dụng tốt, chúng thực sự hữu ích.
Nhưng AI không khắc phục được những thói quen kỹ thuật kém.
Nếu một nhóm đã bỏ qua các cuộc thảo luận về thiết kế, bỏ qua khả năng quan sát, tránh tái cấu trúc, hợp nhất các yêu cầu kéo yếu và coi các vấn đề sản xuất là điều bất ngờ, thì AI sẽ không giải quyết được vấn đề gốc. Nó sẽ khuếch đại nó.
Sự thật khó chịu rất đơn giản:
AI cải thiện các đội có kỷ luật hơn những đội vô kỷ luật.
Điều đó không có nghĩa là chỉ những đội ưu tú mới nên sử dụng AI. Điều đó có nghĩa là các đội cần hiểu AI giỏi ở lĩnh vực gì, nguy hiểm ở đâu và những nguyên tắc cơ bản nào phải có sẵn để AI tạo ra đòn bẩy thực sự.
AI là số nhân, không phải là nền tảng
Các công cụ AI hoạt động tốt nhất khi chúng hoạt động bên trong các ranh giới kỹ thuật vững chắc.
Nếu nhóm của bạn có các quy ước rõ ràng, các bài kiểm tra hữu ích, cấu trúc dễ đọc, tài liệu tốt và các phương pháp triển khai đáng tin cậy thì AI có thể giúp đẩy nhanh tiến độ công việc.
Nếu nhóm của bạn thiếu những thứ đó thì AI sẽ có ít bối cảnh hữu ích hơn.
Một mô hình có thể tạo thành phần React nhưng nó không tự động biết những mong đợi về khả năng truy cập của bạn.
Nó có thể viết một lộ trình API, nhưng nó có thể không biết các quy tắc ủy quyền của bạn.
Nó có thể đề xuất một truy vấn cơ sở dữ liệu, nhưng nó có thể không biết các yêu cầu về quy mô, chỉ mục hoặc tính nhất quán của bạn.
Nó có thể viết các bài kiểm tra, nhưng nó có thể kiểm tra các chi tiết triển khai thay vì hành vi.
Đây là lý do tại sao AI thường mang lại lợi ích cho các nhà phát triển cấp cao hơn các nhà phát triển cấp dưới. Không phải vì học sinh cuối cấp viết những lời nhắc kỳ diệu mà vì họ có thể đánh giá kết quả.
Họ biết khi nào điều gì đó có vẻ đúng nhưng lại sai.
Vấn đề thực sự không phải là tạo mã
Hầu hết các nhóm kỹ thuật không thất bại vì nhà phát triển gõ quá chậm.
Chúng không thành công vì các vấn đề xung quanh mã:
Yêu cầu sản phẩm không rõ ràng
giả định ẩn
kiến trúc không nhất quán
thiếu bài kiểm tra
đánh giá mã yếu
khả năng quan sát kém
CI/CD dễ vỡ
quyền sở hữu không rõ ràng
đang thực hiện quá nhiều công việc
khoản nợ kỹ thuật không ai muốn nêu tên
AI có thể trợ giúp một số vấn đề này nhưng chỉ khi nhóm thành thật về chúng.
Một nhóm không thể mô tả rõ ràng kiến trúc hiện tại của mình sẽ gặp khó khăn trong việc yêu cầu AI trợ giúp tốt về kiến trúc.
Một nhóm không biết các dạng lỗi của mình sẽ gặp khó khăn trong việc đánh giá mã được tạo.
Một nhóm không đầu tư vào các thử nghiệm sẽ không có mạng lưới an toàn khi AI mắc lỗi chính đáng.
Vấn đề không phải là liệu AI có hữu ích hay không.
Vấn đề là liệu nhóm có đủ kỷ luật kỹ thuật để sử dụng nó một cách an toàn hay không.
Nơi AI thực sự giúp đỡ các đội có kỷ luật
AI không phải là kẻ thù của kỹ thuật tốt. Trong nhiều trường hợp, nó hỗ trợ điều đó.
Nó làm giảm ma sát trang trống
Việc bắt đầu một tệp, thành phần, quá trình di chuyển hoặc tập lệnh thử nghiệm mới thường chậm hơn so với việc cải thiện bản nháp hiện có.
GitHub Copilot rất hữu ích ở đây.
Ví dụ: nếu bạn đã có mẫu để xác thực API, Copilot có thể giúp hoàn thành điểm cuối tiếp theo nhanh hơn:
lược đồ const = z.object({
email: z.string().email(),
vai trò: z.enum(["admin", "thành viên", "người xem"])
});app.post("/api/users", async (req, res) => {
const result = lược đồ.safeParse(req.body); if (!result.success) {
return res.status(400).json({ error: "Invalid request" });
} const user = đang chờ userService.createUser(result.data); res.status(201).json(người dùng);
});Sau khi hiển thị mẫu, AI có thể giúp tạo ra các lộ trình, kiểm tra và logic xác thực tương tự.
Nhưng hãy lưu ý chi tiết quan trọng: nhóm đã có sẵn một mẫu.
Nếu không có mẫu đó, AI có thể phát minh ra mẫu đó.
Nó cải thiện việc đánh giá mã lần đầu
ChatGPT, Claude và Cursor có thể giúp các nhà phát triển đánh giá tác phẩm của chính họ trước khi yêu cầu con người đánh giá.
Một lời nhắc thực tế:
Hãy xem xét sự khác biệt này với tư cách là kỹ sư full stack cấp cao. Tập trung vào:
- khoảng trống ủy quyền
- xác nhận đầu vào
- xử lý lỗi
- Rủi ro về hiệu suất
- thiếu bài kiểm tra
- đặt tên khó hiểu
- mẫu không nhất quán
- trạng thái tải và lỗi giao diện người dùngCụ thể. Tránh những lời khuyên chung chung. Điều này không thay thế việc xem xét mã. Nó cải thiện chất lượng mã được đánh giá.
Nếu sử dụng tốt, AI có thể phát hiện được các vấn đề rõ ràng trước khi kỹ sư khác dành thời gian cho chúng.
Nó giúp với mã lạ
Con trỏ rất hữu ích khi nhà phát triển cần hiểu nhanh về cơ sở mã
kly.
Nhắc:
Tìm nơi kiểm tra quyền của người dùng cho bảng điều khiển quản trị viên. Giải thích luồng từ tuyến đến lớp dịch vụ đến hiển thị giao diện người dùng.
Không sửa đổi tệp. Điều này rất hữu ích cho việc triển khai, gỡ lỗi và tái cấu trúc.
Nhưng một lần nữa, AI không phải là nguồn gốc của sự thật. Nó có thể thiếu cấu hình thời gian chạy, cờ tính năng, dịch vụ bên ngoài hoặc hành vi cơ sở hạ tầng.
Một nhà phát triển có kỷ luật sử dụng nó như một công cụ điều hướng, sau đó xác nhận các phát hiện.
Nơi AI làm cho kỷ luật yếu kém trở nên tồi tệ hơn
Mã do AI tạo ra thường tự tin, rõ ràng và không đầy đủ.
Đó là sự kết hợp nguy hiểm.
Yêu cầu yếu trở thành đầu ra yếu
Nếu trên vé có nội dung:
Thêm bản tóm tắt AI vào trang báo cáo. AI có thể giúp xây dựng nội dung nào đó một cách nhanh chóng.
Nhưng bản tóm tắt nên bao gồm những gì?
Người dùng có thể tin tưởng nó?
Có nên trích dẫn dữ liệu nguồn không?
Nó nên được tạo theo yêu cầu hay được lưu vào bộ nhớ đệm?
Điều gì xảy ra nếu thế hệ thất bại?
Dữ liệu nào là an toàn để gửi đến mô hình?
Nếu không có yêu cầu rõ ràng, AI sẽ làm tăng thêm sự mơ hồ.
Một vé tốt hơn bắt đầu với quy trình làm việc:
Người dùng dành quá nhiều thời gian để tìm hiểu lý do tại sao doanh thu thay đổi giữa hai kỳ. Xây dựng bản tóm tắt được đề xuất:
- nêu bật ba thay đổi lớn nhất
- liên kết từng điểm với số liệu nguồn
- có thể thất bại mà không chặn trang báo cáo
- chỉ hiển thị với người dùng có quyền truy cập báo cáo
- theo dõi độ trễ tạo và phản hồi của người dùng. Bây giờ AI có thể trợ giúp. Ranh giới rất rõ ràng.
Các bài kiểm tra yếu trở thành sự tự tin sai lầm
AI có thể tạo ra các bài kiểm tra rất nhanh chóng. Điều đó nghe có vẻ tốt cho đến khi các cuộc kiểm tra chỉ chứng minh rằng
Nguồn tin: Medium Towards AI — Tác giả: Alpesh Pawar. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.