Laravel Tutorials

Ship AI with Laravel: Your AI Agent Has Amnesia. Let's Fix It.

Published

▶️ Watch the video tutorial (10 minutes)

Our agent looks up real orders and pulls customer history. Ask it about order 1042 and you get the status, total, customer name. Then you follow up with "can I return it?" and the agent has no idea what order you're talking about. Every message is a fresh start. The conversation is gone.

In this episode we give the agent memory. The SDK has a Conversational interface and a RemembersConversations trait that stores and loads chat history through the database tables we set up back in Episode 1. I walk through three conversation patterns: starting a new one tied to a user, continuing an existing one by passing the conversation ID, and resuming the last session automatically.

I build a ChatController with a send endpoint that handles both new and continuing conversations, then test the full flow. Ask about an order, follow up about returning it, and the agent keeps the context. It knows what "it" refers to because it remembers what came before.

I also cover the messages method for cases where you want manual control over how history is stored and loaded, like if you're using Redis or a custom storage layer instead of the default database tables.

Next episode we're building a knowledge base with embeddings so the agent can answer policy questions from actual documentation instead of guessing.

⭐ GitHub: https://github.com/harris21/ship-ai-with-laravel

▶️ Watch Episode 4 now →

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Lerd: A Free, Open Source Herd Alternative for Linux and macOS image

Lerd: A Free, Open Source Herd Alternative for Linux and macOS

Read article
Let's Encrypt HTTPS on an IP Address With FrankenPHP image

Let's Encrypt HTTPS on an IP Address With FrankenPHP

Read article
Laravel Chores: Resumable Data Operations and Cleanups image

Laravel Chores: Resumable Data Operations and Cleanups

Read article
NativePHP v4: Build Native iOS and Android UI in Blade image

NativePHP v4: Build Native iOS and Android UI in Blade

Read article
Laravel Lock: Distributed Locks for Models and Routes image

Laravel Lock: Distributed Locks for Models and Routes

Read article
Laravel Image Responses: Serve Resized Images From Routes image

Laravel Image Responses: Serve Resized Images From Routes

Read article