Hiện nay, phần lớn developer đã dùng AI để viết code, tìm lỗi, tạo test case, review code hay nghiên cứu giải pháp kỹ thuật. Vì vậy, câu hỏi không còn là "Chúng ta có nên sử dụng AI hay không?". Theo anh Lê Chí Nguyên, Team Leader tại ZIGExN VeNtura, câu hỏi quan trọng hơn là: khi AI đã trở thành một phần của quá trình phát triển phần mềm, quy trình đó nên được thiết kế lại như thế nào?
Với khoảng 9 năm làm việc trong lĩnh vực phát triển phần mềm, trải qua các vai trò Developer, Tech Lead và Team Leader, anh Nguyên nhìn AI không chỉ như một công cụ hỗ trợ lập trình, mà như một thành phần trong toàn bộ hệ thống phát triển phần mềm. Tại ZIGExN TechTalk #3 với chủ đề "AI Development Flow in the AI Era", anh chia sẻ cách xây dựng một quy trình nơi AI và con người cùng làm việc.
AI tạo ra nhiều việc hơn mức con người kịp xử lý
Theo anh Nguyên, AI đang tạo ra hai thay đổi rõ rệt như sau:
- Thứ nhất, AI giúp team có thêm thời gian để nghiên cứu đối thủ, thử nghiệm ý tưởng mới hay đánh giá security, từ đó tìm ra nhiều cơ hội cải thiện sản phẩm hơn.
- Thứ hai, AI giảm công sức thực hiện, khiến những cải tiến nhỏ từng bị gác lại vì tốn hai, ba ngày nay trở thành việc đáng làm.
Nhưng khi task, code và số lần release cùng tăng, lượng việc cần con người kiểm tra và quyết định cũng tăng theo, trong khi thời gian và sự tập trung thì có giới hạn. Ví dụ, những câu hỏi như requirement này có đúng với mong muốn của khách hàng không, kiến trúc này có phù hợp không, rủi ro này có chấp nhận được không vẫn cần con người hiểu bối cảnh, cân nhắc và đưa ra quyết định. Khi những câu hỏi như vậy ngày càng nhiều mà con người vẫn phải tự kiểm tra mọi thứ theo cách cũ, chính con người sẽ trở thành điểm nghẽn.
Giải pháp không phải là review nhanh hơn, mà là nhìn lại toàn bộ quy trình để xác định việc nào cần con người, việc nào AI hỗ trợ và việc nào giao cho công cụ tự động.
Việc nào cho Tools, việc nào cho AI, việc nào cần con người
Để chọn đúng công cụ cho một loại công việc, anh Nguyên dựa vào đặc điểm của vấn đề cần xử lý.
- Tools: phù hợp với công việc có quy tắc rõ ràng và có thể kiểm tra nhất quán, như format check, security scan hay automated test. Nếu một việc đã được công cụ kiểm tra đáng tin cậy, không cần dùng AI hay thời gian của con người để kiểm tra lại.
- AI: phù hợp với vấn đề không thể mô tả bằng một bộ quy tắc rõ ràng, như requirement có điểm nào chưa rõ hay nguyên nhân của một lỗi production là gì. Những vấn đề này cần hiểu bối cảnh, kết nối nhiều thông tin và phân tích linh hoạt.
- Con người: cần thiết khi kết quả của AI không chắc chắn đúng, hoặc vấn đề không có một câu trả lời rõ ràng. Con người đặc biệt quan trọng khi phải cân nhắc giữa nhiều phương án, đánh giá rủi ro và đưa ra quyết định.
Nguyên tắc ở đây là sử dụng công cụ, AI và con người đúng với thế mạnh của từng bên.
Kiểm soát AI bằng giới hạn rõ ràng và Quality Gate xuyên suốt
Theo anh Nguyên, AI được tự làm đến đâu là điều mỗi team cần chủ động thiết kế, dựa trên ba câu hỏi:
- AI sẽ làm gì? Phân tích requirement, coding, review code, tạo test case hay điều tra lỗi. AI không cần tham gia mọi bước, nhưng phải rõ trách nhiệm ở từng bước nó tham gia.
- AI cần thông tin gì? Ngoài đoạn code, AI còn cần requirement, coding standard, kiến trúc hệ thống và kiến thức nghiệp vụ. Thiếu chúng, câu trả lời có thể nghe hợp lý nhưng không phù hợp với hệ thống thực tế.
- Giới hạn của AI ở đâu? Thay đổi nằm trong phạm vi an toàn có thể tự động tiếp tục. Những việc như DB migration, security hay requirement chưa rõ ràng cần chuyển cho con người.
Bên cạnh đó, Quality Gate cần được đặt xuyên suốt quy trình thay vì chờ đến code review hay testing. Nếu hiểu sai requirement ngay từ đầu, code tốt đến đâu cũng vẫn xây sai thứ khách hàng cần. Quality Gate cũng không có nghĩa bước nào cũng cần con người duyệt: ở Code Gate, lint check, automated test và AI review có thể xử lý phần lớn, chỉ cần human review khi thực sự cần thiết.
"Mục tiêu là phát hiện vấn đề ở nơi phù hợp nhất, thay vì đợi đến cuối quy trình mới kiểm tra chất lượng." - anh Nguyên Lê
Những lỗi vẫn lọt qua chính là dữ liệu để cải thiện quy trình, tạo thành một vòng lặp: phát triển → đo lường kết quả → tìm điểm yếu → cải thiện.
Engineer không ngừng viết code, nhưng vai trò đã rộng hơn
Anh Nguyên khẳng định Engineer sẽ không ngừng viết code. Kỹ năng lập trình vẫn cần để đánh giá code do AI tạo ra, phát hiện sai sót và đưa ra quyết định kỹ thuật. Điều thay đổi là Engineer còn phải nghĩ về cách Tools, AI và con người phối hợp, cách kiểm soát kết quả và cải thiện quy trình theo thời gian.
Vì vậy, bốn năng lực sau sẽ ngày càng quan trọng:
- Khả năng đánh giá: biết khi nào có thể tin vào kết quả, khi nào cần kiểm tra thêm.
- Tư duy hệ thống: nhìn vào cách toàn bộ quy trình vận hành, không chỉ một đoạn code hay một task.
- Khả năng kiểm chứng: biết cách kiểm tra kết quả AI đưa ra có thực sự đúng hay không.
- Đo lường và cải tiến liên tục: dùng kết quả thực tế để làm quy trình tốt hơn theo thời gian.
AI có thể giúp chúng ta làm được nhiều việc hơn. Nhưng điều quan trọng không phải là dùng AI nhiều hơn hay áp dụng AI vào mọi công đoạn, mà là sử dụng đúng công cụ, đúng cách và đúng thời điểm để tạo ra sản phẩm có chất lượng tốt hơn. Và chính tư duy, khả năng phán đoán cùng những quyết định của con người mới là yếu tố định hướng cách chúng ta tạo ra giá trị.
Đón đọc phần tiếp theo của chuỗi TechTalk
Sau chia sẻ của anh Lê Chí Nguyên về quy trình phát triển phần mềm trong thời đại AI, chuỗi TechTalk sẽ tiếp tục với những chia sẻ thực tế khác từ các kỹ sư của ZIGExN VeNtura về công việc hằng ngày và những bài học trên hành trình phát triển nghề nghiệp.
Xem trọn vẹn phần chia sẻ tại Youtube: 🎬 AI development flow in the AI era | Lê Chí Nguyên - Team Leader | ZIGExN Tech Talk #3
Theo dõi https://zigexn.vn/blogs và các kênh truyền thông chính thức của ZIGExN VeNtura để không bỏ lỡ các phần tiếp theo.
