AI Agents

Hace que Drupal sea manejable por agentes de IA, permitiendo la configuración automatizada del sitio y la gestión de contenido a través de flujos de trabajo impulsados por IA.

ai_agents
5,523 sites
40
drupal.org

Install

Drupal 11, 10 v1.2.1
composer require 'drupal/ai_agents:^1.2'

Overview

El módulo AI Agents proporciona un framework integral para crear y gestionar automatización impulsada por IA dentro de sitios Drupal. Permite que los agentes de IA realicen tareas como crear tipos de contenido, gestionar campos, manejar taxonomías y otras operaciones de configuración del sitio a través de interacciones en lenguaje natural.

El módulo implementa una arquitectura basada en plugins donde cada agente de IA se especializa en tareas de dominio específicas. Los agentes pueden iterar a través de llamadas de herramientas, validar sus acciones y responder a consultas de usuarios con salidas estructuradas. El módulo soporta agentes de orquestación que pueden coordinar múltiples agentes especializados para tareas complejas de múltiples pasos.

Las capacidades clave incluyen: gestión de entidades de configuración para agentes de IA, herramientas de llamada de funciones para manipulación del sitio, un sistema de eventos para monitorear la ejecución de agentes, soporte de rollback para recuperación de errores e integración con los módulos CKEditor y AI Assistant.

Features

  • Arquitectura de AI Agent basada en plugins con comportamientos, herramientas y prompts configurables
  • Sistema de entidades de configuración para definir y almacenar configuraciones de agentes de IA con asignaciones de herramientas
  • Agentes integrados para gestión de Content Type (crear, editar, consultar tipos de nodo)
  • Field Agent para crear y modificar campos de entidad, almacenamiento de campos y configuraciones de visualización
  • Taxonomy Agent para gestión de vocabularios y términos incluyendo estructuras jerárquicas
  • Herramientas de llamada de funciones (más de 30) para operaciones de entidad, acceso a esquemas y configuración del sitio
  • Ejecución de agentes en bucle con máximo de loops configurables para prevenir ciclos infinitos
  • Límites de uso de herramientas y restricciones de propiedades para control detallado sobre las capacidades del agente
  • Soporte de salida JSON estructurada con esquemas personalizables
  • Sistema de eventos para monitorear la ejecución de agentes, llamadas de herramientas y respuestas
  • Funcionalidad de rollback para revertir cambios de configuración en caso de errores
  • Sistema de reemplazo de tokens con tipo de token ai_agent personalizado
  • Sistema de almacenamiento de artifacts para gestionar respuestas grandes de herramientas
  • Suplantación basada en roles para que los agentes operen con permisos específicos
  • Integración con CKEditor para edición de contenido asistida por IA
  • Integración con AI Assistant API para activar agentes a través de interfaces conversacionales
  • Herramientas de información predeterminadas configurables que se ejecutan en la inicialización del agente
  • Soporte para entradas de archivos e imágenes en tareas de agentes

Use Cases

Creación automatizada de tipos de contenido

Los constructores de sitios pueden describir requisitos de tipos de contenido en lenguaje natural (por ejemplo, 'Crear un tipo de contenido Evento con campos de título, fecha, ubicación y descripción'). El Content Type Agent crea el tipo de nodo con los ajustes apropiados, luego el Field Agent puede añadir los campos requeridos con configuraciones adecuadas.

Gestión de campos mediante lenguaje natural

Los desarrolladores pueden solicitar modificaciones de campos como 'Añadir un campo de referencia de media para imágenes al tipo de contenido Artículo y colocarlo después del campo body en la visualización del formulario'. El Field Agent maneja la creación de almacenamiento de campo, configuración de campo y configuración de visualización automáticamente.

Generación de estructura de taxonomía

Los gestores de contenido pueden poblar taxonomías diciendo 'Crear un vocabulario llamado Categorías de Productos y añadir 20 categorías comunes de comercio electrónico con jerarquía apropiada'. El Taxonomy Agent crea el vocabulario y genera términos relevantes con relaciones padre-hijo.

Edición de contenido asistida por IA

Los editores de contenido que usan CKEditor pueden invocar agentes de IA configurados para generar o transformar contenido directamente en el editor. Por ejemplo, resumiendo texto seleccionado, generando contenido basado en prompts o reformateando contenido existente.

Configuración del sitio mediante chatbot

A través de la integración con AI Assistant API, los administradores pueden configurar su sitio Drupal mediante interfaz conversacional. El chatbot dirige las solicitudes a los agentes apropiados, permitiendo a usuarios no técnicos hacer cambios de configuración de forma segura.

Desarrollo de agentes personalizados

Los desarrolladores pueden crear agentes de IA personalizados implementando AiAgentInterface o extendiendo AiAgentBase. Los agentes personalizados pueden manejar tareas de dominio específicas como gestión de flujos de trabajo, planificación de migración de contenido o integración con servicios externos.

Tareas orquestadas de múltiples pasos

Las tareas complejas de configuración de sitio pueden ser manejadas por agentes de orquestación que coordinan múltiples agentes especializados. Por ejemplo, configurar un sitio de comercio electrónico invocando secuencialmente agentes de tipo de contenido, campo, taxonomía y vista.

Tips

  • Usar el módulo AI Agents Explorer durante el desarrollo para depurar el comportamiento de agentes y ver detalles de ejecución paso a paso.
  • Configurar el proveedor predeterminado chat_with_complex_json en los ajustes de IA, ya que los agentes requieren esto para el soporte adecuado de llamadas de función.
  • Establecer valores apropiados de max_loops para prevenir ejecución descontrolada de agentes mientras se permiten suficientes iteraciones para tareas complejas.
  • Usar tool_usage_limits para restringir el comportamiento del agente forzando valores o restringiendo opciones de propiedades para seguridad y consistencia.
  • Habilitar structured_output cuando se necesite acceso programático a los resultados del agente con cumplimiento garantizado del esquema.
  • Usar la configuración default_information_tools para precargar contexto que los agentes comúnmente necesitan, reduciendo llamadas de herramientas innecesarias.
  • Aprovechar el sistema de eventos para monitorear la ejecución de agentes, registrar actividades o implementar validación personalizada.
  • Para despliegues en producción, revisar cuidadosamente los permisos de agentes y considerar restricciones de acceso basadas en roles a través de agent_settings.
  • Los prompts personalizados en el directorio prompts/ pueden ser anulados a través de configuración sin modificar código.
  • El método rollback() proporciona recuperación automática cuando las acciones de agentes fallan, revirtiendo cambios de configuración.

Technical Details

Admin Pages 3
AI Agents /admin/config/ai/agents

Lista todos los agentes de IA disponibles con sus descripciones. Proporciona enlaces para editar configuraciones individuales de agentes. Muestra tanto plugins definidos en código como agentes de entidades de configuración.

Añadir AI Agent /admin/config/ai/agents/add

Formulario para crear nuevas entidades de configuración de agentes de IA con personalización completa de prompts, herramientas y ajustes de comportamiento.

AI Agent Explorer /admin/config/ai/agents/explore

Interfaz de desarrollo/depuración para ejecutar agentes directamente y ver el progreso de ejecución. Requiere el submódulo AI Agents Explorer.

Permissions 1
Administrar AI Agent

Permite a los usuarios crear, editar y eliminar configuraciones de AI Agent.

Hooks 2
hook_ai_function_call_info_alter

Altera las definiciones de plugins de llamadas de función. Usado por AI Agents para registrar funciones wrapper de agentes que exponen agentes como herramientas invocables.

hook_ai_agents_info_alter

Altera las definiciones de plugins de agentes de IA descubiertas por el gestor de plugins.

Troubleshooting 6
El agente retorna 'ERROR: Sorry, the Agents will not work unless you set up a default Chat with Complex JSON model'

Navegar a /admin/config/ai/settings y configurar un proveedor predeterminado para el tipo de operación 'chat_with_complex_json'.

El agente entra en bucle infinito o se agota el tiempo de espera

Verificar el ajuste max_loops para el agente. Reducir el valor o revisar el prompt de sistema del agente para asegurar que pueda alcanzar la finalización dentro del límite de bucles.

La ejecución de herramientas falla con errores de permisos

Verificar que el usuario actual tiene los permisos de Drupal requeridos para la operación (por ejemplo, 'administer content types', 'administer taxonomy'). Considerar usar masquerade_roles si los agentes necesitan permisos elevados.

El agente no usa las herramientas esperadas

Revisar la configuración de herramientas del agente para asegurar que las herramientas requeridas están habilitadas. Verificar tool_usage_limits para cualquier restricción que pueda prevenir el uso de herramientas.

La validación de salida estructurada falla

Asegurar que structured_output_schema está en formato JSON Schema válido. Verificar que el esquema coincide con lo que la IA es capaz de producir basado en el prompt de sistema.

Los cambios de configuración no se revierten en caso de error

El rollback solo funciona para entidades de configuración rastreadas durante la ejecución del agente. Las operaciones personalizadas en agentes personalizados necesitan implementar su propia lógica de rollback.

Security Notes 8
  • Los AI Agents pueden hacer cambios significativos de configuración en su sitio Drupal. Solo otorgar el permiso 'administer ai_agent' a administradores de confianza.
  • Usar tool_usage_limits para restringir qué valores pueden usar los agentes para operaciones sensibles.
  • La característica masquerade_roles permite a los agentes eludir las verificaciones normales de permisos de usuario - usar con precaución y auditar regularmente.
  • Los prompts de agentes son visibles para los proveedores de IA - evitar incluir información sensible como claves de API en los prompts de sistema.
  • Habilitar la opción hide_property en tool_usage_limits para propiedades que contienen valores sensibles como claves de API.
  • Revisar y probar el comportamiento de agentes en entornos de desarrollo antes de desplegar en producción.
  • El campo secured_system_prompt (visible solo cuando show_secured_ai_agent_system_prompt está configurado en settings.php) puede contener instrucciones ocultas de los editores de la interfaz de usuario.
  • AI Agents Explorer no debería estar habilitado en sitios de producción ya que expone información detallada de ejecución.