Bỏ qua đến nội dung chính

Defining prompts

📖 Nội dung bài học

Họ phông chữ

Tóm tắt

Prompt trong máy chủ MCP cho phép bạn định nghĩa các hướng dẫn chất lượng cao, được xây dựng sẵn mà client có thể dùng thay vì tự viết prompt từ đầu. Hãy coi chúng như các mẫu được tạo ra cẩn thận, cho kết quả tốt hơn so với những gì người dùng có thể tự nghĩ ra.

Tại sao nên dùng Prompt?

Giả sử bạn muốn Claude định dạng lại một tài liệu thành markdown. Người dùng có thể chỉ cần gõ "convert report.pdf to markdown" và nó sẽ hoạt động tốt. Nhưng có lẽ họ sẽ có kết quả tốt hơn nhiều với một prompt đã được kiểm tra kỹ lưỡng, bao gồm các hướng dẫn cụ thể về định dạng, cấu trúc và yêu cầu đầu ra.

Điểm mấu chốt là trong khi người dùng có thể tự mình hoàn thành các tác vụ này, họ sẽ có kết quả nhất quán và chất lượng cao hơn khi dùng prompt đã được các tác giả máy chủ MCP phát triển và kiểm tra cẩn thận.

Prompt hoạt động như thế nào

Prompt định nghĩa một tập hợp các tin nhắn người dùng và trợ lý mà client có thể dùng trực tiếp. Khi một client yêu cầu một prompt, server của bạn trả về một danh sách các tin nhắn có thể gửi thẳng đến Claude.

Cấu trúc cơ bản trông như sau:

  • Định nghĩa prompt bằng cách dùng decorator @mcp.prompt()
  • Thêm tên và mô tả cho mỗi prompt
  • Trả về một danh sách các tin nhắn tạo thành prompt hoàn chỉnh
  • Các prompt này phải có chất lượng cao, được kiểm tra kỹ lưỡng và liên quan đến mục đích của máy chủ MCP của bạn

Xây dựng lệnh Format

Đây là cách triển khai một prompt định dạng tài liệu. Đầu tiên, bạn cần import các kiểu tin nhắn cơ bản:

from mcp.server.fastmcp import base

Sau đó, định nghĩa hàm prompt của bạn:

@mcp.prompt(
    name="format",
    description="Rewrites the contents of the document in Markdown format."
)
def format_document(
    doc_id: str = Field(description="Id of the document to format")
) -> list[base.Message]:
    prompt = f"""
Your goal is to reformat a document to be written with markdown syntax.

The id of the document you need to reformat is:

{doc_id}

Add in headers, bullet points, tables, etc as necessary. Feel free to add in extra formatting.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
    
    return [
        base.UserMessage(prompt)
    ]

Kiểm tra Prompt của bạn

Bạn có thể kiểm tra prompt bằng MCP Inspector. Điều hướng đến phần Prompts, chọn prompt của bạn và cung cấp bất kỳ tham số cần thiết nào. Inspector sẽ cho bạn thấy các tin nhắn được tạo ra sẽ được gửi đến Claude.

Điều này cho phép bạn xác minh rằng prompt của bạn nội suy các biến một cách chính xác và tạo ra cấu trúc tin nhắn như mong đợi trước khi dùng nó trong một ứng dụng thực tế.

Các phương pháp hay nhất

Khi tạo prompt cho máy chủ MCP của bạn:

  • Tập trung vào các tác vụ trọng tâm cho mục đích của server bạn
  • Viết các hướng dẫn chi tiết, cụ thể thay vì các yêu cầu mơ hồ
  • Kiểm tra kỹ lưỡng prompt của bạn với các đầu vào khác nhau
  • Bao gồm các mô tả rõ ràng để người dùng hiểu prompt làm gì
  • Xem xét cách prompt sẽ hoạt động với các tool và resource của server bạn

Hãy nhớ rằng prompt được tạo ra để cung cấp giá trị mà người dùng không thể dễ dàng có được một mình - chúng phải đại diện cho chuyên môn của bạn trong lĩnh vực mà máy chủ MCP của bạn bao gồm.

🔁 Bài học liên quan

📚 Nguồn & ghi nhận

Bài học có hữu ích không?

Góp ý / Báo lỗiPhát hiện sai sót hoặc có ý tưởng cải thiện?