ALTER AGENT¶
Modifie les propriétés ou la spécification d’un Cortex Agent existant.
- Voir aussi :
Syntaxe¶
ALTER AGENT <name> SET
[ COMMENT = '<string>' ]
[ PROFILE = '<string>' ]
ALTER AGENT <name> MODIFY LIVE VERSION SET SPECIFICATION = <specification>
Paramètres requis¶
nameChaîne spécifiant l’identificateur (c’est-à-dire le nom) de l’agent à modifier.
Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
Pour plus d’informations, voir Exigences relatives à l’identificateur.
Paramètres facultatifs¶
SET ...Définit une ou plusieurs propriétés ou paramètres spécifiés pour l’agent :
COMMENT = commentSpécifie la description de l’agent.
PROFILE = stringSpécifie les informations de profil de l’agent, telles que le nom d’affichage, l’avatar et la couleur. Formatez la chaîne comme suit :
'{"display_name": "<display_name>", "avatar": "<avatar>", "color": "<color>"}'Le tableau suivant décrit les paires clé-valeur de cette chaîne :
Clé
Type
Description
display_nameChaîne
Nom d’affichage de l’agent.
avatarChaîne
Nom ou identificateur du fichier image avatar.
colorChaîne
Thème de couleur de l’agent (comme « bleu », « vert », « rouge »).
MODIFY LIVE VERSION SET SPECIFICATION specificationSpécifie la valeur VARCHAR contenant les paramètres de remplacement d’un agent en tant qu’objet YAML ou JSON :
Littéral entouré de signes dollar : $$ … $$
La longueur maximale de l’objet de spécification est de 100 000 octets.
Important
La nouvelle spécification remplace entièrement la spécification existante. Les champs qui ne sont pas inclus dans la nouvelle spécification sont supprimés.
L’objet YAML doit avoir la structure suivante :
models: orchestration: <model_name> orchestration: budget: seconds: <number_of_seconds> tokens: <number_of_tokens> instructions: response: '<response_instructions>' orchestration: '<orchestration_instructions>' system: '<system_instructions>' sample_questions: - question: '<sample_question>' answer: '<sample_answer>' ... tools: - tool_spec: type: '<tool_type>' name: '<tool_name>' description: '<tool_description>' input_schema: type: 'object' properties: <property_name>: type: '<property_type>' description: '<property_description>' required: <required_property_names> ... tool_resources: <tool_name>: <resource_key>: '<resource_value>' ... ...
L’objet JSON doit avoir la structure suivante :
{ "models": { "orchestration": "<model_name>" }, "orchestration": { "budget": { "seconds": <number_of_seconds>, "tokens": <number_of_tokens> } }, "instructions": { "response": "<response_instructions>", "orchestration": "<orchestration_instructions>", "system": "<system_instructions>", "sample_questions": [ { "question": "<sample_question>", "answer": "<sample_answer>" } ] }, "tools": [ { "tool_spec": { "type": "<tool_type>", "name": "<tool_name>", "description": "<tool_description>", "input_schema": { "type": "object", "properties": { "<property_name>": { "type": "<property_type>", "description": "<property_description>" } }, "required": ["<required_property_names>"] } } } ], "tool_resources": { "<tool_name>": { "<resource_key>": "<resource_value>" } } }Le tableau suivant décrit les paires clé-valeur de cet objet :
Clé
Type
Description
modelsConfiguration facultative du modèle pour l’agent. Inclut le modèle d’orchestration (par exemple, claude-4-sonnet). S’il n’est pas fourni, un modèle est automatiquement sélectionné. Actuellement disponible uniquement pour l’étape d’
orchestration.orchestrationConfiguration facultative de l’orchestration, y compris les contraintes budgétaires (par exemple, secondes, jetons).
instructionsInstructions facultatives relatives au comportement de l’agent, y compris la réponse, l’orchestration, le système et les exemples de questions.
toolstableau d”Tool
Liste facultative des outils disponibles pour l’agent à utiliser. Chaque outil inclut une
tool_specavec un type, un nom, une description et un schéma d’entrée. Les outils peuvent avoir une configuration correspondante danstool_resources.tool_resourcescarte de ToolResource
Configuration facultative pour chaque outil référencé dans le tableau des outils. Les clés doivent correspondre au nom de l’outil correspondant.
Exigences en matière de contrôle d’accès¶
Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :
Privilège |
Objet |
Remarques |
|---|---|---|
OWNERSHIP ou MODIFY |
Agent |
Nécessaire pour modifier les propriétés ou la spécification de l’agent. OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
Pour effectuer une opération sur un objet dans un schéma, il est nécessaire de disposer d’au moins un privilège sur la base de données parente et d’au moins un privilège sur le schéma parent.
Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.
Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.
Notes sur l’utilisation¶
Lors de la modification de la spécification d’une version en ligne, la nouvelle spécification remplace entièrement la spécification existante. Les champs qui ne sont pas inclus dans la nouvelle spécification sont supprimés.
Les formats YAML et JSON sont pris en charge pour les spécifications.
Les champs de spécification non valides entraînent une erreur.
Concernant les métadonnées :
Attention
Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.
Exemples¶
Mise à jour du commentaire d’un agent :
ALTER AGENT my_support_agent SET COMMENT = 'Customer support agent for product inquiries';
Mise à jour du profil d’un agent :
ALTER AGENT my_support_agent SET PROFILE = '{"display_name": "Support Bot", "avatar": "bot-icon.png"}';
Mise à jour du commentaire et du profil ensemble :
ALTER AGENT my_support_agent
SET COMMENT = 'Production support agent',
PROFILE = '{"display_name": "Customer Assistant", "avatar": "assistant.png"}';
Mise à jour de la spécification de la version en ligne à l’aide du format YAML :
ALTER AGENT my_support_agent
MODIFY LIVE VERSION SET SPECIFICATION =
$$
models:
orchestration: claude-4-sonnet
orchestration:
budget:
seconds: 30
tokens: 50000
instructions:
system: "You are a helpful customer support assistant."
response: "Always be concise and accurate."
sample_questions:
- question: "What is the status of my order?"
answer: "I can help you check your order status. Please provide your order number."
$$;
Mise à jour de la spécification de la version en ligne à l’aide du format JSON :
ALTER AGENT my_support_agent
MODIFY LIVE VERSION SET SPECIFICATION = '{"models":{"orchestration":"claude-4-sonnet"},"orchestration":{"budget":{"seconds":45,"tokens":80000}}}';