Mục lục
- Giới thiệu: Bước chuyển mình nhờ AI
- "Cẩm nang" khai thác AI trong lập trình
- Quy trình làm việc: Kết hợp kỷ luật và AI
1. Giới thiệu: Bước chuyển mình nhờ AI
Kể từ khi ChatGPT ra mắt vào cuối năm 2022, đội ngũ Headstart của chúng tôi đã không ngừng khám phá và ứng dụng sức mạnh của trí tuệ nhân tạo (AI) trong việc viết code. Từ những ngày đầu thử nghiệm với GPT-3.5 cho đến hiện tại, khi Claude 3.5 Sonnet đã trở thành công cụ chủ lực, chúng tôi đã đạt được một cột mốc ấn tượng: AI đã tự động tạo ra đến 97% các sản phẩm cuối cùng cho khách hàng. Điều này không chỉ giúp chúng tôi tiết kiệm thời gian mà còn mang lại những giải pháp chất lượng cao một cách nhanh chóng chưa từng có.
2. "Cẩm nang" khai thác AI trong lập trình
Để đạt được thành công như vậy, chúng tôi đã đúc kết ra một số nguyên tắc quan trọng trong việc sử dụng AI để viết code, cụ thể:
Yêu cầu rõ ràng: Trước khi nhờ AI viết code, chúng tôi luôn dành thời gian để xây dựng các tiêu chí nghiệm thu (acceptance criteria) thật chi tiết. Sau đó, tất cả code do AI tạo ra đều được kiểm tra kỹ lưỡng. Chúng tôi thường xuyên kiểm thử code ở môi trường local và yêu cầu AI viết các unit test để đảm bảo tính chính xác của chức năng mới.
Nguyên tắc vàng của chúng tôi là: Nếu có bất kỳ khía cạnh nào của chức năng cần được chú ý đặc biệt, hãy cung cấp thông tin chi tiết cho AI. Nếu một kỹ sư full-stack cần thêm ngữ cảnh, hãy đảm bảo AI cũng được cung cấp ngữ cảnh tương tự.
Tổ chức code hợp lý: Việc tổ chức file code một cách chặt chẽ không còn là tùy chọn mà trở thành yếu tố bắt buộc khi làm việc với AI. Chúng tôi luôn cung cấp cấu trúc file chi tiết cho Claude trước khi yêu cầu AI tạo code.
Khi dùng Claude qua giao diện người dùng, chúng tôi dùng bash script để tóm tắt cấu trúc file thành tên file khi cung cấp ngữ cảnh. Khi sử dụng API, AI có thể trực tiếp duyệt các thư mục. Với Cursor, IDE đã có sẵn quyền truy cập.
File nhỏ gọn: Chúng tôi cố gắng giữ cho mỗi file dưới 300 dòng. Mặc dù cửa sổ ngữ cảnh của Claude Sonnet 3.5 đã tăng lên 200.000 token, cửa sổ token đầu ra vẫn giới hạn ở 8.192. Điều này có nghĩa là chúng ta không nên yêu cầu AI tạo ra quá vài trăm dòng code cùng một lúc.
Chia nhỏ công việc thành các file nhỏ và tạo chúng lần lượt là cách hiệu quả nhất để AI tạo ra code chính xác. Điều này cũng giúp cho quá trình code review trở nên dễ dàng hơn, đồng thời duy trì những thói quen tốt trong lập trình.
Như kỹ sư Tiff của chúng tôi đã nói: “Các mẫu hình trong codebase càng rõ ràng và dễ dự đoán, AI càng dễ hiểu những gì đang diễn ra và tìm đến logic nghiệp vụ”.
Đơn giản hóa mọi thứ: Câu lệnh yêu thích của chúng tôi khi nhờ Claude viết code là "Hãy làm cho nó đơn giản hơn". Chúng tôi thường lặp lại yêu cầu này vài lần cho đến khi có được phiên bản code đơn giản nhất có thể. Điều này được hỗ trợ bởi việc các kỹ sư của chúng tôi đều có khả năng đánh giá code tốt và luôn kiểm tra output của AI trước khi merge vào main.
Ngoài việc đơn giản hóa code, chúng tôi còn đơn giản hóa các vấn đề và "chưng cất" giải pháp thành những bước mà AI có thể dễ dàng tạo ra. Công đoạn này thường diễn ra offline, trước khi chúng tôi làm việc trực tiếp với AI để hoàn thiện giải pháp.
Sự thật là, việc tạo code bằng AI sẽ hiệu quả nhất khi dựa trên các nguyên tắc kỹ thuật vững chắc. Chúng tôi không sử dụng AI để thay thế những thói quen tốt, mà là để khuếch đại chúng.
3. Quy trình làm việc: Kết hợp kỷ luật và AI
Đây là quy trình làm việc điển hình của chúng tôi:
Xác định yêu cầu chi tiết: Chúng tôi xác định các yêu cầu và tiêu chí nghiệm thu một cách cẩn thận.
Chia sẻ cấu trúc dự án: Chúng tôi cung cấp cho AI cấu trúc thư mục và file code của dự án.
Tạo code ban đầu: Chúng tôi yêu cầu AI tạo code dựa trên các thông tin đã cung cấp.
Đơn giản hóa code: Chúng tôi liên tục yêu cầu AI đơn giản hóa code cho đến khi đạt được kết quả tối ưu.
Kiểm thử: Code được kiểm tra kỹ lưỡng dựa trên các tiêu chí nghiệm thu.
Tích hợp và triển khai: Code được tích hợp vào hệ thống và đưa vào sử dụng.
Quy trình này giúp chúng tôi duy trì chất lượng cao trong khi vẫn tận dụng được tốc độ mà AI mang lại. Không có phép màu nào ở đây, chỉ có sự kỷ luật, sự thích nghi với AI và sự sẵn sàng thử nghiệm những phương pháp mới.
0 comments Blogger 0 Facebook
Đăng nhận xét