develop-ai-functions-example
von verceldevelop-ai-functions-example unterstützt dich dabei, lauffähige AI SDK-Beispiele in `vercel/ai` unter `examples/ai-functions/src/` zu erstellen oder anzupassen. Damit wählst du die passende Kategorie, hältst Repo-Konventionen ein und baust schlanke Beispiele für Providervalidierung, Demos oder Fixtures.
Diese Skill-Bewertung liegt bei 67/100. Damit ist der Eintrag für Verzeichnisnutzer vertretbar, die bereits im Vercel AI-Repo arbeiten, als eigenständige Entscheidungsseite für eine Installation ist er aber nur bedingt stark. Die Hinweise im Repository zeigen einen echten Workflow zum Erstellen oder Anpassen von Beispielen unter `examples/ai-functions/src`, mit konkreten Beispielkategorien und wahrscheinlich auch Ausführungshinweisen. So lässt sich ein Agent gezielter in den richtigen Bereich lenken als mit einem allgemeinen Prompt. Gleichzeitig ist der Skill als `internal: true` markiert, trägt ein experimentelles bzw. testnahes Signal und enthält weder Support-Dateien noch einen Installationsbefehl. Das begrenzt Vertrauen und Übertragbarkeit für eine breitere Nutzung.
- Klar abgegrenzter Einsatzbereich: Die Beschreibung sagt deutlich, wann der Skill zum Erstellen, Ausführen oder Anpassen von AI-Funktionsbeispielen unter `examples/ai-functions/src` gedacht ist.
- Fundierte Workflow-Struktur: Der Skill ordnet Beispielkategorien wie `generateText`, `streamText`, `generateObject`, Embeddings, Bilder, Sprache, Transkription, Reranking und Agent-Workflows.
- Umfangreiche schriftliche Anleitung: `SKILL.md` ist lang, enthält mehrere Workflow- und Constraint-Hinweise, Codeblöcke und Repo-Pfadverweise statt bloßer Platzhalter.
- Der beste Einsatzbereich ist eng: In den Metadaten ist der Skill als `internal: true` gekennzeichnet und wirkt damit eher auf Mitwirkende im Vercel AI-Repository zugeschnitten als auf allgemeine Nutzer.
- Die Einstiegsklarheit ist begrenzt: Es gibt keinen Installationsbefehl und keine Support-Dateien, Skripte oder Verweise, die neuen Nutzern helfen würden, den Workflow eigenständig auszuführen.
Überblick über die develop-ai-functions-example-Skill
Wofür develop-ai-functions-example gedacht ist
Die Skill develop-ai-functions-example ist eine gezielte Build-Anleitung, um lauffähige Beispiele in examples/ai-functions/src/ innerhalb des Repositories vercel/ai zu erstellen oder anzupassen. Ihr Zweck ist nicht allgemeines Prompting. Sie hilft dabei, Beispiele zu erzeugen, die zu den Konventionen des Repositories für AI SDK-Funktionsdemos, Provider-Validierung und fixture-artige Beispiele passen.
Für wen sich diese Skill eignet
Nutze die Skill develop-ai-functions-example, wenn du:
- ein neues Beispiel für eine AI SDK-Funktion hinzufügen willst
- ein Beispiel auf einen anderen Provider anpassen möchtest
- prüfen willst, ob ein Provider ein bestimmtes Feature unterstützt
- ein minimales Repro oder eine Fixture im bestehenden Beispielbaum anlegen willst
- dich an der Repo-Struktur orientieren möchtest, statt ein eigenes Muster zu erfinden
Wenn du lediglich ein LLM abstrakt fragen willst, wie generateText() funktioniert, ist diese Skill wahrscheinlich enger gefasst, als du brauchst.
Die eigentliche Aufgabe, die sie löst
Die meisten Nutzer suchen keinen Fließtext. Sie wollen ein funktionierendes Beispiel im richtigen Ordner, in der richtigen Form, mit der richtigen SDK-Funktion und mit weniger repo-spezifischen Fehlern. Am treffendsten versteht man develop-ai-functions-example als repo-bewussten Implementierungsassistenten für den Bereich der AI Functions-Beispiele.
Was sie von einem generischen Coding-Prompt unterscheidet
Ein generischer Prompt kann Beispielcode entwerfen, verfehlt aber oft die lokale Taxonomie und die Logik der Dateiplatzierung. Diese Skill ergänzt praktischen Kontext wie:
- die Beispielkategorien, die unter
examples/ai-functions/src/bereits vorhanden sind - die erwartete Zuordnung zwischen Feature-Typ und Zielverzeichnis
- den Zweck dieser Beispiele im Repository: Validierung, Demonstration und Fixtures
- eine klare Ausrichtung auf minimale, lauffähige Beispiele statt breiter Tutorials
Am besten passender Einsatzbereich
Am stärksten passt develop-ai-functions-example for Skill Examples für Arbeit in diesen Kategorien:
generate-text/stream-text/generate-object/stream-object/agent/embed/embed-many/generate-image/generate-speech/transcribe/rerank/middleware/
Dieser Fokus ist wichtig. Die Skill ist für die Entwicklung von Beispielen innerhalb dieses Repo-Layouts optimiert, nicht für das Design einer App, einer SDK-API-Oberfläche oder einer Produktionsarchitektur.
So verwendest du die develop-ai-functions-example-Skill
Installationskontext und wo sie greift
Nutze die Hinweise zu develop-ai-functions-example install im Kontext des Repositories vercel/ai oder wenn du dessen Beispielstruktur nachbilden willst. Ein typisches Setup ist:
npx skills add vercel/ai --skill develop-ai-functions-example
Rufe die Skill dann auf, wenn deine Aufgabe konkret darin besteht, Beispieldateien unter examples/ai-functions/src/ zu erstellen, zu bearbeiten oder zu validieren.
Zuerst die richtige Beispielkategorie wählen
Bevor du nach Code fragst, bestimme die Ziel-Funktionsfamilie. Das ist die Entscheidung mit dem größten Hebel, weil sie sowohl den Ordner als auch die Form des Beispiels festlegt.
Beispiele:
- einfache einmalige Textausgabe →
generate-text/ - Token- oder Chunk-Streaming →
stream-text/ - schema-begrenzte strukturierte Ausgabe →
generate-object/ - gestreamte strukturierte Ausgabe →
stream-object/ - Embeddings für eine Eingabe →
embed/ - Embeddings für Batches →
embed-many/ - Tool-gestützter mehrstufiger Workflow →
agent/
Wenn du diesen Schritt überspringst, verwendet das erzeugte Beispiel möglicherweise die falsche API.
Welche Eingaben die Skill von dir braucht
Die Qualität von develop-ai-functions-example usage hängt stark davon ab, wie konkret deine Anfrage ist. Gib nach Möglichkeit an:
- die Ziel-Funktion, etwa
generateObject()oderstreamText() - Provider und Modell, falls bekannt
- ob das Beispiel für Validierung, docs-artige Demonstration oder als Test-Fixture gedacht ist
- erwartete Ein- und Ausgaben
- ob Streaming, Tools, Schema-Validierung oder Middleware erforderlich sind
- eventuelle Vorgaben zu Abhängigkeiten, Dateinamen oder Umgebungsvariablen
Eine schwache Eingabe:
- „Mach ein AI-Beispiel.“
Eine stärkere Eingabe:
- „Erstelle ein minimales
generateObject()-Beispiel unterexamples/ai-functions/src/generate-object/, das strukturierte Extraktion aus Produktbewertungstext mit einem Zod-Schema und einem in diesem Repo unterstützten Provider testet.“
Aus einem groben Ziel einen skill-tauglichen Prompt machen
Ein guter develop-ai-functions-example guide-Prompt benennt Ergebnis, Zielverzeichnis, Funktion und Validierungsabsicht.
Nützliches Muster:
- was erstellt werden soll
- wo es liegen soll
- welche AI SDK-Funktion verwendet werden soll
- welche Provider-Annahmen erlaubt sind
- wie minimal oder produktionsnah das Ergebnis sein soll
- woran Erfolg gemessen wird
Beispiel-Prompt:
„Verwende develop-ai-functions-example, um ein minimales Beispiel in examples/ai-functions/src/stream-text/ zu erstellen, das streamText() mit einem bereits im Repo verwendeten Provider zeigt. Halte es kurz, lauffähig und klar auf gestreamte Ausgabe statt auf App-Integration fokussiert. Nenne alle erforderlichen env vars und erkläre, warum dieses Beispiel in stream-text/ und nicht in generate-text/ gehört.“
Zuerst SKILL.md lesen, dann benachbarte Beispiele prüfen
Diese Skill hat nur eine sichtbare Support-Datei: SKILL.md. Lies sie zuerst, weil sie die Kategoriekarte und die repo-spezifische Absicht festhält. Danach solltest du die benachbarten Beispiele im Zielverzeichnis ansehen, das du ändern willst. So erkennst du lokales Naming und Coding-Muster meist schneller, als wenn du breite Repo-Dokumentation liest.
Praktische Reihenfolge beim Lesen:
skills/develop-ai-functions-example/SKILL.md- Zielordner unter
examples/ai-functions/src/ - ein oder zwei benachbarte Beispiele, die deinem geplanten Feature am nächsten kommen
- alle provider-spezifischen Imports oder env-Muster, die in der Nähe verwendet werden
Das Beispiel an seinen Zweck anpassen
Das Repository nutzt Beispiele nicht nur zur Dokumentation. In deinem Prompt sollte stehen, auf welchen dieser Zwecke du optimierst:
- Validierung von Provider-Support
- Feature-Demonstration
- reproduzierbare Fixture
- iterative Experimente
Warum das wichtig ist:
- Validierungsbeispiele sollten minimal und explizit sein
- Demo-Beispiele sollten das zentrale API-Verhalten hervorheben
- Fixtures sollten unnötige Variation vermeiden
- Experimente dürfen etwas roher sein, brauchen aber trotzdem die richtige Ordnerzuordnung
Das Ergebnis minimal, aber lauffähig halten
Die besten Ausgaben der develop-ai-functions-example-Skill machen meist weniger, nicht mehr. Frag gezielt nach:
- einem klaren Funktionsaufruf
- nur den nötigen Imports
- offensichtlichen Eingaben
- kleiner, klarer Ausgabebehandlung
- explizit genannten env vars
- keinem Framework-Scaffolding, sofern der Ordner das nicht bereits erwartet
So reduzierst du False Positives, bei denen das Modell App-Code hinzufügt, der das eigentliche SDK-Verhalten verdeckt, das du demonstrieren wolltest.
Repository-Pfade, die du explizit nennen solltest
Wenn du repo-konforme Ergebnisse willst, nenne Pfade direkt in deiner Anfrage. Nützliche Pfade sind:
examples/ai-functions/src/generate-text/examples/ai-functions/src/stream-text/examples/ai-functions/src/generate-object/examples/ai-functions/src/stream-object/examples/ai-functions/src/agent/examples/ai-functions/src/embed/examples/ai-functions/src/embed-many/
Direkte Pfadangaben helfen der Skill, das richtige Muster zu wählen, statt ein neutrales Beispiel zu erfinden.
Praktischer Workflow zum Erstellen eines neuen Beispiels mit develop-ai-functions-example
Ein zuverlässiger Workflow ist:
- Ziel-Funktionsfamilie bestimmen
- benachbarte Beispiele in diesem Ordner prüfen
- die Skill mit Ordner, Funktion, Provider und Zweck prompten
- das erste Beispiel erzeugen
- alles entfernen, was für Validierung oder Demonstration nicht nötig ist
- es gegen den vorgesehenen Provider ausführen
- Benennung, Eingaben und env-Handling an die benachbarten Dateien anpassen
Das ist meist schneller, als blind nach einem vollständigen Beispiel zu fragen und es anschließend mühsam an das Repo anzupassen.
Wann du diese Skill statt eines gewöhnlichen Prompts verwenden solltest
Nutze develop-ai-functions-example usage, wenn das Hauptrisiko ein Repo-Mismatch ist: falscher Ordner, falsche AI SDK-Funktion, falsches Komplexitätsniveau oder eine Demo, die nicht in den Beispielbaum passt. Nutze einen gewöhnlichen Prompt, wenn du breitere Architekturhilfe außerhalb von examples/ai-functions/src/ brauchst.
FAQ zur develop-ai-functions-example-Skill
Ist develop-ai-functions-example nur für das Repo vercel/ai gedacht
Dort ist sie am nützlichsten, weil die Skill an der Beispiel-Taxonomie in examples/ai-functions/src/ verankert ist. Du kannst sie trotzdem als Muster für dein eigenes Examples-Repo verwenden, aber der Mehrwert sinkt, wenn dir diese Struktur nicht wichtig ist.
Ist diese Skill einsteigerfreundlich
Ja, sofern du bereits weißt, welches Feature du demonstrieren willst. Sie verkleinert den Entscheidungsraum, indem sie dein Ziel der richtigen Beispielkategorie zuordnet. Weniger einsteigerfreundlich ist sie, wenn du noch zwischen Textgenerierung, strukturierter Generierung, Embeddings, Agents oder Middleware abwägst.
Was macht sie besser als eine einfache Coding-Anfrage
Der Hauptvorteil ist die bessere Repo-Passung. develop-ai-functions-example hilft dir, Fehler zu vermeiden wie ein Structured-Output-Beispiel in einem einfachen Textordner abzulegen, für eine Streaming-Demo eine nicht-streamende API zu verwenden oder eine Fixture mit irrelevanter App-Logik zu überbauen.
Wann sollte ich develop-ai-functions-example nicht verwenden
Verwende sie nicht, wenn du Folgendes brauchst:
- Produktions-App-Architektur
- Leitlinien zur UI-Integration
- ein generisches AI SDK-Tutorial
- repo-übergreifende Refactoring-Beratung
- Evaluations- oder Benchmarking-Strategien jenseits der Beispielerstellung
Sie ist bewusst eng zugeschnitten.
Muss ich den genauen Provider vorher kennen
Nicht unbedingt, aber die Ausgabe wird besser, wenn du einen angibst. Falls du ihn nicht kennst, bitte um einen Provider, der in benachbarten Beispielen bereits verwendet wird, damit sich die erzeugte Datei leichter gegen bestehende Repo-Muster validieren lässt.
Kann sie auch bei bestehenden Beispielen helfen, nicht nur bei neuen
Ja. Sie ist nützlich, um ein vorhandenes Beispiel zu ändern oder zu schärfen, insbesondere wenn du die SDK-Funktion wechseln, Provider austauschen, ein Repro vereinfachen oder eine Datei an die richtige Kategorie anpassen willst.
So verbesserst du die develop-ai-functions-example-Skill
Gib der Skill ein konkretes Repository-Ziel
Die wirksamste Verbesserung ist, den exakten Zielordner und die Funktion zu nennen. Vergleich:
Schwach:
- „Füge ein Beispiel für Objektextraktion hinzu.“
Stark:
- „Verwende
develop-ai-functions-example, um ein minimalesgenerateObject()-Beispiel unterexamples/ai-functions/src/generate-object/hinzuzufügen, das Rechnungsfelder aus Klartext extrahiert und validiertes JSON ausgibt.“
Die stärkere Version beseitigt Unklarheit bei API-Auswahl und Dateiplatzierung.
Den Zweck des Outputs von Anfang an nennen
Für Nutzer ist am wichtigsten, ob das Beispiel Support nachweisen, Verwendung erklären oder als Fixture dienen soll. Schreib das in den ersten Satz deines Prompts. Die Form des Codes ändert sich oft je nach dieser Entscheidung.
Overengineering im ersten Entwurf verhindern
Ein häufiger Fehlmodus ist eine Antwort mit zusätzlichen Wrappern, App-Scaffolding oder vermischten Verantwortlichkeiten. Bitte explizit um:
- minimalen Code
- genau eine Aufgabe
- keine UI
- kein Framework-Setup
- nur die wirklich nötigen Kommentare
So bleibt das Beispiel am Beispielbaum ausgerichtet, statt zu einer Mini-App zu werden.
Um lokales Pattern-Matching bitten
Um die Ergebnisse der develop-ai-functions-example-Skill zu verbessern, sag dem Modell, es solle benachbarte Beispiele bei Benennung, Imports und env-Handling nachahmen. Diese kleine Anweisung bringt oft mehr als die Bitte um „best practices“.
Beispiel:
- „Orientiere dich am Stil der benachbarten Dateien in
examples/ai-functions/src/stream-text/und führe kein neues Muster ein, wenn es nicht nötig ist.“
Bei Eingaben und erwarteter Ausgabeform konkret sein
Ein weiterer häufiger Fehlmodus ist vage Demo-Logik. Wenn du Beispiel-Eingaben und die erwartete Ausgabe spezifizierst, lässt sich das Beispiel leichter validieren.
Bessere Prompt-Details:
- Eingabetext oder Payload
- erwartete Form der Antwort
- ob die Ausgabe gestreamt, geloggt oder schema-validiert werden soll
- was als Erfolg gelten soll
Durch Eingrenzen iterieren, nicht durch Ausweiten
Nach dem ersten Entwurf verbesserst du den Prompt am besten, indem du Mehrdeutigkeiten entfernst:
- ersetze „some provider“ durch einen konkreten Provider
- ersetze „an object“ durch ein Schema
- ersetze „example script“ durch das Zielverzeichnis
- ersetze „works“ durch eine testbare Erwartung an die Ausgabe
Der beste Iterationspfad für develop-ai-functions-example ist meist ein engerer Scope, nicht mehr Features.
Kategorien-Passung prüfen, bevor du das Ergebnis akzeptierst
Bevor du das Ergebnis übernimmst, frag dich:
- Ist das der richtige Ordner für die verwendete Funktion?
- Ist das Beispiel minimal genug für Validierung?
- Zeigt es ein zentrales Verhalten klar?
- Würde ein Maintainer sofort verstehen, warum es hier hingehört?
Wenn nicht, überarbeite zuerst den Prompt statt direkt den Code. Das ist oft der schnellere Fix.
Prompts mit Provider- und Umgebungsannahmen verbessern
Wenn das Beispiel von Credentials oder provider-spezifischem Verhalten abhängt, sag das direkt. Sonst erzeugt das Modell womöglich Code, der technisch plausibel ist, sich im Repository aber schwer ausführen lässt.
Nützliche Ergänzungen:
- benötigte env-Variablennamen
- Annahmen zum Provider-SDK
- Modellname, wenn Stabilität wichtig ist
- ob Fallbacks akzeptabel sind
Benachbarte Beispiele als Abnahmekriterium nutzen
Eine praktische Methode, die Ausgabequalität zu verbessern, ist, die erzeugte Datei an benachbarten Beispielen zu messen statt an generischen Coding-Standards. Wenn sie deutlich komplexer, weniger fokussiert oder strukturell anders wirkt als ihre Nachbarn, bitte um eine Neufassung, die sich am lokalen Muster orientiert.
