
Mejores Plataformas para Crear Agentes de IA 2025: Reseñas y Rankings
Guía completa de las mejores plataformas para crear agentes de IA en 2025, destacando FlowHunt.io, OpenAI y Google Cloud. Descubre reseñas detalladas, clasifica...
Analisis profundo de los mecanismos de inyeccion de 11 plataformas de agentes de IA: donde se ubican las habilidades en el prompt, cuando se cargan, cuanto cuestan en tokens y como sobreviven a la compactacion del contexto.
Todos los frameworks de agentes de IA enfrentan la misma pregunta fundamental: como hacer que un LLM sea bueno en algo especifico? El modelo en si tiene un amplio conocimiento general, pero cuando necesitas que realice una revision de codigo, despliegue infraestructura o navegue en Minecraft, necesita instrucciones especializadas, acceso a herramientas y contexto de dominio.
Este es el problema de la inyeccion de habilidades. Y cada framework principal lo resuelve de manera diferente.
Algunas plataformas vuelcan todo en el prompt del sistema desde el principio. Otras usan carga diferida, revelando capacidades solo cuando el agente las necesita. Algunas usan bases de datos vectoriales para recuperar habilidades relevantes basandose en similitud semantica. Las diferencias no son academicas: afectan directamente los costos de tokens, la fiabilidad del agente y cuantas habilidades puede manejar un agente de manera realista.
Analizamos 11 plataformas principales de agentes de IA para entender exactamente donde se ubican las habilidades en el prompt, cuando se cargan, cuanto cuestan en tokens y como sobreviven cuando la ventana de contexto se llena. Esta no es una comparacion superficial de caracteristicas. Revisamos el codigo fuente, la documentacion y los diagramas de arquitectura para mapear los mecanismos de inyeccion precisos de cada plataforma.
Aqui esta la vision general completa antes de entrar en los detalles.
| Plataforma | Punto de inyeccion | Cuando se carga | Mecanismo |
|---|---|---|---|
| Claude Code | System-reminder (metadatos) + mensaje de conversacion (cuerpo) | Metadatos al inicio de la sesion; cuerpo con /command o auto-coincidencia | El framework inyecta metadatos; la herramienta Skill carga el cuerpo completo al activarse |
| CrewAI | Prompt de tarea (agregado antes de la llamada al LLM) | En cada ejecucion de tarea via _finalize_task_prompt() | format_skill_context() agrega todos los cuerpos de habilidades al prompt |
| LangChain Deep Agents | Prompt del sistema (metadatos) + historial de conversacion (cuerpo) | Metadatos al inicio; cuerpo cuando el agente llama a read_file() | SkillsMiddleware inyecta el indice; el agente carga el cuerpo via herramienta del sistema de archivos |
| OpenAI Responses API | Contexto del prompt del usuario (gestionado por la plataforma) | Al incluir skill_reference en la llamada API | La plataforma agrega metadatos; el modelo lee el SKILL.md completo al invocar |
| OpenAI Agents SDK | Definiciones de herramientas (diferidas via ToolSearchTool) | Nombres de namespace en creacion; esquemas con llamada a ToolSearchTool | tool_namespace() + ToolSearchTool() para descubrimiento progresivo |
| AutoGen Teachability | Mensaje de usuario modificado (memos recuperados inyectados) | Cada turno — recuperacion de base de datos vectorial antes de cada llamada al LLM | El middleware intercepta el mensaje, consulta ChromaDB, inyecta las top-K coincidencias |
| Semantic Kernel | Esquemas de function-calling + contenido de plantilla de prompt | Todos los esquemas al inicio; contenido de plantilla al invocar la funcion | kernel.add_plugin() registra todo; kernel.invoke() renderiza plantillas |
| MetaGPT | Plantilla de prompt de Action (renderizada en la llamada al LLM) | Cuando _act() del Role se ejecuta para una Action especifica | Action.run() formatea PROMPT_TEMPLATE, envia via aask() |
| Voyager | Prompt de generacion de codigo (codigo de habilidades recuperado) | Antes de cada generacion de codigo; busqueda por similitud de embeddings | SkillLibrary.retrieve_skills() inyecta las top-5 como ejemplos few-shot |
| DSPy | Demos few-shot compiladas en prompts de modulos Predict | Compiladas offline por el optimizador; fijas en tiempo de ejecucion | BootstrapFewShot / MIPROv2 selecciona las mejores demos; Predict las renderiza en el prompt |
| SuperAGI | Esquemas de herramientas en la lista de herramientas del agente | Creacion del agente — todas las herramientas del toolkit registradas por adelantado | BaseToolkit.get_tools() registra todas como herramientas de function-calling |
| CAMEL-AI | Esquemas de funciones + mensaje del sistema de rol | Creacion del agente — todas las herramientas registradas por adelantado | ChatAgent(tools=[*toolkit.get_tools()]) carga todo en la inicializacion |
| Plataforma | Siempre presente? | Persistencia | Costo de tokens |
|---|---|---|---|
| Claude Code | Metadatos: SI. Cuerpo: solo despues de la activacion | Alcance de sesion. En compactacion: se vuelve a adjuntar (5K/habilidad, 25K tope) | ~250 caracteres/metadatos de habilidad; 1% del presupuesto de contexto |
| CrewAI | SI — cuerpo completo en cada prompt de tarea | Inyeccion fresca por tarea; sin persistencia entre tareas | Cuerpo completo en cada llamada. Limite suave de 50K caracteres |
| LangChain Deep Agents | Metadatos: SI. Cuerpo: bajo demanda | El cuerpo permanece en el historial de conversacion; habilidades de subagentes aisladas | ~100 tokens/metadatos de habilidad; cuerpo se paga una vez (~3,302 tokens) |
| OpenAI Responses API | Nombre+desc: SI. Cuerpo completo: al invocar | Solo respuesta API individual; sin persistencia entre llamadas | Gestionado por la plataforma |
| OpenAI Agents SDK | Lista de namespaces: SI. Esquemas: bajo demanda | Solo ejecucion individual; re-descubrimiento por sesion | Minimo hasta la activacion |
| AutoGen Teachability | NO — solo memos relevantes por turno | Entre sesiones via ChromaDB; persiste indefinidamente | ~3-5 memos por turno (variable) |
| Semantic Kernel | Todos los esquemas: SI. Plantillas: al invocar | En memoria por instancia de kernel; sin persistencia entre sesiones | Todos los esquemas siempre presentes |
| MetaGPT | NO — solo la plantilla de la Action actual | Solo ejecucion de accion individual | Una plantilla por turno |
| Voyager | NO — top-5 recuperadas por tarea | Persistencia de por vida en base de datos vectorial | ~500-2,000 tokens por ejemplo de habilidad |
| DSPy | SI — demos compiladas incorporadas | Serializable a JSON; persiste entre sesiones | Fijo despues de la compilacion (3-8 demos/modulo) |
| SuperAGI | SI — todos los esquemas siempre presentes | Dentro de la sesion del agente | Todos los esquemas siempre presentes |
| CAMEL-AI | SI — todos los esquemas + prompt de rol | Dentro de la sesion de conversacion | Todos los esquemas siempre presentes |
Antes de profundizar en la comparacion, definamos el espacio del problema. La ventana de contexto de un agente de IA —el texto total que el LLM ve en cada llamada— tiene un tamano fijo. Cada token de instruccion, historial de conversacion, definicion de herramienta y datos recuperados compite por espacio en esa ventana.
Una “habilidad” en el contexto del agente es cualquier paquete estructurado de experiencia que cambia como se comporta el agente. Esto puede ser:
El mecanismo de inyeccion —donde y cuando este contenido entra en el contexto— determina tres propiedades criticas:
Cada framework hace diferentes concesiones en estas tres dimensiones. Examinemos cada uno.
En las 11 plataformas, los enfoques de inyeccion de habilidades se distribuyen a lo largo de un espectro desde “todo cargado por adelantado” hasta “nada cargado hasta que se necesite explicitamente.”
En un extremo, plataformas como CrewAI, SuperAGI y CAMEL-AI inyectan el contenido completo de cada habilidad activada en cada llamada al LLM. El agente siempre tiene toda su experiencia disponible. Simple, fiable, pero costoso en tokens.
En el otro extremo, Claude Code, LangChain Deep Agents y la API de Responses de OpenAI usan divulgacion progresiva: el agente ve solo los nombres y descripciones breves de las habilidades al inicio, y el contenido completo se carga bajo demanda. Eficiente, escalable, pero requiere que el agente reconozca cuando necesita una habilidad.
En el medio, AutoGen Teachability y Voyager usan recuperacion semantica para inyectar solo las habilidades mas relevantes por turno, creando un patron de inyeccion dinamico y sensible al contexto.
Y luego hay enfoques unicos: DSPy compila ejemplos few-shot optimizados offline y los incorpora permanentemente en los prompts de los modulos. MetaGPT codifica habilidades como plantillas de accion que se activan solo cuando un rol especifico transiciona a una accion especifica.
Examinemos cada uno en detalle.
Claude Code implementa una de las arquitecturas de inyeccion de habilidades mas sofisticadas, utilizando un sistema de divulgacion progresiva de tres capas que equilibra el conocimiento con la eficiencia de tokens.
Al inicio de la sesion, el nombre y la descripcion de cada habilidad disponible se inyectan en un mensaje system-reminder —un bloque de metadatos que el modelo siempre ve. Esto cuesta aproximadamente 250 caracteres por habilidad, consumiendo alrededor del 1% del presupuesto de la ventana de contexto para todas las descripciones de habilidades combinadas (aproximadamente 8K caracteres como presupuesto de respaldo, configurable via la variable de entorno SLASH_COMMAND_TOOL_CHAR_BUDGET).
De manera similar, las herramientas diferidas —herramientas cuyos esquemas JSON completos aun no se han cargado— aparecen como una lista de solo nombres en bloques system-reminder. A partir de Claude Code v2.1.69, incluso las herramientas del sistema integradas como Bash, Read, Edit, Write, Glob y Grep se difieren detras de ToolSearch, reduciendo el contexto de herramientas del sistema de aproximadamente 14-16K tokens a aproximadamente 968 tokens.
El agente ve lo suficiente para saber que esta disponible sin pagar el costo de tokens de las definiciones completas.
Cuando un usuario escribe un comando slash (por ejemplo, /commit) o el modelo auto-coincide una habilidad basandose en su descripcion, el cuerpo completo del SKILL.md se carga como un mensaje de conversacion a traves de la herramienta Skill. Este cuerpo contiene las instrucciones completas —a veces miles de tokens de orientacion detallada.
Detalle clave: el preprocesamiento de shell se ejecuta primero (cualquier directiva !command en el archivo de habilidad se ejecuta y su salida reemplaza la directiva), y una vez cargado, el cuerpo de la habilidad permanece en la conversacion durante el resto de la sesion.
Los recursos adicionales —documentos de referencia, scripts, archivos de activos— solo se leen cuando el modelo decide explicitamente usar la herramienta Read para acceder a ellos. Estos nunca se cargan automaticamente.
Cuando la conversacion se acerca al limite de contexto y se activa la compactacion, Claude Code vuelve a adjuntar las habilidades invocadas mas recientemente con un presupuesto de 5K tokens por habilidad y un maximo combinado de 25K. Las habilidades invocadas mas recientemente obtienen prioridad. Las habilidades mas antiguas pueden eliminarse por completo.
Esta arquitectura de tres capas significa que un agente con mas de 20 habilidades disponibles paga un costo inicial minimo pero puede acceder a la experiencia completa de cualquiera de ellas en un solo turno.
CrewAI adopta el enfoque opuesto a la divulgacion progresiva. Cuando una habilidad se activa para un agente, su contenido completo se inyecta en cada prompt de tarea que el agente ejecuta.
Las habilidades en CrewAI son directorios autocontenidos, cada uno con un archivo SKILL.md que contiene frontmatter YAML (nombre, descripcion, licencia, compatibilidad, herramientas permitidas) y un cuerpo en markdown. El sistema de habilidades distingue entre habilidades y herramientas: las habilidades inyectan instrucciones y contexto que dan forma a como piensa el agente, mientras que las herramientas proporcionan funciones invocables para acciones.
Durante la inicializacion del agente, Agent.set_skills() llama a discover_skills() para escanear directorios de habilidades a nivel de metadatos, luego activate_skill() para leer los cuerpos completos de las habilidades. En el momento de ejecucion de la tarea, _finalize_task_prompt() llama a format_skill_context() para cada habilidad activada y agrega todo el contenido formateado de habilidades al prompt de la tarea.
El LLM recibe: [mensaje del sistema] + [prompt de tarea + TODOS los cuerpos de habilidades]
CrewAI impone una advertencia suave a 50,000 caracteres por habilidad pero sin limite estricto. La documentacion recomienda mantener las habilidades enfocadas y concisas porque las grandes inyecciones de prompt diluyen la atencion del modelo —una preocupacion real dada la investigacion sobre la degradacion del contexto.
La concesion es directa: el agente siempre tiene toda la experiencia disponible (alta fiabilidad), pero el costo de tokens escala linealmente con el numero de habilidades por tarea (baja eficiencia). Para agentes con 1-2 habilidades enfocadas, esto funciona bien. Para agentes que necesitan conjuntos amplios de capacidades, se vuelve costoso rapidamente.
Cada tarea recibe una inyeccion fresca. No hay acumulacion de contenido de habilidades entre tareas —lo cual es en realidad una caracteristica, no un error. Significa que cada tarea comienza con un contexto limpio, evitando los problemas de obsolescencia que la persistencia basada en sesiones puede crear.
LangChain Deep Agents implementa un sofisticado sistema de habilidades basado en middleware donde el propio agente decide cuando cargar el contenido completo de una habilidad —un verdadero modelo de divulgacion progresiva donde el agente controla la activacion.
Nivel 1 (Indice): SkillsMiddleware analiza todos los frontmatter de SKILL.md al inicio e inyecta un indice ligero en el prompt del sistema. Este indice contiene solo nombres y descripciones, costando aproximadamente 278 tokens por habilidad versus 3,302 tokens para el contenido completo.
Nivel 2 (Contenido completo): Cuando el agente determina que una habilidad es relevante, llama a read_file() en la ruta del SKILL.md de la habilidad. Esta es una llamada de herramienta regular —el framework no inyecta el cuerpo; el agente toma una decision deliberada de cargarlo. El contenido completo entra en el historial de conversacion como resultado de herramienta.
Nivel 3 (Profundizacion): Los materiales de apoyo, documentos de referencia y scripts solo se acceden cuando el agente los lee explicitamente.
Con 12 habilidades, la divulgacion progresiva reduce el contexto de aproximadamente 30,000 tokens (todo cargado) a aproximadamente 600 tokens (solo indice), expandiendose a 2,000-5,000 cuando las habilidades relevantes se cargan para una tarea especifica. Eso es una reduccion potencial del 83-98% en el consumo de tokens relacionado con habilidades.
Se pueden superponer multiples fuentes de habilidades, y cuando los nombres colisionan, la ultima fuente gana. Los archivos de mas de 10 MB se saltan automaticamente.
Mientras que Claude Code usa una herramienta Skill dedicada para activar la carga, Deep Agents reutiliza la herramienta read_file existente del agente. Esto significa que el mecanismo de carga es transparente —el agente lee archivos de habilidades de la misma manera que lee cualquier otro archivo. La desventaja es que no hay un comportamiento especial de compactacion: el contenido de habilidades que entra en el historial de conversacion esta sujeto al recorte estandar de mensajes de LangChain, sin tratamiento prioritario.
OpenAI implementa la inyeccion de habilidades a traves de dos mecanismos distintos pero filosoficamente alineados: el tipo de herramienta tool_search de la API de Responses y el ToolSearchTool del Agents SDK.
El tipo de herramienta tool_search (disponible en GPT-5.4+) permite a los desarrolladores diferir grandes superficies de herramientas hasta el tiempo de ejecucion. Hay tres estrategias de aplazamiento disponibles:
@function_tool(defer_loading=True) — el modelo ve el nombre y la descripcion de la funcion pero el esquema de parametros se difiere. Ahorra tokens a nivel de parametros.tool_namespace(name=..., description=..., tools=[...]) — agrupa funciones bajo un unico namespace. El modelo ve solo el nombre y la descripcion del namespace, ahorrando significativamente mas tokens.HostedMCPTool(tool_config={..., "defer_loading": True}) — difiere superficies de herramientas de servidores MCP completos.Cuando el modelo determina que necesita una herramienta especifica, emite una llamada tool_search. La API devuelve 3-5 definiciones de herramientas relevantes, inyectadas al final de la ventana de contexto para preservar el almacenamiento en cache del prompt.
El Agents SDK proporciona un equivalente programatico. Los namespaces de herramientas se registran pero no se cargan:
crm_tools = tool_namespace(
name="crm",
description="CRM management tools",
tools=[...]
)
agent = Agent(tools=[*crm_tools, ToolSearchTool()])
En tiempo de ejecucion, el agente ve solo los nombres de los namespaces. Llama a ToolSearchTool("crm") para descubrir y cargar los esquemas completos, y luego puede llamar a herramientas individuales dentro de ese namespace.
Cada solicitud API es independiente. Las herramientas descubiertas no persisten entre llamadas. Este es el enfoque mas sin estado de nuestra comparacion —limpio, predecible, pero requiere re-descubrimiento en cada solicitud si las herramientas cambian.
La capacidad Teachability de AutoGen adopta un enfoque fundamentalmente diferente de todos los demas frameworks en esta comparacion. En lugar de inyectar contenido de habilidades estatico, recupera dinamicamente “memos” relevantes de una base de datos vectorial ChromaDB en cada turno individual.
Teachability registra un hook en process_last_received_message que intercepta cada mensaje entrante del usuario antes de que el agente lo procese:
TextAnalyzerAgent extrae conceptos clave del mensaje entrantemax_num_retrievals, por defecto 10)Punto critico: el mensaje modificado no se propaga al historial de conversacion almacenado —solo se almacena el mensaje original. Esto evita que el contenido de los memos se acumule entre turnos.
Despues de que el LLM responde, un segundo hook analiza la respuesta en busca de nuevos aprendizajes:
TextAnalyzerAgent identifica nuevo conocimiento en la respuestaEsto crea un genuino bucle de aprendizaje donde el agente acumula experiencia con el tiempo.
AutoGen Teachability es una de solo tres plataformas en nuestra comparacion (junto con Voyager y DSPy) que persiste habilidades entre sesiones. La base de datos ChromaDB vive en disco, lo que significa que un agente puede aprender de interacciones el lunes y aplicar ese conocimiento el viernes.
El parametro recall_threshold (por defecto 1.5) controla cuan similar debe ser un mensaje a un memo almacenado para la recuperacion, y reset_db puede borrar toda la memoria cuando sea necesario.
Dado que solo los memos relevantes se inyectan por turno (tipicamente 3-5), el costo de tokens esta naturalmente acotado independientemente de cuan grande crezca la base de datos de memos. Un agente con 10,000 memos almacenados solo paga por el punado mas relevante para el turno actual.
Semantic Kernel de Microsoft adopta un enfoque directo: los plugins son colecciones de objetos KernelFunction registrados con el Kernel, y sus esquemas se exponen al LLM como definiciones de herramientas de function-calling.
Function Calling: Cuando se establece ToolCallBehavior.AutoInvokeKernelFunctions, todas las funciones registradas se envian al LLM como herramientas disponibles en cada solicitud API. El LLM decide cual llamar; Semantic Kernel maneja la invocacion y el enrutamiento de resultados.
Plantillas de prompt: La sintaxis de plantillas de Semantic Kernel ({{plugin.function}}, Handlebars o Liquid) permite llamar funciones inline durante el renderizado del prompt. Los resultados se incrustan directamente en el texto del prompt antes de que llegue al LLM —una forma de evaluacion anticipada en lugar de llamada diferida de herramientas.
El esquema de cada plugin registrado se incluye en cada llamada API. No hay carga diferida integrada, agrupacion por namespace ni activacion bajo demanda. La documentacion recomienda explicitamente importar solo los plugins necesarios para un escenario especifico para reducir el consumo de tokens y las llamadas erroneas.
Esto hace que Semantic Kernel sea una de las plataformas mas predecibles —siempre sabes exactamente a que tiene acceso el agente— pero limita la escalabilidad. Un agente con 50 funciones registradas paga el costo completo del esquema en cada llamada individual.
El registro de plugins es por instancia de Kernel y en memoria. No hay un mecanismo integrado para persistencia de habilidades entre sesiones.
MetaGPT codifica habilidades no como paquetes independientes sino como plantillas de accion incrustadas dentro de Procedimientos Operativos Estandar (SOPs) que gobiernan el comportamiento del rol.
Cada Role en MetaGPT tiene un prefijo de persona inyectado en los prompts y un conjunto de clases Action. Cada Action contiene un proxy LLM invocado via aask(), que usa plantillas de prompts en lenguaje natural para estructurar la llamada al LLM.
Cuando se ejecuta Role._act(), soporta tres modos de reaccion:
"react": El LLM selecciona acciones dinamicamente en bucles de pensar-actuar"by_order": Las acciones se ejecutan secuencialmente en un orden predeterminado"plan_and_act": El agente planifica primero, luego ejecuta las acciones segun el planSolo la plantilla de prompt de la Action actual esta activa en un momento dado. El agente no ve plantillas de otras acciones —solo ve su prefijo de rol mas el contexto de la accion especifica. Esta es la ventana de inyeccion mas estrecha de todos los frameworks que examinamos.
Las funciones de analisis de contexto dentro de las clases Action extraen informacion relevante de las entradas, de modo que cada accion recibe un subconjunto curado del contexto disponible en lugar del historial completo de conversacion.
La plantilla se renderiza de nuevo para cada ejecucion de accion. No hay acumulacion ni persistencia entre sesiones. Esto mantiene cada accion enfocada pero significa que el agente no puede construir sobre contenido de habilidades previamente cargado dentro de un mismo flujo de trabajo.
Voyager, el agente de exploracion de Minecraft de NVIDIA y Caltech, implementa una de las arquitecturas de inyeccion de habilidades mas elegantes: una biblioteca creciente de programas verificados recuperados por similitud de embeddings.
Cuando Voyager escribe codigo que pasa la auto-verificacion (el JavaScript generado de Mineflayer realmente funciona en el juego), el codigo y su cadena de documentacion se almacenan en una base de datos vectorial. El embedding del docstring se convierte en la clave de recuperacion.
En cada nueva tarea propuesta por el curriculum automatico:
El prompt se ve asi:
You are a Minecraft bot. Here are some relevant skills you've learned:
// Skill: mineWoodLog
async function mineWoodLog(bot) { ... }
// Skill: craftPlanks
async function craftPlanks(bot) { ... }
Now write code to: build a wooden pickaxe
El codigo generado puede llamar habilidades recuperadas por nombre, habilitando la construccion composicional de habilidades —comportamientos complejos construidos a partir de primitivas mas simples y verificadas.
La biblioteca de habilidades es el mecanismo central de “aprendizaje de por vida”. Crece a lo largo de toda la vida del agente, y las nuevas habilidades se construyen sobre las antiguas. A diferencia de la mayoria de los frameworks donde las habilidades son creadas por humanos, las habilidades de Voyager son generadas, verificadas y almacenadas por el propio agente.
El costo de tokens esta naturalmente acotado: independientemente de si la biblioteca contiene 50 o 5,000 habilidades, cada tarea solo paga por las 5 recuperaciones mas relevantes.
DSPy adopta un enfoque radicalmente diferente de todos los demas frameworks. En lugar de inyectar habilidades en tiempo de ejecucion, DSPy compila demostraciones few-shot optimas offline y las incorpora permanentemente en los prompts de los modulos.
Dos optimizadores principales manejan la compilacion:
BootstrapFewShot: Usa un modulo profesor para generar trazas a traves del programa. Las trazas que pasan una metrica definida por el usuario se mantienen como demostraciones. Cada modulo dspy.Predict dentro del programa obtiene su propio conjunto curado de demostraciones.
MIPROv2 (Multi-prompt Instruction Proposal Optimizer v2): Un proceso en tres fases:
Parametros como max_bootstrapped_demos (ejemplos generados) y max_labeled_demos (de datos de entrenamiento) controlan cuantos ejemplos terminan en el prompt de cada modulo.
Una vez compiladas, las demostraciones se almacenan en el atributo demos de cada modulo Predict y se formatean en el prompt en cada llamada al LLM. No cambian en tiempo de ejecucion —la “habilidad” esta congelada.
Esto significa que las habilidades de DSPy son las mas predecibles de nuestra comparacion: el costo de tokens se conoce despues de la compilacion, no hay varianza entre turnos, y el agente siempre ve las mismas demostraciones. La desventaja es la inflexibilidad —para cambiar habilidades, debes recompilar.
Los programas compilados se serializan a JSON, incluyendo todas las demostraciones. Son completamente persistentes y cargables entre sesiones, haciendo de DSPy uno de los mecanismos de almacenamiento de habilidades mas duraderos.
SuperAGI usa un patron de toolkit tradicional donde todas las herramientas se registran en la inicializacion del agente.
Cada toolkit extiende BaseToolkit con:
name y descriptionget_tools() que devuelve una lista de instancias de BaseToolget_env_keys() para variables de entorno requeridasLos toolkits se instalan desde repositorios de GitHub via el gestor de herramientas de SuperAGI. En la inicializacion del agente, BaseToolkit.get_tools() devuelve todas las herramientas, y sus esquemas completos se exponen al LLM como definiciones de function-calling.
No hay carga diferida, no hay divulgacion progresiva y no hay filtrado por turno. Cada esquema de herramienta registrada esta presente en cada llamada. Este es el modelo de inyeccion mas simple y funciona bien para agentes con conjuntos de herramientas enfocados y pequenos, pero no escala a agentes que necesitan docenas de capacidades.
CAMEL-AI sigue un patron similar de registro anticipado. Las herramientas de varios toolkits (por ejemplo, MathToolkit, SearchToolkit) se pasan como una lista a ChatAgent(tools=[...]) en la inicializacion.
El framework enfatiza que las funciones personalizadas necesitan nombres de argumentos claros y docstrings completos para que el modelo pueda entender el uso —el esquema de la herramienta es el unico contenido de “habilidad” que el modelo ve. No hay un mecanismo separado de inyeccion de instrucciones.
Las adiciones recientes incluyen soporte MCP (Model Context Protocol) via MCPToolkit, permitiendo que ChatAgent se conecte a servidores MCP y registre herramientas externas. Esto expande la superficie de herramientas disponibles pero no cambia el modelo de inyeccion —todas las herramientas MCP descubiertas aun se registran por adelantado.
| Momento | Plataformas | Que se inyecta |
|---|---|---|
| Siempre presente (inicio de sesion) | Claude Code, CrewAI, Deep Agents, Semantic Kernel, SuperAGI, CAMEL-AI, DSPy | Metadatos (nombre + descripcion) o esquemas completos |
| Al activarse (activado por usuario o agente) | Claude Code, Deep Agents, OpenAI | Cuerpo completo de la habilidad |
| Cada tarea/turno | CrewAI, AutoGen Teachability | Cuerpo completo (CrewAI) o memos recuperados (AutoGen) |
| En seleccion del LLM | Semantic Kernel, MetaGPT | Contenido de plantilla de prompt |
| Por coincidencia de similitud | Voyager, AutoGen Teachability | Codigo o memos recuperados |
| Compilado/fijo | DSPy | Ejemplos few-shot optimizados |
| Persistencia | Plataformas | Mecanismo |
|---|---|---|
| Solo turno individual | MetaGPT, Voyager | Plantilla renderizada por accion / por generacion |
| Dentro de la sesion | Claude Code, Deep Agents, OpenAI, Semantic Kernel | El cuerpo permanece en el historial de mensajes |
| Re-inyectado cada tarea | CrewAI, SuperAGI, CAMEL-AI | Agregado fresco en cada ejecucion de tarea |
| Entre sesiones (almacenamiento persistente) | AutoGen Teachability, Voyager, DSPy | Base de datos vectorial / modulos compilados / biblioteca de habilidades |
| Plataforma | Que sucede cuando el contexto se llena |
|---|---|
| Claude Code | Vuelve a adjuntar las habilidades mas recientes (5K tokens cada una, 25K tope). Las habilidades mas antiguas se eliminan |
| CrewAI | N/A — se inyecta fresco por tarea, sin acumulacion |
| Deep Agents | El cuerpo en el historial de conversacion, sujeto al recorte estandar de LangChain |
| OpenAI | N/A — cada llamada API es independiente |
| AutoGen | Solo memos relevantes recuperados por turno, naturalmente acotado |
| Voyager | Solo habilidades top-K recuperadas por tarea, naturalmente acotado |
La tendencia arquitectonica mas significativa en estas plataformas es la adopcion de la divulgacion progresiva —un concepto tomado del diseno de interfaces donde la informacion se revela incrementalmente segun la necesidad.
Un enfoque ingenuo de inyeccion de habilidades —cargar todo por adelantado— crea dos problemas:
La divulgacion progresiva resuelve ambos problemas manteniendo un indice ligero de habilidades disponibles mientras carga el contenido completo solo cuando se necesita.
Claude Code usa un sistema dedicado: metadatos de habilidades en mensajes system-reminder, una herramienta Skill para activacion y ToolSearch para esquemas de herramientas diferidas. El framework gestiona la inyeccion automaticamente con compactacion basada en prioridad.
LangChain Deep Agents usa la capacidad existente de lectura de archivos del agente: SkillsMiddleware inyecta el indice, y el agente carga el contenido completo via read_file(). Esto es mas transparente pero ofrece menos optimizacion a nivel de framework.
OpenAI Responses API usa agrupacion basada en namespaces con busqueda gestionada por la plataforma: los namespaces de herramientas proporcionan descripciones de alto nivel, y tool_search devuelve esquemas relevantes. La plataforma maneja la logica de busqueda completamente.
Los numeros son convincentes. Con 12 habilidades:
Eso es una reduccion del 83-98% en el consumo de tokens relacionado con habilidades por turno. A lo largo de una sesion larga con cientos de turnos, los ahorros se acumulan dramaticamente.
Observando las 11 plataformas, emergen cuatro patrones arquitectonicos distintos:
Usado por: CrewAI, SuperAGI, CAMEL-AI, Semantic Kernel
Como funciona: El contenido completo de habilidades o esquemas de herramientas estan presentes en cada llamada al LLM.
Ventajas:
Desventajas:
Mejor para: Agentes enfocados con 1-3 habilidades principales que siempre son relevantes.
Usado por: Claude Code, LangChain Deep Agents, OpenAI Responses API/Agents SDK
Como funciona: Metadatos ligeros siempre presentes; contenido completo cargado bajo demanda.
Ventajas:
Desventajas:
Mejor para: Agentes de proposito general que necesitan acceso a muchas capacidades pero usan solo unas pocas por tarea.
Usado por: AutoGen Teachability, Voyager
Como funciona: Las consultas a bases de datos vectoriales revelan habilidades/conocimiento relevante basado en similitud semantica con el contexto actual.
Ventajas:
Desventajas:
Mejor para: Agentes que aprenden de la experiencia y necesitan acumular conocimiento de dominio con el tiempo.
Usado por: DSPy, MetaGPT
Como funciona: Las habilidades se compilan en contenido de prompt fijo (DSPy) o se activan a traves de plantillas de accion rigidas (MetaGPT).
Ventajas:
Desventajas:
Mejor para: Pipelines de produccion con tareas bien definidas donde la fiabilidad supera a la flexibilidad.
La arquitectura de inyeccion de habilidades correcta depende del perfil de tu agente:
Si tu agente tiene un rol estrecho y bien definido (por ejemplo, un bot de revision de codigo, un agente de soporte al cliente para un producto), la inyeccion siempre activa (patron CrewAI/SuperAGI) es la mas simple y fiable. El costo de tokens de 2-3 habilidades siempre presentes es manejable, y evitas la complejidad de la logica de activacion.
Si tu agente necesita capacidades amplias pero usa solo unas pocas por interaccion (por ejemplo, un asistente de desarrollo, un agente de automatizacion de proposito general), la divulgacion progresiva (patron Claude Code/Deep Agents) es el claro ganador. Los ahorros de tokens del 83-98% a escala son demasiado significativos para ignorar.
Si tu agente necesita aprender y mejorar de las interacciones (por ejemplo, un asistente personal, un experto de dominio que acumula conocimiento), la recuperacion semantica (patron AutoGen Teachability) proporciona el bucle de aprendizaje que otros patrones carecen. Solo asegurate de tener controles de calidad sobre lo que entra en la base de conocimiento.
Si tu agente ejecuta pipelines bien definidos (por ejemplo, procesamiento de datos, generacion de informes, flujos de trabajo estandarizados), la inyeccion compilada (patron DSPy) te da el comportamiento mas predecible y optimizado.
Para equipos de agentes en produccion donde los agentes necesitan funcionar de inmediato, recomendamos un enfoque hibrido:
Habilidades principales (1-2 por agente, definiendo su experiencia de dominio principal): siempre inyectadas en el prompt del sistema, estilo CrewAI. Estas son capacidades no negociables que el agente necesita en cada turno.
Habilidades extendidas (capacidades adicionales que el agente podria necesitar): solo metadatos en el prompt del sistema, cargadas via un mecanismo de busqueda/carga cuando se necesitan, estilo Deep Agents. Estas expanden el conjunto de capacidades del agente sin pagar el costo de tokens cuando no son relevantes.
Conocimiento aprendido (experiencia de dominio acumulada): almacenado en una base de datos vectorial y recuperado semanticamente por turno, estilo AutoGen. Esto permite que el agente mejore con el tiempo sin la creacion manual de habilidades.
Esta arquitectura en capas se mapea naturalmente a como se construye un prompt del sistema: fecha -> persona -> instrucciones del sistema -> habilidades principales -> indice de habilidades -> contexto de rol/equipo. Las habilidades principales y el indice agregan un costo de tokens predecible y manejable, mientras que los cuerpos completos de habilidades solo aparecen cuando se necesitan.
Independientemente de que patron de inyeccion uses, estas estrategias de gestion de tokens se aplican universalmente:
Apila el contexto que no cambia (instrucciones del sistema, esquemas de herramientas) al frente del prompt. En proveedores que soportan almacenamiento en cache de prompts, los tokens en cache cuestan un 75% menos. Claude Code y OpenAI inyectan los esquemas de herramientas descubiertos al final del contexto especificamente para preservar los aciertos de cache en el prefijo estatico.
Resume las respuestas de herramientas en lugar de mantener los resultados completos en el contexto. Almacena los datos completos en referencias externas que el agente puede leer bajo demanda. Esto es especialmente importante para agentes que hacen muchas llamadas de herramientas por sesion.
Compacta el historial de conversacion mediante resumen. Extrae hechos clave de intercambios largos en representaciones condensadas. Cada framework con persistencia basada en sesiones se beneficia de una gestion agresiva del historial.
Recupera dinamicamente la informacion relevante en tiempo de ejecucion en lugar de cargar todo por adelantado. Esto se aplica a habilidades, bases de conocimiento e incluso historial de conversacion. Los estudios muestran que esto puede reducir los tamanos de prompt hasta en un 70%.
Usa sub-agentes para tareas especificas de modo que el contexto de cada agente se mantenga enfocado. En lugar de darle a un agente 20 habilidades, crea un equipo de 5 agentes con 4 habilidades cada uno. Cada agente mantiene una ventana de contexto compacta, y el equipo colectivamente cubre el conjunto completo de capacidades.
La forma en que los frameworks de agentes de IA inyectan habilidades en el contexto es una de las decisiones arquitectonicas mas consecuentes en el diseno de agentes —y sin embargo rara vez se discute a este nivel de detalle.
El campo esta convergiendo claramente hacia la divulgacion progresiva como el patron preferido para agentes de proposito general, con Claude Code, LangChain Deep Agents y OpenAI llegando independientemente a arquitecturas de tres niveles similares. Mientras tanto, patrones especializados como la recuperacion semantica (AutoGen, Voyager) y la inyeccion compilada (DSPy) sirven nichos importantes que la divulgacion progresiva por si sola no aborda.
Para los profesionales que construyen sistemas de agentes hoy, la idea clave es que la inyeccion de habilidades no es un problema de talla unica. El enfoque correcto depende del rol de tu agente, el numero de habilidades que necesita, si necesita aprender con el tiempo, y tu tolerancia a las concesiones entre costos de tokens y fiabilidad.
Los sistemas de produccion mas robustos probablemente combinaran multiples patrones —siempre activo para capacidades principales, divulgacion progresiva para habilidades extendidas y recuperacion semantica para conocimiento acumulado— creando agentes que sean tanto eficientes como expertos.
Yasha es un talentoso desarrollador de software especializado en Python, Java y aprendizaje automático. Yasha escribe artículos técnicos sobre IA, ingeniería de prompts y desarrollo de chatbots.

Disena equipos de agentes de IA con inyeccion inteligente de habilidades y gestion de contexto. Sin necesidad de codigo.

Guía completa de las mejores plataformas para crear agentes de IA en 2025, destacando FlowHunt.io, OpenAI y Google Cloud. Descubre reseñas detalladas, clasifica...

Explora los procesos de pensamiento de los Agentes de IA en esta evaluación integral de GPT-4o. Descubre cómo se desempeña en tareas como generación de contenid...

Domina el componente Agente de IA en los flujos de trabajo de FlowHunt. Aprende a configurar mensajes del sistema, conectar herramientas, seleccionar modelos y ...
Consentimiento de Cookies
Usamos cookies para mejorar tu experiencia de navegación y analizar nuestro tráfico. See our privacy policy.