ALTER-AGENT

Ändert die Eigenschaften oder die Spezifikation für einen bestehenden Cortex-Agent.

Siehe auch:

CREATE-AGENT, DESCRIBE-AGENT, DROP-AGENT, SHOW-AGENTS

Syntax

ALTER AGENT <name> SET
  [ COMMENT = '<string>' ]
  [ PROFILE = '<string>' ]

ALTER AGENT <name> MODIFY LIVE VERSION SET SPECIFICATION = <specification>
Copy

Erforderliche Parameter

name

Zeichenfolge, die den Bezeichner (d. h. den Namen) für den zu ändernden Agenten angibt.

Wenn der Bezeichner Leerzeichen oder Sonderzeichen enthält, muss die gesamte Zeichenfolge in doppelte Anführungszeichen gesetzt werden. Bei Bezeichnern, die in doppelte Anführungszeichen eingeschlossen sind, ist auch die Groß- und Kleinschreibung zu beachten.

Weitere Informationen dazu finden Sie unter Anforderungen an Bezeichner.

Optionale Parameter

SET ...

Legt eine oder mehrere angegebene Eigenschaften oder Parameter für den Agenten fest:

COMMENT = comment

Gibt die Beschreibung des Agenten an.

PROFILE = string

Gibt die Informationen zum Agentenprofil an, wie z. B. Anzeigename, Avatar und Farbe. Formatieren Sie die Zeichenfolge wie folgt:

'{"display_name": "<display_name>", "avatar": "<avatar>", "color": "<color>"}'
Copy

Die folgende Tabelle beschreibt die Schlüssel-Wert-Paare in der Zeichenfolge:

Schlüssel

Typ

Beschreibung

display_name

String

Anzeigename für den Agenten.

avatar

String

Name oder Bezeichner der Datei des Avatarbilds.

color

String

Farbthema für den Agenten (z. B. „blau“, „ grün“, „rot“)

MODIFY LIVE VERSION SET SPECIFICATION specification

Gibt den VARCHAR-Wert an, der die Einstellungen für die Ersetzung für einen Agenten wie ein YAML- oder JSON-Objekt enthält:

Die maximale Länge des Spezifikationsobjekts beträgt 100.000 Bytes.

Wichtig

Die neue Spezifikation ersetzt die bestehende vollständig. Felder, die nicht in der neuen Spezifikation enthalten sind, werden entfernt.

Das YAML-Objekt sollte die folgende Struktur haben:

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>'
    ...
  ...
Copy

Das JSON-Objekt sollte die folgende Struktur haben:

{
  "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>"
    }
  }
}
Copy

Die folgende Tabelle beschreibt die Schlüssel-Wert-Paare in diesem Objekt:

Schlüssel

Typ

Beschreibung

models

ModelConfig

Eine optionale Modellkonfiguration für den Agenten. Enthält das Orchestrierungsmodell (z. B. claude-4-sonnet). Wenn keines angegeben ist, wird ein Modell automatisch ausgewählt. Derzeit nur für den Schritt der Orchestrierung verfügbar.

orchestration

OrchestrationConfig

Eine optionale Konfiguration der Orchestrierung, einschließlich Budgeteinschränkungen (z. B. Sekunden, Token).

instructions

AgentInstructions

Optionale Anweisungen für das Verhalten des Agenten, einschließlich Antwort, Orchestrierung, System und Beispielfragen.

tools

Array von Tool

Eine optionale Liste von Tools, die dem Agenten zur Verfügung stehen. Jedes Tool enthält eine tool_spec mit Typ, Name, Beschreibung und Eingabeschema. Tools können über eine entsprechende Konfiguration in tool_resources verfügen.

tool_resources

Zuordnung von ToolResource

Eine optionale Konfiguration für jedes Tool, auf das im Tools-Array verwiesen wird. Die Schlüssel müssen mit dem Namen des jeweiligen Tools übereinstimmen.

Anforderungen an die Zugriffssteuerung

Eine Rolle, die zur Ausführung dieser Operation verwendet wird, muss mindestens die folgenden Berechtigungen haben:

Berechtigung

Objekt

Anmerkungen

OWNERSHIP oder MODIFY

Agent

Erforderlich, um die Eigenschaften oder die Spezifikation des Agenten zu ändern.

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).

Für das Ausführen von Operationen für ein Objekt in einem Schema ist mindestens eine Berechtigung für die übergeordnete Datenbank und mindestens eine Berechtigung für das übergeordnete Schema erforderlich.

Eine Anleitung zum Erstellen einer kundenspezifischen Rolle mit einer bestimmten Gruppe von Berechtigungen finden Sie unter Erstellen von kundenspezifischen Rollen.

Allgemeine Informationen zu Rollen und Berechtigungen zur Durchführung von SQL-Aktionen auf sicherungsfähigen Objekten finden Sie unter Übersicht zur Zugriffssteuerung.

Nutzungshinweise

  • Wenn Sie die Spezifikation einer Live-Version ändern, ersetzt die neue Spezifikation die bestehende vollständig. Felder, die nicht in der neuen Spezifikation enthalten sind, werden entfernt.

  • Sowohl YAML- als auch JSON-Formate werden für Spezifikationen unterstützt.

  • Ungültige Spezifikationsfelder führen zu einem Fehler.

  • Metadaten:

    Achtung

    Kunden müssen sicherstellen, dass bei der Nutzung des Snowflake-Dienstes keine personenbezogenen Daten (außer für ein Objekt „User“), sensible Daten, exportkontrollierte Daten oder andere regulierte Daten als Metadaten eingegeben werden. Weitere Informationen dazu finden Sie unter Metadatenfelder in Snowflake.

Beispiele

Aktualisieren Sie den Kommentar für einen Agenten:

ALTER AGENT my_support_agent SET COMMENT = 'Customer support agent for product inquiries';
Copy

Aktualisieren Sie das Profil für einen Agenten:

ALTER AGENT my_support_agent SET PROFILE = '{"display_name": "Support Bot", "avatar": "bot-icon.png"}';
Copy

Aktualisieren Sie den Kommentar und das Profil zusammen:

ALTER AGENT my_support_agent
  SET COMMENT = 'Production support agent',
      PROFILE = '{"display_name": "Customer Assistant", "avatar": "assistant.png"}';
Copy

Aktualisieren Sie die Spezifikation der Live-Version mithilfe des YAML-Formats:

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."
  $$;
Copy

Aktualisieren Sie die Spezifikation der Live-Version mithilfe des JSON-Formats:

ALTER AGENT my_support_agent
  MODIFY LIVE VERSION SET SPECIFICATION = '{"models":{"orchestration":"claude-4-sonnet"},"orchestration":{"budget":{"seconds":45,"tokens":80000}}}';
Copy