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

Vibe Coding có kiểm soát

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.

GASCO Platform

KPI Evaluator

CT AI Office Dashboard

Đào tạo nội bộ Phòng Phát triển

  • Đối tượng: Developer, Technical Lead, QC/Tester, BA, PM/PO
  • Người xây dựng: Võ Hoàng Thái Đạt
Loading...

Sau buổi đào tạo, chúng ta làm được gì?

1

Phân biệt khái niệm

Phân biệt AI Coding, Vibe Coding và Vibe Coding có kiểm soát.

2

Giao task cho AI

Giao một task cho AI với đủ context và phạm vi bằng Task Contract.

3

Nhận diện rủi ro

Nhận diện rủi ro về logic, phạm vi, dependency và bảo mật.

4

Trách nhiệm vai trò

Biết rõ trách nhiệm của vai trò mình khi sử dụng code do AI hỗ trợ.

Agenda 5 chặng

1

Nhận thức & khái niệm

2

Quy trình

3

Vai trò & rủi ro

4

Tình huống thực hành

5

Triển khai pilot

Vấn đề thật sự của Phòng Phát triển là gì?

Bốn điểm nghẽn hiện tại

Task lặp lại

Nhiều thời gian dành cho task lặp lại, boilerplate và tìm – ghép context.

Yêu cầu chưa rõ

Yêu cầu nghiệp vụ thường chưa đủ rõ khi bắt đầu code.

Bị cắt khi deadline gấp

Testing, documentation và review dễ bị cắt khi deadline gấp.

Khối lượng tăng

Khối lượng công việc tăng nhưng chất lượng vẫn phải được giữ nguyên.

Hai luồng song song

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.

Quy trình rõ + AI

Luồng mượt, có checkpoint, đầu ra có thể kiểm chứng.

⚠️ Yêu cầu mơ hồ + AI

Luồng rối, sửa đi sửa lại, phát sinh rủi ro.

AI Coding, Vibe Coding và Vibe Coding có kiểm soát khác nhau thế nào?

1
2
3
1

Vibe Coding có kiểm soát

Scope + Context + Rule + Gate + Review + Trách nhiệm

2

Vibe Coding

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.

3

AI Coding

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 nhau ở đâu trong công việc hằng ngày?

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ũ.

Quy trình Vibe Coding có kiểm soát

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:

🔵 Requirement Gate

Bước 1–4

Yêu cầu, phạm vi và điều kiện hoàn thành đã đủ rõ chưa?

🔷 Plan Gate

Bước 5–6

Kế hoạch có đúng kiến trúc, đúng phạm vi và khả thi không?

🟢 Quality Gate

Bước 7–8

Code đã build, test và xử lý các trường hợp cần thiết chưa?

🔹 Merge Gate

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.

Giao việc cho AI như giao việc cho một thành viên dự án

Sáu thành phần của AI Task Contract

Goal + Context + Scope + Acceptance Criteria + Edge Cases + Rules

1

Mục tiêu

Kết quả cần đạt là gì?

2

Context

Module, flow nghiệp vụ, code liên quan và kiến trúc hiện tại.

3

Phạm vi

Được sửa file/module nào? Không được chạm vào đâu?

4

Acceptance Criteria

Điều kiện nào chứng minh task hoàn thành?

5

Edge Cases

Những trường hợp đặc biệt nào phải xử lý?

6

Technical Rules & Output

Framework, pattern, dependency, test và định dạng đầu ra.

AI viết được code, con người còn giữ quyền gì?

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.

Agent báo đã hoàn thành — task đã thật sự xong chưa?

GASCO / Antigravity: Generated nhưng chưa Verified

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.

Generated

Code đã được tạo ra bởi AI agent

Verified

Đã có build/test evidence phù hợp trong môi trường thật

Loại thông tin nào tuyệt đối không được đưa vào công cụ AI?

🔴 VÙNG ĐỎ — KHÔNG ĐƯỢC CUNG CẤP

  • API key, access token, password
  • Connection string, private key, certificate
  • Dữ liệu Production
  • Dữ liệu khách hàng, dữ liệu nhân sự
  • Tài liệu mật hoặc chưa công bố

🟡 VÙNG VÀNG — CHỈ SỬ DỤNG THEO QUY ĐỊNH

  • Source code nội bộ
  • Database schema
  • System log
  • Kiến trúc hạ tầng
  • Dữ liệu UAT có thông tin nhạy cảm

🟢 VÙNG XANH — CÓ THỂ SỬ DỤNG

  • Dữ liệu giả lập
  • Code mẫu đã loại bỏ secret
  • Requirement đã được phân loại
  • Tài liệu public
  • Snippet tối thiểu cần thiế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.

Workshop: Khi yêu cầu chưa đủ rõ

TÌNH HUỐNG 1

"Xây chức năng đăng ký nghỉ phép."

Câu hỏi thảo luận

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?

TÌNH HUỐNG 2

AI tính số ngày phép bằng công thức: End Date - Start Date + 1

Câu hỏi thảo luận

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?

Workshop: Verify, Scope và Dependency

CASE 1 — VERIFY

"Agent báo đã hoàn thành nhưng hiện chưa thể build."

Câu hỏi

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?

CASE 2 — SCOPE

"Task chỉ yêu cầu sửa một validation, nhưng AI đề xuất refactor cả module."

Câu hỏi

Độ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?

CASE 3 — DEPENDENCY

"AI đề xuất thêm một dependency mới để giải quyết nhanh."

Câu hỏi

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?

Bắt đầu áp dụng thật theo thứ tự nào?

1

1. Chuẩn hóa

  • Xác định công cụ được phép sử dụng
  • Ban hành security rule, technical rule và Task Contract template
  • Chốt cơ chế review và trách nhiệm
2

2. Pilot nhóm nhỏ

  • Có Developer, Technical Lead, QC và BA/PO
  • Chọn task phạm vi rõ, rủi ro thấp và dễ đo lường
3

3. Đào tạo thực hành

  • Dùng backlog hoặc bug thật
  • Thực hành từ requirement đến Pull Request
  • Review cả output tốt và output sai
4

4. Đo và mở rộng

  • Cycle time · Review effort
  • Rework · Defect sau release
  • Vi phạm scope hoặc bảo mật

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.

Chúng ta đã sẵn sàng áp dụng chưa?

Năm câu khảo sát

01

Phân biệt khái niệ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.

02

Task Contract

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ể.

03

Bảo mật

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.

04

Nhóm tác vụ ưu tiê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.

05

Sẵn sàng pilot

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.

Ba kết luận

AI là công cụ tăng năng lực

Không thay thế trách nhiệm.

Yêu cầu càng rõ

AI càng tạo ra giá trị.

Người commit code

Chịu trách nhiệm cuối cùng.