पाठ 21 / 25

Model की मदद करने वाले Descriptions और Errors

ऐसे tool descriptions और error संदेश लिखें जिन पर model कार्रवाई कर सके।

सिर्फ़ क्या नहीं, कब भी बताएँ

"Issues खोजता है" जैसा description अस्पष्ट है। बेहतर: "Keyword से खुले issues खोजें। जब user ज्ञात bugs पूछे तब उपयोग करें। id और title के साथ अधिकतम 10 नतीजे लौटाता है।" Errors में सुधार का तरीक़ा हो, जैसे "अज्ञात project key; पहले list_projects बुलाएँ"।

इसे भरोसेमंद बनाएँ

अच्छे descriptions, tests और traces चलते demo को ऐसी चीज़ बनाते हैं जिसे आप सँभाल सकें।

तीन आदतें: वर्णन, परीक्षण, निगरानी।
चित्र 7.1 — वर्णन, परीक्षण और निगरानी।

अच्छी तरह वर्णित tool

Docstring उद्देश्य, कब उपयोग करें और क्या लौटता है, यह बताती है। उठाया गया error model को बताता है कि आगे क्या करें।

@mcp.tool()
def search_issues(keyword: str, limit: int = 10) -> list[dict]:
    """Search open issues by keyword.

    Use when the user asks about known bugs. Returns up to `limit`
    results as {id, title}. Call get_issue for full details.
    """
    if not 1 <= limit <= 50:
        raise ValueError("limit must be between 1 and 50")
    return tracker.search(keyword, limit)

छोटे नतीजे लौटाएँ

विशाल tool outputs context भर देते हैं। Pagination करें, सार दें, या ऐसी IDs लौटाएँ जिन्हें model दूसरी call से बढ़ा सके।

त्वरित जाँच: कौन-सा error संदेश model को सुधरने में सबसे ज़्यादा मदद करता है?

  • "Error"
  • 200 पंक्तियों का stack trace
  • "अज्ञात project key; पहले list_projects बुलाएँ"
  • "कुछ गड़बड़ हुई"
Answer

"अज्ञात project key; पहले list_projects बुलाएँ" — यह समस्या और अगला कदम बताता है, जिसे model अपना सकता है।