Lección 12: Configuraciones de modelo con nombre

Configuraciones de modelo reutilizables y con nombre, referenciadas desde Agent.bx por su nombre.

En esta página

Configuraciones de modelo con nombre

models/ te permite definir configuraciones de modelo reutilizables y con nombre, una por archivo .bx o .json, referenciadas desde el campo model de Agent.bx por su nombre (sin /, para que no se confunda con un slug provider/model - consulta la Lección 5).

// models/summarizer.bx
class {

	function configure() {
		return {
			provider : "openai",
			model    : "gpt-5-mini"
		};
	}

}
// Agent.bx
function configure() {
	return {
		model : "summarizer"   // resolves against models/summarizer.bx
	};
}

¿Por qué molestarse con una configuración con nombre en vez de escribir el slug?

Un slug provider/model basta para la mayoría de los agentes - ya lo viste en la Lección 5. Recurre a models/ cuando la misma configuración se comparta entre varios agentes o subagentes (por ejemplo, un modelo más barato que usa todo tu árbol de subagents/ para enrutar), o cuando la configuración lleve algo más que un nombre de proveedor y de modelo y no quieras repetirla.

Reglas de descubrimiento

  • Una entrada por archivo .bx o .json de primer nivel directamente bajo models/ - no es recursivo.
  • El nombre de la entrada es el nombre base del archivo (summarizer.bx pasa a ser summarizer).
  • Se ignoran los archivos ocultos y las extensiones no reconocidas (como un README.md que dejes con tus propias notas).
  • Dos archivos que resuelvan al mismo nombre fallan la validación con un error de nombre duplicado.

Validación

Si el model de Agent.bx no lleva /, debe ser o bien el nombre de un proveedor principal conocido (openai, bedrock, claude, gemini, mock, y otros - consulta Agent.bx) o bien coincidir con el nombre de una entrada de models/. Cualquier otra cosa falla la validación con un error claro del tipo "no hay proveedor y no coincide con ninguna entrada de models/" - una errata aquí se detecta en tiempo de build, y no se deja para que aparezca más tarde como un confuso error de ejecución.

Pruébalo

Añade una configuración models/fast.bx que apunte a un modelo más pequeño o barato que el predeterminado de tu agente raíz, y después referencia model: "fast" desde el configure() de un subagente - encaja de forma natural con el subagente investigador de la Lección 11, que probablemente no necesita tu modelo más grande para hacer su trabajo.

Referencia completa: models/.

Siguiente: Lección 13 - Exponer tu agente por HTTP y MCP

Editar esta página Descargar Markdown Última actualización Sep 17, 2026, 5:15:06 PM
Lesson 12 of 20 - Introduction to BxAgents