Series learn AI from 0: Framework prompting giúp mình tận dụng ChatGPT để support quá trình build Email Marketing Dashboard?
Dạo gần đây công ty mình bắt đầu mở rộng đào tạo qua mảng AI. Team mình được giao trọng trách “mở đường”, nên mình cũng bắt đầu join các buổi internal training, học thử vài khóa về AI, rồi vọc vạch thêm trên YouTube về prompting, AI Agent, n8n,... và thử áp dụng vào chính các task công việc hàng ngày.
Surprisingly, chỉ mới dùng ChatGPT thôi mà mình đã thấy nó support cực tốt cho công việc của mình, dù trước đây mình từng khá anti AI vì… hồi mới ra dùng thử thấy nó “khá ngu” :))) Giờ mới hiểu, hóa ra không phải nó dở, mà là mình brief chưa kỹ thôi.
Vậy nên, mình quyết định viết một series chia sẻ về cách mình học và ứng dụng AI - từ những thứ cơ bản như cách prompting với ChatGPT đến các chủ đề “đau não” hơn mà mình sẽ học dần trong thời gian tới như n8n, AI Agent,... Hy vọng series này sẽ hữu ích với mọi người ^^
Bài viết đâu tiên trong Series này sẽ nói về RICECO - Role, Instruction, Context (Ngữ cảnh), Examples (Ví dụ), Constraints (Ràng buộc), và Output Format (Định dạng đầu ra) - một framework gồm sáu thành phần giúp bạn đặt prompt một cách có hệ thống hơn, để nhận được phản hồi đúng trọng tâm từ các model AI.
Để dễ hình dung, mình sẽ lấy một ví dụ thực tế: task build Email Marketing Dashboard mà mình đang làm. Trong bài này, mình không đi vào phần execution cụ thể (phần đó sẽ có trong một post nào đó khi mình build xong ^^), mà tập trung vào cách mình dùng ChatGPT để define quy trình và hướng tiếp cận trước khi bắt tay vào làm thật.
Oke ^^ giờ hãy start với thành phần đầu tiên:
R – Role (Vai trò): Định hình cách AI tiếp cận vấn đề
Trong framework RICECO, Role là bước đầu tiên - nơi bạn xác định “bạn muốn ChatGPT trở thành ai” trước khi nó bắt đầu phản hồi.
Mục tiêu của bước này là định hình cách ChatGPT tư duy, dạy cho mô hình “nên nghĩ thế nào”. Một khi vai trò được gán, toàn bộ phản hồi sẽ thay đổi: từ giọng điệu (tone), góc nhìn (perspective), cho tới mức độ chi tiết (depth).
Cách mình apply
Mình thử dùng hai prompt khác nhau để nhờ ChatGPT gợi ý quy trình build một Email Marketing Dashboard:
Một prompt không có Role
Và một prompt có Role cụ thể
Mình có để hình kết quả cạnh nhau để bạn dễ so sánh hơn.
Ở bản không có Role, câu trả lời vẫn khá ổn, nhưng chỉ dừng ở mức liệt kê công việc theo checklist các bước phân tích dữ liệu vẫn thường thấy, kiểu “xác định mục tiêu, thu thập dữ liệu, thiết kế dashboard…”.
Còn ở bản có Role cụ thể, ChatGPT bắt đầu tư duy sâu hơn hẳn:
Ngoài việc xác định mục tiêu và câu hỏi, nó nhắc mình xác định người dùng cuối của dashboard (team marketing) – điều mà nhiều người (kể cả mình ^^) hay quên.
Các bước triển khai rõ ràng, có logic: từ xác định nguồn dữ liệu → làm sạch & chuẩn hóa → xây data model → chọn KPI → thiết kế dashboard.
Và đặc biệt, ChatGPT chủ động mở rộng: gợi ý luôn các hướng mà trước đấy mình thậm chí chưa nghĩ đến như predictive layer, segmentation, A/B tracker cho email performance.
Qua ví dụ trên có thể thấy, cùng một câu hỏi, nhưng khi ChatGPT được set một vai trò cụ thể, cách nó trả lời cũng khác hẳn: rõ ràng hơn, sâu hơn, và sát với mục tiêu hơn mà chẳng cần thay đổi nội dung câu hỏi chút nào.
I – Instruction (Hướng dẫn): Nói rõ bạn muốn gì
Trong framework RICECO, Instruction là thành phần cốt lõi và thiết yếu nhất - phải luôn luôn phải có trong mọi prompt.
Nói đơn giản, đây là nhiệm vụ chính mà bạn đang giao cho ChatGPT: “Chính xác, bạn muốn nó làm gì?”
Mục tiêu của phần này là giúp ChatGPT hiểu rõ:
Bạn đang yêu cầu điều gì
Kết quả mong muốn trông như thế nào
Và đôi khi, bạn muốn nó thực hiện theo hướng nào
Instruction càng rõ, ChatGPT càng hiểu mình đang “được giao việc gì” và từ đó, phản hồi cũng sâu và sát hơn hẳn.
Cách mình apply
Ở ví dụ đầu tiên, sau khi mình đã dùng Role để ChatGPT “đóng vai” là một Data Analyst trong lĩnh vực Digital Marketing, yêu cầu của mình đưa ra vẫn khá chung chung. Mình chỉ bảo:
Hãy suggest cho tôi các bước bạn sẽ làm khi muốn build 1 dashboard về email marketing.
Kết quả thì vẫn ổn, nhưng chưa thực sự hữu ích nếu muốn bắt tay vào làm thật.
Vì vậy, mình thử viết lại phần Instruction cụ thể hơn, gồm 3 yêu cầu rõ ràng:
Lần này, ChatGPT phản hồi rõ ràng và có cấu trúc hẳn hoi:
Toàn bộ quy trình được chia thành 5 giai đoạn bám sát brief, dễ follow như một checklist thật.
Ở mỗi phần đều có mức độ chi tiết cao hơn – ví dụ:
Trong Define Problem, nó không chỉ liệt kê câu hỏi mẫu mà còn thêm cả Key Metrics kèm công thức.
Ở Data Collection, nó gợi ý cụ thể các loại bảng dữ liệu cần chuẩn bị và công cụ nên dùng.
…
Cuối cùng, nó tổng hợp luôn bảng mapping công cụ cho từng giai đoạn.
Tất cả chỉ nhờ phần Instruction cụ thể hơn chứ mình cũng chẳng add thêm data gì ^^
C – Context (Ngữ cảnh): Cho ChatGPT hiểu “bức tranh lớn”
Nếu Role giúp ChatGPT biết nó là ai, Instruction giúp nó biết phải làm gì, thì Context giúp mô hình hiểu toàn cảnh xung quanh vấn đề đó.
Context trả lời các câu hỏi như:
Ai sẽ sử dụng kết quả này?
Mục tiêu cuối cùng là gì?
Nền tảng, dữ liệu, hoặc điều kiện cụ thể đang có là gì?
Cách mình apply
Lại quay lại ví dụ về build dashboard email marketing ở trên, mình thử bổ sung thêm phần context vào xem kết quả có thể detail hơn không:
Khi ChatGPT hiểu đúng bối cảnh, nó không còn trả lời kiểu “generic data flow” nữa, bớt “lý thuyết” và “thực tế” hơn rất nhiều:
Hiểu rằng dashboard này được xây cho team Marketing, chứ không phải team Data.
Nhận ra dữ liệu sẽ lấy từ ActiveCampaign API, nên hướng dẫn chi tiết cả cách kết nối, làm sạch và transform.
Output chuyển hẳn từ “các bước lý thuyết” sang quy trình khả thi trong Power BI, có sẵn query mẫu, logic DAX và công thức minh họa.
Quan trọng hơn, phần visualization cũng được tối ưu cho marketer, ví dụ chia layout theo funnel (Open → Click → Conversion), thêm phần time optimization để theo dõi giờ gửi hiệu quả.
E – Examples (Ví dụ): Cho mô hình “thấy mẫu chuẩn”
Đưa ra ví dụ là cách nhanh nhất để ChatGPT hiểu bạn muốn kết quả trông như thế nào, cả về cấu trúc, độ chi tiết, giọng điệu hay logic triển khai. Example giống như một “điểm neo” (anchor) mà AI có thể bắt chước hoặc phối lại, thay vì phải đoán từ đầu.
Cách mình apply
Ví dụ mình muốn đào sâu hơn về phần layout dashboard, muốn tham khảo thêm từ các nguồn khác để xem có gì có thể bổ sung vào không, mình có thể thêm vào prompt như sau:
Ở trong prompt này, mình đang yêu cầu ChatGPT phải check 10 ví dụ về các mẫu dashboard Email MKT phổ biến, để nó hiểu được “chuẩn layout” của một email marketing dashboard thực tế sẽ trông như thế nào, sau đó yêu cầu nó hãy tham khảo và tổng hợp lại để suggest cho mình một cái outline thật đầy đủ.
Và thực sự, chất lượng phản hồi thay đổi hoàn toàn:
Thay vì list out page + metric như phiên bản trước, chatgpt đề xuất hẳn một bố cục hoàn chỉnh 8 section, từ Header & Filters → Overview KPIs → Audience Segmentation → Funnel & Conversion Impact.
Mỗi section đều có mục tiêu, gợi ý chỉ số, loại biểu đồ, insight nên rút ra, đúng kiểu thinking của một người từng build dashboard thật.
Từ một ý tưởng mơ hồ brief cho ChatGPT, sau khi chỉnh sửa prompting thêm 1 vài ví dụ, mình đã có hẳn 1 layout gần như hoàn chỉnh, có thể cầm đi build được.
C – Constraints (Ràng buộc): Giới hạn để ChatGPT “bớt lan man”
Sau khi để ChatGPT “bay” khá tự do, mình bắt đầu thấy một vấn đề: Thỉnh thoảng nó viết hơi dài, giải thích lan man, và đôi khi chèn thêm những phần không cần thiết.
Ở case này thì mình vẫn thấy ổn :))) nhưng trong nhiều trường hợp thì nó lan man thật, nên mình vẫn muốn lấy ví dụ một chút để phòng khi mọi người gặp trường hợp này sẽ biết fix thế nào.
Lúc ChatGPT bắt đầu lan man là lúc cần đến Constraints. Constraints giúp:
Giữ nội dung trong phạm vi cần thiết.
Loại bỏ phần thừa.
Buộc AI ưu tiên phần quan trọng nhất.
Cách mình apply
Oke giờ giả sử mình thấy 8 section quá dài cho 1 dashboard, mình muốn keep 5 thôi. Mình sẽ tiếp tục đưa ra các ràng buộc để ChatGPT giúp mình rút gọn.
Đó sau khi mình hỏi xong thì ChatGPT rút gọn layout từ 8 xuống còn 5 phần cốt lõi, ưu tiên các mục marketer cần nhất.
Đây là một phần mình thấy khá hữu ích, nó không chỉ giúp “rút gọn câu trả lời”, mà còn buộc ChatGPT tư duy ưu tiên, chọn ra phần giá trị nhất, thay vì cố nói đủ mọi thứ.
O – Output Format (Định dạng Đầu ra): Format kết quả về định dạng mong muốn
Và đây là phần cuối trong công thức để giúp outcome trở nên clean hơn, maybe là có thể dùng luôn được.
Cách mình apply
Nếu tự mình build thì không nói làm gì, nhưng trong nhiều trường hợp mình sẽ cần present lại layout dashboard này cho team marketing trước khi build. Mình không thể copy nguyên cả bản chi tiết, quá dài. Nên mình có add thêm 1 prompt để yêu cầu đầu ra thế nào:
Và đó mình đã có một phần outcome khá là “súc tích” để đem đi present cho team trước khi vào làm.
Tạm kết
Từ một câu hỏi rất đơn giản như “hãy giúp tôi build một Email Marketing Dashboard”, nhờ áp dụng framework RICECO, mình đã có được:
Một quy trình làm việc chi tiết, có thể triển khai thật
Một layout dashboard tương đối hoàn chỉnh, tối ưu cho marketer
Và một bản trình bày rõ ràng, có thể đem đi thảo luận với team
Theo cảm quan cá nhân của mình, cũng như qua những gì đã demo ở trên, thực sự thì cũng không đến mức phải dùng hết cả 6 yếu tố để có thể đưa ra được kết quả đủ tốt. Tùy vào mục tiêu và độ phức tạp của task, mọi người hoàn toàn có thể áp dụng linh hoạt nha ^^ nhưng nếu mà để chọn 3 yếu tố must have trong phần prompt mình nghĩ là Instruction, Context, Example. Chỉ cần viết kỹ ba phần này thôi, chất lượng phản hồi của ChatGPT đã khác hẳn rồi.
Hy vọng case mình chia sẻ sẽ giúp bạn có thể sử dụng AI một cách hiệu quả hơn trong việc làm Dashboard của mình, thậm chí có thể mở rộng qua các task khác.
À nếu bạn hứng thú với một chương trình đào tạo về AI ứng dụng trong công việc một cách bài bản có thể thử tham khảo AI Professional Program mà công ty mình đang cung cấp nha ^^
Và đừng quên subscribe mình để nhận được email về các bài post mới nhất ^^







