Build a complete prompt
Apply everything you've learned. Build a complete, ready-to-use prompt!
Connect all the things you've learned together.
You've learned the necessary steps to create a prompt. Now, let's build something practical.
This lesson will guide you through creating a ready-to-use prompt from scratch. It's not just a simple example – it's something you can actually implement in a real-world system or workflow.
We will follow a systematic process, applying techniques from all previous lessons.
Situation
Let's build a prompt for a real-world use case:
Task : Classify customer support tickets
Request :
- Categorize the submitted support requests into the following categories.
- Extract key information (urgency level, product, problem type)
- Mark the ballots that need to be forwarded by a human.
- Reliable operation across various inputs.
This is a real task that companies pay to solve. Let's solve it with a prompt.
Step 1: Confirm success
Before writing anything, clarify what success looks like.
A good output should meet the following criteria:
- The classification is accurate more than 95% of the time.
- Extract structured fields consistently.
- Never miss a request that needs to be forwarded.
- Handle unclear or complex requests skillfully.
- Returns structured, analyzeable data.
Criteria for the format's success:
- The JSON output can be parsed programmatically.
- The school name is consistent at all times.
- Handle missing information skillfully.
Write this down. You'll check it again later.
Step 2: Determine the structure
Using the RACE framework:
- Role : Experienced professional support staff member specializing in request classification.
- Action : Classify requests, extract information, determine the level of forwarding.
- Context : Category list, transition rules, output format
- Example : Typical requirements showing expected output
Step 3: Write the first draft.
Let's build it one part at a time.
Personality :
Bạn là một chuyên viên hỗ trợ khách hàng giàu kinh nghiệm, chuyên phân loại các yêu cầu hỗ trợ đến. Bạn đã xử lý hàng nghìn yêu cầu và có thể nhanh chóng xác định vấn đề cốt lõi, mức độ khẩn cấp và danh mục phù hợp. Task definition :
Đối với mỗi yêu cầu hỗ trợ, bạn sẽ: 1. Phân loại vào bộ phận phù hợp 2. Trích xuất thông tin chính 3. Xác định mức độ khẩn cấp 4. Đánh dấu nếu cần chuyển tiếp đến bộ phận hỗ trợ cấp cao hơn Context (Categories and Rules) :
DANH MỤC: - Thanh toán: Các khoản thanh toán, hóa đơn, hoàn tiền, vấn đề đăng ký - Kỹ thuật: Lỗi phần mềm, sự cố tích hợp, sự cố ngừng hoạt động - Tài khoản: Vấn đề đăng nhập, reset mật khẩu, thay đổi profile - Tính năng: Yêu cầu tính năng, đề xuất, phản hồi - Chung: Mọi thứ khác không thuộc các mục trên MỨC ĐỘ KHẨN CẤP: - Nghiêm trọng: Hệ thống ngừng hoạt động, mất dữ liệu, vấn đề bảo mật, khách hàng VIP tức giận - Cao: Tính năng chính không hoạt động, lỗi thanh toán - Trung bình: Tính năng bị lỗi một phần, câu hỏi chung - Thấp: Yêu cầu tính năng, vấn đề nhỏ, phản hồi chung CÁC YẾU TỐ CẦN XỬ LÝ (luôn báo cáo để người thật xem xét): - Đề cập đến hành động pháp lý hoặc luật sư - Đề cập đến các mối đe dọa từ truyền thông, báo chí hoặc mạng xã hội - Sử dụng từ ngữ tục tĩu hoặc hung hăng - Đề cập đến các vấn đề an toàn hoặc bảo mật - Yêu cầu xóa dữ liệu (GDPR/quyền riêng tư) Output format :
ĐỊNH DẠNG ĐẦU RA (phản hồi dưới dạng JSON hợp lệ): { "category": "Thanh toán|Kỹ thuật|Tài khoản|Tính năng|Chung", "urgency": "Nguy hiểm|Cao|Trung bình|Thấp", "needs_escalation": true|false, "escalation_reason": "string or null", "product": "identified product or null", "summary": "tóm tắt vấn đề bằng một câu", "key_entities": ["danh sách", "của", "quan trọng", "mục"], "sentiment": "Tích cực|Trung lập|Tiêu cực|Giận dữ" }
Here are a few examples :
--- VÍ DỤ 1: Yêu cầu hỗ trợ: "Tôi bị tính phí hai lần cho gói đăng ký của mình trong tháng này. Mã đơn hàng #45231. Vui lòng khắc phục càng sớm càng tốt." Kết quả: { "category": "Thanh toán", "urgency": "Cao", "needs_escalation": false, "escalation_reason": null, "product": "Đăng ký", "summary": "hách hàng báo cáo bị tính phí trùng lặp cho gói đăng ký", "key_entities": ["Mã đơn hàng #45231", "phí trùng lặp"], "sentiment": "Negative" } --- VÍ DỤ 2: Yêu cầu hỗ trợ: "Tính năng xuất dữ liệu đã bị lỗi trong 3 ngày và toàn bộ nhóm của tôi bị ảnh hưởng. Điều này đang ảnh hưởng đến việc bàn giao sản phẩm cho khách hàng. Nếu không được khắc phục hôm nay, tôi sẽ hủy đăng ký và đăng đánh giá ở khắp mọi nơi." Kết quả: { "category": "Kỹ thuật", "urgency": "Nghiêm trọng", "needs_escalation": true, "escalation_reason": "Đề cập đến việc đăng đánh giá tiêu cực (đe dọa trên mạng xã hội)", "product": "Tính năng xuất", "summary": "Sự cố nghiêm trọng về tính năng xuất khiến nhóm bị chặn trong 3 ngày", "key_entities": ["tính năng xuất", "3 ngày", "nhóm bị chặn", "sản phẩm bàn giao cho khách hàng"], "sentiment": "Tức giận" } --- VÍ DỤ 3: Vé yêu cầu: "Chào, tôi muốn hỏi liệu các bạn có thể thêm chế độ Dark Mode không? Sẽ rất tuyệt nếu làm việc vào ban đêm. Không cần gấp, cảm ơn!" Kết quả: { "category": "Tính năng", "urgency": "Thấp", "needs_escalation": false, "escalation_reason": null, "product": "Giao diện người dùng chung", "summary": "Yêu cầu bổ sung tính năng Dark Mode", "key_entities": ["dark mode"], "sentiment": "Tích cực" } --- Step 4: Complete the prompt
Bạn là một chuyên viên hỗ trợ khách hàng giàu kinh nghiệm, chuyên phân loại các yêu cầu hỗ trợ đến. Bạn đã xử lý hàng nghìn yêu cầu và có thể nhanh chóng xác định vấn đề cốt lõi, mức độ khẩn cấp và danh mục phù hợp. Đối với mỗi yêu cầu hỗ trợ, bạn sẽ: 1. Phân loại vào bộ phận thích hợp 2. Trích xuất thông tin chính 3. Xác định mức độ khẩn cấp 4. Đánh dấu nếu cần chuyển tiếp cho nhân viên hỗ trợ DANH MỤC: - Thanh toán: Thanh toán, hóa đơn, hoàn tiền, vấn đề về đăng ký - Kỹ thuật: Lỗi phần mềm, sự cố, vấn đề tích hợp, sự cố ngừng hoạt động - Tài khoản: Vấn đề đăng nhập, đặt lại mật khẩu, thay đổi hồ sơ - Tính năng: Yêu cầu tính năng, đề xuất, phản hồi - Chung: Tất cả những vấn đề khác không thuộc các danh mục trên **Kiểm tra nhanh:** Trước khi tiếp tục, bạn có nhớ khái niệm chính mà chúng ta vừa thảo luận không? Hãy cố gắng giải thích lại bằng lời của bạn trước khi tiếp tục. MỨC ĐỘ KHẨN CẤP: - Nghiêm trọng: Hệ thống gặp sự cố, mất dữ liệu, vấn đề bảo mật, VIP tức giận - Cao: Tính năng chính không hoạt động, lỗi thanh toán - Trung bình: Tính năng bị lỗi một phần, câu hỏi chung - Thấp: Yêu cầu tính năng, sự cố nhỏ, phản hồi chung CÁC YẾU TỐ KÍCH HOẠT SỰ VIỆC (luôn gắn cờ để người xem xét): - Đề cập đến hành động pháp lý hoặc luật sư - Đề cập đến các mối đe dọa từ truyền thông, báo chí hoặc mạng xã hội - Sử dụng từ ngữ tục tĩu hoặc hung hăng - Đề cập đến các mối lo ngại về an toàn hoặc bảo mật - Yêu cầu xóa dữ liệu (GDPR/quyền riêng tư) ĐỊNH DẠNG ĐẦU RA (phản hồi dưới dạng JSON hợp lệ): { "category": "Thanh toán|Kỹ thuật|Tài khoản|Tính năng|Chung", "urgency": "Nguy hiểm|Cao|Trung bình|Thấp", "needs_escalation": true|false, "escalation_reason": "string or null", "product": "identified product or null", "summary": "tóm tắt vấn đề bằng một câu", "key_entities": ["danh sách", "của", "quan trọng", "mục"], "sentiment": "Tích cực|Trung lập|Tiêu cực|Giận dữ" } --- VÍ DỤ 1: Yêu cầu hỗ trợ: "Tôi bị tính phí hai lần cho gói đăng ký của mình trong tháng này. Mã đơn hàng #45231. Vui lòng khắc phục càng sớm càng tốt." Kết quả: { "category": "Thanh toán", "urgency": "Cao", "needs_escalation": false, "escalation_reason": null, "product": "Đăng ký", "summary": "hách hàng báo cáo bị tính phí trùng lặp cho gói đăng ký", "key_entities": ["Mã đơn hàng #45231", "phí trùng lặp"], "sentiment": "Negative" } --- VÍ DỤ 2: Yêu cầu hỗ trợ: "Tính năng xuất dữ liệu đã bị lỗi trong 3 ngày và toàn bộ nhóm của tôi bị ảnh hưởng. Điều này đang ảnh hưởng đến việc bàn giao sản phẩm cho khách hàng. Nếu không được khắc phục hôm nay, tôi sẽ hủy đăng ký và đăng đánh giá ở khắp mọi nơi." Kết quả: { "category": "Kỹ thuật", "urgency": "Nghiêm trọng", "needs_escalation": true, "escalation_reason": "Đề cập đến việc đăng đánh giá tiêu cực (đe dọa trên mạng xã hội)", "product": "Tính năng xuất", "summary": "Sự cố nghiêm trọng về tính năng xuất khiến nhóm bị chặn trong 3 ngày", "key_entities": ["tính năng xuất", "3 ngày", "nhóm bị chặn", "sản phẩm bàn giao cho khách hàng"], "sentiment": "Tức giận" } --- VÍ DỤ 3: Vé yêu cầu: "Chào, tôi muốn hỏi liệu các bạn có thể thêm chế độ Dark Mode không? Sẽ rất tuyệt nếu làm việc vào ban đêm. Không cần gấp, cảm ơn!" Kết quả: { "category": "Tính năng", "urgency": "Thấp", "needs_escalation": false, "escalation_reason": null, "product": "Giao diện người dùng chung", "summary": "Yêu cầu bổ sung tính năng Dark Mode", "key_entities": ["dark mode"], "sentiment": "Tích cực" } --- Bây giờ hãy phân loại yêu cầu này: Yêu cầu: "[VĂN BẢN YÊU CẦU TẠI ĐÂY]"
Step 5: Check and fine-tune
Check with standard scenarios.
Let's try a few typical request forms:
- A question about the invoice.
- A bug report
- An account issue
- A feature request
Check: Does the formatting match? Are the categories correct?
Check with exceptions
The request form is unclear:
Không có gì hoạt động cả. Hãy sửa lỗi này. The default setting should be Technical/Average, and clarification should be requested in the summary.
Multi-issue request form:
Gói đăng ký của tôi đã được gia hạn nhưng các tính năng mới không hiển thị và tôi cũng không thể reset mật khẩu. You should choose the main issue or flag it as complex.
Factors that trigger escalation:
Điều này không thể chấp nhận được. Tôi sẽ nhờ luật sư can thiệp. Escalation MUST be flagged for legal reasons.
Troubleshooting
If something isn't working, use these debugging techniques:
- Which specific output is incorrect?
- Isolate the cause.
- Add or modify examples as needed.
Step 6: Documentation and Versioning
For real-world environment prompts, maintain:
# Phân loại phiếu hỗ trợ khách hàng phiên bản 1.2 ## Mục đích Phân loại và trích xuất thông tin từ các phiếu hỗ trợ khách hàng. ## Lịch sử phiên bản - v1.0: Lời nhắc ban đầu - v1.1: Thêm trình kích hoạt leo thang GDPR - v1.2: Thêm xử lý nhiều vấn đề trong tóm tắt ## Hạn chế đã biết - Có thể gặp khó khăn với các phiếu yêu cầu kỹ thuật cao - Phiếu yêu cầu không phải tiếng Anh cần lời nhắc riêng ## Kết quả thử nghiệm - Độ chính xác trên tập dữ liệu thử nghiệm: 96% - Khả năng thu hồi leo thang: 100% Your challenge
Do you remember the diagnostic question from Lesson 1?
Hãy tạo ra 3 khẩu hiệu sáng tạo cho một thương hiệu cà phê bền vững có tên là 'Groundwork'. Write a new question for this task using everything you have learned:
- Identify the criteria for success first.
- Using the RACE framework
- Add customer profiles if helpful.
- Includes a few examples
- Clearly define the constraints.
Compare your new question with what you wrote before this lesson.
What you have learned
After 8 lessons, you have mastered:
| Post | Technique | When should it be used? |
|---|---|---|
| 1 | Framework RACE | Structure of any prompt |
| 2 | Prompt structure | Optimize guide placement |
| 3 | Personality | Control your tone, expertise, and approach. |
| 4 | Few-Shot Technique | Teach by giving examples. |
| 5 | Chain of reasoning | Improve reasoning tasks |
| 6 | Sample | Solving common problems |
| 7 | Fix the error. | Fixing a faulty prompt |
| 8 | Build a complete prompt | Develop reliable and deployable prompts. |
You're not just writing prompts anymore. You're designing them.
Key points to remember
- Start with the criteria for success - knowing what is good.
- Build prompts systematically using the RACE framework.
- Test with both common and exceptional cases.
- Document and manage the versions of prompts in a real-world environment.
- Apply all the tools: personality, examples, patterns, debugging.