Hace años configuré el scheduler de nuestro proyecto Laravel para que ejecutara cada tarea de limpieza en cola una vez por minuto, porque la CPU era barata y no me apetecía pensar cada cuánto hacía falta de verdad cada una. Pasaron ocho meses y llegó una factura de hosting muy desconcertante antes de que alguien preguntara por qué un job que borra tokens caducados de restablecimiento de contraseña se despertaba 1440 veces al día. Me acuerdo mucho de esa línea de cron mientras leo sobre Beam, el nuevo modelo de pesos abiertos de Reflection, porque la función que me llamó la atención no tiene nada que ver con lo mucho que puede pensar. Lo que me llamó la atención es que le puedes pedir que piense menos.

Las cifras de titular son grandes y merecen su momento. Beam tiene 501.000 millones de parámetros en un diseño mixture-of-experts disperso, con 23.000 millones activos por token, 52 capas y una ventana de contexto ampliada hasta 1 millón de tokens durante el midtraining. Reflection anuncia un 80.9% en SWE-Bench Verified, un 80.1% en Terminal-Bench v2.1 y un 78.7% en MCP Atlas, y asegura que los pesos, los informes técnicos y los artefactos para desarrolladores saldrán bajo Apache 2.0. Son resultados serios para un modelo abierto. Pero describen un techo, y la mayoría de nosotros no pasamos la tarde cerca del techo.

Sé sincero con lo que de verdad le encargas a un agente de código un martes cualquiera. Renombrar una clase de servicio y actualizar cuarenta llamadas. Añadir una columna nullable y escribir la migración. Subir un controlador heredado del nivel 5 al nivel 6 de PHPStan sin cambiar su comportamiento. Convertir un parcial de Blade en un componente. Nada de eso necesita que un modelo delibere durante doce mil tokens antes de tocar un archivo, y aun así todos los agentes que he usado tienden a facturar como si estuvieran defendiendo una tesis. Beam se entrenó con una penalización de longitud controlable, y Reflection expone un parámetro de esfuerzo de razonamiento que puedes bajar para el trabajo rutinario y subir para lo realmente enrevesado. La empresa afirma que iguala a GLM-5.2 en benchmarks de razonamiento avanzado usando entre tres y cuatro veces menos cómputo de inferencia. Si eso se mantiene en la parte baja del dial, cambia lo que cuesta generar un pull request.

La objeción más fuerte es una que comparto. Un dial solo sirve si en su posición más baja el modelo sigue siendo competente, y todas las puntuaciones del anuncio son puntuaciones de titular. No he visto a nadie publicar qué hace Beam en SWE-Bench con el esfuerzo al mínimo, y mientras nadie lo haga, «conciso para tareas rutinarias» es una promesa sin un número detrás. Hay una segunda objeción: ejecutar 501.000 millones de parámetros por tu cuenta no es un proyecto de fin de semana, así que para la mayoría de los equipos PHP «pesos abiertos» en realidad significa «un proveedor de hosting que eliges tú». Tu portátil no está en la lista. Las dos críticas son justas, y querría verlas resueltas antes de reorganizar la CI de nadie alrededor de este modelo.

Aun así me quedo con el mando, y el motivo está en cómo lo construyó Reflection. Cuentan un preentrenamiento en 6144 GPUs NVIDIA GB300 NVL72 que alcanzó un 92.3% de goodput con solo nueve rebobinados semiautomáticos, y una fase de RL en 10.5K GB300 que lanzó más de 1300 millones de peticiones de creación de sandboxes en 170K entornos concurrentes. Es un equipo que claramente se obsesiona con los ciclos desperdiciados en su propia casa. Sacar un modelo al que también se le puede pedir que deje de desperdiciar ciclos encaja con ese mismo instinto, y es el instinto que nuestro lado del sector siempre ha tenido que tener, porque somos los que ejecutamos diez mil peticiones pequeñas en máquinas modestas, cada hora, durante años.

Para quien construye herramientas alrededor de proyectos PHP hay una consecuencia práctica. Si el esfuerzo es un parámetro, va en tu configuración junto al nombre del modelo, y debería variar según el tipo de tarea. Un refactor mecánico al estilo de Rector y la caza de una condición de carrera en un worker de colas no deberían compartir ajuste, igual que tu tarea de limpieza y tu informe nocturno no deberían compartir horario de cron. Reflection también dice que Beam aprendió a usar herramientas para las que no se le entrenó explícitamente, como buscar en documentación o llamar a APIs de OCR. Es impresionante, aunque también significa que un agente configurado con generosidad se irá tan contento a navegar cuando solo le pediste que arreglara un import. Un ajuste de esfuerzo bajo puede funcionar como correa además de como descuento.

La licencia Apache 2.0 importa aquí más de lo que parece. Con una licencia permisiva, una empresa de hosting puede ofrecer Beam a un precio que refleje el nivel de esfuerzo que pidas, y una agencia que factura por proyecto podrá, con el tiempo, razonar sobre el coste de la IA igual que razona sobre el coste de servidores: en peticiones y minutos, con una línea en una hoja de cálculo. Es una relación mucho más sana que pagar un recargo fijo por el máximo de reflexión en cada diff trivial y esperar que la factura se porte bien.

Así que esto es lo que de verdad me gustaría que me contaras. Si ya usas agentes de código sobre un proyecto PHP real, ¿qué parte de ese trabajo necesita sinceramente un razonamiento profundo, y te fiarías de un modelo en su nivel de esfuerzo más bajo para sacar adelante una migración o un refactor mecánico sin que una persona relea cada línea? ¿Dónde pondrías el límite?