
Nội dung được xây dựng từ các tình huống triển khai thực tế tại Phòng Phát triển.
Đào tạo nội bộ Phòng Phát triển

Phân biệt AI Coding, Vibe Coding và Vibe Coding có kiểm soát.
Giao một task cho AI với đủ context và phạm vi bằng Task Contract.
Nhận diện rủi ro về logic, phạm vi, dependency và bảo mật.
Biết rõ trách nhiệm của vai trò mình khi sử dụng code do AI hỗ trợ.
Nhiều thời gian dành cho task lặp lại, boilerplate và tìm – ghép context.
Yêu cầu nghiệp vụ thường chưa đủ rõ khi bắt đầu code.
Testing, documentation và review dễ bị cắt khi deadline gấp.
Khối lượng công việc tăng nhưng chất lượng vẫn phải được giữ nguyên.
AI không sửa quy trình thiếu rõ ràng. AI khuếch đại quy trình đang có — quy trình tốt thì nhanh hơn, quy trình mơ hồ thì hỏng nhanh hơn.
Luồng mượt, có checkpoint, đầu ra có thể kiểm chứng.
Luồng rối, sửa đi sửa lại, phát sinh rủi ro.
Scope + Context + Rule + Gate + Review + Trách nhiệm
Dùng ngôn ngữ tự nhiên để mô tả mong muốn và làm việc lặp với AI để tạo hoặc điều chỉnh phần mềm.
AI hỗ trợ trong toàn bộ vòng đời: phân tích, kế hoạch, code, test, review và tài liệu hóa.
"Dùng AI để code" chưa phải một phương pháp. Chỉ khi có rule và gate, nó mới trở thành quy trình làm việc.
Khác biệt không nằm ở công cụ AI, mà nằm ở mức độ kiểm soát của đội ngũ.
Tầng "có kiểm soát" được cụ thể hóa thành một quy trình có checkpoint rõ ràng.
Bốn checkpoint bắt buộc kiểm soát toàn bộ quy trình:
Bước 1–4
Yêu cầu, phạm vi và điều kiện hoàn thành đã đủ rõ chưa?
Bước 5–6
Kế hoạch có đúng kiến trúc, đúng phạm vi và khả thi không?
Bước 7–8
Code đã build, test và xử lý các trường hợp cần thiết chưa?
Bước 9–10
Con người đã đọc diff, xác nhận chất lượng và chịu trách nhiệm chưa?
Không cho AI đi thẳng từ yêu cầu sang code.
Goal + Context + Scope + Acceptance Criteria + Edge Cases + Rules
Kết quả cần đạt là gì?
Module, flow nghiệp vụ, code liên quan và kiến trúc hiện tại.
Được sửa file/module nào? Không được chạm vào đâu?
Điều kiện nào chứng minh task hoàn thành?
Những trường hợp đặc biệt nào phải xử lý?
Framework, pattern, dependency, test và định dạng đầu ra.
AI có thể tạo code. AI không sở hữu yêu cầu, không phê duyệt kiến trúc và không chịu trách nhiệm khi hệ thống lỗi.
AI có thể báo cáo những gì nó đã làm; hệ thống build và test mới xác nhận điều gì thực sự đúng.
Task hoàn thành bằng bằng chứng kỹ thuật, không hoàn thành bằng lời báo cáo của agent.
Code đã được tạo ra bởi AI agent
Đã có build/test evidence phù hợp trong môi trường thật
Không paste credential để nhờ AI sửa lỗi. Không dùng dữ liệu thật khi dữ liệu giả có thể giải quyết bài toán.
"Xây chức năng đăng ký nghỉ phép."
Trước khi AI thiết kế hoặc viết code, đội dự án cần làm rõ những nội dung nào?
AI tính số ngày phép bằng công thức: End Date - Start Date + 1
Công thức này có thể đúng về kỹ thuật nhưng sai nghiệp vụ trong những trường hợp nào?
"Agent báo đã hoàn thành nhưng hiện chưa thể build."
Task đang ở trạng thái nào trong quy trình của đội bạn? Cần bằng chứng gì trước khi chuyển sang Done?
"Task chỉ yêu cầu sửa một validation, nhưng AI đề xuất refactor cả module."
Đội nên xử lý thế nào để vừa sửa đúng lỗi, vừa không mở rộng phạm vi ngoài kiểm soát?
"AI đề xuất thêm một dependency mới để giải quyết nhanh."
Ai có quyền phê duyệt và cần kiểm tra những gì trước khi đưa dependency vào hệ thống?
Chỉ mở rộng khi tốc độ tăng nhưng chất lượng, bảo mật và khả năng kiểm soát không giảm.
Tôi phân biệt được Vibe Coding tự phát và Vibe Coding có kiểm soát ở mức nào? Thang điểm 1–5.
Tôi có thể tự xây dựng một Task Contract đầy đủ cho AI không? Có / Cần hướng dẫn thêm / Chưa thể.
Những loại thông tin nào không được đưa vào công cụ AI chưa được phê duyệt? Trắc nghiệm nhiều lựa chọn.
Tôi muốn áp dụng AI vào nhóm tác vụ nào trước? Phân tích code / Viết code / Testing / Review / Documentation.
Tôi có sẵn sàng tham gia nhóm pilot không? Trở ngại lớn nhất là gì? Có / Không + câu trả lời ngắn.
Không thay thế trách nhiệm.
AI càng tạo ra giá trị.
Chịu trách nhiệm cuối cùng.

ỨNG DỤNG AI TRONG PHÁT TRIỂN PHẦN MỀM