Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • MCP - Prompt engineering

    Prompt engineering

    Khái niệm cốt lõi
    Prompt Engineering là quá trình cải thiện một prompt bạn đã viết để có được kết quả đáng tin cậy và chất lượng cao hơn. Điều quan trọng là đây không phải một lần làm xong mà là một quá trình cải tiến lặp đi lặp lại - bạn bắt đầu với một prompt cơ bản, đánh giá hiệu suất của nó, rồi áp dụng các kỹ thuật cụ thể để cải thiện cho đến khi đạt kết quả mong muốn.
    Click image for larger version

Name:	image.png
Views:	18
Size:	32.1 KB
ID:	436179



    Quy trình 5 bước chi tiết
    1. Đặt mục tiêu rõ ràng
    Trước khi viết bất cứ thứ gì, bạn phải định nghĩa chính xác prompt cần hoàn thành nhiệm vụ gì. Mục tiêu càng cụ thể, việc đánh giá sau này càng dễ dàng.
    2. Viết prompt ban đầu
    Tạo một phiên bản đầu tiên cơ bản, thậm chí có thể "ngây thơ". Đừng cố gắng làm hoàn hảo ngay từ đầu - điều này chỉ để tạo baseline để so sánh.
    3. Đánh giá prompt
    Test prompt với các tiêu chí đã định trước. Khóa học nhấn mạnh việc có một hệ thống đánh giá khách quan, không chỉ dựa vào cảm nhận chủ quan.
    4. Áp dụng kỹ thuật prompt engineering
    Sử dụng các phương pháp cụ thể để cải thiện hiệu suất (khóa học không detail các kỹ thuật này trong phần tóm tắt).
    5. Đánh giá lại
    Xác minh rằng những thay đổi thực sự mang lại cải thiện. Điều này rất quan trọng vì không phải mọi thay đổi đều tốt hơn.
    Bạn lặp lại bước 4-5 cho đến khi hài lòng với kết quả. Mỗi lần lặp phải cho thấy cải thiện có thể đo lường trong điểm đánh giá.

    Ví dụ thực tế: Thực đơn cho vận động viên
    Khóa học sử dụng một case study cụ thể để minh họa: tạo prompt viết thực đơn 1 ngày cho vận động viên. Prompt này cần:
    • Input: Chiều cao, cân nặng, mục tiêu, hạn chế ăn kiêng của vận động viên
    • Output: Kế hoạch ăn uống toàn diện cho một ngày
    Đây là một ví dụ tốt vì nó có yêu cầu rõ ràng và kết quả có thể đánh giá khách quan.

    Hệ thống đánh giá tự động

    PromptEvaluator Class
    Khóa học giới thiệu một công cụ tự động để đánh giá prompt:
    python
    evaluator = PromptEvaluator(max_concurrent_tasks=5)
    Lưu ý quan trọng: Bắt đầu với max_concurrent_tasks=3 để tránh bị rate limit. Chỉ tăng lên khi API quota cho phép xử lý nhanh hơn.

    Tạo dữ liệu test tự động
    Thay vì phải tự viết từng test case, hệ thống có thể tự động tạo:
    python
    dataset = evaluator.generate_dataset(
    task_description="Write a compact, concise 1 day meal plan for a single athlete",
    prompt_inputs_spec={
    "height": "Athlete's height in cm",
    "weight": "Athlete's weight in kg",
    "goal": "Goal of the athlete",
    "restrictions": "Dietary restrictions of the athlete"
    },
    output_file="dataset.json",
    num_cases=3
    )

    Chiến lược thông minh: Sử dụng ít test cases (2-3) trong giai đoạn phát triển để tăng tốc độ lặp. Chỉ tăng số lượng cho validation cuối cùng.
    Ví dụ prompt ban đầu (cố ý làm đơn giản)
    python
    def run_prompt(prompt_inputs):
    prompt = f"""
    What should this person eat?

    - Height: {prompt_inputs["height"]}
    - Weight: {prompt_inputs["weight"]}
    - Goal: {prompt_inputs["goal"]}
    - Dietary restrictions: {prompt_inputs["restrictions"]}
    """

    messages = []
    add_user_message(messages, prompt)
    return chat(messages)
    Prompt này cố ý rất cơ bản và sẽ cho kết quả kém, nhưng nó tạo ra một baseline để đo lường sự cải thiện.

    Tiêu chí đánh giá cụ thể
    Khi chạy evaluation, bạn có thể chỉ định thêm tiêu chí:
    python
    results = evaluator.run_evaluation(
    run_prompt_function=run_prompt,
    dataset_file="dataset.json",
    extra_criteria="""
    The output should include:
    - Daily caloric total
    - Macronutrient breakdown
    - Meals with exact foods, portions, and timing
    """
    )
    Điều này đảm bảo prompt được đánh giá theo những yêu cầu cụ thể quan trọng cho use case của bạn.

    Phân tích kết quả và tâm lý quan trọng
    Không nên nản lòng với điểm số thấp ban đầu
    Khóa học nhấn mạnh rằng điểm 2.3/10 cho lần đầu là bình thường. Đây không phải là thất bại mà là điểm xuất phát tự nhiên. Mục tiêu là thấy sự cải thiện nhất quán qua từng lần lặp.

    Báo cáo chi tiết HTML
    Sau mỗi lần đánh giá, bạn nhận được:
    • Điểm số: Đánh giá định lượng
    • Báo cáo HTML chi tiết: Cho thấy chính xác từng test case hoạt động như thế nào, bao gồm cả lý do model đưa ra điểm số đó
    Sử dụng feedback để cải thiện
    Báo cáo chi tiết giúp bạn hiểu chính xác prompt thất bại ở đâucần cải thiện gì. Đây là thông tin vô giá để hướng dẫn iteration tiếp theo, thay vì đoán mò.
    Click image for larger version

Name:	image.png
Views:	12
Size:	30.6 KB
ID:	436180

Working...
X