כלי: get_agent
קבלת פרטים של סוכן ספציפי.
בדוגמת הקוד הבאה מוצג שימוש בפקודה curl כדי להפעיל את הכלי get_agent MCP.
| בקשת Curl |
|---|
curl --location 'https://ces.googleapis.com/mcp' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --data '{ "method": "tools/call", "params": { "name": "get_agent", "arguments": { // provide these details according to the tool's MCP specification } }, "jsonrpc": "2.0", "id": 1 }' |
סכימת הקלט
בקשת הודעה עבור AgentService.GetAgent.
GetAgentRequest
| ייצוג JSON |
|---|
{ "name": string } |
| שדות | |
|---|---|
name |
חובה. שם המשאב של הסוכן לאחזור. |
סכימת הפלט
סוכן פועל כאבן בניין בסיסית שמספקת הוראות למודל שפה גדול (LLM) לביצוע משימות ספציפיות.
סוכן
| ייצוג JSON |
|---|
{ "name": string, "displayName": string, "description": string, "modelSettings": { object ( |
| שדות | |
|---|---|
name |
מזהה. המזהה הייחודי של הסוכן. פורמט: |
displayName |
חובה. השם המוצג של הסוכן. |
description |
זה שינוי אופציונלי. תיאור של הסוכן שכתוב בצורה שקריאה לאנשים. |
modelSettings |
זה שינוי אופציונלי. הגדרות למודל ה-LLM. |
instruction |
זה שינוי אופציונלי. הוראות למודל שפה גדול (LLM) שמנחות את התנהגות הסוכן. |
tools[] |
זה שינוי אופציונלי. רשימת הכלים הזמינים לסוכן. פורמט: |
childAgents[] |
זה שינוי אופציונלי. רשימה של סוכני ילדים בעץ הסוכנים. פורמט: |
beforeAgentCallbacks[] |
זה שינוי אופציונלי. הקריאות החוזרות לביצוע לפני שהסוכן מתקשר. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
afterAgentCallbacks[] |
זה שינוי אופציונלי. הקריאות החוזרות לביצוע אחרי שהסוכן מתקשר. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
beforeModelCallbacks[] |
זה שינוי אופציונלי. הקריאות החוזרות לביצוע לפני הקריאה למודל. אם יש כמה קריאות למודל, הקריאה החוזרת תופעל כמה פעמים. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
afterModelCallbacks[] |
זה שינוי אופציונלי. פונקציות ה-callback שיבוצעו אחרי הפעלת המודל. אם יש כמה קריאות למודל, הקריאה החוזרת תופעל כמה פעמים. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
beforeToolCallbacks[] |
זה שינוי אופציונלי. הפונקציות לקריאה חוזרת שיופעלו לפני הפעלת הכלי. אם יש כמה הפעלות של כלים, הקריאה החוזרת תופעל כמה פעמים. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
afterToolCallbacks[] |
זה שינוי אופציונלי. הקריאות החוזרות (callbacks) לביצוע אחרי הפעלת הכלי. אם יש כמה הפעלות של כלים, הקריאה החוזרת תופעל כמה פעמים. הקריאות החוזרות שסופקו מופעלות ברצף בסדר המדויק שבו הן מופיעות ברשימה. אם פונקציית קריאה חוזרת מחזירה תגובה שהוחלפה, הביצוע מופסק וכל פונקציות הקריאה החוזרת שנותרו מדלגות. |
createTime |
פלט בלבד. חותמת זמן של מועד יצירת הסוכן. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
updateTime |
פלט בלבד. חותמת זמן של מועד העדכון האחרון של הסוכן. הפלט שנוצר תמיד יהיה בפורמט RFC 3339, עם נורמליזציה של Z ושימוש ב-0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: |
guardrails[] |
זה שינוי אופציונלי. רשימת אמצעי הבקרה של הסוכן. פורמט: |
etag |
תג Etag שמשמש כדי לוודא שהאובייקט לא השתנה במהלך פעולת קריאה-שינוי-כתיבה. אם ה-etag ריק, העדכון ידרוס את כל השינויים שמתבצעים בו-זמנית. |
toolsets[] |
זה שינוי אופציונלי. רשימה של ערכות כלים לסוכן. |
generatedSummary |
פלט בלבד. אם הסוכן נוצר על ידי עוזר ה-LLM, השדה הזה מכיל סיכום תיאורי של הדור. |
transferRules[] |
זה שינוי אופציונלי. כללי העברת סוכנים. אם כמה כללים תואמים, המערכת תשתמש בכלל הראשון ברשימה. |
validationErrors[] |
פלט בלבד. בעיות בהגדרות או שגיאות בסוכן שעלולות להשפיע על איכות הסוכן. |
שדה איחוד agent_type. סוג הנציג. הערך agent_type יכול להיות רק אחד מהבאים: |
|
llmAgent |
זה שינוי אופציונלי. סוג ברירת המחדל של הסוכן. |
remoteDialogflowAgent |
זה שינוי אופציונלי. סוכן Dialogflow מרוחק שישמש להפעלת הסוכן. אם השדה הזה מוגדר, המערכת תתעלם מכל שאר המאפיינים ברמת הסוכן. הערה: אם סוכן Dialogflow נמצא בפרויקט אחר מהאפליקציה, צריך להעניק את ההרשאה |
RemoteDialogflowAgent
| ייצוג JSON |
|---|
{ "agent": string, "flowId": string, "environmentId": string, "inputVariableMapping": { string: string, ... }, "outputVariableMapping": { string: string, ... }, "respectResponseInterruptionSettings": boolean, "languageCodeVariable": string } |
| שדות | |
|---|---|
agent |
חובה. שם המשאב של הנציג ב-Dialogflow. פורמט: |
flowId |
זה שינוי אופציונלי. מזהה התהליך של התהליך בסוכן Dialogflow. |
environmentId |
זה שינוי אופציונלי. מזהה הסביבה של נציג Dialogflow שישמש להפעלת הנציג. אם לא מציינים סביבה, המערכת משתמשת בסביבת הטיוטה. |
inputVariableMapping |
זה שינוי אופציונלי. מיפוי של שמות משתני האפליקציה לשמות פרמטרים של סשן ב-Dialogflow, שיישלחו לסוכן של Dialogflow כקלט. אובייקט שמכיל רשימה של |
outputVariableMapping |
זה שינוי אופציונלי. מיפוי של שמות הפרמטרים של סשן Dialogflow לשמות המשתנים של האפליקציה שיוחזרו לסוכן CES אחרי שהסוכן של Dialogflow יסיים את ההפעלה. אובייקט שמכיל רשימה של |
respectResponseInterruptionSettings |
זה שינוי אופציונלי. הגדרה שקובעת אם להתחשב בהגדרות ההפרעה ברמת ההודעה שהוגדרו בסוכן Dialogflow.
|
languageCodeVariable |
זה שינוי אופציונלי. השם של המשתנה שמכיל את קוד השפה שבה יש להשתמש בסשן של Dialogflow. אם לא מציינים קוד שפה, המערכת תשתמש בקוד השפה שמוגדר כברירת מחדל לסוכן Dialogflow. |
InputVariableMappingEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
OutputVariableMappingEntry
| ייצוג JSON |
|---|
{ "key": string, "value": string } |
| שדות | |
|---|---|
key |
|
value |
|
ModelSettings
| ייצוג JSON |
|---|
{ "model": string, // Union field |
| שדות | |
|---|---|
model |
זה שינוי אופציונלי. מודל ה-LLM שהסוכן צריך להשתמש בו. אם לא מגדירים מודל, הסוכן יקבל בירושה את המודל מהסוכן הראשי שלו. |
שדה איחוד הערך |
|
temperature |
זה שינוי אופציונלי. אם מוגדרת רמת אקראיות, היא תשמש את מודל ה-LLM. הטמפרטורה קובעת את רמת האקראיות של התשובות של המודל. טמפרטורות נמוכות יותר מפיקות תשובות צפויות יותר. טמפרטורות גבוהות יותר יוצרות תשובות יצירתיות יותר. |
התקשרות חזרה
| ייצוג JSON |
|---|
{ "description": string, "disabled": boolean, "proactiveExecutionEnabled": boolean, // Union field |
| שדות | |
|---|---|
description |
זה שינוי אופציונלי. תיאור קריא של הקריאה החוזרת. |
disabled |
זה שינוי אופציונלי. האם השיחה החוזרת מושבתת. הסוכן מתעלם מהבקשות להחזרת שיחה שהושבתו. |
proactiveExecutionEnabled |
זה שינוי אופציונלי. אם ההגדרה הזו מופעלת, הקריאה החוזרת תופעל גם בפלט של מודלים ביניים. ההגדרה הזו משפיעה רק על קריאה חוזרת (callback) של מודל. הפעלה עם אזהרה. בדרך כלל, צריך להפעיל את הקריאה החוזרת (callback) של המודל רק אחרי שמקבלים את כל התשובות של המודל. הפעלת ביצוע פרואקטיבי עלולה להשפיע לרעה על עלות הביצוע ועל זמן האחזור, ולכן מומלץ להפעיל אותה רק במקרים נדירים. |
שדה איחוד callback. הקריאה החוזרת לביצוע. הערך callback יכול להיות רק אחד מהבאים: |
|
pythonCode |
חובה. קוד ה-Python להרצה עבור הקריאה החוזרת. |
חותמת הזמן
| ייצוג JSON |
|---|
{ "seconds": string, "nanos": integer } |
| שדות | |
|---|---|
seconds |
מייצג את השניות של זמן UTC מאז ראשית זמן יוניקס (Unix epoch) 1970-01-01T00:00:00Z. הערך חייב להיות בין -62135596800 ל-253402300799, כולל (שמתאים לטווח 0001-01-01T00:00:00Z עד 9999-12-31T23:59:59Z). |
nanos |
שבריר לא שלילי של שנייה ברזולוציית ננו-שנייה. השדה הזה מייצג את החלק של משך הזמן בננו-שניות, ולא מהווה חלופה לשניות. ערכי שניות שליליים עם שברים עדיין צריכים לכלול ערכי ננו-שניות לא שליליים שסופרים קדימה בזמן. הערך חייב להיות בין 0 ל-999,999,999, כולל. |
AgentToolset
| ייצוג JSON |
|---|
{ "toolset": string, "toolIds": [ string ] } |
| שדות | |
|---|---|
toolset |
חובה. שם המשאב של ערכת הכלים. פורמט: |
toolIds[] |
זה שינוי אופציונלי. מזהי הכלים שמשמשים לסינון ערכת הכלים. |
TransferRule
| ייצוג JSON |
|---|
{ "childAgent": string, "direction": enum ( |
| שדות | |
|---|---|
childAgent |
חובה. שם המשאב של הסוכן הצאצא שהכלל חל עליו. פורמט: |
direction |
חובה. כיוון ההעברה. |
שדה איחוד rule_type. סוג הכלל. הערך rule_type יכול להיות רק אחד מהבאים: |
|
deterministicTransfer |
זה שינוי אופציונלי. כלל שמעביר באופן מיידי לנציג היעד כשהתנאי מתקיים. |
disablePlannerTransfer |
זה שינוי אופציונלי. כלל שמונע מהמתכנן להעביר את השיחה לסוכן היעד. |
DeterministicTransfer
| ייצוג JSON |
|---|
{ // Union field |
| שדות | |
|---|---|
שדה איחוד condition_type. התנאי לבדיקה. הערך condition_type יכול להיות רק אחד מהבאים: |
|
expressionCondition |
זה שינוי אופציונלי. כלל שמעריך תנאי של מצב סשן. אם התנאי מקבל את הערך True, ההעברה מתבצעת. |
pythonCodeCondition |
זה שינוי אופציונלי. כלל שמשתמש בבלוק קוד Python כדי להעריך את התנאים. אם התנאי מקבל את הערך True, ההעברה מתבצעת. |
ExpressionCondition
| ייצוג JSON |
|---|
{ "expression": string } |
| שדות | |
|---|---|
expression |
חובה. ייצוג המחרוזת של התנאי cloud.api.Expression. |
PythonCodeCondition
| ייצוג JSON |
|---|
{ "pythonCode": string } |
| שדות | |
|---|---|
pythonCode |
חובה. קוד ה-Python להרצה. |
DisablePlannerTransfer
| ייצוג JSON |
|---|
{
"expressionCondition": {
object ( |
| שדות | |
|---|---|
expressionCondition |
חובה. אם התנאי מקבל את הערך True, המתכנן לא יוכל להעביר את השיחה לסוכן היעד. |
כיוון
כיוון ההעברה.
| טיפוסים בני מנייה (enum) | |
|---|---|
DIRECTION_UNSPECIFIED |
כיוון לא מוגדר. |
PARENT_TO_CHILD |
העברה מסוכן ראשי לסוכן הבן. |
CHILD_TO_PARENT |
העברה מסוכן צאצא לסוכן ראשי. |
הערות על כלים
הערות על כלים נשלחות ללקוחות MCP כדי לתאר את הסיכון הבסיסי של כלי מסוים. רוב הלקוחות מתייחסים לרמזים האלה כאל רמזים לא מהימנים, אבל אפשר להשתמש בהם כדי להחליט מתי לשלוח למשתמש בקשת אישור.
בנוסף למחרוזת הכותרת, מוגדרים הרמזים הבוליאניים הבאים:
-
readOnlyHint: אם הערך הוא true, הכלי לא משנה את הסביבה שלו. ברירת מחדל: false. -
destructiveHint: אם הערך הוא True, הכלי יכול לבצע פעולות הרסניות. אם הערך הוא false, הכלי יכול לבצע רק פעולות של הוספה. ברירת מחדל: true. -
idempotentHint: אם הערך הוא True, קריאה חוזרת לכלי עם אותם ארגומנטים לא תשפיע על הסביבה שלו. ברירת מחדל: false. -
openWorldHint: אם הערך הוא True, הכלי יכול ליצור אינטראקציה עם 'עולם פתוח' של ישויות חיצוניות. אם הערך הוא false, הכלי יכול ליצור אינטראקציה רק עם ישויות פנימיות. לדוגמה, כלי לחיפוש באינטרנט יהיה עולם פתוח, אבל כלי לזיכרון לא יהיה עולם פתוח.
רמז הרסני: ❌ | רמז אידמפוטנטי: ✅ | רמז לקריאה בלבד: ✅ | רמז לעולם פתוח: ❌