पाठ 14 / 27

Tools डिज़ाइन और सुरक्षित करना

ऐसे tools लिखें जिन्हें मॉडल अच्छी तरह उपयोग करे और उनकी क्षमता सीमित करें।

संकरे, validated, न्यूनतम विशेषाधिकार

मॉडल tools को उनके नाम, विवरण और schema से चुनता है, इसलिए उन्हें ऐसे पाठक के दस्तावेज़ की तरह लिखें जो और कुछ नहीं जानता: प्रति tool एक स्पष्ट काम, कब उपयोग करें बताएँ, arguments सीमित करें (enums, patterns, सीमाएँ), संक्षिप्त परिणाम और साफ़ error संदेश लौटाएँ। फिर उन्हें सुरक्षित करें: मॉडल के arguments अविश्वसनीय इनपुट हैं, इसलिए कोड में validate करें; प्रति-user अनुमतियाँ tool के भीतर लागू करें, prompt में नहीं; tools को न्यूनतम विशेषाधिकार दें (डिफ़ॉल्ट केवल-पढ़ना, scoped credentials, allow-list hosts और folders); अपरिवर्तनीय या महँगी कार्रवाइयों (भुगतान, हटाना, बाहरी ईमेल) के लिए मानव अनुमोदन माँगें; tool आउटपुट को डेटा मानें, निर्देश नहीं (उसमें injected पाठ हो सकता है); चरण, समय और लागत सीमाएँ रखें; और हर call log करें।

अनुमतियाँ tool में रखें

"सिर्फ़ user के अपने orders दिखाओ" कहने वाले prompt को घुमाया जा सकता है। जो tool आपके server से प्रमाणित user id लेकर उसी से filter करे उसे नहीं।

त्वरित जाँच: "सिर्फ़ इस user का डेटा" कहाँ लागू होना चाहिए?

  • कहीं नहीं
  • सिर्फ़ system prompt में
  • सिर्फ़ मॉडल की स्मृति में
  • Tool कोड में, प्रमाणित user id से
Answer

Tool कोड में, प्रमाणित user id से — कोड से लागू नियम चालाक prompt से टाले नहीं जा सकते।