Opinión

33 agentes de IA en una sola imagen sin tocar el núcleo: dónde está la frontera entre código y modelo

Una flota de 33 agentes de IA autónomos —desde un entrenador de ajedrez infantil hasta el cálculo de subestaciones de 10/0,4 kV y dormitorios modulares— funciona sobre una única imagen inmutable, donde cada agente se define solo por el volumen de datos que tiene montado. A partir de la tercera decena de herramientas, los esquemas JSON del prefijo superan en peso al propio prompt del sistema: en el agente de CRM, 331 herramientas pesan 302 KB (unos 75.000 tokens por petición), mientras que recortar el perfil y desactivar el razonamiento sobrante comprimen el prompt de 15.266 a 1.424 tokens y aceleran la respuesta de 17 a 7,7 segundos. La gran bifurcación arquitectónica de cualquier agente es la frontera entre el código determinista y la generación de texto: donde el coste de un error es alto, el modelo solo recibe un contrato JSON de hechos ya calculado, sin margen para inventarse ni una cifra.

33 agentes de IA en una sola imagen sin tocar el núcleo: dónde está la frontera entre código y modelo
Hamidun News.
Escuchar artículo
Ficha técnica y cifras clave
ParámetroDatos
Editor jefe
Escala de la flota33 agentes autónomos sobre una única imagen inmutable, sin bifurcaciones del núcleo
Ahorro en el perfil de herramientascompresión del prefijo de 15.266 a 1.424 tokens y caída de la mediana de respuesta de 17 a 7,7 s
Techo de los esquemas JSON302.110 bytes (~75.000 tokens) con 331 herramientas conectadas en el agente interno de CRM
Precisión del circuito de ingenieríael área calculada difiere del plano de referencia en Revit —267,46 frente a 267,20 m²— en 20 habitaciones
  • Escala de la flota: 33 agentes autónomos sobre una única imagen inmutable, sin bifurcaciones del núcleo
  • Ahorro en el perfil de herramientas: compresión del prefijo de 15.266 a 1.424 tokens y caída de la mediana de respuesta de 17 a 7,7 s
  • Techo de los esquemas JSON: 302.110 bytes (~75.000 tokens) con 331 herramientas conectadas en el agente interno de CRM
  • Precisión del circuito de ingeniería: el área calculada difiere del plano de referencia en Revit —267,46 frente a 267,20 m²— en 20 habitaciones

Cuando en producción corren más de tres decenas de agentes de IA —desde un simulador de ajedrez para niños hasta calculadoras de edificios modulares y subestaciones—, enseguida aflora una verdad sencilla. La calidad del trabajo de un agente se decide en un solo punto: qué parte de la tarea le quitaste al modelo de lenguaje y pasaste a código Python, y qué parte le dejaste para que la narrara con voz humana.

En un año desplegué 33 agentes sobre un único motor sin bifurcar jamás el repositorio base. El código del runtime es inmutable; la personalidad de cada bot vive exclusivamente en el volumen de datos montado: el archivo de personalidad `SOUL.md`, el `config.yaml` declarativo, la carpeta de plugins de aplicación `plugins/`, la base de estado `state.db` en SQLite con FTS5 y los horarios de `cron/jobs.json`. Al migrar del framework anterior, 233 de 558 sesiones de diálogo se trasladaron con una simple copia del directorio: la memoria y el carácter pertenecen a los datos, no al motor.

¿Por qué los esquemas de herramientas consumen contexto más rápido que

el prompt del sistema?

Una medición instrumentada sobre contenedores en producción mostró que el "impuesto" fijo del motor alcanza como máximo 8.656 caracteres (~2.200 tokens), y cae a 5.000 caracteres cuando se desactivan memoria y habilidades en modelos Gemini. La fecha en el prefijo del sistema se fija con precisión de día, no de segundos; de lo contrario, cada petición reventaría la caché de prefijo del proveedor.

La auténtica explosión ocurre en el bloque de declaración de funciones. El bot de una conferencia, con solo 3 herramientas, ya consume 1.995 bytes en esquemas JSON frente a un prompt de 10.

687 caracteres. Un agente sectorial de metalurgia con 36 herramientas llega a 59.121 bytes en esquemas.

Y nuestro administrador de CRM, con 331 herramientas conectadas, dispara el volumen de esquemas JSON hasta 302.110 bytes —unos 75.000 tokens en el prefijo de cada turno—.

Cuando en el tutor de idiomas recortamos el conjunto de herramientas para un canal concreto, desactivamos la comprobación inicial del entorno y eliminamos un paso de razonamiento innecesario, el prompt de entrada se comprimió de 15.266 a 1.424 tokens, y la mediana de respuesta cayó de 17 a 7,7 segundos.

¿Dónde trazar la línea entre el cálculo en código y la generación del modelo?

Incluso en un bot familiar con un archivo de personalidad largo (de 20.000 a 23.000 tokens), no se puede confiar la aritmética al LLM: cuando el recuento de estrellas de bonificación se dejó como regla dentro del texto del prompt, tres fuentes de datos empezaron a divergir enseguida —el saldo marcaba 461, la suma del array daba 466 y el registro de transacciones mostraba 457—. Una regla en el prompt es un deseo; una regla en código es una garantía.

En el entrenador de ajedrez, el modelo no evalúa la posición por sí mismo en ningún caso. Dos procesos de Stockfish (uno juega con un presupuesto de nodos y una probabilidad configurable de error infantil `blunder_p`, el otro analiza la jugada), junto con cuatro detectores construidos sobre `python-chess` (piezas colgadas, horquillas que tienen en cuenta el valor de cambio, clavadas `pin-aware` y mate en 1), ensamblan un contrato JSON estricto:

```json { "played_move": {"san": "Dg4"}, "verdict": {"label": "blunder", "win_before_pct": 55.0, "win_after_pct": 4.0}, "best_move": {"san": "De2", "line_san": ["De2", "d6", "d3", "Ae6"]}, "punishment_line_san": ["Cxg4"], "tactics_against_student": [ {"motif": "hanging_piece", "fact_ru": "la dama en g4 está atacada por el caballo de f6 sin defensor"} ] } ```

El modelo traduce este paquete en la frase del entrenador, y a la salida, 342 líneas de expresiones regulares verifican cada campo y cada jugada contra una lista de permitidos, descartando coordenadas inventadas como `Qz9` y homoglifos cirílicos.

¿Cómo funcionan los agentes industriales sin RAG y qué

vulnerabilidades aparecen en los límites entre plugins?

En los proyectos de distribución de edificios modulares a partir de bloques contenedor y de cálculo de subestaciones 2KTP-400/10/0,4 kV no hay RAG vectorial en absoluto: las normas de construcción (SP, GOST, PUE) y las escalas de valores nominales están codificadas directamente en funciones de Python. Ante una petición como "dormitorio para 42 personas, tres por habitación", la geometría de los vanos, la calibración de áreas (paneles sándwich de 100 mm, tabiques de 80 mm), la generación de la lámina A3, la exportación a DXF para AutoCAD y la comprobación normativa (desde 6 m² por persona, pasillos desde 1.400 mm) se ejecutan en código en 40 segundos, frente a tres días en Revit.

En un banco de pruebas de 20 habitaciones, el código dio 267,46 m² frente a 267,20 m² del arquitecto, y detectó un error en un plano dibujado a mano (4,17 m² por persona frente a una norma de 6 m²). En el sector eléctrico, el estado `PASS` solo se otorga tras una comprobación con fórmula (interruptor de entrada de 1.000 A frente a una corriente de transformador de 909 A), mientras que las mediciones de campo (puesta a tierra hasta 4 ohmios, descargadores de sobretensión) reciben obligatoriamente el estado `INFO`.

Los fallos más sutiles ocurren cuando el modelo intenta "burlar" al validador. Tras recibir un `FAIL` por sobrecarga de transformador en dos líneas de 600 A, el propio modelo rebajó las corrientes a 2×385 A (recortando la carga de 1.200 a 770 A), las fragmentó en `200 + 200 + 185 + 185 A` y obtuvo un `OK`. A partir de ahí introdujimos la verificación de cada parámetro contra las especificaciones originales. Y un incidente en un banco de demostración, donde un bot con una copia escaneada de las especificaciones creó por su cuenta un `venv`, instaló `pymupdf` y renderizó 13 páginas a PNG, nos enseñó a bloquear los perfiles `terminal`, `code_execution`, `delegation` y `cron`.

Estos invariantes son la base de [Nomad AI](https://nomadnet.ai) y del runtime [agent.nomadnet.ai](https://agent.nomadnet.ai). La práctica de construir este tipo de sistemas se enseña en [Hamidun Academy](https://academy.hamidun.com) (prueba de 72 horas), y más de 370 habilidades están disponibles en [Vibe Club](https://hamidun.com/club).

Historia

Preguntas frecuentes sobre la noticia

¿Por qué los esquemas de herramientas consumen contexto más rápido que el prompt del sistema?

Una medición instrumentada sobre contenedores en producción mostró que el "impuesto" fijo del motor alcanza como máximo 8.656 caracteres (~2.200 tokens), y cae a 5.000 caracteres cuando se desactivan memoria y habilidades en modelos Gemini. La fecha en el prefijo del sistema se fija con precisión de día, no de segundos; de lo contrario, cada petición reventaría la caché de prefijo del proveedor. La auténtica explosión ocurre en el bloque de declaración de funciones. El bot de una conferencia, con solo 3 herramientas, ya consume 1.995 bytes en esquemas JSON frente a un promp

¿Dónde trazar la línea entre el cálculo en código y la generación del modelo?

Incluso en un bot familiar con un archivo de personalidad largo (de 20.000 a 23.000 tokens), no se puede confiar la aritmética al LLM: cuando el recuento de estrellas de bonificación se dejó como regla dentro del texto del prompt, tres fuentes de datos empezaron a divergir enseguida —el saldo marcaba 461, la suma del array daba 466 y el registro de transacciones mostraba 457—. Una regla en el prompt es un deseo; una regla en código es una garantía. En el entrenador de ajedrez, el modelo no evalúa la posición por sí mismo en ningún caso. Dos procesos de Stockfish (uno juega

¿Cómo funcionan los agentes industriales sin RAG y qué vulnerabilidades aparecen en los límites entre plugins?

En los proyectos de distribución de edificios modulares a partir de bloques contenedor y de cálculo de subestaciones 2KTP-400/10/0,4 kV no hay RAG vectorial en absoluto: las normas de construcción (SP, GOST, PUE) y las escalas de valores nominales están codificadas directamente en funciones de Python. Ante una petición como "dormitorio para 42 personas, tres por habitación", la geometría de los vanos, la calibración de áreas (paneles sándwich de 100 mm, tabiques de 80 mm), la generación de la lámina A3, la exportación a DXF para AutoCAD y la comprobación normativa (desde 6

ZK
Zhemal Khamidun — CPO de Alpina Digital, product manager de AlpinaGPT. Crea productos de IA desde 2019. Hamidun News es un proyecto personal que creció hasta ser un agregador en producción con más de 6.000 lectores.
✦ Hands-On AI Engineering · Hamidun Academy

Build & Ship Production AI Agents Without Boilerplate Code

Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.

Start 72h Free Trial →Vibe-Coding Intensive
¿Qué te parece?
Cargando comentarios…