Schnellstart für Cortex Code Agent-SDK¶
Dieses Thema führt Sie durch die Erstellung einesAI Agent, der ein Datenpipeline-Skript liest, Fehler findet und diese automatisch mithilfe des Cortex Code Agent-SDK behebt.
Vorgehensweise:
Einrichten eines Projekts mit dem Cortex Code Agent-SDK
Erstellen eines Datenpipeline-Skripts mit einigen Fehlern
Ausführen eines Agenten, der die Fehler ohne manuelles Eingreifen findet und behebt
Voraussetzungen¶
Node.js 22+ (für TypeScript) oder Python 3.10+ (für Python).
Snowflake-Verbindung, über Snowflake-CLI-Verbindungseinstellungen konfiguriert – normalerweise in:file:
~/.snowflake/connections.tomlmit~/.snowflake/config.toml; wird auch für bestehende Setups unterstützt (siehe Verbindungen konfigurieren):
Setup¶
1. Installieren der Cortex Code-CLI¶
Installieren der CLI:
Verifizieren der Installation:
2. Einrichten des Projekts¶
Erstellen und Eingabe eines Projektverzeichnisses:
3. SDK installieren¶
Erstellen eines Datenpipeline-Skripts¶
Erstellen eines Datenpipeline-Skripts mit einigen absichtlichen Fehlern, die der Agent beheben soll:
Dieser Code hat zwei Fehler:
computeConversionRate/compute_conversion_ratedividiert durchclicks, ohne auf null zu prüfen. Dadurch wird bei Kampagnen ohne KlicksNaNoderInfinity(TypeScript) zurückgegeben oder einZeroDivisionError(Python) ausgelöst.formatReport/format_reportruftmax/reducefür die Ergebnisliste auf, ohne zu prüfen, ob diese leer ist. Dadurch wird einValueError(Python) oderTypeError(TypeScript) ausgelöst, wenn keine Zeilen vorhanden sind.
Erstellen eines Agenten, der Fehler findet und behebt¶
Dieser Code besteht aus drei Hauptteilen:
Abfrage: Der Haupteinstiegspunkt, der die Agentenschleife erzeugt. Sie gibt einen asynchronen Iterator zurück, den Sie in der Syntax der asynchronen Schleife Ihrer Sprache verwenden, um Nachrichten zu streamen, während der Agent funktioniert. Vollständige Informationen zur API sehen Sie in der Referenz TypeScript oder Python.
Aufforderung: Was der Agent tun soll. Teilt dem Agenten mit, welche Aufgabe er erledigen soll.
Optionen: Konfiguration für den Agenten.
connectiongibt an, mit welcher Snowflake-CLI-Verbindung authentifiziert werden soll.allowedToolslegt fest, welche Tools ohne Aufforderung automatisch genehmigt werden, unddisallowedToolskann Tools vollständig blockieren. Weitere Optionen sindmodel,mcp_serversund mehr.
Die Streaming-Schleife wird ausgeführt, während der Agent denkt, Tools aufruft, die Ergebnisse beobachtet und entscheidet, was als Nächstes zu tun ist. Jede Iteration ergibt eine Nachricht: die Argumentation des Agenten, einen Aufruf des Tools, ein Ergebnis des Tools oder das Endergebnis. Das SDK übernimmt die Orchestrierung.
Ausführen des Agenten¶
Überprüfen Sie nach der Ausführung Ihre Berichtsdatei. Sie sehen temporären Code, der leere Ergebnisse und Null-Kauf-Kampagnen verwaltet. Ihr unabhängiger Agent:
Lesen Sie die Datei, um den Code zu verstehen.
Analyse der Logik und identifizierten Grenzfälle, die zu einem Absturz führen könnten.
Bearbeitung der Datei, um eine korrekte Fehlerbehandlung hinzuzufügen.
Multi-Turn-Konversationen¶
Für interaktive Sitzungen, bei denen Sie mehrere Eingabeaufforderungen mit gemeinsamem Kontext senden, verwenden Sie die Client-API:
Ausprobieren anderer Eingabeaufforderungen¶
Jetzt, wo Ihr Agent eingerichtet ist, probieren Sie verschiedene Eingabeaufforderungen aus:
"Add comprehensive type hints to all functions in report.py""Write a SQL query that finds the top 10 campaigns by conversion rate""Add input validation to all functions in report.py""Create a README.md documenting the functions in report.py"
Die wichtigsten Konzepte¶
Berechtigungsmodi¶
Berechtigungsmodi steuern den Grad der menschlichen Überwachung bei Tool-Aufrufen:
Modus |
Verhalten |
Anwendungsfall |
|---|---|---|
|
Führt jedes Tool ohne Eingabeaufforderungen aus. Erfordert |
Sandboxbasierte CI, vollständig vertrauenswürdige Umgebungen |
|
Verwendet Standardberechtigungsprüfungen. Konfigurieren Sie in SDK-Sitzungen |
Gesteuerte Workflows mit expliziter Berechtigungsrichtlinie |
|
Genehmigt Plananfragen und Bestätigungen zum Verlassen eines Plans automatisch. Die normalen Tool-Berechtigungen werden nicht umgangen. |
Spezialisierte Workflows, die möchten, dass Genehmigungen für Pläne automatisch erteilt werden |
|
Startet im Planungsmodus; die Genehmigung von |
Code-Überprüfung, Analyse |
Für eine präzisere Kontrolle über einzelne Tool-Aufrufe verwenden Sie``canUseTool``-Callback. Weitere Informationen erhalten Sie unter Verarbeitung von Genehmigungen und Benutzereingaben.
Nächste Schritte¶
Verarbeitung von Genehmigungen und Benutzereingaben: Steuern Sie mit dem Callback
canUseTool, welche Tools der Agent verwenden darf.TypeScript SDK-Referenz: Vollständige API-Dokumentation für
query(),createCortexCodeSession(), Typen und Ereignisse.Python-SDK-Referenz: Vollständige API-Dokumente für
query(),``CortexCodeSDKClient``, MCP–Tools und -Hooks.
Rechtliche Hinweise¶
Wenn Ihre Cortex Code-Konfiguration ein Modell verwendet, das im Rahmen der Modell- und Service-Pass-Through-Bedingungen bereitgestellt wurde, unterliegt Ihre Nutzung dieses Modells zusätzlich den Bedingungen für dieses Modell auf dieser Seite.
Die Datenklassifizierung der Eingaben und Ausgaben ist in der folgenden Tabelle aufgeführt.
Klassifizierung von Eingabedaten |
Klassifizierung von Ausgabedaten |
Benennung |
|---|---|---|
Usage Data |
Kundendaten |
Abgedeckte AI-Features [1] |
Weitere Informationen dazu finden Sie unter KI und ML in Snowflake.