Skip to content

Context từ Prompt của Người dùng

Trong tất cả các loại context, prompt của người dùng là quan trọng nhất. Nó là nguồn chỉ dẫn trực tiếp, ra lệnh cho Agent biết phải làm gì, làm như thế nào, và mục tiêu cuối cùng là gì.

Một prompt chất lượng thấp sẽ dẫn đến kết quả sai, trong khi một prompt được xây dựng tốt sẽ giúp Agent hoạt động hiệu quả và chính xác. Đây là kỹ năng nền tảng khi làm việc với bất kỳ hệ thống AI nào.

Các thành phần của một Prompt hiệu quả

Một prompt tốt không chỉ là một câu hỏi hay một yêu cầu đơn giản. Nó nên bao gồm các thành phần sau:

  1. Mục tiêu (Goal): Nêu rõ ràng kết quả cuối cùng bạn muốn đạt được. Tránh các yêu cầu mơ hồ.

    • Kém: "Sửa code này."
    • Tốt: "Refactor hàm getUserData trong file api.js để sử dụng async/await thay vì Promises, đồng thời thêm khối try/catch để xử lý lỗi."
  2. Bối cảnh (Context): Cung cấp thông tin nền tảng cần thiết. Đừng cho rằng Agent đã biết mọi thứ.

    • Kém: "Tạo một component mới."
    • Tốt: "Tôi đang xây dựng một ứng dụng e-commerce bằng Next.js và Tailwind CSS. Hãy tạo một component ProductCard để hiển thị thông tin sản phẩm (tên, giá, hình ảnh)."
  3. Các bước thực hiện (Steps): Nếu tác vụ phức tạp, hãy chia nhỏ nó thành các bước cụ thể. Điều này giúp Agent đi đúng hướng.

    • Kém: "Xây dựng trang đăng nhập."
    • Tốt: "Hãy xây dựng trang đăng nhập với các bước sau:
      1. Tạo một form với hai trường input: email và password.
      2. Thêm một nút 'Đăng nhập'.
      3. Khi người dùng nhấn nút, gọi đến API endpoint /api/auth/login.
      4. Hiển thị thông báo lỗi nếu đăng nhập thất bại."
  4. Ràng buộc (Constraints): Đặt ra các quy tắc hoặc giới hạn mà Agent phải tuân theo.

    • Kém: "Viết một vài unit test."
    • Tốt: "Hãy viết unit test cho hàm calculateDiscount sử dụng thư viện Jest. Đảm bảo bao gồm các trường hợp: giảm giá 10%, không giảm giá, và giá trị đầu vào không hợp lệ."

Ví dụ về Prompt chất lượng

prompt-name

Mục tiêu: Tạo một API endpoint mới để lấy danh sách sản phẩm.

Bối cảnh:

  • Project: Backend API bằng Node.js và Express.
  • Database: PostgreSQL, sử dụng node-postgres (pg) để kết nối.
  • Bảng liên quan: products (có các cột id, name, price, category).

Các bước thực hiện:

  1. Tạo một route GET /api/products trong file routes/product.js.
  2. Trong controller, viết một hàm để truy vấn tất cả sản phẩm từ bảng products.
  3. Hỗ trợ lọc sản phẩm theo category thông qua query parameter (ví dụ: GET /api/products?category=electronics).
  4. Trả về danh sách sản phẩm dưới dạng JSON với status code 200.

Ràng buộc:

  • Code phải tuân thủ theo ESLint rules của dự án.
  • Phải có xử lý lỗi cho việc kết nối database.

Đầu tư thời gian để viết một prompt chi tiết chính là cách hiệu quả nhất để khai thác tối đa sức mạnh của Agentic IDE.