Công nghệ - 01/05/2025 11:11:06
Kỹ thuật "Flipping The Roles" là một khái niệm thú vị trong lĩnh vực prompt engineering, đặc biệt khi làm việc với các mô hình AI tạo sinh (generative AI).
Tuy nhiên, "Flipping The Roles" trong coding không phải là một thuật ngữ tiêu chuẩn, mà là một cách tiếp cận sáng tạo, nơi AI chủ động đặt câu hỏi để thu thập thông tin từ developer, thay vì chỉ trả lời câu hỏi. Điều này phù hợp với xu hướng hiện đại, nơi AI ngày càng được sử dụng để hỗ trợ học hỏi, debugging, và code review. Dựa trên các tài liệu, tôi nhận thấy tiềm năng của kỹ thuật này trong các kịch bản như debugging, code review, pair programming, tạo tài liệu, và đào tạo.
Trong bài viết này, các bạn cùng tôi tìm hiểu các bài toán áp dụng kỹ thuật "Flipping The Roles", từ đó quay lại khái niệm và các phương án áp dụng khác nhé.
Bạn đang chơi một trò Kéo Búa Bao đơn giản tại https://sondo.top/minigames/keo-bua-bao. Trò chơi này có luật chơi đơn giản, cho phép bạn chọn Kéo, Búa hoặc Bao, cạnh tranh với máy tính, và xem kết quả tức thì. Đây là một ví dụ, tôi sử dụng GitHub Copilot (Claude 3.5 Sonnet model) để thử viết mã cho bài toán đơn giản này.
Tuy nhiên, sau vài ván, bạn có thể cảm thấy trò chơi thiếu chiều sâu – không có bảng xếp hạng, không có chế độ nhiều người chơi, và các tính năng tương tác hạn chế. Làm thế nào để biến trò chơi này thành một trải nghiệm hấp dẫn hơn, thu hút và giữ chân người chơi lâu dài?
Câu trả lời nằm ở việc kết hợp, vừa sử dụng GitHub Copilot để triển khai code nhanh chóng và kỹ thuật Flipping The Roles để tinh chỉnh ý tưởng và cải tiến trò chơi.
Tôi yêu cầu AI viết code, tôi yêu cầu gì AI làm việc đó. Tư duy ngược lại, AI đặt câu hỏi để làm rõ yêu cầu và đề xuất cải tiến, là một cách tiếp cận mạnh mẽ để tối ưu hóa thiết kế trò chơi.
Tôi quay ra thiết kế các prompt để Copilot đặt câu hỏi lại, giúp tôi suy nghĩ sâu hơn về trải nghiệm người chơi. Dựa trên gợi ý của bài báo Flipping The Script On AI, tôi sử dụng lời nhắc sau:
Bạn là một chuyên gia thiết kế trò chơi. Hãy đặt 5 câu hỏi để hiểu rõ hơn về mục tiêu của tôi khi cải tiến trò chơi Kéo Búa Bao trực tuyến, nhằm thu hút và giữ chân người chơi. Sau khi tôi trả lời, đề xuất các tính năng mới và tạo mã mẫu bằng JavaScript.
Tôi có các câu hỏi rất hữu ích từ Copilot:
Tôi trả lời rằng trò chơi hướng đến thanh niên và người lớn, ưu tiên cạnh tranh và tương tác xã hội, có thể dùng backend đơn giản với .NET core, và muốn thêm hiệu ứng hình ảnh cùng phần thưởng.
Dựa trên câu trả lời, Copilot lại đề xuất kịch bản cho các tính năng mới:
Đồng thời, "hắn" còn hỗ trợ tôi viết code cho đoạn đó... bạn thử chơi oẳn tù tì thắng hoặc thua máy thêm vài ván để thấy hiệu ứng mới cho Phần thưởng này.
Kết hợp GitHub Copilot và "Flipping The Roles" mang lại nhiều lợi ích:
Quay trở lại lý thuyết một chút
"Flipping The Roles" trong prompt engineering là một kỹ thuật mà ở đó, thay vì người dùng cung cấp câu hỏi (prompt) và AI trả lời, AI sẽ đóng vai trò người hỏi, yêu cầu người dùng cung cấp câu trả lời. Các mục đích sử dụng bao gồm:
Để thực hiện, người dùng cần thiết kế prompt rõ ràng, bao gồm:
Kỹ thuật "Flipping The Roles" có tiềm năng lớn trong xây dựng phần mềm. Nó có thể được áp dụng trong debugging, code review, pair programming, tạo tài liệu, và học hỏi, giúp tăng cường tính tương tác, hiệu quả, và chất lượng của quá trình phát triển phần mềm.
Mặc dù các công cụ hiện tại như GitHub Copilot và IntelliCode đã cung cấp một số tính năng tương tác, việc triển khai đầy đủ kỹ thuật này có thể mang lại những lợi ích to lớn hơn nữa trong tương lai.
Hi vọng các bạn thích bài viết và áp dụng kỹ thuật này trong công việc của các bạn.
Happy coding.
/Son Do - I share real-world lessons, team building & developer growth.
#FlippingTheRoles #PromptEngineering #GitHubCopilot #DotNet #AIAuto #ChatAI #MicrosoftAI #TechBlog #SoftwareDevelopment #AIGame #wecommit100xshare #1percentbetter