📖 Nội dung bài học
Đường viền ký tự
Tóm tắt
Prompt engineering là việc cải thiện một prompt bạn đã viết để có được kết quả đáng tin cậy hơn, chất lượng cao hơn. Quá trình này bao gồm việc viết một prompt ban đầu, đánh giá hiệu suất của nó, sau đó áp dụng các kỹ thuật kỹ thuật một cách có hệ thống để cải thiện nó từng bước.

Quy trình cải thiện lặp đi lặp lại
Cách tiếp cận này tuân theo một chu kỳ rõ ràng: đặt mục tiêu, viết một prompt ban đầu, đánh giá nó, áp dụng một kỹ thuật prompt engineering, sau đó đánh giá lại để xác minh hiệu suất tốt hơn. Chu kỳ này lặp lại khi bạn tinh chỉnh prompt của mình.

Đối với loạt bài hướng dẫn này, bạn sẽ làm việc trên một ví dụ thực tế: tạo một prompt tạo ra các kế hoạch bữa ăn một ngày cho các vận động viên dựa trên chiều cao, cân nặng, mục tiêu thể chất và các hạn chế về chế độ ăn uống của họ.
Thiết lập quy trình đánh giá
Việc đánh giá sử dụng một phiên bản cải tiến của quy trình từ các mô-đun trước, được gói trong một class PromptEvaluator xử lý việc tạo bộ dữ liệu và chấm điểm mô hình. Class này hỗ trợ tính đồng thời để tăng tốc quá trình đánh giá:
evaluator = PromptEvaluator(max_concurrent_tasks=5)
Bắt đầu với giá trị đồng thời thấp (ví dụ: 3) để tránh lỗi giới hạn tốc độ. Bạn có thể điều chỉnh giá trị này dựa trên hạn ngạch API của bạn.
Tạo dữ liệu kiểm tra
Phương thức generate_dataset tạo các trường hợp kiểm tra cho prompt của bạn. Bạn cần chỉ định:
- Mô tả tác vụ giải thích những gì prompt của bạn nên làm
- Thông số kỹ thuật về các đầu vào mà prompt của bạn yêu cầu
- Số lượng trường hợp kiểm tra cần tạo
Đối với ví dụ lập kế hoạch bữa ăn:
dataset = evaluator.generate_dataset(
task_description="Viết một kế hoạch bữa ăn 1 ngày ngắn gọn, súc tích cho một vận động viên",
prompt_inputs_spec={
"height": "Chiều cao của vận động viên tính bằng cm",
"weight": "Cân nặng của vận động viên tính bằng kg",
"goal": "Mục tiêu của vận động viên",
"restrictions": "Các hạn chế về chế độ ăn uống của vận động viên"
},
num_cases=3
)
Viết prompt ban đầu của bạn
Bắt đầu với một prompt đơn giản, ngây thơ để thiết lập một đường cơ sở. Hàm run_prompt nhận các đầu vào của trường hợp kiểm tra và phải trả về phản hồi của mô hình:
def run_prompt(prompt_inputs):
prompt = f"""
Người này nên ăn gì?
- Chiều cao: {prompt_inputs["height"]}
- Cân nặng: {prompt_inputs["weight"]}
- Mục tiêu: {prompt_inputs["goal"]}
- Hạn chế về chế độ ăn uống: {prompt_inputs["restrictions"]}
"""
messages = []
add_user_message(messages, prompt)
return chat(messages)
Chạy đánh giá
Quá trình đánh giá so sánh đầu ra của prompt của bạn với các tiêu chí mong đợi. Bạn có thể thêm các tiêu chí bổ sung để hướng dẫn việc chấm điểm:
results = evaluator.run_evaluation(
run_prompt_function=run_prompt,
dataset_file="dataset.json",
extra_criteria="""
Đầu ra phải bao gồm:
- Tổng lượng calo hàng ngày
- Phân tích thành phần dinh dưỡng đa lượng
- Bữa ăn với thực phẩm, khẩu phần và thời gian chính xác
"""
)
Phân tích kết quả
Việc đánh giá tạo ra một tệp output.html mà bạn có thể mở trong trình duyệt của mình. Báo cáo này hiển thị kết quả chi tiết cho từng trường hợp kiểm tra, bao gồm điểm số, lý luận và đầu ra thực tế do prompt của bạn tạo ra.

Đừng nản lòng bởi điểm số ban đầu thấp - điều đó là dự kiến! Prompt ban đầu trong ví dụ này chỉ đạt 2.3 trên 10, nhưng điều này cung cấp cho bạn một đường cơ sở rõ ràng để cải thiện.
Tiếp theo là gì
Với đường cơ sở của bạn được thiết lập, giờ đây bạn có thể áp dụng một cách có hệ thống các kỹ thuật prompt engineering như cụ thể hơn, thêm các yêu cầu định dạng đầu ra, sử dụng prompt có cấu trúc và triển khai các ví dụ nhiều lần. Mỗi kỹ thuật sẽ cải thiện điểm đánh giá của bạn, mang lại cho bạn tiến bộ có thể đo lường được đối với mục tiêu của bạn.
Tải xuống
🔁 Bài học liên quan
- Bài tiếp: Being clear and direct
- Bài trước: Quiz on prompt evaluations
- Cùng section: Overview of Claude Models · Accessing the API · Making a request
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-in-amazon-bedrock/276749
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: — · Chuẩn hoá: 2026-05-01