Giao việc cho trợ lý AI giống như giao việc cho một đồng nghiệp rất giỏi nhưng vừa mới vào dự án: phải nói rõ bối cảnh, mục tiêu, những ràng buộc, và thế nào thì coi là xong. Hãy chia việc lớn thành từng bước nhỏ, đưa ví dụ dữ liệu thật, và yêu cầu nó hỏi lại khi chưa rõ thay vì tự đoán.
Chào bạn, đây là Nhà Lập Trình. Hai người dùng cùng một trợ lý có thể nhận về chất lượng rất khác nhau. Khác biệt thường không nằm ở công cụ, mà ở cách giao việc. Tập này mình kể những điều giúp trợ lý viết ra mã đúng hơn, đỡ phải sửa hơn.
Trợ lý không biết những gì bạn biết
Khi bạn nói làm cho mình chức năng xuất báo cáo, trong đầu bạn có cả một bức tranh: báo cáo gì, cho ai, định dạng nào, dữ liệu lấy từ bảng nào, dự án đang dùng ngôn ngữ và thư viện gì, đội có quy ước đặt tên ra sao. Trợ lý không biết gì trong số đó.
Không biết, nó sẽ đoán. Và nó đoán theo những gì phổ biến nhất, không phải theo dự án của bạn. Kết quả là mã chạy được nhưng không khớp: dùng thư viện dự án không có, đặt tên khác quy ước, xử lý dữ liệu theo cấu trúc tưởng tượng.
Người mới hay đổ lỗi cho trợ lý kém. Nhưng thử đặt mình vào vị trí một đồng nghiệp mới vào ngày đầu, nhận yêu cầu một câu như vậy, họ cũng sẽ làm ra thứ không khớp.
Nên việc đầu tiên là cho trợ lý bối cảnh, đủ để nó không phải đoán những thứ quan trọng.
Bốn thứ nên có trong một lần giao việc
Thứ nhất là bối cảnh: dự án làm gì, dùng ngôn ngữ và khung ứng dụng gì, phiên bản nào, cấu trúc dữ liệu liên quan ra sao, đoạn mã xung quanh trông thế nào. Nhiều công cụ cho phép trợ lý đọc thẳng các tệp trong dự án, hãy tận dụng.
Thứ hai là mục tiêu, nói theo góc người dùng: kế toán cần xuất danh sách hoá đơn trong tháng để đối chiếu với ngân hàng. Mục tiêu rõ giúp trợ lý chọn cách làm hợp lý hơn so với chỉ nói xuất hoá đơn ra tệp.
Thứ ba là ràng buộc: không được thêm thư viện mới, phải chạy được với dữ liệu mười vạn dòng, phải dùng hàm kiểm tra quyền sẵn có của dự án, không được đổi cấu trúc bảng.
Thứ tư là tiêu chí xong: tệp xuất ra có những cột nào, xử lý thế nào khi tháng không có hoá đơn, có cần bài thử nghiệm không. Tiêu chí rõ giúp cả bạn và trợ lý biết khi nào dừng.
Chia nhỏ và đi từng bước
Giao một việc lớn trong một lần, trợ lý sẽ trả về một khối mã lớn. Khối mã lớn thì khó đọc, khó kiểm tra, và khi có một chỗ sai ở giữa, cả khối trở nên đáng ngờ.
Hãy chia nhỏ. Bước một, viết truy vấn lấy danh sách hoá đơn trong tháng. Kiểm tra, chạy thử. Bước hai, định dạng dữ liệu thành các cột cần thiết. Kiểm tra. Bước ba, ghi ra tệp. Kiểm tra. Mỗi bước nhỏ, bạn đọc hiểu được toàn bộ, và sai thì biết sai ở đâu.
Một cách hay là nhờ trợ lý lập kế hoạch trước khi viết mã. Mô tả việc cần làm, nhờ nó đề xuất các bước và cách tiếp cận. Bạn đọc kế hoạch, sửa những chỗ không hợp, rồi mới cho nó viết từng bước. Sửa kế hoạch rẻ hơn nhiều so với sửa mã.
Chia nhỏ cũng giúp bạn giữ vai trò người lái. Bạn quyết định hướng đi, trợ lý thực hiện từng đoạn đường.
Ví dụ thật đáng giá hơn mô tả dài
Thay vì mô tả dữ liệu bằng lời, hãy đưa ví dụ. Vài dòng dữ liệu thật, đã xoá thông tin nhạy cảm, cho trợ lý thấy chính xác định dạng. Nó sẽ không phải đoán ngày viết kiểu gì, số tiền có dấu chấm ngăn cách hay không, tên có dấu hay không dấu.
Đưa cả ví dụ về kết quả mong muốn. Với dữ liệu đầu vào này, mình muốn đầu ra trông như thế này. Một cặp ví dụ vào ra thường rõ hơn một đoạn mô tả dài.
Đưa cả những trường hợp đặc biệt bạn biết. Có khách không có mã số thuế. Có hoá đơn bị huỷ. Có hoá đơn bằng ngoại tệ. Nếu không nói, trợ lý gần như chắc chắn sẽ bỏ qua chúng.
Và nếu dự án đã có một đoạn mã làm việc tương tự, đưa nó cho trợ lý làm mẫu. Viết theo cách giống như hàm xuất danh sách khách hàng. Trợ lý sẽ theo đúng phong cách của dự án.
Cho phép trợ lý hỏi lại
Một mẹo nhỏ mà hiệu quả lớn: nói rõ với trợ lý rằng nếu có gì chưa rõ thì hỏi lại trước khi viết, đừng tự đoán. Nhiều trợ lý có xu hướng làm luôn để tỏ ra hữu ích. Được phép hỏi, nó sẽ chỉ ra những chỗ yêu cầu của bạn còn mơ hồ.
Những câu hỏi của trợ lý thường giúp chính bạn nghĩ rõ hơn. Có khi nó hỏi một điều bạn chưa từng nghĩ tới, và bạn phải đi hỏi lại người dùng.
Khi trợ lý trả về mã, đừng chỉ nhận. Hỏi nó: có trường hợp nào đoạn mã này không xử lý được không, có giả định nào nó đã đặt ra không. Nó thường thành thật liệt kê, và danh sách đó là thứ bạn cần kiểm tra.
Giao việc cho trợ lý rõ ràng thực ra là luyện một kỹ năng mà bạn cần trong cả sự nghiệp: giao việc rõ ràng cho con người. Người giỏi giao việc cho trợ lý thường cũng là người viết yêu cầu tốt cho đồng nghiệp.
Câu hỏi thường gặp
Vì sao trợ lý AI viết mã không khớp với dự án?
Thường vì thiếu bối cảnh về ngôn ngữ, thư viện, cấu trúc dữ liệu và quy ước của dự án, nên trợ lý đoán theo cách phổ biến nhất. Cung cấp bối cảnh và mã mẫu giúp khớp hơn nhiều.
Có nên giao cả chức năng lớn cho trợ lý AI một lần?
Không nên. Chia thành từng bước nhỏ để dễ đọc, dễ kiểm tra và biết sai ở đâu. Có thể nhờ trợ lý lập kế hoạch trước rồi mới viết từng bước.
Đưa dữ liệu thật cho trợ lý AI có an toàn không?
Chỉ nên đưa vài dòng mẫu đã xoá hoặc làm giả thông tin nhạy cảm, và tuân theo quy định của công ty về công cụ AI. Không đưa dữ liệu khách hàng thật hay khoá bí mật.
Làm sao để trợ lý AI hỏi lại thay vì đoán?
Nói rõ trong yêu cầu rằng nếu có gì chưa rõ thì hỏi lại trước khi viết. Nhiều trợ lý sẽ liệt kê những điểm mơ hồ để bạn làm rõ.
Kỹ năng giao việc cho trợ lý có ích gì ngoài lập trình?
Nó chính là kỹ năng mô tả vấn đề và giao việc rõ ràng, rất cần khi viết yêu cầu cho đồng nghiệp, làm việc với khách hàng hoặc hướng dẫn người mới.