पाठ 25 / 25
Revision: Cheat Sheet और Self-Check
पूरे कोर्स का loop, protocol और सुरक्षा का सार दोहराएँ।
Cheat sheet
Agent = model + tools + step सीमा वाला loop। Tool call = tool_use, फिर id से मिला tool_result। Frameworks plumbing बचाते हैं पर abstraction जोड़ते हैं; tools को स्वतंत्र रखें। MCP = JSON-RPC पर host, client, server; primitives हैं tools (model), resources (ऐप), prompts (user)। FastMCP: @mcp.tool(), @mcp.resource(), @mcp.prompt()। Transports: local के लिए stdio, remote के लिए OAuth सहित streamable HTTP। Safety: servers की जाँच, least privilege, मंज़ूरी, tool output को अविश्वसनीय मानें। Quality: स्पष्ट descriptions, unit tests, evals, छिपे हुए logs।
इंटरव्यू में पूछे जाने वाले सवाल
इन्हें समझाने को तैयार रहें: model और कोड के बीच tool call कैसे चलती है, framework कब छोड़ेंगे, MCP कौन-सी समस्या हल करता है, tools, resources और prompts में अंतर, stdio servers पर stdout वर्जित क्यों है, और prompt injection से बचाव कैसे करेंगे।
त्वरित जाँच: एक stdio MCP server बीच-बीच में टूटता है। आपको tool में `print("debug")` मिलता है। संभावित कारण क्या है?
- print धीमा है
- Stdout protocol messages ले जाता है, इसलिए prints stream बिगाड़ते हैं
- Python functions में print मना करता है
- Host अंग्रेज़ी का समर्थन नहीं करता
Answer
Stdout protocol messages ले जाता है, इसलिए prints stream बिगाड़ते हैं — Stdio servers पर diagnostics के लिए standard error या log फ़ाइल उपयोग करें।
त्वरित जाँच: Read-only कंपनी policy दस्तावेज़ कौन-सी primitive उपलब्ध कराए?
- Tool
- Resource
- Transport
- Sampling loop
Answer
Resource — स्थिर संदर्भ डेटा resource में ठीक बैठता है जिसे ऐप context के रूप में जोड़ सकती है।
त्वरित जाँच: आपका agent निजी files पढ़ सकता है और HTTP requests भी भेज सकता है। मुख्य जोखिम क्या है?
- धीमे उत्तर
- Injected text उसे निजी डेटा बाहर भेजने को उकसा सकता है
- ज़्यादा disk उपयोग
- कोई जोखिम नहीं
Answer
Injected text उसे निजी डेटा बाहर भेजने को उकसा सकता है — निजी डेटा access और बाहर भेजने का रास्ता मिलाना ख़तरनाक है; उन्हें अलग करें या रोक लगाएँ।