Chuyển đến nội dung chính

Thực tiễn kỹ thuật / ENGINEERING JOURNAL

Phát triển full-stack bằng AI: Trường hợp áp dụng, quy trình và kiểm soát rủi ro

Phát triển full-stack bằng AI không phải là để AI tự tạo toàn bộ phần mềm mà không cần giám sát. Thay vào đó, AI được tích hợp vào các bước từ yêu cầu, triển khai, kiểm thử đến phát hành, còn nhóm chịu trách nhiệm đánh giá, rà soát và đưa sản phẩm vào sử dụng.

NIUX9 phút đọc

Bài viết này sẽ giúp bạn

  • Phát triển full-stack bằng AI là cách làm trong đó AI tham gia nhiều công đoạn bàn giao, còn con người chịu trách nhiệm đánh giá, rà soát và đưa sản phẩm vào hoạt động.
  • Tổ chức quy trình theo các bước: yêu cầu, thiết kế, triển khai từng phần, kiểm thử và rà soát, triển khai và theo dõi.
  • Mã được tạo ra không thể thay thế việc nghiệm thu yêu cầu, rà soát thủ công và phê duyệt đưa vào môi trường sản xuất.
  • Lựa chọn công cụ và hình thức hợp tác dựa trên mức độ nhạy cảm của dữ liệu, độ phức tạp của dự án và năng lực bảo trì.

Phát triển full-stack bằng AI là gì?

Phát triển full-stack bằng AI là cách làm việc có sử dụng công cụ AI trong nhiều khâu bàn giao phần mềm: từ xác định yêu cầu, triển khai giao diện và backend đến cấu trúc dữ liệu, kiểm thử và chuẩn bị triển khai. Điều này không đồng nghĩa với phát triển tự động hoàn toàn không có sự can thiệp của con người. Những người có trách nhiệm cụ thể vẫn phải quyết định ưu tiên yêu cầu, lựa chọn kiến trúc, rà soát mã nguồn và chịu trách nhiệm đưa sản phẩm vào hoạt động.

“Full-stack” mô tả phạm vi bao quát của quy trình, chứ không có nghĩa chỉ với một câu lệnh là có thể tạo ra sản phẩm sẵn sàng triển khai một cách đáng tin cậy. Cách tiếp cận biên tập thận trọng hơn là chia mục tiêu thành các nhiệm vụ nhỏ có thể kiểm chứng, để con người xác nhận đầu vào và đầu ra ở từng bước, đồng thời luôn có lựa chọn dừng lại hoặc quay lui.

Tình huống phù hợp và giới hạn

Khi phạm vi nhiệm vụ rõ ràng và có thể mô tả cách nghiệm thu, có thể cân nhắc thử nghiệm AI hỗ trợ trong việc xác thực nguyên mẫu, phát triển công cụ nội bộ hoặc cải tiến tính năng hiện có. Dù vậy, đội ngũ vẫn cần đánh giá liệu mã nguồn có phù hợp với quy tắc nghiệp vụ, các ràng buộc của hệ thống hiện tại và yêu cầu bảo trì hay không.

Nếu hệ thống liên quan đến dữ liệu nhạy cảm, quyền phức tạp, quy trình nghiệp vụ trọng yếu hoặc yêu cầu độ tin cậy nghiêm ngặt, trước tiên cần xác định rủi ro và trách nhiệm rà soát dựa trên chính sách áp dụng của tổ chức cùng tài liệu kỹ thuật chính thức, rồi mới quyết định công cụ được phép tiếp cận những tài liệu và thao tác nào. Đừng xem “có thể tạo mã” là điều kiện để bàn giao.

Quy trình đề xuất từ yêu cầu đến triển khai

Dưới đây là khung biên tập để hỗ trợ thảo luận dự án, không phải quy trình duy nhất được một tiêu chuẩn cụ thể quy định:

1. Chia nhỏ yêu cầu và viết tiêu chí nghiệm thu

Chia mục tiêu nghiệp vụ thành các nhiệm vụ nhỏ, xác định đầu vào, hành vi mong đợi, tình huống bất thường và cách nghiệm thu. Trước tiên, hãy xác định nội dung nào nằm trong phạm vi và nội dung nào cần con người quyết định.

2. Thiết kế ranh giới và phương án kỹ thuật

Tìm hiểu hệ thống hiện có, luồng dữ liệu, giao diện, quyền truy cập và trách nhiệm bảo trì, sau đó để đội ngũ quyết định kiến trúc và lựa chọn công nghệ. AI có thể hỗ trợ tổng hợp phương án hoặc giải thích mã nguồn, nhưng thiết kế cuối cùng phải được người am hiểu dự án xem xét và phê duyệt.

3. Triển khai từng bước và liên tục rà soát

Tạo hoặc chỉnh sửa mã nguồn theo từng phần chức năng, nêu rõ mục đích thay đổi, phạm vi ảnh hưởng và cách xác minh. Rà soát mức độ nhất quán giữa các thay đổi với yêu cầu, cũng như việc có phát sinh thêm phụ thuộc, quyền truy cập hoặc nguy cơ lộ dữ liệu hay không; không hợp nhất trực tiếp kết quả do AI tạo ra nếu chưa hiểu rõ.

4. Kiểm thử, kiểm tra và phê duyệt phát hành

Chọn các bài kiểm thử phù hợp với yêu cầu và kiểm tra những luồng quan trọng cũng như tình huống bất thường. Việc kiểm tra phụ thuộc, giấy phép, khóa bí mật, xử lý dữ liệu và kiểm soát truy cập cần được thực hiện theo tình hình thực tế của dự án và chính sách áp dụng; bài viết này không coi bất kỳ cách làm cụ thể nào là tiêu chuẩn tuân thủ chung. Người chịu trách nhiệm dự án sẽ quyết định việc phát hành lên môi trường production theo quy trình của tổ chức và cần thống nhất trước cách xử lý khi xảy ra sự cố.

5. Theo dõi sau triển khai và cải tiến

Có thể đưa việc theo dõi vận hành sau khi đưa sản phẩm vào hoạt động, ghi nhận sự cố và sắp xếp phương án xử lý vào kế hoạch dự án. Đội ngũ cần xác định các mục theo dõi cụ thể, cũng như có cần tạm dừng hoặc hoàn tác thay đổi hay không, dựa trên rủi ro nghiệp vụ, môi trường vận hành và quy định áp dụng.

Nhóm công cụ: chọn theo nhiệm vụ, không theo bảng xếp hạng

Có thể đánh giá các công cụ hỗ trợ tạo và giải thích mã nguồn, hỏi đáp về kho mã, hỗ trợ kiểm thử, phát triển cơ sở dữ liệu và API, cũng như tự động hóa trong quy trình xây dựng và triển khai. Khi đánh giá, cần tìm hiểu công cụ sẽ tiếp cận những mã nguồn và dữ liệu nào, có thể thực hiện những thao tác nào, và đội ngũ sẽ kiểm tra đầu ra ra sao. Tên gọi và tính năng của công cụ có thể thay đổi; bài viết này không xếp hạng sản phẩm.

Chất lượng và rủi ro: gợi ý đánh giá dự án

Đây là các gợi ý biên tập mang tính tổng quát, không thay thế tiêu chuẩn an toàn, tư vấn pháp lý hoặc chính sách của tổ chức; người phụ trách dự án cần xác nhận các yêu cầu kiểm soát cụ thể dựa trên tài liệu chính thức áp dụng và môi trường thực tế.

  • Rà soát thủ công: Xác định rõ ai kiểm tra các thay đổi và tác động kinh doanh của chúng; mức độ rà soát được quyết định dựa trên rủi ro của dự án.
  • Kiểm thử và nghiệm thu: Phân biệt kết quả kiểm thử với việc nghiệm thu yêu cầu, đồng thời xác định phạm vi kiểm tra theo từng dự án.
  • Dữ liệu và quyền truy cập: Trước tiên, xác định dữ liệu mà công cụ xử lý và các quyền truy cập cần thiết, sau đó căn cứ vào chính sách của tổ chức để quyết định phạm vi dữ liệu có thể cung cấp; người chịu trách nhiệm cần xác minh cách xử lý nội dung nhạy cảm.
  • Phụ thuộc và phát hành: Xác minh các thành phần phụ thuộc và giấy phép theo yêu cầu của dự án; nhóm cần xây dựng phương án phê duyệt phát hành, theo dõi vận hành và xử lý sự cố phù hợp với môi trường hệ thống.

Danh sách đánh giá triển khai dự án

Trước khi bắt đầu, bạn nên trả lời các câu hỏi sau:

  1. Mục tiêu kinh doanh và tiêu chí nghiệm thu đã rõ ràng chưa? Những quyết định nào bắt buộc phải do con người đưa ra?
  2. Dự án có kết nối với kho mã hiện có, giao diện hệ thống hoặc dữ liệu sản xuất không? Các yêu cầu về dữ liệu là gì?
  3. Nhóm có đủ năng lực rà soát, kiểm thử và bảo trì hệ thống không?
  4. Ai chịu trách nhiệm bảo trì lâu dài, xử lý sự cố và phê duyệt đưa vào vận hành?
  5. Ngân sách, phạm vi bàn giao và yêu cầu chất lượng được xác định như thế nào? Việc quản lý thay đổi ra sao?

Đây là khung ra quyết định để độc giả tự đánh giá, không phải cam kết định lượng về chi phí, tiến độ hay hiệu quả.

Tự phát triển, dùng nhóm nội bộ hay tìm hỗ trợ bên ngoài

Có thể lựa chọn phương án dựa trên mức độ phức tạp của dự án, trách nhiệm bảo trì, yêu cầu về dữ liệu và năng lực hiện có: nếu có năng lực kỹ thuật và cần nắm quyền kiểm soát hệ thống lâu dài, nhóm nội bộ có thể chủ trì; nếu phạm vi rõ ràng và muốn kiểm chứng phương án, có thể bắt đầu bằng một dự án thử nghiệm quy mô nhỏ; nếu thiếu năng lực liên quan hoặc cần làm rõ các tích hợp phức tạp và ranh giới bàn giao, có thể cân nhắc hỗ trợ chuyên môn từ bên ngoài. Mức độ phù hợp cụ thể cần được đánh giá tùy theo tình hình dự án.

Dù lựa chọn phương án nào, thỏa thuận dự án cũng cần nêu rõ phạm vi, sản phẩm bàn giao, cách thức nghiệm thu, ranh giới truy cập dữ liệu và mã nguồn, phương án bảo trì và quy trình thay đổi. Nếu muốn tìm hiểu các trường hợp bàn giao được công khai, bạn có thể xem trang dự án điển hình; bài viết này không suy diễn thành quả hay hiệu quả cụ thể từ các trường hợp đó. Bạn cũng có thể đọc trước giới thiệu về FDE trên trang web, rồi đánh giá phương án hỗ trợ dựa trên điều kiện dự án của mình.

Câu hỏi thường gặp

AI có thể tự hoàn thành toàn bộ dự án phần mềm không? Không nên xem AI là người phụ trách dự án mà không cần giám sát. AI có thể tham gia vào nhiều khâu phát triển, nhưng việc cân nhắc yêu cầu, đưa ra quyết định về kiến trúc, nghiệm thu kết quả và chịu trách nhiệm đưa hệ thống vào vận hành cần do những người phù hợp đảm nhận. Cách phân công cụ thể cần dựa trên rủi ro của dự án và năng lực của nhóm.

Có thể đưa mã do AI tạo ra vào vận hành ngay không? Bài viết này không khuyến nghị xem kết quả do AI tạo ra là sản phẩm bàn giao đã được nghiệm thu. Trước khi đưa vào vận hành, cần rà soát, kiểm thử và được người chịu trách nhiệm phê duyệt theo quy trình của dự án; phạm vi kiểm tra cụ thể tùy thuộc vào rủi ro của dự án, chính sách của tổ chức và các tiêu chuẩn kỹ thuật áp dụng.

Làm thế nào để bảo vệ mã nguồn và dữ liệu? Trước tiên, hãy tìm hiểu các mã nguồn, nội dung đầu vào, nhật ký và dịch vụ bên ngoài mà công cụ có thể tiếp cận, sau đó xác định ranh giới xử lý dựa trên chính sách của tổ chức và tài liệu chính thức áp dụng. Khi có dữ liệu nhạy cảm hoặc thuộc diện quản lý, người chịu trách nhiệm tương ứng cần xác minh các yêu cầu áp dụng; không nên chỉ dựa vào bài viết phổ thông để đánh giá tuân thủ.

Làm thế nào để đánh giá chi phí dự án và chất lượng bàn giao? Trước tiên, hãy xác định phạm vi, điều kiện nghiệm thu, trách nhiệm bảo trì và quy trình thay đổi, rồi đánh giá nguồn lực cần thiết dựa trên năng lực của nhóm và yêu cầu về dữ liệu. Khi chưa có thông tin cụ thể về dự án, không nên dùng các con số chung để suy đoán chi phí, tiến độ hay hiệu quả.

Câu hỏi thường gặp

Tài liệu tham khảo và nguồn thực hành

Đối chiếu thêm với tài liệu gốc, hoặc tải tài liệu đi kèm để phục vụ thảo luận dự án. Thông tin từ nguồn bên ngoài được căn cứ theo nội dung hiện hành trên trang nguồn.

Quản trị kỹ thuậtTriển khai dự án

Chia sẻ bài viết này

X

KEEP EXPLORING

Đọc tiếp

Thực tiễn kỹ thuật8 phút đọc

Hướng dẫn SEO cho người mới bắt đầu: nguyên lý, quy trình và danh sách việc cần làm

Hướng dẫn SEO cơ bản dành cho người mới bắt đầu: tìm hiểu cách phát hiện, thu thập dữ liệu, lập chỉ mục và xếp hạng trong tìm kiếm; nắm các công việc về nội dung, kỹ thuật và cấu trúc trang web; đồng thời xây dựng nền tảng tối ưu hóa bằng quy trình thận trọng và các chỉ số.

Thực tiễn kỹ thuật10 phút đọc

FDE là gì? Hướng dẫn về nhiệm vụ, kỹ năng và mức độ phù hợp với nghề nghiệp của kỹ sư triển khai trực tiếp

FDE (Forward Deployed Engineer) kết nối vấn đề của khách hàng với việc triển khai kỹ thuật. Tìm hiểu các trách nhiệm điển hình, điểm khác biệt với những vị trí liên quan, năng lực cần có và cách đánh giá mức độ phù hợp khi tìm việc.