Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Organisation der Tools
Die richtigen Tools zu finden und sicherzustellen, dass das LLM sie effektiv einsetzen kann, ist einer der wichtigsten Aspekte einer effektiven Toolentwicklung. Wenn Sie mit der Entwicklung von MCP-Servern beginnen, benötigen Sie eine Strategie, die Folgendes bestimmt:
-
Wie viele Tools gehören zu einem MCP-Server
-
Welche Tools sollten nicht auf demselben MCP-Server installiert werden
-
Wie benennt man Tools, um sie durchsuchbar zu machen und Namenskollisionen zu vermeiden (verschiedene Tools mit demselben Namen)
-
Wie dokumentiert man die Tools und den MCP-Server, damit sie vom LLM einfach verwendet werden können
Die Namespace-Organisation ist ein Entwurfsmuster, das Kollisionen von Werkzeugnamen verhindert, Funktionen gruppiert und eine effiziente Werkzeugidentifikation durch LLMs ermöglicht. Das Muster legt eine strukturierte Kategorisierung fest, die eher mit organisierten Speichersystemen als mit einer unstrukturierten Akkumulation vergleichbar ist. Wir empfehlen das Muster Domain-Nomen-Verb für die Benennung von Tools. Zum Beispiel,,github_issue_create, github_issue_listgithub_issue_update, github_pullrequest_create oder. github_pullrequest_list github_pullrequest_merge Der Vorteil dieses Musters wird deutlich, wenn man das alphabetische Sortierverhalten untersucht. Wenn Tools alphabetisch aufgelistet sind, gruppieren sich alle problembezogenen Operationen (create,,update)list, gefolgt von Pull-Request-Vorgängen (create,,). list merge Das Substantiv (Ressourcentyp) dient als organisatorische Grenze. Diese Struktur erleichtert sowohl das Scannen von LLM-Tools als auch die Navigation in der menschlichen Dokumentation, da verwandte Funktionen auf natürliche Weise gruppiert werden.
Der MCP-Server sollte auf Domänenebene begrenzt sein, kann aber aufgrund der Aufgabentrennung für die von ihm bereitgestellten Funktionen unterteilt werden. Beispielsweise könnten Sie separate MCP-Server für Schreib- und Lesevorgänge in einer Datenbank haben. Um diese Trennung durchzusetzen, empfiehlt es sich, Leitplanken auf Agentenebene zu implementieren, die je nach Benutzerabsicht und -berechtigungen einschränken, auf welche MCP-Server zugegriffen werden kann. Dies kann durch eine Kombination der folgenden Maßnahmen erreicht werden:
-
Bedingtes Laden des Servers — Der MCP-Server mit Schreibschutz wird nur geladen, wenn der Agent Lesevorgänge in der Benutzereingabe erkennt.
-
Permission-based Filterung — Verwenden Sie die Benutzerautorisierung, um nur den entsprechenden MCP-Servern Zugriff zu gewähren.
Schließlich sollten Sie eine Obergrenze für die Anzahl der von einem MCP-Server bereitgestellten Tools festlegen. Machen Sie keine Annahmen darüber, wie Agenten Ihren MCP-Server verwenden werden. Sie listen möglicherweise naiv alle verfügbaren Tools auf und stellen sie alle dem LLM zur Verfügung. Wenn Sie mehr als 50 Tools auf einem einzelnen Server haben, sollten Sie erwägen, ihn auf mehrere Server aufzuteilen.
Bewährte Methoden für die Organisation von MPC-Tools
-
Verwenden Sie den Standard zur Benennung von Domänen, Substantiven und Verben für Tools — Implementieren Sie Strategien, um Namenskollisionen sowohl auf MCP-Servern als auch auf Agenten zu verhindern.
-
Legen Sie eine Obergrenze fest — Beschränken Sie die Anzahl der Tools auf einem einzelnen MCP-Server.
-
MCP-Server aufteilen — Verwenden Sie die Aufgabentrennung, um MCP-Server in logische Gruppen zu unterteilen.