Introducción
laravel/agent-detector es una utilidad ligera para detectar si el código PHP se está ejecutando dentro de un agente de IA o de un entorno de desarrollo automatizado. Se publicó como paquete oficial de Laravel en abril de 2026. Ahora que los agentes de IA están profundamente integrados en el trabajo de desarrollo, resulta importante conocer en qué entorno se está ejecutando el propio código. En el desarrollo real surgen casos como cambiar el nivel de detalle de los logs o los límites de tasa según si la petición proviene de un agente de IA o de un humano, o devolver respuestas específicas para agentes.Instalación
Uso básico
Al llamar aAgentDetector::detect() se devuelve un objeto AgentResult.
Propiedades de AgentResult
| Propiedad / Método | Tipo | Descripción |
|---|---|---|
$result->isAgent | bool | true cuando se ejecuta dentro de un agente de IA |
$result->name | ?string | Nombre del agente (p. ej. "claude"). null si no es un agente |
$result->knownAgent() | ?KnownAgent | Devuelve el enum KnownAgent. null para agentes desconocidos |
Lista de agentes compatibles
| Agente | Método de detección (variable de entorno / archivo) |
|---|---|
| Custom | Variable de entorno AI_AGENT (cualquier valor) |
| GitHub Copilot | AI_AGENT=github-copilot, AI_AGENT=github-copilot-cli, COPILOT_MODEL, COPILOT_ALLOW_ALL, COPILOT_GITHUB_TOKEN, COPILOT_CLI |
| Cursor | CURSOR_AGENT |
| Claude | CLAUDECODE o CLAUDE_CODE |
| Cowork | CLAUDE_CODE_IS_COWORK (junto con CLAUDECODE o CLAUDE_CODE) |
| Gemini | GEMINI_CLI |
| Codex | CODEX_SANDBOX, CODEX_CI, CODEX_THREAD_ID |
| Augment CLI | AUGMENT_AGENT |
| AMP | AMP_CURRENT_THREAD_ID |
| Opencode | OPENCODE_CLIENT o OPENCODE |
| Replit | REPL_ID |
| Devin | Existe el archivo /opt/.devin |
| Antigravity | ANTIGRAVITY_AGENT |
| Pi | PI_CODING_AGENT |
| Kiro CLI | KIRO_AGENT_PATH |
| v0 | AI_AGENT=v0 |
AI_AGENT → variables de entorno conocidas → sistema de archivos.
Configuración de un agente personalizado
Si asignas cualquier valor a la variable de entornoAI_AGENT, se detectará como un agente personalizado.
Casos de uso prácticos
Detectar un agente de IA en un middleware
Determina el entorno de ejecución en un middleware de Laravel y bifurca el procesamiento hacia lógica orientada a agentes.Emitir logs detallados en entornos de agente de IA
Aplicar límite de tasa a las peticiones de agentes de IA
Al cambiar la clave del middlewareThrottleRequests según la detección de agentes, puedes establecer límites de tasa distintos para agentes y humanos.
Cambiar el comportamiento en comandos de consola
Ejemplo que emite un progreso detallado cuando un agente ejecuta un comando de Artisan.Conclusión
laravel/agent-detector es un paquete que reúne comprobaciones sencillas de variables de entorno e inspecciones del sistema de archivos. Basta con llamar a AgentDetector::detect() sin ninguna configuración compleja.
Ahora que los agentes de IA se están consolidando como parte del flujo de desarrollo, saber “quién (o qué) está ejecutando el código” será cada vez más importante. Este paquete puede resultar útil en múltiples escenarios como logs, límites de tasa o personalización de respuestas.
Repositorio de laravel/agent-detector
Aquí puedes consultar el código fuente y la lista actualizada de agentes compatibles.