Cortex Agents

Get started with Cortex Agents

Try it in Snowsight

Übersicht

Cortex Agents orchestrieren sowohl über strukturierte als auch über unstrukturierte Datenquellen hinweg, um Erkenntnisse zu liefern. Sie planen Aufgaben, verwenden Tools zur Ausführung dieser Aufgaben und generieren Antworten. Agenten verwenden Cortex Analyst (strukturiert) und Cortex Search (unstrukturiert) als Tools, zusammen mit LLMs, um Daten zu analysieren. Cortex Search extrahiert Erkenntnisse aus unstrukturierten Quellen, während Cortex Analyst SQL zur Verarbeitung strukturierter Daten generiert. Darüber hinaus können Sie gespeicherte Prozeduren und benutzerdefinierte Funktionen (User-Defined Functions, UDFs) verwenden, um kundenspezifisch Tools zu implementieren. Eine umfassende Unterstützung für die Identifizierung und Ausführung von Tools ermöglicht die Bereitstellung von anspruchsvollen Anwendungen, die auf Unternehmensdaten basieren.

Der Arbeitsablauf umfasst vier Hauptkomponenten:

  1. Planung: Anwendungen wechseln oft zwischen der Verarbeitung von Daten aus strukturierten und unstrukturierten Quellen. Nehmen wir zum Beispiel eine dialogorientierte App, mit der Sie Abfragen von Benutzern beantworten können. Ein Geschäftsanwender kann zunächst nach den Top-Vertriebshändlern nach Umsatz (strukturiert) fragen und dann zu einer Anfrage nach einem Vertrag (unstrukturiert) wechseln. Cortex-Agenten können eine Anfrage analysieren, um einen Plan zu orchestrieren und eine Lösung oder Antwort zu finden.

    1. Erkunden Sie die Optionen: Wenn der Benutzer eine mehrdeutige Frage stellt (z.B. „Erzählen Sie mir etwas über Acme Supplies“), zieht der Agent verschiedene Möglichkeiten in Betracht – Produkte, Standort oder Verkaufspersonal – um die Eindeutigkeit und Genauigkeit zu verbessern.

    2. Aufteilung in Teilaufgaben: Cortex-Agenten können eine Aufgabe oder Anfrage (z. B. „Was sind die Unterschiede zwischen den Vertragsbedingungen von Acme Supplies und Acme Stationery?“) in mehrere Teile aufteilen, um eine präzisere Antwort zu erhalten.

    3. Toolübergreifendes Routing: Der Agent wählt das richtige Tool – Cortex Analyst oder Cortex Search – um einen geregelten Zugriff und die Einhaltung der Unternehmensrichtlinien zu gewährleisten.

  2. Verwendung des Tools: Wenn ein Plan vorhanden ist, ruft der Agent die Daten effizient ab. Cortex Search extrahiert Erkenntnisse aus unstrukturierten Quellen, während Cortex Analyst SQL erstellt, um strukturierte Daten zu verarbeiten. Eine umfassende Unterstützung für die Tool-Identifizierung und Tool-Ausführung ermöglicht die Bereitstellung anspruchsvoller Anwendungen auf der Grundlage von Unternehmensdaten.

  3. Reflexion: Nach jeder Verwendung des Tools wertet der Agent die Ergebnisse aus, um die nächsten Schritte zu bestimmen – um eine Klärung zu bitten, zu iterieren oder eine endgültige Antwort zu erstellen. Diese Orchestrierung ermöglicht es, komplexe Abfragen zu verarbeiten und gleichzeitig die Genauigkeit und die Einhaltung von Vorschriften innerhalb des sicheren Bereichs von Snowflake zu gewährleisten.

  4. Überwachen und optimieren Sie: Nach der Bereitstellung können die Kunden Metriken verfolgen, die Leistung analysieren und die Verhaltensweise für kontinuierliche Verbesserungen verfeinern. Auf der Client-Seite können Entwickler TruLens verwenden, um die Interaktion mit dem Agenten zu überwachen. Durch die kontinuierliche Überwachung und Verfeinerung der Governance-Kontrollen können Unternehmen die Agenten von AI zuverlässig skalieren und gleichzeitig die Sicherheit und Compliance gewährleisten.

Tutorials, die Ihnen den Einstieg erleichtern, finden Sie unter Tutorials für Cortex Agents.

Bemerkung

Obwohl Snowflake sich bemüht, qualitativ hochwertige Antworten zu liefern, kann die Richtigkeit der LLM-Antworten oder der angegebenen Zitate nicht garantiert werden. Sie sollten alle Antworten von den Agenten-API überprüfen, bevor Sie sie Ihren Benutzern zur Verfügung stellen.

Anforderungen an die Zugriffssteuerung

Um eine Anfrage an Cortex Agent über die API zur Agentenausführung zu stellen, können Sie eine Rolle verwenden, der die Rolle SNOWFLAKE.CORTEX_USER oder SNOWFLAKE.CORTEX_AGENT_USER zugewiesen ist. CORTEX_USER bietet Zugriff auf alle abgedeckten AI-Features einschließlich Cortex Agents, während CORTEX_AGENT_USER Zugriff auf das Agents-Feature ermöglicht.

Bemerkung

You must use the user’s default role when calling or updating Cortex Agents. To allow another role to edit the agent, grant USAGE on the database, schema, and agent to that role.

GRANT USAGE ON DATABASE <database_name> to ROLE <role_name>;
GRANT USAGE ON SCHEMA <database_name>.<schema_name> to ROLE <role_name>;
GRANT USAGE ON AGENT <database_name>.<schema_name>.<agent_name> to ROLE <role_name>;
Copy

Um Cortext Agents mit einem semantischen Modell zu verwenden, benötigen Sie außerdem die folgenden Berechtigungen:

Berechtigung

Objekt

Anmerkungen

CREATE-AGENT

Schema

Erforderlich, um den Cortex Agent zu erstellen.

USAGE

Cortex Search Service

Erforderlich, um die Cortex Search Services in der Cortex Agents-Anfrage auszuführen.

USAGE

Datenbank, Schema, Tabelle

Erforderlich für den Zugriff auf die Objekte, auf die im semantischen Modell der Cortex Agents verwiesen wird.

OWNERSHIP

Agent

OWNERSHIP ist eine spezielle Berechtigung für ein Objekt, das automatisch der Rolle zugewiesen wird, die das Objekt erstellt hat, aber von der besitzenden Rolle mit dem Befehl GRANT OWNERSHIP auch auf eine andere Rolle (oder eine beliebige Rolle mit dem Privileg MANAGE GRANTS) übertragen werden kann. In einem verwalteten Zugriffsschema kann nur der Schemaeigentümer (z. B. die Rolle mit der OWNERSHIP-Berechtigung für das Schema) oder eine Rolle mit MANAGE GRANTS Berechtigungen für Objekte im Schema, einschließlich zukünftiger Berechtigungszuweisungen erteilen oder entziehen.

MODIFY

Agent

Erforderlich, um den Cortex Agent zu aktualisieren.

MONITOR

Agent

Erforderlich, um Threads, Protokolle und Ablaufverfolgungen des Cortex Agent anzuzeigen.

USAGE

Agent

Erforderlich, um den Cortex Agent abzufragen und Antworten zu generieren.

Anfragen an die Cortex Agents-API müssen ein Autorisierungstoken enthalten. Einzelheiten zur Authentifizierung bei API finden Sie unter Authentifizierung von Snowflake REST APIs mit Snowflake. Beachten Sie, dass das Beispiel in diesem Thema ein Sitzungstoken verwendet, um sich bei einem Snowflake-Konto zu authentifizieren.

Beschränken des Zugriffs auf bestimmte Rollen

Die Rolle CORTEX_USER ist standardmäßig der Rolle PUBLIC zugewiesen. Die Rolle PUBLIC wird automatisch allen Benutzern und Rollen zugewiesen. Wenn Sie nicht möchten, dass alle Benutzer diese Berechtigung haben, können Sie der Rolle PUBLIC die Berechtigung entziehen und den Zugriff nur bestimmten Rollen gewähren. Weitere Informationen dazu finden Sie unter Cortex LLM-Berechtigungen.

Um selektiven Zugriff auf Cortex Agents zu ermöglichen, sodass nur eine Teilmenge von Benutzern Zugriff auf das Feature hat, verwenden Sie die Rolle CORTEX_AGENTS_USER.

Beschränken des Zugriffs mit der Cortex Agents-Benutzerrolle

Um bestimmten Benutzern selektiven Zugriff auf Cortex Agents zu gewähren, verwenden Sie die Datenbankrolle SNOWFLAKE.CORTEX_AGENT_USER. Diese Rolle beinhaltet die Berechtigungen, die zum Aufrufen der Cortex Agent-API erforderlich sind.

Wichtig

Wenn Ihre Benutzerrollen über die Rolle CORTEX_USER verfügen, müssen Sie den Zugriff auf die Rolle CORTEX_USER widerrufen. Um Ihren Benutzerrollen die Datenbankrolle CORTEX_USER zu entziehen, führen Sie den folgenden Befehl mit der Rolle ACCOUNTADMIN aus:

REVOKE DATABASE ROLE SNOWFLAKE.CORTEX_USER FROM ROLE agent;
Copy

Um Zugriff auf Cortex Agents bereitzustellen, verwenden Sie die Rolle ACCOUNTADMIN für Folgendes:

  1. Erteilen Sie die Datenbankrolle SNOWFLAKE.CORTEX_AGENT_USER einer kundenspezifischen Rolle.

  2. Weisen Sie diese kundenspezifische Rolle Benutzern zu.

Bemerkung

Sie können Benutzern Datenbankrollen nicht direkt zuweisen. Weitere Informationen dazu finden Sie unter GRANT DATABASE ROLE.

Beispiel:

  1. Erstellt die kundenspezifische Rolle cortex_agent_user_role.

  2. Gewährt ihr die Datenbankrolle CORTEX_AGENT_USER.

  3. Weist diese Rolle example_user zu.

USE ROLE ACCOUNTADMIN;
CREATE ROLE cortex_agent_user_role;
GRANT DATABASE ROLE SNOWFLAKE.CORTEX_AGENT_USER TO ROLE cortex_agent_user_role;

GRANT ROLE cortex_agent_user_role TO USER example_user;
Copy

Sie können Zugriff auf Cortex Agents auch über bestehende Rollen gewähren. Wenn Sie z. B. eine agent-Rolle haben, die von Agenten in Ihrer Organisation verwendet wird, können Sie den Zugriff mit einer einzigen GRANT-Anweisung erteilen:

GRANT DATABASE ROLE SNOWFLAKE.CORTEX_AGENT_USER TO ROLE agent;
Copy

Authentifizierung

Snowflake REST-APIs unterstützen die Authentifizierung über programmatische Zugriffstoken (PATs), die Authentifizierung über ein Schlüsselpaar mit JSON-Web Token (JWTs) und OAuth. Weitere Details dazu finden Sie unter Authentifizierung von Snowflake REST APIs mit Snowflake.

Wichtig

Cortex Agents verwendet Modelle, die möglicherweise nicht in allen Regionen verfügbar sind. Um auf diese Modelle zugreifen zu können, müssen Sie die regionenübergreifende Ableitung aktivieren, sofern dies möglich ist. Weitere Informationen dazu finden Sie unter Regionale Verfügbarkeit.

Hinweise zu Kosten

Cortex Agents incur charges for the orchestration and use of tools.

  • The orchestration usage is charged based on the tokens used.

  • Cortex Analyst is charged per token.

  • Cortex Search charges depend on the size of the index and the time it has persisted.

  • Warehouse charges depend on the size of the warehouse and how long it runs.

For more information, see the Snowflake Service Consumption Table. Also, use of custom tools may incur warehouse costs.

Modelle

Mit Cortex Agents können die folgenden Modelle verwendet werden. Wenn das Modell in der lokalen Region nicht verfügbar ist, müssen Sie die regionenübergreifende Ableitung verwenden.

  • auto

  • claude-sonnet-4-5

  • claude-4-sonnet

  • claude-3-7-sonnet

  • claude-3-5-sonnet

  • openai-gpt-5

  • openai-gpt-4-1

Wenn Sie einen Agenten erstellen, empfehlen wir die Auswahl von auto für das Modell. Mit dieser Option wählt Cortex automatisch das beste Modell für Ihr Konto aus, und die Qualität verbessert sich automatisch, sobald neue Modelle verfügbar sind.

Cortex Agent-Konzepte

Cortex Agents verwenden Cortex Analyst, Cortex Search und kundenspezifische Tools, um Aufgaben zu planen und Antworten zu generieren. Sie können die Orchestrierung anhand von Anweisungen beeinflussen. Sie können auch Attribute angeben, um ein Tool auf der Grundlage von Geschäftslogik dynamisch auszuwählen.

Während einer Interaktion verwenden Agenten einen Thread, um den Kontext beizubehalten. Ein Thread ermöglicht das einfache Abrufen des gesamten Konversationskontexts, um ihn in der Anwendungslogik zu verwenden.

Sie können Feedback von Endbenutzern sammeln, während Sie den Agenten kontinuierlich iterieren und verfeinern. Ein expliziter Feedbackmechanismus (positiv/negative Bewertung), gekoppelt mit subjektivem Feedback (Text), ermöglicht es Ihnen, Benutzereingaben während des gesamten Lebenszyklus des Agenten zu erfassen.

Agentenobjekt

Die Konfiguration des Agenten umfasst alle Metadaten, Orchestrierungseinstellungen und Tooldetails, die im Agentenobjekt gespeichert sind. Sie können das Agentenobjekt verwenden, um mit dem Agenten zu interagieren.

Threads

Threads halten den Kontext Ihrer Interaktionen mit dem Agenten fest, sodass Sie den Kontext nicht in der Clientanwendung pflegen müssen. Um Threads zu verwenden, erstellen Sie ein Threadobjekt und verweisen in den Interaktionen mit Agenten auf die Thread-ID.

Orchestrierung

Cortex Agents nutzen eine LLM-basierte Orchestrierung zur Planung von Aufgaben und zur Generierung von Antworten. Sie können die Orchestrierung mit den folgenden Einstellungen steuern:

Modelle

Informationen über die Modelle, die Sie mit Cortex Agents für die Orchestrierung verwenden können, finden Sie unter Modelle.

Anleitung

Mithilfe von Antwortanweisungen können Sie die Antworten des Agenten entsprechend einer bestimmten Marke oder Tonalität konfigurieren.

Beispielfragen

Sie können diese Fragen verwenden, um die Konversation in Ihrer Clientanwendung zu unterstützen. Dies sind häufige Fragen, die Benutzern den Einstieg in die Interaktion erleichtern können.

Tools

Cortex Agents können die Orchestrierung sowohl über strukturierte als auch über unstrukturierte Daten vornehmen. Außerdem ermöglichen kundenspezifische Tools den Agenten die Interaktion mit anderen Backend-Systemen oder die Implementierung kundenspezifischer Logik.

Semantische Cortex Analyst-Ansicht

Sie können Cortex Analyst verwenden, um SQL-Abfragen aus natürlicher Sprache zu erstellen. Um Cortex Analyst zu verwenden, müssen Sie ein semantisches Modell erstellen. Weitere Informationen dazu finden Sie unter Ein semantisches Modell erstellen.

Cortex Search Service

Verwenden Sie Cortex Search, um Ihre Daten zu durchsuchen. Weitere Informationen dazu finden Sie unter CREATE CORTEX SEARCH SERVICE.

Bemerkung

Die DEFAULT_ROLE des abfragenden Benutzers muss über die Berechtigung USAGE für den Cortex Search Service sowie für die Datenbank und das Schema, in dem er sich befindet, verfügen.

Kundenspezifische Tools

Sie können gespeicherte Prozeduren und benutzerdefinierte Funktionen (UDFs) verwenden, um kundenspezifische Geschäftslogik als Tool zu implementieren. Weitere Informationen dazu finden Sie unter Übersicht zu gespeicherten Prozeduren und Überblick über benutzerdefinierte Funktionen.

Logisches Denken und Überlegen

Der Agent gibt während der gesamten Interaktion Ereignisse aus, die Einblicke in seinen „Denkprozess“ liefern. Diese Schritte umfassen das anfängliche Aufteilen der Aufgaben, das Sequenzieren in Unteraufgaben und die Auswahl der Tools für die Unteraufgabe. Darüber hinaus legt der Agent auch seine Überlegungen zu den Toolergebnissen offen und legt dar, wie diese die weitere Orchestrierung beeinflussen.

Überwachen und iterieren

Sie können das Feedback der Endbenutzer als Bewertung (positiv/negativ) zusammen mit etwaigen subjektiven Anmerkungen (als Text) sammeln. Diese können verwendet werden, um den Agenten über den Lebenszyklus hinweg zu verfeinern und zu verbessern.

Mit Agenten interagieren

Cortex Agents unterstützt zwei verschiedene Methoden der Interaktion mit Agenten über die REST API:

  • Konfigurieren eines Agentenobjekts zur Interaktion mit dem Agenten: Mit dieser Methode konfigurieren Sie zunächst ein Agentenobjekt, das für die gesamte Interaktion wiederverwendet werden kann. Die Konfiguration eines Agentenobjekts vereinfacht den Clientcode und ermöglicht CI/CD für unternehmensfähige Anwendungen.

  • Interaktion ohne Agentenobjekt: Bei dieser Methode müssen Sie die Agentenkonfiguration als Teil jeder Interaktionsanforderung übergeben. Die Interaktion ohne Agentenobjekt ermöglicht es Ihnen, Anwendungsfälle schnell auszuprobieren und mit verschiedenen Szenarien zu experimentieren.

Weitere Informationen zu diesen Methoden finden Sie unter Agents konfigurieren und mit ihnen interagieren.