Gesprochene Zusammenfassung — drücke auf Play zum Mitlesen: die gesprochene Zeile bleibt oben.
Claude zu grüßen könnte dein Herz erwärmen, aber es ist nicht wirklich nützlich. In dieser Lektion werden wir Claude etwas Echtes senden und strukturierte Erkenntnisse zurückbekommen — in knapp unter 20 Codezeilen.
Erste Schritte
Zunächst holst du dir einen API key von platform. claude. com. Du musst vorher einige Credits kaufen.
Der Claude Console Dialog mit einem neu erstellten API key, einem Copy key Button und einer Warnung, dass der key nicht mehr angezeigt wird
Nimm den API key und speichere ihn in einer . env. local Datei, damit er aus deiner Versionskontrolle herausbleibt. API keys in Quelldateien hardcodieren ist der Weg, wie sie auf GitHub landen — halte sie stattdessen in Umgebungsdateien.
Installiere als Nächstes das SDK:
npm install @anthropic-ai/sdk
Die Anatomie einer Anfrage
Jeder API-Aufruf läuft durch die **messages. create** Funktion. Du spezifizierst drei Dinge:
- Ein model — welches Claude Modell die Anfrage bearbeitet
- Ein max tokens Limit — eine Obergrenze für die Länge der Antwort
- Eine Liste von messages — Objekte mit entweder user oder assistant Rollen, strukturiert ähnlich wie ein Gespräch mit Claude anderswo
So sieht das in seiner grundlegendsten Form aus:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const msg = await client. messages. create({ model: "claude-opus-4-7", max_tokens: 1024, messages: [{ role: "user", content: "Hello, Claude", }], });
Ein echtes Beispiel: Überprüfung fehlerhaften Codes
Geben wir Claude etwas Interessanteres als „Hallo". Wir zeigen es auf fehlerhaften Code und bitten um eine Überprüfung. Hier ist das Ganze — eine Datei, etwa 20 Codezeilen:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
const buggyCode = ` function add(a, b) { return a - b; } `;
const response = await client. messages. create({ model: "claude-opus-4-8", max_tokens: 1024, system: "You are a terse senior code reviewer. Give feedback in one paragraph. ", messages: [ { role: "user", content: Review this code:\n${buggyCode} }, ], });
for (const block of response. content) { if (block. type === "text") { console. log(block. text); } }
Zwei Dinge sind hier zu beachten:
- Der system prompt ist der Ort, an dem du die Persona formst. Ich möchte einen prägnanten Senior Reviewer, keinen geschwätzigen — also sage ich das einfach.
- Das **message. content in der Antwort ist ein Array von Blöcken**, kein String. Bei einer einfachen Textantwort gibt es normalerweise nur einen Block vom Typ text, aber Claude kann mehrere Blöcke zurückgeben — Text, Tool-Aufrufe, Denken — also loopen wir immer und prüfen den Typ.
Führe es aus, und Claude bemerkt, dass add subtrahiert, und teilt dir das in einem Absatz mit. Das ist alles. Das ist der ganze API-Aufruf.
Terminal-Ausgabe vom Ausführen des Scripts: Claude antwortet, dass die Funktion add heißt, aber Subtraktion verwendet, und schlägt vor, return a - b in return a + b zu ändern
Vom Script zum Produkt
In einem echten Produkt ist diese gleiche messages. create Form das Herzstück von etwas wie einem Zusammenfassungs-Endpoint. Ziehe ein Meeting-Transkript aus der Datenbank, übergebe es Claude mit einem system prompt, der sagt „extrahiere Erkenntnisse und Risiken", speichere das Ergebnis zurück in der Zeile und gebe es an die UI zurück. Es ist der gleiche Aufruf — nur in einen Route Handler verpackt.
Ein Meetings Dashboard in einer Demo-Web-App mit aufgezeichneten Projektmeetings, jeweils mit einer Transkript-Vorschau und einem Generate summary Button, der vom gleichen API-Aufruf angetrieben wird
Zusammenfassung
- Dein erster API-Aufruf ist eine **messages. create Funktion mit einem model, einem token Limit und messages**.
- Speichere deinen API key in einer . env. local Datei, um ihn aus der Versionskontrolle herauszuhalten.
- Füge einen system prompt hinzu, um Claudes Verhalten zu formen.
- Die Antwort content ist ein Array von Blöcken — loope und prüfe den type jedes Blocks.
- Von hier an baut alles auf diesem Muster auf.