Goose es un agente de IA de código abierto creado en Block que se ejecuta en tu propia máquina como app de escritorio, CLI y API. Lee y escribe archivos, ejecuta comandos y pruebas, y funciona con más de quince proveedores de modelos y con extensiones MCP. Es gratuito, con licencia Apache 2.0, y solo pagas el uso del modelo.
OpenHands, antes OpenDevin, es una plataforma de código abierto que resuelve tareas de programación de principio a fin: recibe un encargo, abre un contenedor sandbox y edita archivos, ejecuta comandos y navega la web hasta terminar. Se ejecuta con Docker en tu propio equipo y funciona con el modelo que elijas.
El Codex CLI es el agente de código de OpenAI que trabaja dentro de tu terminal: le describes una tarea, lee tu repositorio, propone los cambios y ejecuta comandos dentro de un sandbox que tú controlas. Es open source, se instala con npm y funciona con tu cuenta de ChatGPT o con una clave de API.
Roo Code es una extensión de código abierto para VS Code, nacida como fork de Cline, que convierte el editor en un equipo de agentes con modos especializados (Code, Architect, Debug, Ask y Orchestrator). El proyecto se archivó en mayo de 2026 en la versión 3.54.0, pero su continuación comunitaria ZooCode mantiene vivas las mismas funciones.
Cline es una extensión de VS Code que convierte tu editor en un agente de código autónomo: lee tu proyecto, planifica los cambios en el modo Plan y los ejecuta en el modo Act, mostrando cada edición como un diff que tú apruebas. Es open source y funciona con tu propia clave de API o con modelos locales.
Un sistema multiagente reparte una tarea entre varios agentes especializados coordinados por un patrón de diseño. Los tres más habituales son orquestador-trabajadores, en el que un agente líder delega en subagentes paralelos; el jerárquico, con equipos de equipos; y el de red, donde cualquier agente cede el control a otro mediante un traspaso.
ReAct y plan-and-execute son los dos patrones de control de un agente de IA. ReAct decide un paso cada vez, razonando y actuando en bucle; plan-and-execute traza primero un plan completo y luego lo ejecuta paso a paso. El primero se adapta mejor a lo imprevisto; el segundo gasta menos llamadas y planifica tareas largas con más orden.
La ingeniería de contexto es el arte de decidir qué información entra en la ventana de un modelo en cada paso de un agente. Frente a la ingeniería de prompts, gestiona todo el conjunto de tokens: instrucciones, herramientas, memoria e historial. Su meta es el conjunto más pequeño de tokens de alta señal que logre la tarea.
El human-in-the-loop es el patrón que mantiene a una persona en el bucle de decisión de un agente de IA: el agente se detiene en un punto de aprobación antes de una acción irreversible, espera tu confirmación y reanuda con el estado intacto. Frameworks como LangGraph y el Agents SDK de OpenAI lo implementan con interrupciones y aprobación de herramientas.
La memoria es lo que permite a un agente de IA recordar más allá de una sola conversación. La memoria de trabajo es su ventana de contexto, efímera y limitada; la memoria a largo plazo guarda hechos, experiencias y procedimientos en un almacén externo, casi siempre una base de datos vectorial, y los recupera cuando hacen falta.
El patrón de reflexión hace que un agente critique su propia salida y la reescriba antes de darla por buena. Un modelo genera, otro paso evalúa y señala fallos, y un tercero corrige, en un bucle de una o dos rondas. Mejora la calidad en tareas con criterios claros, pero cada ciclo añade llamadas al modelo, tokens y latencia.
La planificación permite a un agente de IA resolver tareas largas: en lugar de improvisar paso a paso, primero descompone el objetivo en una lista de subtareas ordenadas y luego las ejecuta. El patrón planificador-ejecutor separa el pensamiento de la acción, reduce el número de llamadas al modelo y permite replanificar cuando algo falla a mitad del trabajo.
El patrón ReAct (Reason + Act) organiza un agente como un bucle de tres pasos que se repite: razonar sobre qué hacer, ejecutar una acción con una herramienta y observar el resultado. Presentado por Yao y sus colegas en 2022, entrelaza el razonamiento y la acción para que el modelo planifique, consulte fuentes externas y corrija sus errores sobre la marcha.
Un agente de IA es un programa que usa un modelo de lenguaje como cerebro para decidir por sí mismo qué pasos dar hacia un objetivo: razona, llama a herramientas externas, observa el resultado y repite ese bucle hasta terminar. A diferencia de un chatbot, no se limita a responder, sino que actúa.
El dropout es una técnica de regularización que desactiva neuronas al azar durante el entrenamiento, con probabilidad de retención p, y divide las activaciones supervivientes entre p para conservar su escala. En inferencia la red completa actúa sin apagar nada. Matemáticamente equivale a promediar un ensemble enorme de subredes que comparten pesos.
La normalización de capa estabiliza el entrenamiento normalizando cada ejemplo por separado, con la media y la desviación típica de sus propias activaciones. A diferencia de la normalización por lotes, no depende del tamaño del lote, y por eso los transformers la adoptaron. RMSNorm es su variante más ligera y extendida hoy.
La normalización por lotes (batch normalization) es una técnica que normaliza las activaciones de cada capa usando la media y la varianza del minilote, y después las reescala con dos parámetros aprendibles, gamma y beta. Introducida en 2015, permite tasas de aprendizaje más altas, acelera el entrenamiento y estabiliza las redes profundas.
La inicialización de pesos fija la escala de los valores iniciales de la matriz W antes de entrenar. Xavier/Glorot, de 2010, reparte la varianza entre entradas y salidas y sirve para sigmoide y tanh; He, de 2015, la duplica para ReLU, que anula la mitad de las activaciones. Elegir mal frena o rompe el aprendizaje.
Los métodos de segundo orden usan la hessiana, la matriz de segundas derivadas de la pérdida, para orientar mejor cada paso que el gradiente solo. El método de Newton actualiza los pesos restando la inversa de la hessiana por el gradiente, pero invertirla es demasiado costoso en redes grandes, así que se recurre a aproximaciones cuasi-Newton.
La programación de la tasa de aprendizaje cambia el valor de η a lo largo del entrenamiento en lugar de dejarlo fijo. Empieza con un calentamiento que sube η desde casi cero, mantiene un pico y después la reduce con decaimiento por pasos, exponencial o coseno para converger más rápido y con menos oscilación.
Adam combina el momento de primer orden (media móvil del gradiente) y el de segundo orden (media de sus cuadrados) para dar a cada parámetro su propia tasa de aprendizaje. Con la corrección de sesgo y los valores por defecto β1=0,9, β2=0,999 y ε=1e-8, converge rápido y casi sin ajustar nada.
AdaGrad y RMSProp son optimizadores que dan a cada peso su propia tasa de aprendizaje. AdaGrad acumula el cuadrado de todos los gradientes y divide el paso por su raíz, lo que la apaga con el tiempo. RMSProp lo corrige con una media móvil que olvida el pasado con un factor de 0,9.
El gradiente acelerado de Nesterov mejora el momentum clásico calculando el gradiente en un punto adelantado, el que la inercia va a alcanzar, en lugar del punto actual. Ese paso de anticipación corrige la trayectoria antes de pasarse y logra una convergencia O(1/k²) en problemas convexos suaves, la más rápida posible para un método de primer orden.
El momentum es una mejora del descenso de gradiente que acumula una velocidad a partir de los gradientes anteriores en lugar de mirar solo el actual. Con un coeficiente β cercano a 0,9, esa inercia suaviza el zigzag del SGD puro, atraviesa los valles alargados y hace que el entrenamiento converja bastante más rápido.
En redes neuronales grandes la superficie de pérdida casi nunca atrapa al entrenamiento en un mínimo local malo. El obstáculo real son los puntos de silla, mucho más abundantes en alta dimensión. Este artículo explica mínimos locales frente a globales, por qué el descenso de gradiente estocástico los esquiva y qué papel juega la convexidad.
En una capa densa con z igual a Wx más b, la matriz jacobiana de la salida respecto a la entrada es la propia matriz de pesos W. De ahí salen las dos reglas del entrenamiento: el gradiente respecto a los pesos vale delta por x transpuesta, y el gradiente respecto a la entrada vale W transpuesta por delta.
Un grafo computacional representa una función como una red de operaciones elementales. La diferenciación automática recorre ese grafo para calcular derivadas exactas: el modo inverso, base de la retropropagación, obtiene el gradiente de todos los pesos en una sola pasada hacia atrás. Es el mecanismo que hace posible entrenar redes con miles de millones de parámetros.
La retropropagación aplica la regla de la cadena para repartir el error de una red capa por capa. Primero se calcula el error de la última capa, luego se propaga hacia atrás y con él se obtienen los gradientes de todos los pesos y sesgos en una sola pasada, resumidos en cuatro ecuaciones.
La retropropagación reparte la culpa del error entre todos los pesos de una red neuronal. Propaga hacia atrás una señal de error capa por capa, multiplicando por las derivadas locales, y así obtiene el gradiente de cada peso en una sola pasada. Esa idea, publicada en 1986, es la que hace posible entrenar redes profundas.
El descenso de gradiente por lotes usa todos los datos en cada paso, el estocástico usa una sola muestra y el mini-batch escoge un grupo intermedio, casi siempre de 32 a 256 ejemplos. Esta guía compara las tres variantes, su coste, su ruido y por qué el mini-batch se ha convertido en el estándar del entrenamiento.
La tasa de aprendizaje es el hiperparámetro que fija el tamaño de cada paso al ajustar los pesos durante el entrenamiento. Un valor demasiado alto hace que la pérdida diverja; uno demasiado bajo la vuelve lentísima. Los valores típicos van de 0,001 con Adam a 0,1 con descenso de gradiente clásico.
El descenso de gradiente es el algoritmo que entrena casi todas las redes neuronales. Calcula la pendiente de la función de pérdida respecto a cada peso y da un paso pequeño en la dirección contraria, controlado por la tasa de aprendizaje, hasta acercarse a un mínimo donde el error deja de bajar.
La regularización L1 y L2 añade a la función de pérdida un término que penaliza los pesos grandes. La L2, o weight decay, encoge los pesos de forma suave hacia cero; la L1 los lleva exactamente a cero y produce modelos dispersos. Ambas reducen el sobreajuste y mejoran la capacidad de generalización de una red neuronal.
La entropía mide la incertidumbre media de una distribución en bits, la entropía cruzada mide el coste de codificar los datos reales con un modelo equivocado y la divergencia KL es la diferencia entre ambas. Por eso minimizar la entropía cruzada al entrenar equivale a minimizar la divergencia KL frente a las etiquetas.
La entropía cruzada categórica es la función de pérdida estándar para clasificar en varias clases mutuamente excluyentes. Compara la distribución que predice la red, normalmente tras una softmax, con la etiqueta real codificada en formato one-hot, y penaliza con fuerza asignar poca probabilidad a la clase correcta.
La entropía cruzada binaria es la función de pérdida estándar para clasificar entre dos clases. Compara la probabilidad que devuelve la sigmoide con la etiqueta real, 0 o 1, y castiga con fuerza los fallos seguros. Su fórmula nace de la máxima verosimilitud y su derivada se combina con la sigmoide en un gradiente muy simple.
El error absoluto medio (MAE) promedia el valor absoluto de la diferencia entre predicción y realidad, así que un valor atípico pesa lo justo y no dispara la pérdida. La pérdida de Huber combina esa robustez con la suavidad del error cuadrático medio mediante un parámetro delta que decide dónde cambia de comportamiento.
El error cuadrático medio (MSE) es la función de pérdida más común en regresión: promedia el cuadrado de la diferencia entre cada valor real y su predicción. Elevar al cuadrado castiga con fuerza los fallos grandes, hace la función derivable y fija un objetivo claro para el descenso de gradiente.
Una función de pérdida mide cuánto se equivoca una red neuronal en un solo ejemplo, comparando su predicción con el valor correcto. La función de coste promedia esa pérdida sobre todo el conjunto de datos. Ese número único es el que el entrenamiento intenta reducir paso a paso con el descenso de gradiente.
La propagación hacia delante es el proceso por el que una red neuronal transforma la entrada en una predicción, capa por capa. En cada capa multiplica el vector de entradas por una matriz de pesos, suma un sesgo y aplica una función de activación, de modo que la salida de una capa alimenta a la siguiente hasta el resultado final.
El gradiente explosivo ocurre cuando la norma del gradiente crece sin control al retropropagar el error, sobre todo en redes profundas y recurrentes con pesos grandes. El entrenamiento se desestabiliza y la pérdida se vuelve NaN. El recorte de gradiente, junto con una buena inicialización y normalización, es la solución estándar.
El gradiente que se desvanece aparece cuando la señal de error se encoge al retropropagarse por muchas capas. Las funciones sigmoide y tangente hiperbólica tienen derivadas pequeñas, y su producto tiende a cero, así que las primeras capas apenas aprenden. ReLU, una buena inicialización y la normalización resuelven el problema.
Elegir una función de activación es sencillo con una regla base: usa ReLU en las capas ocultas, GELU o SiLU en transformers y reserva la salida para softmax en clasificación multiclase, sigmoide en problemas binarios y una activación lineal en regresión. Esta comparativa reúne fórmulas, rangos y casos de uso.
La función Mish se define como mish(x) = x·tanh(softplus(x)). Es suave, no monótona y se autorregulariza, propiedades que le permiten superar a Swish y a ReLU en muchas pruebas. El detector de objetos YOLOv4 la adoptó en su columna vertebral como activación por defecto.
La función Softplus se define como softplus(x) = ln(1 + eˣ): una aproximación suave y siempre positiva de ReLU cuya derivada es exactamente la sigmoide. Es derivable en todo su dominio, evita el vértice anguloso de ReLU y su salida nunca llega a cero del todo.
La función SELU (Scaled Exponential Linear Unit) se define como SELU(x) igual a lambda por ELU(x), con lambda cercano a 1,0507 y alfa cercano a 1,6733. Esas dos constantes hacen que las activaciones converjan solas hacia media cero y varianza uno capa tras capa, y crean redes profundas que se normalizan a sí mismas sin batch normalization.
La función ELU (Exponential Linear Unit) devuelve x cuando la entrada es positiva y α(eˣ−1) cuando es negativa. Al permitir valores negativos suaves, acerca a cero la media de las activaciones, acelera la convergencia frente a ReLU y evita las neuronas muertas gracias a un gradiente que nunca se anula del todo.
La función Swish, también llamada SiLU, multiplica la entrada por su sigmoide: swish(x) = x·σ(x). Es suave, no monótona y se autorregula, por lo que suele superar a ReLU en redes profundas. Modelos como LLaMA y EfficientNet la usan como activación por defecto.
7 min3
Usamos cookies propias y de terceros para analizar el tráfico del sitio. Puedes aceptarlas, rechazarlas o configurar tu elección.
Más información sobre las cookies
Preferencias de cookies
NecesariasImprescindibles para el funcionamiento del sitio. Siempre activas.
AnalíticasNos ayudan a entender cómo se usa el sitio (Google Analytics).