-
Bắt đầu bằng vai trò + mục tiêu ngắn gọn
Cho model biết “ai” và “đang làm gì” trong 1–2 câu. Đừng để nó đoán.
-
Nhét bối cảnh động (dynamic/retrieved content)
Đưa dữ liệu, tài liệu, hình ảnh… vào khu riêng có nhãn (XML/Markdown) để model phân biệt rõ “đây là context”.
-
Viết hướng dẫn chi tiết theo đúng thứ tự thao tác
Thứ tự quan trọng hơn ta tưởng. Ví dụ bài demo: đọc form tai nạn trước (có cấu trúc, ít mơ hồ), rồi mới phân tích bản vẽ tay.
-
Đưa kiến thức nền cố định vào system prompt
Những thứ “luôn đúng” (mô tả 17 ô checkbox của form) nên cache/đặt sẵn ở system để model không tốn token đoán lại mỗi lần.
-
Cho ví dụ (few-shot), nhất là case khó
Lưu các ca “dễ sai” làm ví dụ chuẩn. Lần sau gặp biến thể tương tự, model bám vào đó để suy luận.
-
Lặp lại các nguyên tắc bắt buộc ở cuối prompt
Nhắc lại các “điều không được quên” trước khi cho chạy: tiêu chí tin cậy, phạm vi dữ liệu, thứ tự xử lý, yêu cầu bảo thủ…
-
Chống ảo tưởng (hallucination guardrails)
-
Không biết thì nói không biết.
-
Nghĩ trước rồi trả lời.
-
Chỉ trả lời khi rất tự tin.
-
Với tài liệu dài: trích lại đoạn liên quan rồi mới kết luận.
-
Chuẩn hoá đầu ra + prefill
Yêu cầu output theo XML/JSON cố định (thậm chí “prefill” tag mở đầu) để dễ parse vào hệ thống.
Prompt skeleton MÌNH đang dùng (copy về sửa là chạy) #
<role>
Bạn là [vai trò], hỗ trợ [mục tiêu] trong [ngữ cảnh].
</role>
<context_dynamic>
[Chèn dữ liệu truy xuất: tài liệu/hình/đoạn văn…]
</context_dynamic>
<background_static>
[Kiến thức nền bất biến, định nghĩa, cấu trúc form/quy tắc domain]
</background_static>
<instructions>
1) [Bước 1…]
2) [Bước 2…]
3) [Bước 3…]
— Nêu rõ tiêu chí tự tin, nguồn tham chiếu, giới hạn.
</instructions>
<examples>
[Ví dụ vào/ra tối giản cho 1–2 ca khó]
</examples>
<reminders>
– Nếu không đủ dữ liệu → nói “không xác định”.
– Trước khi kết luận, trích dẫn câu/ô/điểm liên quan.
– Trả lời ngắn gọn, đúng phạm vi.
</reminders>
<output_format>
Trả về JSON:
{ “summary”: “…”, “evidence”: [“…”], “verdict”: “…”, “confidence”: 0.0–1.0 }
</output_format>
<thinking>
Hãy suy nghĩ từng bước trước khi trả lời cuối cùng.
</thinking>
