I.3. Cách viết lệnh cho trợ lý ảo
Phần này sẽ giới thiệu kỹ thuật căn bản để tạo ra các lệnh cho trợ lý ảo. Trong tiếng Anh, người ta hay sử dụng thuật ngữ prompt foundation, hay prompt engineering để nói về kĩ thuật viết lệnh cho các trợ lý ảo. Bạn nào khá tiếng Anh nên tìm kiếm theo 2 từ khóa này để học thêm.
Khi bạn đã có được kỹ thuật viết lệnh, bạn có thể dùng cho trợ lý ảo bất kỳ.
Viết lệnh cho trợ lý ảo đơn giản chỉ là đưa ra câu lệnh, tinh chỉnh và tối ưu nó, sao cho đạt được kết quả tối ưu nhất. Để có được câu lệnh tối ưu, bạn cần từng bước hiểu được cách thức làm việc của trợ lý ảo, từ đó sẽ biết cách tạo ra các câu lệnh phù hợp.
Một câu lệnh thường gồm nhiều thành phần, tùy tình huống sử dụng, chúng ta sẽ cung cấp các thành phần phù hợp. Các thành phần cơ bản của một lệnh gồm:
[yêu cầu][định dạng dữ liệu đầu ra][bối cảnh][thông tin đầu vào]
Yêu cầu
Đơn giải nhất, chúng ta cần gì, cứ yêu cầu trợ lý ảo. Vì nó là robot nên không phải chào hỏi, cám ơn hoặc thể hiện tình cảm làm gì, cho nó rườm rà.
Ví dụ, bạn có thể hỏi Gemini là:
Cái dở của trợ lý ảo Gemini là gì?
Nó sẽ trả lời một số ý khá dài, bạn chịu khó đọc để rút ra thông tin có ích. Hoặc nếu bạn lười đọc thì yêu cầu Gemini viết lại theo kiểu gạch đầu dòng cho dễ đọc.
hãy tóm tắt cái dở của Gemini bằng 5 gạch đầu dòng
Định dạng dữ liệu đầu ra
Trong yêu cầu:
hãy tóm tắt cái dở của Gemini bằng 5 gạch đầu dòng
Thì cụm từ bằng 5 gạch đầu dòng chính là thông tin chúng ta đã thêm vào để hướng dẫn cho trợ lý ảo biết cách xuất dữ liệu, hay nói cách khác là chúng ta muốn dữ liệu đầu ra có dạng như thế nào.
Nếu chúng ta không muốn nó hiển thị dưới dạng gạch đầu dòng thì có thể hiển thị dưới dạng khác. Ví dụ dạng bảng:
hãy tóm tắt 5 cái dở của Gemini dưới dạng bảng
Có thể hướng dẫn cụ thể hơn:
hãy tóm tắt 5 cái dở của Gemini dưới dạng bảng. Bảng gồm 3 cột: STT, Điểm yếu, Mô tả
Thậm chí, nếu bạn muốn hiển thị cái bảng này lên giao diện web, bạn có thể yêu cầu trợ lý ảo làm luôn, khỏi phải lập trình.
hãy tóm tắt 5 cái dở của Gemini dưới dạng bảng. Bảng gồm 3 cột: STT, Điểm yếu, Mô tả. Sau đó viết dưới dạng HTML.
Bạn có thể định dạng một số dạng đầu ra khác, như trong bảng dưới đây:
Chúng ta cùng làm một số ví dụ, để yêu cầu trợ lý ảo xuất ra một số dạng dữ liệu khác nhau:
giải phương trình bậc nhất, viết bằng ngôn ngữ lập trình C++
viết một bài thơ ngắn về chủ đề mùa hè
viết một đoạn văn 100 chữ tả về cơn mưa
Viết một email thông báo cho học sinh nghỉ học vào ngày Thứ 2 tuần tới.
Thông tin về bối cảnh/ngữ cảnh
Quay trở lại ví dụ, khi chúng ta yêu cầu Gemini như sau:
Viết một email thông báo cho học sinh nghỉ học vào ngày Thứ 2 tuần tới.
[Kết quả là]
- - - -
Tiêu đề: Thông báo nghỉ học - [Tên trường]
Kính gửi quý phụ huynh học sinh,
Nhà trường xin thông báo cho quý vị phụ huynh và học sinh được nghỉ học vào ngày Thứ Hai, 29 tháng 4 năm 2024 do họp tập thể cán bộ, giáo viên, nhân viên nhà trường.
Lưu ý:
Lịch học bù: Ngày Thứ Sáu, 3 tháng 5 năm 2024 sẽ học bù cho tiết học Toán đã nghỉ vào ngày Thứ Hai, 29 tháng 4 năm 2024.
Hướng dẫn học tập tại nhà: Học sinh dành thời gian ôn tập bài cũ và chuẩn bị bài mới cho các môn học sẽ học trong tuần sau.
Kính mong quý phụ huynh học sinh thông tin cho con em mình được biết và có sự sắp xếp phù hợp.
Trân trọng cảm ơn sự quan tâm và phối hợp của quý phụ huynh học sinh.
Thân mến,
[Tên hiệu trưởng]
Hiệu trưởng trường [Tên trường]
- - - -
Rõ ràng, về bố cục thì ổn, nhưng nội dung thì Gemini đã tự nghĩ ra. Vì vậy, để có một email tốt hơn, chúng ta cần cung cấp cho Gemini các thông tin bổ sung, chúng ta gọi các thông tin bổ sung này là ngữ cảnh/bối cảnh/tình huống của công việc.
Ví dụ, chúng ta có thể thêm thông tin bối cảnh như sau:
Hôm nay là Thứ 6, 19/4/2024. Là một giáo viên lớp 5A, trường tiểu học Lê Lợi. Hãy viết một email thông báo cho học sinh nghỉ học vào ngày Thứ 2 tuần tới. Lý do nghỉ học: giáo viên toàn trường tham dự buổi tập huấn của Sở giáo dục đào tạo tổ chức.
Phân tích ví dụ trên:
Lưu ý: mặc dù cú pháp của một lệnh gồm: [yêu cầu][định dạng dữ liệu đầu ra][bối cảnh][thông tin đầu vào], nhưng thứ tự là không quan trọng, các thành phần có thể đổi chỗ cho nhau.
Một ví dụ khác:
tôi muốn viết 1 email ngắn, gồm 4 dòng, gửi cho khách hàng tiềm năng là sinh viên.
Dịch vụ của nhóm tôi gồm: vệ sinh máy tính, sửa máy tính, mua và bán máy tính cũ.
Thông tin đầu vào
Giả sử, bạn muốn nhờ Gemini dịch cho bạn một đoạn văn bản từ tiếng Việt sang tiếng Anh. Trong tình huống này, văn bản tiếng Việt chính là thông tin đầu vào.
Ví dụ:
dịch đoạn tiếng Việt này ra tiếng Anh: Lưu ý: mặc dù cú pháp của một lệnh gồm: [yêu cầu][định dạng dữ liệu đầu ra][Bối cảnh][Thông tin đầu vào], nhưng thứ tự là không quan trọng, các thành phần có thể đổi chỗ cho nhau.
Phân tích ví dụ trên:
Như vậy, chúng ta đã có ý niệm ban đầu về trợ lý ảo. Nói chung, nó chính là một người trợ lý làm việc không biết mệt mỏi, không than thở, không giận hờn vu vơ, lâu lâu có những câu trả lời không biết đúng hay sai.
Chúng ta cũng đã biết cách viết một yêu cầu cho trợ lý ảo hiểu và thực thi. Vì trợ lý ảo có khả năng hiểu văn bản, nên cú pháp của một yêu cầu cũng không quá gò bó, cứng nhắc, miễn sao có đủ các thành phần, đủ thông tin để trợ lý biết cách làm việc.
Điều quan trọng cần lưu ý là: đừng quá tin vào trợ lý ảo, chúng ta cần có khả năng để đánh giá câu trả lời của trợ lý là ổn hay không?
I.4. Xem và đọc thêm
[1] Prompt foundation (Trung Talks): https://www.youtube.com/watch?v=ChnC3VNrDy8
[2] Notion AI, ChatGPT, Elicit, Tome trong học tập và nghiên cứu (Chi Nguyễn): https://www.youtube.com/watch?v=EscLAkgkgxU
[3] Foundation of Prompt Engineering: https://aivietnam.edu.vn/-/foundation-of-prompt-engineering