laravel-ai-sdk について
Laravel AI SDKでAI機能を開発する人向けのリファレンススキルです。エージェント、ツール、埋め込み、メディア生成、ストレージ、インフラ、テストのルールと例をまとめています。
主な機能
- 01エージェントの設定・プロンプト・出力
- 02カスタムツールとプロバイダーツール
- 03埋め込み・検索・再ランキング
- 04画像と音声の生成
- 05ベクトルストアとRAG
- 06AI機能のテスト
活用シーン
- 01会話コンテキスト付きエージェントの作成
- 02画像または音声生成の追加
- 03埋め込みベース検索の構築
- 04プロンプトと生成メディアのテスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ asyrafhussin/ agent-skills --skill laravel-ai-sdkインストール後、Claude Code で/laravel-ai-sdkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
AGENTS.mdmetadata.jsonREADME.mdrules/agent-anonymous.mdagent-create-configure.mdagent-middleware.mdagent-prompting.mdagent-streaming-async.mdagent-structured-output.mdembed-generate-cache.mdembed-rerank.mdfiles-vector-stores.mdinfra-failover.mdmedia-audio-transcription.mdmedia-images.mdtest-agents.mdtest-data.mdtest-media.mdtool-create.mdtool-provider.md詳細
Laravel AI SDK
Laravel AI SDK(laravel/ai)を使用して、AI を活用した機能を構築するための包括的なガイドです。エージェント、ツール、メディア生成、エンベディング、ベクトルストア、テストを網羅する、7 つのカテゴリにわたる 17 のルールが含まれています。
適用するタイミング
以下の場合に、これらのガイドラインを参照してください。
- 指示、ツール、構造化出力を備えた AI エージェントを作成するとき
- 会話のコンテキストを含めてエージェントにプロンプトを送るとき
- エージェントの応答をストリーミングまたはキューに登録するとき
- 画像、音声、または文字起こしを生成するとき
- ベクトルエンベディングを作成してクエリするとき
- RAG(検索拡張生成)機能を構築するとき
- フェイクやアサーションを使って AI 機能をテストするとき
優先度別ルールカテゴリ
| 優先度 | カテゴリ | 影響度 | プレフィックス |
|---|---|---|---|
| 1 | エージェント | CRITICAL | agent- |
| 2 | ツール | HIGH | tool- |
| 3 | エンベディングと検索 | HIGH | embed- |
| 4 | メディア生成 | MEDIUM | media- |
| 5 | ファイルとストレージ | MEDIUM | files- |
| 6 | インフラストラクチャ | MEDIUM | infra- |
| 7 | テスト | HIGH | test- |
クイックリファレンス
1. エージェント(CRITICAL)
agent-create-configure- artisan と PHP 属性設定を使ってエージェントを作成しますagent-prompting- エージェントへのプロンプト、会話のコンテキスト、RemembersConversationsagent-structured-output- JSON スキーマを使った構造化出力agent-streaming-async- 応答のストリーミング、ブロードキャスト、キュー登録agent-middleware- エージェントのミドルウェアパイプラインagent-anonymous- 手早い対話のための匿名エージェント
2. ツール(HIGH)
tool-create- スキーマと handle メソッドを使ってカスタムツールを作成しますtool-provider- プロバイダーツール:WebSearch、WebFetch、FileSearch、SimilaritySearch
3. エンベディングと検索(HIGH)
embed-generate-cache- ベクトルエンベディングを生成、保存、キャッシュしますembed-rerank- 関連性に基づいてドキュメントとコレクションを再ランク付けします
4. メディア生成(MEDIUM)
media-images- 画像を生成、保存、キュー登録しますmedia-audio-transcription- テキスト読み上げと音声テキスト変換
5. ファイルとストレージ(MEDIUM)
files-vector-stores- RAG 用のファイルストレージとベクトルストア
6. インフラストラクチャ(MEDIUM)
infra-failover- 回復力を高めるプロバイダーの自動フェイルオーバー
7. テスト(HIGH)
test-agents- エージェントのフェイク、プロンプトのアサート、意図しないプロンプトの防止test-media- 画像、音声、文字起こしのフェイクtest-data- エンベディング、再ランク付け、ファイル、ベクトルストアのフェイク
基本パターン
エージェントの作成
<?php
namespace App\Ai\Agents;
use Laravel\Ai\Contracts\Agent;
use Laravel\Ai\Promptable;
class SalesCoach implements Agent
{
use Promptable;
public function instructions(): string
{
return 'You are a sales coach, analyzing transcripts and providing feedback.';
}
}
プロンプトの送信
use App\Ai\Agents\SalesCoach;
$response = SalesCoach::make()->prompt('Analyze this sales transcript...');
return (string) $response;
画像の生成
use Laravel\Ai\Image;
$image = Image::of('A donut sitting on the kitchen counter')
->landscape()
->generate();
$path = $image->store();
エンベディングの生成
use Illuminate\Support\Str;
$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();
テスト
use App\Ai\Agents\SalesCoach;
SalesCoach::fake(['First response', 'Second response']);
SalesCoach::make()->prompt('Analyze this...');
SalesCoach::assertPrompted('Analyze this...');
使用方法
詳しい説明とコード例については、個々のルールファイルをお読みください。
各ルールファイルには、以下が含まれています。
- メタデータ(タイトル、影響度、タグ)を記載した YAML フロントマター
- 重要な理由の簡単な説明
- 説明付きの悪い例
- 説明付きの良い例
- Laravel 13 と PHP 8.3 に固有のコンテキストと参考情報
コンパイル済みドキュメント全体
すべてのルールを展開した完全なガイドについては、AGENTS.md をご覧ください。
コメント
Markdown 対応