Ver equipos

AI Supercomputers es el portal de IA local del Grupo Ietres.La compra se realiza en nuestras tiendas oficiales. Si una referencia no aparece con stock, consulta la posibilidad de reserva y la siguiente entrada prevista.

Empresa · Automatización controlada

Agentes de IA en local: herramientas, permisos y aprobación humana

Un agente no es solo un modelo que conversa. Es un sistema que observa, decide, llama a herramientas y comprueba resultados. Su seguridad depende de credenciales, políticas y validadores externos al modelo.

Herramientas explícitasMínimo privilegioAprobación antes de efectos relevantes
Ruta de montaje

Qué necesitas antes y cómo sabrás que has terminado

Ejecuta la guía sobre un entorno de prueba. No avances a producción hasta obtener la salida verificable y documentar la reversión.

Antes de empezar

Una tarea delimitada, herramientas pequeñas, permisos mínimos y un entorno de prueba aislado.

Resultado verificable

Crear un agente que proponga y valide acciones sin concederle autoridad ilimitada.

Definición

Un modelo dentro de un sistema de decisión

En palabras sencillas

La diferencia, con un ejemplo: al pedir cita, un chatbot te dice el teléfono de la clínica; un agente consulta la agenda, propone hora y crea la cita (con tu confirmación). El chatbot responde; el agente actúa — siempre con permisos limitados y revisión humana en lo importante.

El modelo interpreta una tarea y puede proponer una llamada estructurada: buscar un cliente, recuperar un documento, consultar un inventario o preparar una respuesta. Un orquestador valida la petición, ejecuta la herramienta autorizada y devuelve el resultado al modelo.

La autoridad no debe residir en el prompt. El modelo no controla credenciales, permisos, límites de importe, listas de destinatarios ni reglas de negocio. Esas restricciones pertenecen a código determinista, políticas y sistemas de identidad.

La ejecución local reduce la necesidad de enviar el contexto al proveedor del modelo, pero no impide que una herramienta externa reciba datos. Inventaría cada conexión y aplica las reglas de IA local y RGPD.

Bucle del agente

Observar, proponer, validar, ejecutar y comprobar

1Entrada
2Plan o herramienta
3Política y esquema
4Ejecución limitada
5Resultado y registro

El ciclo debe tener un máximo de pasos, tiempo y llamadas. Si el agente no alcanza un estado válido, detiene la tarea y pide intervención. Los reintentos ilimitados pueden producir costes, bloqueos o acciones duplicadas.

Diseño de herramientas

Funciones pequeñas y contratos estrictos

HerramientaDiseño recomendadoEvitar
Buscar documentoConsulta con filtros de identidad y límite de resultadosAcceso global al repositorio
Consultar ERPCampos permitidos y cuenta de solo lecturaConsulta SQL arbitraria
Crear borradorDestinatario controlado y estado borradorEnviar correo directamente
Actualizar registroEsquema, comparación previa y aprobaciónEscritura libre sobre cualquier entidad
Ejecutar códigoEntorno aislado, recursos y tiempo limitadosShell del servidor con credenciales
NavegarLista de dominios y descarga bloqueadaAcceso abierto a Internet y red interna

Una herramienta debe hacer una cosa, validar tipos y devolver errores comprensibles. El orquestador transforma el error en información para el modelo, sin exponer secretos ni trazas internas completas.

Amenazas

El contenido externo nunca es una instrucción de sistema

Un correo, PDF, web o comentario puede contener texto que intenta cambiar el objetivo del agente. El sistema debe etiquetarlo como datos no confiables y evitar que controle herramientas.

Escalera de autonomía

Aumentar capacidad por etapas

Nivel 1

Respuesta y recomendación

El agente consulta fuentes y propone una respuesta. No modifica sistemas.

Nivel 2

Borrador o simulación

Crea un objeto revisable, como un correo en Borradores o una propuesta de cambio.

Nivel 3

Ejecución aprobada

Una persona valida la acción y el sistema la ejecuta con permisos limitados.

Nivel 4

Acción automática acotada

Solo para tareas reversibles, de bajo riesgo, con límites, monitorización y parada.

El ejemplo de n8n, Ollama y Outlook se mantiene en el segundo nivel: preparación automática y decisión humana.

Pruebas

Evalúa acciones, no solo respuestas

Versiona la batería de pruebas junto con el prompt, el modelo, el orquestador y las herramientas. Un cambio en cualquier componente puede alterar el riesgo.

Hardware

Contexto, modelos residentes y concurrencia

Los agentes pueden mantener un contexto amplio, usar un modelo de embeddings, un modelo principal y herramientas simultáneas. La memoria se consume por pesos, caché y sesiones. Una GPU rápida es adecuada cuando todo cabe; DGX Spark ofrece margen con 128 GB y CUDA.

Si el problema es el número de usuarios, replicas de servicio pueden ser mejores que un modelo mayor. Consulta clústeres de DGX Spark. Para una plataforma central con mucha más memoria y administración, consulta DGX Station.

Arquitectura completa

Un agente fiable es un sistema con estado, herramientas y límites externos al modelo

El modelo propone el siguiente paso, pero no debe poseer la autoridad final. La aplicación conserva identidad, permisos, presupuesto, estado, herramientas disponibles, validación y registro. Esta separación permite cambiar de modelo sin rehacer las reglas de negocio.

Solicitud → política → contexto autorizado → modelo → propuesta de herramienta
          → validación de argumentos → aprobación cuando corresponde
          → ejecución aislada → comprobación del resultado → respuesta
Orquestador. Código que decide qué contexto se envía, qué herramientas están disponibles y cuándo termina el proceso.
Herramienta. Función con un contrato pequeño: nombre, finalidad, argumentos tipados, permisos, resultado y errores.
Estado. Datos necesarios para continuar una tarea. Debe ser explícito y no depender únicamente del historial de conversación.
Memoria. Información recuperada de sesiones anteriores. Requiere finalidad, límites, permisos, retención y posibilidad de corrección.
Plan. Secuencia propuesta por el modelo. Es una hipótesis que se valida, no una autorización.
Aprobación. Punto en el que una persona confirma una acción de riesgo, con contexto suficiente para decidir.
Idempotencia. Propiedad que evita duplicar una operación cuando se repite una petición o se recupera un error.
Presupuesto. Límite de pasos, tiempo, tokens, llamadas, datos o acciones que impide bucles indefinidos.

Un chat con una única llamada a función puede ser más seguro y útil que un agente autónomo general. Añade capacidad solo cuando una evaluación demuestre que el siguiente nivel aporta valor.

Diseño de herramientas

Crear funciones pequeñas, tipadas y comprensibles para el revisor

Una herramienta debe representar una acción de negocio concreta. Evita funciones como «ejecutar SQL», «hacer petición HTTP» o «modificar ERP»: conceden demasiada libertad y son difíciles de auditar. Prefiere contratos como «consultar estado de pedido», «crear borrador de respuesta» o «proponer cambio de fecha».

Lectura

Consulta acotada

consultar_pedido({
  "numero": "string",
  "campos": ["estado", "transportista"]
})

El servidor obtiene la identidad del usuario, aplica permisos y devuelve solo campos permitidos. El modelo no elige credenciales ni tabla.

Escritura

Propuesta revisable

crear_borrador_respuesta({
  "mensaje_id": "string",
  "asunto": "string",
  "cuerpo": "string"
})

La función crea un borrador, no envía. El usuario revisa destinatarios, texto y adjuntos en el sistema de origen.

No ejecutes directamente el JSON del modelo. Analízalo con un validador, descarta campos desconocidos y vuelve a comprobar permisos justo antes de la acción.

Seguridad

Tratar correo, páginas y documentos como contenido potencialmente adversario

La inyección de prompt aparece cuando una fuente intenta convencer al modelo de que cambie sus instrucciones, revele datos o utilice una herramienta. El texto puede estar visible, oculto en un documento o incluido en resultados recuperados. No existe una frase de sistema que elimine por completo este riesgo; la defensa combina arquitectura y pruebas.

  1. Separa instrucciones y datos. Etiqueta el contenido externo y prohíbe que defina políticas o herramientas.
  2. Reduce el contexto. Entrega únicamente los fragmentos necesarios y autorizados para la tarea.
  3. Limita herramientas por paso. Una tarea de lectura no necesita funciones de escritura disponibles.
  4. Valida argumentos fuera del modelo. Bloquea rutas, dominios, destinatarios o identificadores no permitidos.
  5. Solicita aprobación para efectos relevantes. El revisor debe ver la fuente, la propuesta y el efecto exacto.
  6. Comprueba el resultado. Verifica que la operación se realizó una vez y sobre el recurso previsto.
  7. Prueba entradas hostiles. Incluye documentos que piden ignorar reglas, revelar secretos o llamar a otras herramientas.

Los secretos no deben entrar en el contexto. La herramienta utiliza credenciales en el servidor y devuelve el mínimo resultado. Los mensajes de error tampoco deben revelar tokens, rutas internas o consultas.

Estado y memoria

Conservar lo necesario sin transformar cada conversación en un expediente permanente

El historial completo es una forma costosa y poco controlada de estado. Resume hechos aprobados en campos explícitos y conserva la procedencia. Una preferencia, una instrucción de empresa y un dato transitorio no tienen la misma autoridad ni la misma retención.

TipoEjemploControl
Estado de tareaPaso actual, identificadores y resultado anteriorCaduca al cerrar o cancelar el flujo
Preferencia del usuarioIdioma o formato habitualVisible, editable y eliminable
PolíticaRegla aprobada por la organizaciónFuente versionada y no modificable por el chat
Conocimiento recuperadoFragmento de procedimientoPermisos antes de recuperación y cita
Registro de acciónHerramienta, argumentos validados y resultadoRetención proporcional y acceso restringido

Cuando un modelo resume memoria, la aplicación debe validar campos y asociarlos a una fuente. No permitas que una suposición se convierta silenciosamente en un hecho persistente.

Pruebas

Evaluar trayectorias, efectos y recuperación ante errores

Una respuesta final correcta puede ocultar llamadas innecesarias o peligrosas. Registra la trayectoria: decisiones, herramientas propuestas, argumentos, validaciones, aprobaciones, errores y resultado. La puntuación debe penalizar efectos laterales incluso cuando el texto final sea aceptable.

PruebaResultado esperadoFallo crítico
Solicitud normalMenor número de pasos que resuelve la tareaLlamadas redundantes o datos excesivos
Dato ausentePregunta o abstenciónInventar un identificador
Herramienta indisponibleError comprensible y recuperaciónBucle de reintentos
Contenido con instrucciones hostilesSe trata como dato y se ignora la ordenCambio de objetivo o filtración
Petición de escrituraBorrador y aprobación cuando correspondeEjecución automática no autorizada
Petición duplicadaUna única operaciónDoble alta, envío o cargo
Usuario sin permisoDenegación sin revelar existenciaAcceso o inferencia de datos
  1. Fija un conjunto de escenarios. Incluye normales, límites, errores y ataques.
  2. Ejecuta varias veces. Los modelos son probabilísticos; mide tasa de éxito, no una demostración favorable.
  3. Valida con reglas deterministas. Esquemas, permisos y efectos se comprueban con código.
  4. Revisa una muestra humana. Especialmente en decisiones que afectan a clientes, empleados o contratos.
  5. Bloquea regresiones. Un cambio de modelo o prompt no se publica si empeora seguridad o exactitud.
Implantación gradual

Pasar de asistente a agente sin saltar directamente a la autonomía

NivelCapacidadControl requerido
ConsultaResponde con información recuperadaPermisos, fuentes y abstención
RecomendaciónPropone un siguiente pasoCriterios visibles y revisión
BorradorPrepara correo, documento o cambioNo ejecuta; el usuario confirma en el sistema de origen
Ejecución aprobadaRealiza una acción concretaVista previa, aprobación, idempotencia y registro
Automatización acotadaEjecuta casos de bajo riesgo definidosLímites, alertas, muestreo y parada inmediata

Define una condición de parada técnica y operativa. El agente debe finalizar al alcanzar el objetivo, agotar pasos, superar tiempo, recibir un error no recuperable o requerir información humana. La ausencia de salida no justifica seguir llamando herramientas.

Ejemplo seguro: preparar un borrador de correo

  1. El disparador obtiene un mensaje autorizado.
  2. Se eliminan firmas, rastreadores y adjuntos no necesarios.
  3. Un RAG recupera política y datos permitidos.
  4. El modelo devuelve asunto, cuerpo, nivel de confianza y fuentes en JSON.
  5. El validador comprueba esquema y destinatarios.
  6. Microsoft Graph crea un borrador; no se llama al método de envío.
  7. La persona revisa y decide desde Outlook.

La guía n8n + Ollama + Outlook desarrolla esta integración con separación entre modelo, orquestación y correo.

Capacidad

Dimensionar para contexto, herramientas y sesiones simultáneas

Los agentes consumen más contexto que un chat simple: instrucciones, esquema de herramientas, resultados, memoria y varios ciclos. Mide tokens de entrada por paso, número medio y máximo de pasos, latencia de cada herramienta y sesiones concurrentes. Un modelo rápido no compensa una herramienta lenta ni un flujo con demasiadas iteraciones.

Prueba

Equipo existente

Un agente de lectura con un modelo contenido permite demostrar el contrato y la seguridad antes de ampliar capacidad.

Contexto amplio

DGX Spark

La memoria unificada aporta margen cuando modelos, herramientas y sesiones ya no caben en VRAM convencional.

Servicio

GPU profesional o Station

Prioriza una GPU rápida cuando el modelo cabe; escala memoria y réplicas según usuarios y nivel de servicio.

Diseño antes de autonomía

Define una acción, un permiso y una prueba

Con ese alcance se puede seleccionar modelo, orquestador y hardware sin sobredimensionar ni conceder autoridad innecesaria.

Consultar compra y disponibilidad
Tutorial práctico

Construir un agente local mínimo con una herramienta de solo lectura

El primer agente no debería enviar correos, modificar el ERP ni ejecutar órdenes. Empieza con una función que solo consulta un dato acotado, valida sus argumentos y devuelve una estructura pequeña. El modelo decide si necesita la herramienta; la aplicación conserva la autoridad para permitirla, ejecutarla y registrar el resultado.

import json
import re
from ollama import chat

MODEL = "familia:variante-validada"
MAX_STEPS = 4

# Sustituye este diccionario por una consulta de solo lectura con permisos mínimos.
INCIDENCIAS = {
    "INC-100": {"estado": "en_revision", "responsable": "soporte"},
    "INC-101": {"estado": "resuelta", "responsable": "sistemas"},
}

def consultar_incidencia(codigo: str) -> dict:
    if not re.fullmatch(r"INC-[0-9]{3,8}", codigo):
        raise ValueError("Formato de incidencia no permitido")
    return INCIDENCIAS.get(codigo, {"estado": "no_encontrada"})

TOOL_SCHEMA = {
    "type": "function",
    "function": {
        "name": "consultar_incidencia",
        "description": "Consulta el estado de una incidencia por su código",
        "parameters": {
            "type": "object",
            "properties": {"codigo": {"type": "string"}},
            "required": ["codigo"],
            "additionalProperties": False,
        },
    },
}

ALLOWED_TOOLS = {"consultar_incidencia": consultar_incidencia}
messages = [{"role": "user", "content": "¿En qué estado está INC-100?"}]

for _ in range(MAX_STEPS):
    response = chat(model=MODEL, messages=messages, tools=[TOOL_SCHEMA])
    messages.append(response.message)

    calls = response.message.tool_calls or []
    if not calls:
        print(response.message.content)
        break

    for call in calls:
        name = call.function.name
        if name not in ALLOWED_TOOLS:
            raise RuntimeError(f"Herramienta no autorizada: {name}")
        try:
            result = ALLOWED_TOOLS[name](**call.function.arguments)
        except (TypeError, ValueError) as exc:
            result = {"error": str(exc)}
        messages.append({
            "role": "tool",
            "tool_name": name,
            "content": json.dumps(result, ensure_ascii=False),
        })
else:
    raise RuntimeError("El agente superó el límite de pasos")

Este ejemplo incorpora cuatro límites que deben mantenerse al conectar sistemas reales: lista explícita de herramientas, validación de parámetros, máximo de pasos y función de solo lectura. En producción añade identidad del usuario, autorización por recurso, timeout, idempotencia, registro de decisiones y una salida que el revisor pueda entender.

ComponenteResponsabilidadNo debe delegarse al modelo
ModeloProponer una herramienta y sus argumentosDecidir permisos o abrir conexiones por su cuenta
OrquestadorValidar esquema, estado, pasos y erroresEjecutar cualquier nombre recibido sin lista permitida
ConectorAplicar credenciales y operación acotadaEntregar credenciales al prompt
AprobaciónConfirmar acciones con efecto externoConvertir una sugerencia en escritura automática
RegistroConservar entrada, herramienta, resultado y decisiónGuardar contenido sensible sin finalidad ni retención
Opciones de implantación

Elegir entre n8n, Open WebUI y un orquestador en Python

EnfoqueEncajeControl que debes añadir
n8n autoalojadoFlujos de correo, carpetas, avisos y aplicaciones empresariales con pasos visiblesCredenciales separadas, ramas de error, aprobación e idempotencia
Open WebUI con herramientasAcciones iniciadas desde una conversación y asociadas a usuariosRoles, herramientas permitidas, límites de red y revisión de funciones instaladas
Python con LangChain, LangGraph o CrewAIEstado complejo, pruebas, rutas condicionales y conectores propiosContratos tipados, persistencia, observabilidad y pruebas de trayectoria
Aplicación propia sin frameworkUno o dos flujos críticos con requisitos muy definidosMáquina de estados, reintentos, auditoría y mantenimiento del código

El framework organiza el bucle, pero no resuelve autorización, calidad del dato ni responsabilidad. Para el primer despliegue, una sola herramienta de lectura y una métrica clara ofrecen más información que un sistema con muchos agentes y permisos amplios.

Antes de habilitar escritura, conecta la evaluación descrita en esta guía con la arquitectura de n8n, Ollama y Outlook y con los controles de IA local y RGPD.

Empieza con lectura y borradores

Una tarea acotada, una herramienta de solo lectura y una salida revisable permiten medir utilidad sin conceder autoridad innecesaria.

Consultar compra y disponibilidad
Del tutorial a la compra

Convierte el caso de uso en una decisión de hardware verificable

Define la tarea, prepara una prueba y mide memoria, tiempo y usuarios simultáneos. El objetivo es traducir el tutorial a requisitos de compra concretos sin presentar la implantación como un servicio estándar.

  1. 01

    Define la carga

    Concreta tarea, familia de modelo, contexto, lote y usuarios simultáneos.

    Aclarar el caso de uso →
  2. 02

    Dimensiona memoria

    Compara VRAM, memoria coherente, velocidad y margen de crecimiento.

    Usar el recomendador de hardware →
  3. 03

    Compra en la tienda

    Abre la ficha comercial para consultar configuración, precio cerrado, disponibilidad y condiciones vigentes.

    Contacto y disponibilidad →
Si la carga cabe en VRAM

RTX PRO 6000 · 96 GB

Prioriza una GPU profesional para inferencia, imagen, vídeo o serving cuando el modelo y el contexto caben en sus 96 GB de VRAM.

Ver ficha profesional →
Si todavía no tienes medidas

Recomendador de hardware

Responde cinco preguntas y compara el equipo actual, una GPU NVIDIA, la RTX PRO 6000 y sistemas GB10 como DGX Spark, ASUS Ascent GX10 o Lenovo ThinkStation PGX.

Comparar opciones →

aisupercomputers.es aporta guías y herramientas de decisión. La compra, el precio cerrado en la ficha y el soporte comercial desde España se gestionan en las tiendas del grupo Ietres.

Las reglas de conexión · ¿2, 4, 50, 500 unidades?
Preguntas frecuentes

Respuestas directas

¿Qué diferencia hay entre un chatbot y un agente?

Un chatbot genera respuestas. Un agente además puede seleccionar herramientas, consultar sistemas y proponer o ejecutar acciones dentro de límites definidos.

¿Un agente local mantiene todos los datos dentro?

Solo si el modelo, las herramientas, los conectores y los registros también son locales o están autorizados. Un modelo local puede llamar a una API externa y transferir datos.

¿Debe un agente poder escribir en el ERP?

No por defecto. Empieza con lectura, utiliza credenciales de mínimo privilegio y exige aprobación humana para cambios relevantes.

¿Cómo se limita la inyección de prompt?

Separa instrucciones y datos, trata documentos y correo como no confiables, limita herramientas, valida argumentos, aplica políticas fuera del modelo y registra las acciones.

¿Qué modelo conviene para herramientas?

Evalúa familias con soporte de salidas estructuradas y llamadas a herramientas. La fiabilidad del esquema y la tasa de acciones correctas importan más que el tamaño por sí solo.

¿Cuándo necesito más hardware?

Cuando el modelo, el contexto, varias herramientas o los usuarios simultáneos superan la memoria o la latencia objetivo. Mide cada fase y escala réplicas cuando el problema sea concurrencia.