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

Defining prompts

📖 Nội dung bài học

Tóm tắt

Prompts trong máy chủ MCP cho phép bạn định nghĩa các hướng dẫn được tạo sẵn, chất lượng cao mà client có thể sử dụng thay vì tự viết prompt. Hãy coi chúng như các mẫu được chế tạo cẩn thận, mang lại 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 sử dụng Prompts?

Giả sử bạn muốn Claude định dạng lại một tài liệu sang markdown. Người dùng có thể chỉ cần gõ "chuyển đổi report.pdf sang markdown" và nhận được kết quả khá tốt. Nhưng họ có thể nhận được kết quả tốt hơn nhiều nếu sử dụng một prompt chuyên dụng, được thử nghiệm kỹ lưỡng mà bạn đã thiết kế đặc biệt cho việc định dạng tài liệu.

Điểm mấu chốt là mặc dù người dùng có thể tự thực hiện các tác vụ này, họ sẽ nhận được kết quả vượt trội khi sử dụng các prompt đã được kỹ sư hóa và thử nghiệm cẩn thận bởi các tác giả máy chủ MCP.

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

Prompts đị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ể sử dụng trực tiếp. Khi client yêu cầu một prompt, máy chủ của bạn sẽ 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ư thế này:

@mcp.prompt(
    name="format",
    description="Rewrites the contents of a document in Markdown format",
)
def format_document(
    doc_id: str = Field(description="Id of the document to format"),
) -> list[base.Message]:
    # Return a list of messages

Xây dựng Lệnh Format

Đây là một ví dụ thực tế. Chúng ta sẽ tạo một lệnh format cho phép người dùng gõ /format doc_id để định dạng lại bất kỳ tài liệu nào sang cú pháp markdown.

Việc triển khai prompt bao gồm các hướng dẫn chi tiết cho Claude:

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 structure.
Use the 'edit_document' tool to edit the document. After the document has been reformatted...
"""
    
    return [
        base.UserMessage(prompt)
    ]

Kiểm tra Prompts của bạn

Bạn có thể kiểm tra prompts bằng MCP Inspector. Điều hướng đến tab Prompts, chọn prompt của bạn và cung cấp bất kỳ tham số cần thiết nào.

Inspector hiển thị chính xác những tin nhắn nào sẽ được gửi đến Claude, bao gồm cả cách các tham số được nội suy vào văn bản prompt.

Lợi ích chính

  • Kiểm soát chất lượng - Bạn có thể kiểm tra và tinh chỉnh prompts trước khi người dùng nhìn thấy chúng
  • Tính nhất quán - Người dùng nhận được kết quả đáng tin cậy mọi lúc
  • Chuyên môn hóa - Prompts có thể được tùy chỉnh cho lĩnh vực cụ thể của máy chủ MCP của bạn
  • Khả năng tái sử dụng - Nhiều client có thể sử dụng cùng các prompts được chế tạo tốt

Chi tiết triển khai

Đừng quên nhập mô-đun cơ sở cho các loại tin nhắn:

from mcp.server.fastmcp import FastMCP
from mcp.server.fastmcp.prompts import base

Prompts nên có chất lượng cao, được thử nghiệm tốt và phù hợp với mục đích tổng thể của máy chủ MCP của bạn. Trong ví dụ quản lý tài liệu của chúng ta, các prompt định dạng là hoàn toàn hợp lý vì máy chủ chuyên về các hoạt động tài liệu.

🔁 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?