Teknologi

Laravel AI SDK 1.0 Hadir dengan Fitur Cerdas dan Kontrol Tool

×

Laravel AI SDK 1.0 Hadir dengan Fitur Cerdas dan Kontrol Tool

Sebarkan artikel ini
Laravel AI SDK 1.0 dengan fitur classification dan tool approvals

Laravel AI SDK 1.0 Hadir dengan Fitur Cerdas dan Kontrol Tool

Laravel AI SDK 1.0 resmi dirilis dengan sejumlah kemampuan baru yang semakin memperkuat integrasi kecerdasan buatan dalam aplikasi Laravel. Versi terbaru ini membawa fitur classification, dukungan streaming untuk protokol Vercel Chat dan AG-UI, serta mekanisme persetujuan penggunaan tool oleh pengguna.

Laravel AI SDK merupakan package resmi Laravel yang menyediakan API terpadu untuk berinteraksi dengan berbagai penyedia AI. Dengan pendekatan tersebut, developer dapat membangun agent, menggunakan tools, menghasilkan output terstruktur, memproses gambar dan audio, hingga membuat embedding melalui antarmuka yang dirancang khusus untuk ekosistem Laravel.

Rilis Laravel AI SDK 1.0 juga membawa beberapa perubahan yang bersifat breaking change. Karena itu, developer yang sudah menggunakan versi sebelumnya perlu memeriksa panduan upgrade sebelum menerapkannya pada aplikasi production.

Laravel AI SDK 1.0 Membawa Classification

Salah satu fitur baru yang menjadi sorotan dalam Laravel AI SDK 1.0 adalah classification. Kemampuan ini dirancang untuk kebutuhan yang membutuhkan keputusan cepat berdasarkan input tertentu, misalnya menentukan apakah tiket dukungan pelanggan bersifat mendesak atau menentukan departemen yang harus menangani sebuah permintaan.

Classification kini menjadi kemampuan tersendiri di dalam SDK, berdampingan dengan kemampuan seperti text, images, audio, dan embeddings.

Developer dapat memberikan beberapa pertanyaan sekaligus dan memperoleh hasil dengan tipe data yang telah ditentukan. Jenis pertanyaan yang tersedia mencakup Boolean, Choice, dan Score.

Contohnya, sebuah sistem customer service dapat menentukan apakah sebuah pesan membutuhkan respons segera sekaligus memilih departemen yang paling sesuai.

use Laravel\Ai\Classification;
use Laravel\Ai\Classification\Boolean;
use Laravel\Ai\Classification\Choice;

$response = Classification::of($ticket->body)->questions([
    'is_urgent' => new Boolean('Apakah pesan ini menunjukkan kondisi mendesak?'),

    'department' => new Choice('Tim mana yang harus menangani pesan ini?', [
        'billing' => 'Pembayaran, faktur, dan pengembalian dana',
        'technical' => 'Bug, gangguan, dan integrasi',
        'sales' => 'Harga, paket, dan upgrade',
    ]),
])->classify();

Selain Boolean dan Choice, tersedia tipe Score yang menghasilkan nilai antara 0.0 hingga 1.0. Untuk kebutuhan sederhana seperti mendeteksi spam, developer juga dapat menggunakan macro Str::decide.

Pada saat rilis, classification didukung oleh TypeSafe dan OpenRouter. Laravel juga menyebutkan rencana menambahkan provider lain yang menyediakan model serupa.

Streaming Vercel Chat dan AG-UI Kini Didukung

Laravel AI SDK 1.0 juga memperluas kemampuan integrasi dengan frontend melalui dukungan terhadap protokol Vercel Chat dan AG-UI.

Dengan dukungan ini, aplikasi Laravel dapat menerima request serta melakukan streaming response menggunakan protokol yang telah digunakan oleh sejumlah library frontend.

Contoh implementasi route untuk Vercel Chat dapat dibuat seperti berikut:

use Illuminate\Http\Request;
use Laravel\Ai\Vercel\Vercel;

Route::post('/chat', function (Request $request) {
    $chat = Vercel::chat($request);

    return (new SupportAgent)
        ->withMessages($chat->history())
        ->stream($chat)
        ->usingProtocol($chat->protocol());
});

Route tersebut dapat membaca pesan baru, memperbarui riwayat percakapan di database, serta memproses persetujuan tool yang diberikan pengguna.

Untuk aplikasi yang menggunakan AG-UI, developer dapat menggunakan usingAgentUserInteractionProtocol() pada proses streaming. SDK juga menyediakan Vercel::toUiMessages() untuk mengubah pesan tersimpan kembali ke format yang dapat digunakan oleh client ketika halaman chat dimuat ulang.

Kontrol Tool Kini Bisa Membutuhkan Persetujuan

Salah satu kemampuan yang semakin penting dalam Laravel AI SDK 1.0 adalah mekanisme persetujuan terhadap penggunaan tool.

Agent AI terkadang membutuhkan kemampuan untuk melakukan tindakan tertentu melalui tool. Tindakan tersebut dapat berupa operasi yang memiliki konsekuensi terhadap data atau sistem aplikasi.

Melalui fitur approvable tool calls, developer dapat membuat tool berhenti sementara sampai pengguna memberikan persetujuan.

Sebuah tool dapat menggunakan kontrak Approvable bersama trait InteractsWithApprovals.

use Laravel\Ai\Concerns\InteractsWithApprovals;
use Laravel\Ai\Contracts\Approvable;
use Laravel\Ai\Contracts\Tool;

class DeleteFile implements Approvable, Tool
{
    use InteractsWithApprovals;

    // ...
}

Ketika agent meminta menjalankan tool tersebut, aplikasi dapat menampilkan informasi mengenai pemanggilan tool dan argumen yang dipilih oleh model.

Pengguna kemudian dapat mengambil keputusan untuk menyetujui pemanggilan, menolaknya dengan alasan tertentu, atau mengubah argumen sebelum tool dijalankan.

Mekanisme ini tersedia untuk beberapa pola penggunaan SDK, termasuk prompt, stream, queue, dan broadcast. Fitur human-in-the-loop tersebut sebelumnya telah diperkenalkan pada pembaruan Laravel AI SDK di bulan Juli.

Middleware Agent Sekarang Berjalan per Step

Perubahan lain pada Laravel AI SDK 1.0 terdapat pada middleware agent.

Pada versi sebelumnya, middleware agent bekerja pada level prompt. Dalam versi 1.0, middleware dapat dijalankan pada setiap generation step.

Setiap langkah direpresentasikan melalui PendingStep. Developer dapat melakukan perubahan terhadap proses tersebut menggunakan beberapa method, seperti:

  • withModel
  • withTools
  • withoutTools
  • withMaxTokens

Kemampuan ini memungkinkan developer membuat perilaku agent yang lebih dinamis. Misalnya, sebuah tool yang membutuhkan biaya besar dapat dihapus setelah agent menggunakannya pada langkah sebelumnya.

Perubahan ini memberikan kontrol yang lebih detail terhadap bagaimana agent menjalankan proses multi-step.

Tool Search Membantu Mengurangi Beban Tool

Laravel AI SDK 1.0 juga membawa kemampuan Tool Search. Fitur ini ditujukan untuk agent yang memiliki banyak tool tetapi hanya membutuhkan sebagian kecil tool pada setiap permintaan.

Developer dapat membungkus tool yang jarang digunakan menggunakan ToolSearch. Provider kemudian dapat memuat definisi tool tersebut ketika prompt membutuhkan kemampuan yang relevan.

Untuk saat ini, kemampuan tersebut bekerja dengan provider OpenAI dan Anthropic.

Pendekatan ini dapat membantu mengurangi jumlah definisi tool yang harus dikirim pada setiap request. Hal tersebut menjadi semakin relevan ketika sebuah agent memiliki puluhan tool dengan fungsi yang berbeda.

Dukungan Code Execution Semakin Luas

Versi Laravel AI SDK 1.0 juga memperkenalkan CodeExecution sebagai provider tool untuk menjalankan kode di sandbox milik provider.

Fitur tersebut tersedia pada Anthropic, OpenAI, Azure, Gemini, dan xAI.

Dengan pendekatan ini, agent dapat memanfaatkan kemampuan eksekusi kode yang disediakan oleh provider tanpa developer harus membangun mekanisme eksekusi sendiri dari awal.

Penggunaan code execution tetap perlu diperhatikan dari sisi keamanan. Developer sebaiknya memahami batasan sandbox dan kebijakan provider sebelum memberikan kemampuan tersebut kepada agent dalam aplikasi production.

Penyimpanan Conversation Mengalami Perubahan

Salah satu perubahan yang perlu diperhatikan ketika melakukan upgrade adalah format penyimpanan conversation.

Pada Laravel AI SDK 1.0, message menggunakan sebuah kolom JSON steps yang menyimpan setiap round-trip. Hasil tool juga disimpan bersama dengan pemanggilan tool yang menghasilkan hasil tersebut.

Perubahan ini menggantikan pendekatan sebelumnya yang menggunakan kolom terpisah seperti tool_calls dan tool_results.

Developer yang memiliki query SQL secara langsung terhadap kolom lama perlu melakukan penyesuaian sebelum berpindah ke versi 1.0.

Perubahan tersebut termasuk salah satu breaking change yang disebut dalam panduan upgrade Laravel AI SDK.

Baca juga : Laravel 14 5 Fakta Penting yang Wajib Developer Ketahui

Perubahan Pelaporan Penggunaan Token

Versi terbaru juga mengubah penamaan informasi penggunaan token.

promptTokens dan completionTokens kini berubah menjadi inputTokens dan outputTokens.

Informasi tersebut juga mencakup perhitungan penuh yang diberikan oleh masing-masing provider sehingga pelaporan penggunaan token dapat lebih konsisten ketika aplikasi menggunakan beberapa provider AI.

Perubahan ini penting untuk developer yang menggunakan data token sebagai bagian dari monitoring, pencatatan biaya, atau analisis penggunaan AI.

Cara Memulai Laravel AI SDK 1.0

Developer dapat memasang Laravel AI SDK 1.0 melalui Composer dengan perintah berikut:

composer require laravel/ai

Setelah package terpasang, konfigurasi dan migration dapat dipublikasikan menggunakan Artisan, kemudian database dapat dimigrasikan.

php artisan vendor:publish --provider="Laravel\Ai\AiServiceProvider"

php artisan migrate

Dokumentasi resmi Laravel menyediakan konfigurasi untuk berbagai provider AI, termasuk OpenAI, Anthropic, Gemini, Azure, OpenRouter, Mistral, Groq, xAI, dan beberapa provider lainnya. Dukungan provider berbeda-beda berdasarkan kemampuan AI yang digunakan.

Baca selengkapnya : Dokumentasi Resmi Laravel AI SDK 1.0

Upgrade ke Laravel AI SDK 1.0 Perlu Perhatian

Bagi project yang sudah menggunakan Laravel AI SDK versi sebelumnya, upgrade ke Laravel AI SDK 1.0 perlu dilakukan dengan hati-hati karena terdapat beberapa breaking change.

Perubahan utama mencakup:

  • Struktur penyimpanan conversation.
  • Middleware agent.
  • Pelaporan penggunaan token.
  • Protokol streaming.
  • Kolom tool_calls dan tool_results.
  • Migration untuk melakukan backfill data lama.

Laravel News menyebutkan bahwa tim Laravel menyediakan migration backfill yang perlu dijalankan satu kali sebelum aplikasi menggunakan versi 1.0.

Laravel juga merekomendasikan penggunaan Laravel Boost untuk membantu proses upgrade menggunakan AI assistant. Setelah Boost dipasang, developer dapat menjalankan perintah /upgrade-ai-sdk-v1 melalui lingkungan yang didukung seperti Claude Code, Cursor, OpenCode, Gemini, atau VS Code.

Laravel AI SDK 1.0 Memperluas Pengembangan Aplikasi AI

Rilis Laravel AI SDK 1.0 menunjukkan semakin seriusnya integrasi kemampuan AI ke dalam ekosistem Laravel. Classification memberikan cara baru untuk menangani keputusan terstruktur, sementara dukungan Vercel Chat dan AG-UI mempermudah integrasi dengan frontend.

Kemampuan approval terhadap tool juga memberikan kontrol tambahan ketika agent perlu melakukan tindakan yang membutuhkan konfirmasi pengguna. Di sisi lain, Tool Search, middleware per-step, code execution, dan perubahan conversation storage memberikan fondasi yang lebih fleksibel untuk membangun agent yang kompleks.

Developer yang menggunakan versi sebelumnya sebaiknya membaca panduan upgrade terlebih dahulu sebelum menerapkan versi 1.0 ke production. Untuk project baru, dokumentasi resmi Laravel dapat menjadi titik awal untuk memahami konfigurasi provider, agent, tools, classification, streaming, dan kemampuan AI lainnya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *