
Sử dụng AI một mình thì rất đơn giản, nhưng vào dự án thực tế với nhiều người cùng làm thì sẽ xảy ra nhiều vấn đề hơn bạn tưởng.
Khi đưa AI vào dự án thực tế: Làm sao để không tự làm khó mình và team?
Có một thực tế mà nhiều anh em làm phần mềm bắt đầu nhận ra thời gian gần đây: Sử dụng AI một mình để giải quyết vài tác vụ cá nhân thì thấy rất mượt và nhanh, nhưng khi đưa AI vào một dự án đang chạy thực tế với nhiều người cùng làm thì mọi chuyện lại khác hoàn toàn.
Nhiều công ty hay dự án khi bắt đầu ứng dụng AI thường nghĩ khá đơn giản: chỉ cần mua tài khoản công cụ cho anh em, cài thêm plugin vào IDE là xong, năng suất của cả team sẽ tự động tăng lên.
Nhưng chỉ sau một vài sprint, các vấn đề bắt đầu lộ ra. Có người vì tiện tay mà vô tình public dữ liệu nhạy cảm của khách hàng, hoặc đưa lên các tool không được cho phép. Có team thì rơi vào cảnh ai cũng dùng AI để đẩy nhanh tiến độ của mình, nhưng đến lúc ráp nối tính năng thì các phần việc lại bị lệch pha, cuối cùng lại mất thêm thời gian để ngồi rà soát và sửa lại.
Nếu đang làm việc trong một dự án thực tế, có hai vấn đề rất lớn mà bạn nên để ý để tránh tự rước rắc rối cho bản thân và dự án: bài toán bảo mật dữ liệu và cách phối hợp đồng bộ giữa các vai trò trong team.
Đưa/feed dữ liệu, tài liệu cho AI
Thói quen phổ biến của nhiều anh em là hễ gặp một đoạn code lỗi, câu query chạy chậm, hay khi nhận được tài liệu requirement, tài liệu reference, thậm chí là data thật của khách hàng là copy nguyên văn ném lên cửa sổ chat của AI nhờ nó xử lý hộ.
Làm như vậy thì nhanh thật, nhưng ở góc độ dự án doanh nghiệp, hành động này tiềm ẩn rủi ro rất lớn.
Trong các hợp đồng phần mềm, điều khoản bảo mật thông tin (NDA) luôn là thứ được khách hàng kiểm soát chặt chẽ. Chưa kể, tại Việt Nam, từ khi Nghị định 13 về bảo vệ dữ liệu cá nhân có hiệu lực vào tháng 7, các quy định pháp lý về dữ liệu người dùng đã được siết rất chặt:
- Toàn bộ thông tin định danh như số điện thoại, CCCD, địa chỉ, lịch sử giao dịch hay tài khoản ngân hàng của khách hàng đều nằm trong diện được bảo vệ nghiêm ngặt.
- Pháp luật quy định rất rõ về việc kiểm soát dữ liệu cá nhân chuyển ra nước ngoài. Trong khi đó, hầu hết máy chủ của các công cụ AI phổ biến hiện nay đều đặt tại nước ngoài.
Nếu bạn vô tư ném một file log hệ thống chứa thông tin thật của người dùng, tài liệu nghiệp vụ nội bộ hay dữ liệu khách hàng lên AI, bạn đang vô tình thực hiện hành vi chuyển dữ liệu cá nhân ra ngoài lãnh thổ mà không có sự đồng thuận của khách hàng. Khi đối tác thực hiện audit bảo mật hoặc hệ thống xảy ra sự cố, doanh nghiệp có thể đối mặt với những khoản phạt rất nặng và nguy cơ đền bù hợp đồng.
Ngoài ra, việc đưa code nội bộ lên các công cụ AI công cộng còn đối mặt với nguy cơ bị lộ các thuật toán kinh doanh độc quyền, cấu hình hệ thống hay thậm chí là các token xác thực nội bộ.
Vậy thực tế nên xử lý thế nào để vừa an toàn vừa tận dụng được AI?
Kinh nghiệm của mình là không cần phải phức tạp hóa vấn đề, chỉ cần tập cho bản thân một thói quen cẩn trọng trước khi gửi bất kỳ nội dung nào lên AI:
1. Đối với Developer:
- Tách rời logic bài toán ra khỏi dữ liệu thật: Nếu cần tối ưu một câu query hay sửa một hàm tính toán, bạn chỉ cần giữ lại cấu trúc câu lệnh và mô tả logic xử lý. Toàn bộ phần dữ liệu bên trong hãy tự thay thế bằng dữ liệu giả lập. AI nó chỉ cần hiểu cấu trúc và logic để đưa ra giải pháp, nó không cần biết khách hàng của bạn tên là gì hay giao dịch bao nhiêu tiền.
- Rà soát lại các thông tin nhạy cảm: Trước khi bấm gửi, lướt nhanh lại xem đoạn text có vô tình dính API key, token xác thực, mật khẩu database hay tên miền máy chủ nội bộ hay không.
2. Đối với Business Analyst (BA):
- Khi nhận tài liệu requirement, hợp đồng hay tài liệu tham khảo (reference) từ khách hàng có chứa số liệu doanh thu, tên đối tác hay quy trình nội bộ đặc thù:
- Hãy ẩn danh hoặc thay thế tên công ty khách hàng, tên đối tác bằng các ký hiệu giả định (Công ty A, Đối tác B).
- Các số liệu về tài chính, giá trị hợp đồng hay sản lượng thực tế hãy làm tròn hoặc thay bằng các con số mẫu.
- Chỉ giữ lại bản chất của bài toán: luồng nghiệp vụ chạy thế nào, các điều kiện logic tính toán ra sao, các trạng thái chuyển đổi là gì. AI chỉ cần nắm được logic để giúp bạn phân tích hay chuẩn hóa tài liệu, không cần biết những con số bảo mật đằng sau.
Tất nhiên, việc ngồi bóc tách hay tạo dữ liệu giả lập sẽ làm bạn tốn thêm công sức, không thể bấm gửi ngay lập tức được. Nhưng đây là thao tác bắt buộc phải làm để bảo vệ chính bạn và dự án trước các rủi ro bảo mật và pháp lý.
Khi cả team cùng dùng AI: Bẫy tam sao thất bản ngữ cảnh
Nhiều người nghĩ rằng việc lệch pha trong team là do mỗi người làm một góc không ai nói chuyện với ai. Nhưng thực tế trong các dự án dùng AI, vấn đề lại nằm ở chỗ: Ngữ cảnh (context) bị tam sao thất bản qua từng mắt xích khi ai cũng lạm dụng AI để tóm tắt và diễn giải.
Cái vòng lặp thực tế thường diễn ra như sau:
- Khách hàng đưa ra một yêu cầu ban đầu (có thể bằng lời nói hoặc một tài liệu dài dòng, nhiều chỗ chưa rõ ràng).
- BA ném tài liệu đó vào AI để nhờ sinh nhanh tài liệu đặc tả (SRS/US/PRD). Vì để AI tự viết, tài liệu sinh ra trông rất chuyên nghiệp, câu cú mượt mà nhưng lại thiếu vắng các logic, business rules cần thiết của hệ thống, đặc biệt là các exception cases.
- Developer nhận tài liệu của BA, thấy dài hoặc khó nắm bắt, lại copy các đoạn đó ném ngược vào AI của mình để nhờ tóm tắt cách code hoặc prompt AI sinh code theo góc nhìn kỹ thuật riêng. Lúc này, AI của Dev sẽ tự động bù đắp những chỗ thiếu sót bằng các assumption hoặc tệ hơn là bịa ra thông tin về requirement (cái này mình gặp rất nhiều luôn).
- Tester cũng làm tương tự: lấy tài liệu của BA hoặc đọc code của Dev rồi ném vào AI để sinh test cases. AI của Tester lại dựa trên một góc nhìn suy đoán khác để đưa ra các ca kiểm tra.
Kết quả là gì? Trên Jira thì ai cũng báo cáo hoàn thành task rất nhanh và ai cũng nghĩ mình đang làm đúng theo tài liệu. Nhưng qua 3-4 lần nhờ AI hiểu hộ và diễn giải hộ, thông tin đã bị trôi đi rất xa so với yêu cầu ban đầu của khách hàng.
Đến lúc ráp nối tính năng để kiểm thử hay demo thì các bên bắt đầu phát hiện ra: logic chỗ này hiểu một kiểu, điều kiện biên chỗ kia không khớp, luồng dữ liệu bị vênh nhau. Thời gian tưởng như tiết kiệm được lúc đầu lại bị tiêu tốn gấp đôi vào việc ngồi họp để rà soát, cãi lý và sửa lại từ đầu.
Quản lý Context theo 3 tầng: Cách phối hợp thực tế khi cả team dùng AI
Để tránh tình trạng tam sao thất bản kể trên, cả team không thể làm việc theo kiểu mạnh ai nấy prompt. Mình suggest quản trị dự án theo các tầng như sau:
Tầng 1: Context nghiệp vụ gốc — Requirement là Source of Truth (BA/PO chịu trách nhiệm)
Requirement gốc chính là nguồn chuẩn duy nhất (Source of Truth) của toàn bộ tính năng, và BA/PO là người chịu trách nhiệm chính cho tính chính xác và đầy đủ của nguồn này:
- Bên cạnh việc bàn giao các tài liệu chi tiết đầy đủ (SRS, User Story, PRD...), BA/PO nên chuẩn bị thêm các bản tóm tắt context / requirement chung cho team.
- Bản tóm tắt này cần cô đọng, rõ ràng: gồm các actor, các object trong hệ thống, các business rules, workflows, state...
- Đây là source of truth chung của cả team, để khi cần thì không chỉ AI mà chính các thành viên cũng có thể tra cứu trong quá trình làm việc.
Tầng 2: Context kỹ thuật riêng của từng team (Team-level Context)
Khi đã có Requirement gốc của BA làm điểm tựa, từng team chuyên môn khi làm việc với AI bắt buộc phải kết hợp Requirement gốc với Context riêng của team mình:
- Team Design: Không chỉ ném requirement vào AI để nó vẽ layout tùy ý. Designer phải kết hợp Requirement gốc với Design System, UI guidelines, component specs hiện có của dự án. Khi đó AI mới gợi ý giao diện bám đúng hệ thống, không vẽ ra các component lạ hoắc mà dev không có sẵn để dựng, đồng thời bao quát đủ các trạng thái tải dữ liệu hay thông báo lỗi.
- Team Developer: Không thể chỉ prompt vu vơ bảo AI viết code theo requirement chung chung. Dev phải kết hợp Requirement gốc với Context kiến trúc của team Dev: Tech stack, coding conventions, API contract, schema database hiện tại.
- Đặc biệt khi dùng các AI Agent tự động sửa code trong repo: Dev càng phải nạp context kỹ thuật chặt chẽ, kiểm soát không để Agent tự cài thêm thư viện linh tinh hay phá vỡ cấu trúc module chung.
- Dev bắt buộc phải viết test tự động (Unit Test / Integration Test) để kiểm soát logic do AI sinh ra, và tập trung vào việc đọc hiểu, review code thay vì chỉ gõ cú pháp.
- Team Tester / QA: Tester lấy Requirement gốc kết hợp với Context kiểm thử của team QA: test plan, test cases mẫu, các kịch bản test đặc thù của dự án. Khi đó, prompt AI mới giúp khai thác đúng các exception cases, các trường hợp dữ liệu biên thực tế chứ không sinh ra những test case chung chung hiển nhiên.
Tầng 3: Context riêng của từng cá nhân khi thực thi task (Personal / Task Context)
Mỗi cá nhân khi bắt tay vào một task cụ thể sẽ có context riêng: module mình đang sửa, branch git đang làm, hay lịch sử lỗi đang cần debug...
Người làm việc chuyên nghiệp là người biết kết hợp linh hoạt cả 3 tầng: lấy context task cá nhân của mình, đặt trong context kỹ thuật của team, và luôn đối chiếu lại với Requirement gốc của BA.
Và một nguyên tắc bất biến: Con người luôn là chốt chặn kiểm chứng cuối cùng (Review Gate). Tuyệt đối không bao giờ lấy nguyên xi output thô của AI ném sang cho người tiếp theo trong team khi bản thân chưa hề đọc lại và hiểu rõ.
Lời kết
Ứng dụng AI vào dự án thực tế không đơn giản là cuộc đua cá nhân xem ai gõ phím nhanh hơn hay thuộc nhiều câu prompt hơn.
Khi làm việc trong một tập thể, giá trị của bạn nằm ở:
- Ý thức bảo vệ dữ liệu dự án (biết làm sạch thông tin nhạy cảm trước khi đưa vào công cụ).
- Năng lực quản lý và chia sẻ context (biết bám vào Requirement gốc của BA và kết hợp đúng context chuyên môn của team mình).
- Trách nhiệm giải trình (dùng AI để tăng tốc, nhưng luôn là người kiểm soát và chịu trách nhiệm cuối cùng về chất lượng sản phẩm).
Hy vọng những chia sẻ thực tế trên sẽ giúp ích cho các bạn và team khi đưa AI vào quy trình làm việc thực tế của dự án.
Lead Solution Architect & BA Coach • 10+ năm kinh nghiệm thiết kế hệ thống