Freek Van der Herten publicó este informe el 8 de octubre de 2026. Spatie lleva dos décadas gestionando su propio soporte al cliente y ahora desarrolla There There, una mesa de ayuda basada en esa experiencia. El servicio se encuentra en beta privada. Las solicitudes de acceso anticipado están disponibles en there-there.app.
<?php
$agent = new ThereThereAgent(
workspace: $workspace,
user: $user,
contextTicket: $agentChat->contextTicket,
conversationHistory: $agentChat->getConversationHistoryExcludingLatest(),
);There There usa IA para acelerar el trabajo del soporte. Una persona lee el ticket, decide la acción y la confirma. El modelo puede recuperar el historial relevante, redactar una respuesta, añadir etiquetas o cerrar un ticket duplicado. Toda la capa de IA está construida sobre el nuevo Laravel AI SDK, cuyo repositorio está en github.com/laravel/ai.
La integración parte de una clase de agente llamada `ThereThereAgent`. Esta clase define el modelo, las instrucciones del sistema, las herramientas disponibles y el historial de conversación que debe reproducirse. Los atributos `#[Temperature(0.3)]` y `#[MaxSteps(10)]` fijan la temperatura y el número máximo de pasos. `model()` obtiene el nombre del modelo desde `config('ai-pricing.default.name')`. `instructions()` renderiza una vista Blade con el workspace, el usuario y el ticket de contexto opcional. `tools()` devuelve un iterable, por lo que las herramientas pueden variar según el contexto.
Las herramientas funcionan como adaptadores orientados a la IA y exponen esquemas JSON tipados. `ChangeTicketStatusTool` recibe el asunto, título o ULID del ticket, el correo de contacto y el nuevo estado. Los estados válidos son `open`, `closed` y `spam`. El controlador valida el valor con `TicketStatus::tryFrom`, busca el ticket mediante `findTicket` y llama a `ChangeTicketStatusAction` cuando encuentra una coincidencia. Un estado no válido o un ticket ausente genera un mensaje de error. Una operación correcta devuelve `result: success`, el título visible del ticket y la etiqueta del estado.
La lógica de negocio permanece en la acción de dominio existente. La herramienta solo conecta el modelo con ese código de la aplicación. Una acción crea `ThereThereAgent` con el workspace, el usuario, el ticket de contexto y el historial sin el último mensaje. Después, `streamingService->stream()` convierte la respuesta del SDK en eventos para el frontend. Van der Herten considera sencillas las abstracciones de agentes y herramientas. Los prompts gestionados con Blade son fáciles de editar, y los esquemas tipados evitan que el modelo deforme sus argumentos. Según él, el equipo apenas ha explorado una parte del SDK.




Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.