Native CLI i18n: The TrustGraph CLI has built-in translation support that dynamically loads language strings. You can test and use different languages by simply passing the --lang flag (e.g., --lang es for Spanish, --lang ru for Russian) or by configuring your environment's LANG variable. Automated Docs Translations: This PR introduces autonomously translated Markdown documentation into several target languages, including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew, Arabic, Simplified Chinese, and Russian.
7.3 KiB
| layout | title | parent |
|---|---|---|
| default | מפרט ארגומנטים של כלי MCP | Hebrew (Beta) |
מפרט ארגומנטים של כלי MCP
Beta Translation: This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
סקירה כללית
שם פיצ'ר: תמיכה בארגומנטים של כלי MCP מחבר: עוזר קוד של Claude תאריך: 2025-08-21 סטטוס: סופי
סיכום מנהלים
לאפשר למייצגי ReACT להפעיל כלי MCP (פרוטוקול הקשר של מודל) עם ארגומנטים מוגדרים כראוי, על ידי הוספת תמיכה במפרט ארגומנטים ליצור הגדרות כלי MCP, בדומה לאופן שבו כלי תבנית הנחייה פועלים כיום.
הצגת הבעיה
כרגע, כלי MCP בתוך מסגרת ה-ReACT אינם יכולים לציין את
הארגומנטים הצפויים שלהם. מתודת McpToolImpl.get_arguments()
מחזירה רשימה ריקה, ולכן LLMs חייבים לנחש את המבנה של הפרמטרים
רק על סמך שמות וכותרות כלים. זה גורם ל:
- קריאות כלים לא אמינות עקב ניחוש פרמטרים
- חוויית משתמש גרועה כאשר כלים נכשלים עקב ארגומנטים שגויים
- אי אימות של פרמטרי כלים לפני ביצוע
- אי עליית תיעוד פרמטרים בהנחיית הסוכן
מטרות
- לאפשר להגדרות כלי MCP לציין ארגומנטים צפויים (שם, סוג, תיאור)
- לעדכן את מנהל הסוכן כדי לחשוף ארגומנטי כלי MCP ל-LLMs באמצעות הנחיה
- לשמור על תאימות לאחור להגדרות כלי MCP קיימות
- לתמוך באימות ארגומנטים בדומה לכלי תבנית הנחיה
מטרות לא
- גילוי דינמי של ארגומנטים מהשרתים של MCP (שיפור עתידי)
- אימות סוגי ארגומנט מעבר למבנה בסיסי
- סכימות ארגומנטים מורכבות (אובייקטים מקובצים, מערכים)
רקע והקשר
מצב נוכחי
כלי MCP מוגדרים במערכת ה-ReACT עם מידע מינימלי:
{
"type": "mcp-tool",
"name": "get_bank_balance",
"description": "Get bank account balance",
"mcp-tool": "get_bank_balance"
}
המתודת McpToolImpl.get_arguments() מחזירה [], ולכן LLMs לא מקבלים הדרכה לגבי ארגומנטים בהנחייתם.
מגבלות
- אין מפרט ארגומנטים: כלי MCP אינם יכולים להגדיר פרמטרים צפויים
- ניחוש פרמטרים על ידי LLM: הסוכן חייב להסיק פרמטרים משמות/תיאורים של כלים
- מידע הנחיה חסר: הנחיות הסוכן אינן מציגות פרטים לגבי ארגומנטים של כלי MCP
- אין אימות: פרמטרים לא חוקיים מתגלים רק בזמן ביצוע כלי MCP
רכיבים קשורים
- trustgraph-flow/agent/react/service.py: טעינת הגדרות כלי וליצירת מנהל סוכן
- trustgraph-flow/agent/react/tools.py: יישום של McpToolImpl
- trustgraph-flow/agent/react/agent_manager.py: יצירת הנחיה עם ארגומנטי כלי
- trustgraph-cli: כלים של שורת פקודה לניהול כלי MCP
- Workbench: ממשק משתמש חיצוני להגדרת כלי סוכן
דרישות
דרישות פונקציונליות
- הגדרות ארגומנטים של כלי MCP: הגדרות כלי MCP חייבות לתמוך במערך אופציונלי של
argumentsעם שדות שם, סוג ותיאור - חשיפת ארגומנטים:
McpToolImpl.get_arguments()חייב להחזיר את הארגומנטים המוגדרים במקום רשימה ריקה - אינטגרציה עם הנחיה: הנחיית הסוכן חייבת לכלול פרטים של ארגומנטי כלי MCP כאשר הם מוגדרים
- תאימות לאחור: הגדרות כלי MCP קיימות ללא ארגומנטים חייבות להמשיך לעבוד
- תמיכה ב-CLI: כלי ה-CLI הקיים
tg-invoke-mcp-toolתומך בארגומנטים (כבר מיושם)
דרישות לא פונקציונליות
- תאימות לאחור: ללא שינויים שמשבשים בהגדרות כלי MCP קיימות
- ביצועים: ללא השפעה משמעותית על יצירת הנחיות סוכן
- עקביות: טיפול בארגומנטים חייב להתאים לתבניות של כלי תבנית הנחיה
סיפורי משתמש
- כמפתח סוכן, אני רוצה לציין ארגומנטים של כלי MCP בהגדרות, כך ש-LLMs יוכלו להפעיל כלים עם פרמטרים נכונים
- כמשתמש ב-Workbench, אני רוצה להגדיר ארגומנטים של כלי MCP בממשק ה-UI, כך שהסוכן ישתמש בכלים כראוי
- כLLM בסוכן ReACT, אני רוצה לראות את המפרט של ארגומנטי כלי בהנחיות, כך שאוכל לספק פרמטרים נכונים
עיצוב
ארכיטקטורה ברמה גבוהה
להרחיב את הגדרת כלי MCP כך שתתאים לתבנית כלי תבנית הנחיה על ידי:
- הוספת מערך אופציונלי של
argumentsלהגדרות כלי MCP - שינוי המחלקה
McpToolImplכדי לקבל את הארגומנטים - לשמור על התאמה לאחור להגדרות כלי MCP קיימות
דוגמה
class McpToolImpl:
def get_arguments(self):
# ... קוד לקבלת ארגומנטים ...
return arguments
שאלות פתוחות
- אימות ארגומנטים: האם אמור להיות אימות סוגים/פורמטים של ארגומנט מעבר לבדיקות מבני בסיסיות?
- גילוי דינמי: האם עדיף לשאול את שרתי ה-MCP עבור סכימות כלי באופן אוטומטי?
- מבנה ארגומנטים: האם הארגומנטים צריכים להיות בפורמט מובנה (לדוגמה, JSON)?
אפשרויות שנשקלו
- גילוי דינמי של סכימת MCP: לשאול את שרתי ה-MCP עבור סכימות של כלי בזמן ריצה - נדחה עקב מורכבות וחששות לגבי אמינות
- רשום ארגומנטים נפרד: לאחסן את ארגומנטי הכלי בפרטי הגדרה נפרדים - נדחה עקב עקביות עם הגישה של תבנית הנחיה
- אימות סוג: אימות JSON מלא של ארגומנטים - מוחזר כשיפור עתידי כדי לשמור על היישום הראשוני פשוט
מקורות
נספחים
[כל מידע, דיאגרמות או דוגמאות נוספות]