Menos tokens, más criterio: Fable ha actualizado mis add-ons de IA para DDEV + Drupal

Hoy me ha escrito un usuario por Slack: ha actualizado DDEV a la 1.25.3 y los agentes de IA de sus proyectos se habían quedado sin SSH. DDEV había endurecido los permisos del contenedor web en la nueva versión (a propósito, y bien hecho), y mi add-on dependía de un detalle que nunca estuvo garantizado. Ese fix ya está arreglado y publicado en la última versión, pero me sirve de excusa para contar todo lo que ha cambiado estas últimas semanas en ddev-ai-workspace, mi ecosistema de add-ons que uso para trabajar con agentes de IA en proyectos Drupal.

Sé que está mal que lo diga yo, pero creo que es el mejor sistema que hay ahora mismo en Drupal por calidad de código y precio/consumo de tokens.

El orquestador ya no es el listo de la clase

Yo pensaba que la forma correcta de usar agentes era tener una conversación principal con un modelo "listo" (Opus por ejemplo), y que sea ese modelo quien delegue trabajo a los agentes "baratos" (haiku/sonnet) para las demás tareas.

Pero me he dado cuenta de que la conversación principal de un agente es la parte más cara de todas: su contexto viaja entero en cada turno (y te cobran por ello), y se dedicaba sobre todo a leer resultados de búsquedas y repartir trabajo.

Eso se acabó. El orquestador ahora corre en un modelo específico (MODEL_MAIN), que puedes configurar para que sea el modelo que tú quieras. Por defecto es haiku y de momento me funciona igual de bien que antes, pero mucho más barato. Su único trabajo es delegar en el agente correcto, donde cada agente especialista declara el tier que necesita (CHEAP, SMART, GENIUS o VISION), y el modelo caro solo entra cuando hace falta (revisar código a fondo, analizar una captura de pantalla, solventar dudas del modelo barato).

Y otra cosa importante: las búsquedas por el código quedan prohibidas en la conversación principal. De eso se encarga el agente code-explorer, que actúa como cortafuegos de contexto. Explora lo que haga falta y devuelve solo la conclusión, no los volcados de ficheros enteros. Contexto pequeño, factura pequeña.

Con todo esto, se ha pasado de tener un modelo "jefe" controlando a los becarios, a tener un "becario project manager" que solo le pregunta al jefe en los momentos en que no está seguro de a quién delegar la tarea. Y todos sabemos que un becario motivado es más rentable que el sueldo de un jefe.

Cada modelo que quieres usar en OpenCode o Claude Code se puede configurar en .env.agents. De esta forma puedes poner por ejemplo un modelo "listo" solo como supervisor en tareas donde te hace falta un SMART o GENIUS, y en el resto de tareas puedes usar modelos locales o DeepSeek V4 flash o Haiku. Y si prefieres volver a lo de antes, es tan simple como poner un modelo listo y caro en la config del MODEL_MAIN.

Agentes y skills mejorados y optimizados para Drupal

Buena parte de estos cambios en los prompts de skills y de agentes han sido gracias a la destilación de Fable (el modelo más listo de Anthropic ahora mismo). He intentado destilar parte de sus mejores formas de trabajar en un conjunto de prompts específicos de Drupal, para que cualquier otro modelo (incluidos los locales) vean una mejora en los resultados que aportan.

El paquete drupal-ai-agents (11 agentes, 15 reglas y 34 skills por ahora) también ha madurado. La revisión de código ya no es una pasada única: es un panel de 7 jueces con ciclo planificar → implementar → verificar. Y hay una regla nueva de disciplina epistémica que me gusta especialmente, porque ataca el defecto más peligroso de estos agentes: la evidencia manda sobre la plausibilidad, y cada afirmación lleva su nivel de confianza. Un agente que dice "no lo sé" vale más que uno que se lo inventa y miente con seguridad.

También han entrado skills nuevas (pipeline de render, accesibilidad, preparación de contribuciones a drupal.org, y session-distill, que convierte lo aprendido en una sesión en guías reutilizables) y reglas de traducciones y de commits convencionales en inglés.

Eso sí, los agentes siguen con git bajo llave: por defecto no pueden hacer commit ni push, y ahora ese candado es configurable por herramienta con los flags GIT_ALLOW_COMMIT y GIT_ALLOW_OPERATIONS. De momento sigo prefiriendo que el último botón lo pulse un humano, aunque algunas pruebas que he hecho son prometedoras.

Los bugs de julio

Además del sshd roto por DDEV 1.25.3, han caído unos cuantos:

  • El comando de diagnóstico de SSH asumía que el home del contenedor web era /home/ddev.
  • bd init (Beads, el gestor de tareas interno) dejaba huella en el .git/config del proyecto. Ya no toca nada del proyecto: esa configuración vive ahora en el gitconfig global del contenedor.
  • Una condición de carrera al crear la configuración de telemetría.
  • Las CLIs de los agentes se quedaban desactualizadas en la imagen. Ahora se autoactualizan al arrancar el contenedor, así que ya no te saldrá el mensaje de que OpenCode o Claude Code están desactualizados.
  • Los contenedores de IA ahora confían en la CA de mkcert de DDEV, así que pueden llamar a https://proyecto.ddev.site sin errores de certificado.

Multica, Atlas y saber lo que te gastas

Los contenedores de OpenCode y Claude Code ahora pueden conectarse a Multica, una plataforma de agentes orquestados: con un token y una url del servidor en ~/.ddev/multica/.env.multica, cada contenedor arranca un daemon, se registra como runtime y puede recibir tareas desde una interfaz web tipo Kanban. En todos tus proyectos DDEV a la vez. Sin token ni URL, la integración queda completamente dormida y no se ejecuta. Y el contenedor se comporta como siempre.

En mi caso no tiro de Multica: los conecto a Atlas, mi sustituto hecho a medida a partir de Multica, que además lleva el seguimiento del consumo de mis tokens, horas humanas, estimación de fases entregables y algunas cosas más. En un futuro os explicaré en detalle todo lo que he montado con Atlas, porque seguro que otros freelances y agencias van a querer montarse algo parecido. Todo esto da para unos cuantos artículos.

Cómo actualizar

Si ya usas los add-ons, actualizar es un comando:

ddev add-on get trebormc/ddev-ai-workspace
ddev restart

¿Está terminado? No, y sospecho que nunca lo estará. La IA evoluciona cada semana, cuesta seguir el ritmo.

Y si lo pruebas y algo se rompe, dímelo. El fix del sshd salió de un usuario que se quejó hoy mismo.

Especial agradecimiento a Fable estas semanas, sin él, esto no hubiera sido posible. xD

¿Necesitas un experto en Drupal?

Desarrollador Drupal senior, freelance, especializado en lo más complejo: migraciones, sitios multilingüe, plataformas SaaS e integración con Stripe. Uso IA para reducir tiempos y costes de entrega, con revisión experta en cada línea de código.

Sin agencias, sin intermediarios. Contacto directo con quien hace el trabajo.