Dos artículos describen el uso de smolagents de Hugging Face para construir agentes de Text-to-SQL que generan, ejecutan y corrigen consultas. En lugar del enfoque “texto → SQL” de un solo paso, donde un modelo escribe una consulta y se ejecuta directamente, el agente implementa un ciclo iterativo de razonar, actuar (ejecutar una consulta) y observar el resultado (ReAct). Si la salida parece sospechosa (por ejemplo, vacía o claramente incoherente), el agente puede volver a intentar con una consulta corregida.

El ejemplo usa una base de datos SQLite en memoria con tablas como receipts (con columnas como receipt_id, customer_name, price y tip) y, en una segunda etapa, waiters para forzar consultas con JOIN. En el diseño, la “descripción del esquema” que el modelo usa no se limita a un prompt suelto: se inserta en el docstring de una herramienta de Python (@tool) que ejecuta SQL a través de SQLAlchemy y devuelve el resultado en texto. Al cambiar el esquema (por ejemplo, agregando joins), se actualiza la descripción de la herramienta y el sistema puede cambiar a un modelo más potente.

Además, se destacan consideraciones de seguridad para producción: acceso de solo lectura, privilegios mínimos, uso de vistas en lugar de tablas crudas, límites en consultas (LIMIT/timeouts) y registro/auditoría de consultas.