Laravel 13 AI SDK: Erste Schritte mit Claude als Provider
Ein erster Tool-Calling-Agent in 30 Minuten. Provider-agnostisch über die Laravel AI SDK, mit Claude im Hintergrund.
Was die AI SDK leistet
Provider-agnostische Tool-Calls aus Laravel heraus
Die Laravel AI SDK gibt Ihnen eine einheitliche API für Tool-Use, Streaming und strukturierte Outputs - egal ob Sie Claude, OpenAI oder ein lokales Modell ansprechen. Das ist nicht „noch eine LLM-Bibliothek“, sondern eine Provider-Abstraktion, mit der Sie Ihre Domain-Tools (Datenbank-Queries, Statamic-Entries, Stripe-Lookups) als first-class Tool-Calls registrieren. Der erste lauffähige Agent steht in ungefähr einer halben Stunde.
Installation und Provider-Konfiguration
Das Paket landet als ganz normale Composer-Dependency in der Laravel-App. In der ai.php registrieren Sie Claude als Default-Provider und legen den API-Key sauber in der env-Datei ab. Wer mehrere Provider gleichzeitig nutzen will (z. B. Claude für Reasoning, ein lokales Modell für Klassifikation), pflegt mehrere Konfigurationen nebeneinander und ruft sie per Name auf.
composer require laravel/ai
php artisan vendor:publish --tag=ai-config
# .env
AI_DEFAULT=claude
ANTHROPIC_API_KEY=sk-ant-...
Ein Tool registrieren
Tools sind in der AI SDK kleine PHP-Klassen mit deklariertem Input-Schema und einer handle-Methode. Claude entscheidet zur Laufzeit, wann es das Tool aufruft und welche Argumente es übergibt. Hier ein Beispiel-Tool, das eine Statamic-Entry-Suche kapselt - damit kann Claude beliebige Glossar-Begriffe nachschlagen, ohne dass wir ein extra Endpoint dafür bauen müssen.
<?php
namespace App\AI\Tools;
use Laravel\AI\Attributes\Description;
use Laravel\AI\Tool;
use Statamic\Facades\Entry;
#[Description('Look up a glossary term by title and return its short definition.')]
class GlossaryLookup extends Tool
{
public function handle(
#[Description('The exact glossary title to look up.')]
string $title,
): array {
$entry = Entry::query()
->where('collection', 'glossary')
->where('title', $title)
->first();
return [
'found' => (bool) $entry,
'definition' => $entry?->get('short_definition'),
'url' => $entry?->url(),
];
}
}
Den Agenten aufrufen
Aus jeder Stelle der App heraus können Sie Claude jetzt mit Ihrem Tool-Inventar ansprechen. Die SDK kümmert sich um den Tool-Call-Loop: Claude antwortet, fragt nach Tool-Ausführung, Sie liefern das Ergebnis, und Claude formuliert die finale Antwort. Für UI-Zwecke gibt es Streaming, für Background-Jobs den klassischen synchronen Aufruf in einer Queue.
use App\AI\Tools\GlossaryLookup;
use Laravel\AI\Facades\AI;
$answer = AI::chat()
->tools([GlossaryLookup::class])
->message('Was ist der Unterschied zwischen Headless CMS und Monolith?')
->generate();
return view('glossary.answer', ['answer' => $answer->text()]);
Artikel teilen
Hat das geholfen? Wir machen Audit, Workshop oder Coaching auch live
Pakete direkt im Shop. Unser Standard-Tagessatz liegt bei 1.500 € netto.