בעזרת Agent Registry אפשר לרשום סוכנים שמארחים בסביבות זמן ריצה נתמכות Google Cloud בלי שתצטרכו להפעיל ידנית את Agent Registry API. בהתאם לזמן הריצה, תהליך הרישום הזה מתבצע באופן אוטומטי או שנדרש שלב הגדרה של הסכמה במהלך הפריסה.
במאמר הזה מוסבר איך להפעיל את התכונה 'גילוי' לסוכנים בסביבות זמן ריצה נתמכות. אם אתם מארחים סוכן חיצוני או בסביבת זמן ריצה לא נתמכת, כדאי לעיין במאמר בנושא שימוש ברישום ידני.
המטא-נתונים והיכולות של סוכנים (A2A) שחולצו מסוכן במהלך הרישום שלו תלויים בפרוטוקול של הסוכן. מידע נוסף זמין במאמר בנושא רישום סוכנים.
לפני שמתחילים
לפני שרושמים סוכנים, מגדירים את Agent Registry. כדי לאמת את ההרשמה, צריך את מזהה הפרויקט.
כדי להשתמש בפקודות של ה-CLI של gcloud שמופיעות במסמך הזה, צריך לוודא שהגדרתם את סביבת ה-CLI של gcloud.
רישום סוכנים מ-Agent Runtime
אם אתם מפתחים ופורסים סוכנים באמצעות Agent Runtime ב-Gemini Enterprise Agent Platform, הרישום במאגר הסוכנים מתבצע באופן אוטומטי.
פרוטוקול Agent2Agent (A2A) הוא תקן פתוח שמאפשר לסוכנים להצהיר על היכולות והזהות שלהם. בדוגמה הבאה אפשר לראות איך פורסים סוכן שמטמיע את פרוטוקול A2A ב-Agent Runtime. מידע נוסף על פריסת סוכן
# Create and deploy the agent
# This action automatically registers the agent in Agent Registry
remote_agent = client.agent_engines.create(
agent=my_a2a_agent, # Your defined A2A object
config={
"display_name": "my-support-agent",
"description": "An agent that handles support tickets.",
"requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
},
)
כשמעדכנים או מוחקים את הסוכן ב-Agent Runtime, השינויים האלה מסתנכרנים אוטומטית עם Agent Registry.
רישום של סוכני Google מובנים
סוכני Google מובנים, כמו סוכני Google Workspace ו-Gemini Enterprise, נרשמים אוטומטית במרשם הסוכנים. לא צריך לבצע שום שלבי הגדרה או פריסה. הסוכנים האלה נקלטים וזמינים לגילוי במאגר שלכם.
רישום סוכנים מ-GKE
אפשר לרשום סוכנים שנפרסו ב-Google Kubernetes Engine (GKE) על ידי הוספת התווית registry.gke.io/functional-type: "AGENT" לפריסות. התווית הזו מזהה את הפריסה כסוכן AI, ומאפשרת ל-Agent Registry לבצע סריקת אינטרוספקציה.
כדי להפעיל זיהוי אוטומטי של הכישורים של הנציג, צריך לספק גם את ההערה a2a-protocol.org/agent-card. בקר ההטמעה משתמש בהערה הזו כדי לשלוח שאילתה לכרטיס הסוכן A2A. בנוסף, מגדירים את Workload Identity באמצעות ההערה iam.gke.io/spiffe-identity-type: agent-identity כדי לאפשר תקשורת מאובטחת ומאומתת.
בדוגמה הבאה מוצג מניפסט של פריסת סוכן GKE שמשתמש בהגדרות האלה. מידע נוסף זמין במאמר בנושא פריסה ותזמור של סוכני AI.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-agent
labels:
# GKE takes this label and registers the agent to Agent Registry
registry.gke.io/functional-type: "AGENT"
annotations:
# A2A protocol metadata annotation for automated Agent Card discovery
a2a-protocol.org/agent-card: |
card:
endpoint: /.well-known/agent-card.json
protocol: HTTP
port: 8080
spec:
selector:
matchLabels:
app: my-agent
template:
metadata:
annotations:
# Workload Identity annotation for identity and access management
iam.gke.io/spiffe-identity-type: agent-identity
labels:
app: my-agent
spec:
containers:
- name: server
image: gcr.io/my-project/my-agent:1.0.0
ports:
- containerPort: 8080
env:
- name: PORT
value: "8080"
---
apiVersion: v1
kind: Service
metadata:
name: my-agent-service
labels:
app: my-agent
spec:
type: ClusterIP
ports:
- port: 8080
targetPort: 8080
protocol: TCP
name: http
selector:
app: my-agent
כשמחילים את הפריסה, אשכול GKE מנסה באופן אוטומטי לאחזר מטא-נתונים מהסוכן ולסנכרן אותם ישירות למודל הנתונים של מאגר הסוכנים.
אימות הרישום
כדי לוודא שהסוכנים שלכם נרשמו בהצלחה במרשם הסוכנים, אתם יכולים להציג את רשימת הסוכנים:
המסוף
במסוף Google Cloud , עוברים אל Agent Registry:
בבורר הפרויקטים, בוחרים את Google Cloud הפרויקט שבו הגדרתם את Agent Registry.
לוחצים על הכרטיסייה סוכנים.
בדף מוצגת רשימה של כל הסוכנים הרשומים והפרטים שלהם, כמו השם, המזהה, התיאור, זמן הריצה והמיקום.
מסננים את הרשימה לפי המיקום של הסוכן או לפי משאב זמן הריצה שלו:
- כדי לסנן לפי מיקום, לוחצים על התפריט מיקום, בוחרים את המיקומים שרוצים לסנן ולוחצים על החלה.
- כדי לסנן לפי זמן ריצה, לוחצים על התפריט זמן ריצה, בוחרים את זמני הריצה שרוצים לסנן ולוחצים על החלה.
בדף מוצגת רשימה מסוננת של הסוכנים הרשומים לפי התנאים שבחרתם.
gcloud
אפשר לסנן את הרשימה לפי המטא-נתונים של הסוכן. מוודאים שהגדרתם את סביבת Google Cloud CLI עבור Agent Registry, ואז מריצים את הפקודה:
gcloud agent-registry agents list \
--project=PROJECT_ID \
--location=REGION \
--filter="FILTER_EXPRESSION"
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION: האזור של המאגר. -
FILTER_EXPRESSION: ביטוי הסינון של הסוכנים שרוצים לסנן. לדוגמה, כדי לסנן לפי השם המוצג, אפשר להשתמש ב-displayName='DISPLAY_NAME'. כדי לסנן לפי מזהה ייחודי גלובלי (URN), אפשר להשתמש ב-agentId='urn:agent:AGENT_URN'.
סוכני Google מובנים משתמשים בפורמט URN שתלוי במיקום הפריסה של הסוכן. לדוגמה, אפשר לסנן את הרשימה לפי המפרסם googleapis.com באמצעות --filter="agentId:'urn:agent:googleapis.com:*'" כדי למצוא סוכנים מובנים של Google Workspace.
Terraform
אפשר להפנות לסוכן הרשום בהגדרות אחרות של Terraform באמצעות מקור הנתונים google_agent_registry_agent:
data "google_agent_registry_agent" "my_agent" {
location = "REGION"
filter = "displayName=\"DISPLAY_NAME\""
}
output "agent_urn" {
value = data.google_agent_registry_agent.my_agent.urn
}
מחליפים את מה שכתוב בשדות הבאים:
-
REGION: האזור של המאגר. DISPLAY_NAME: השם המוצג של הסוכן שקריא לאנשים.