Inicio / Artículos

Elección de un marco de trabajo de IA agente: LangGraph, CrewAI, OpenAI SDK, ADK

Omite las tablas de características. Clasifica tu proyecto en una de cinco formas, compara cuatro estilos de orquestación y observa ejemplos mínimos de LangGraph, CrewAI y OpenAI SDK.

Editor: REACTAPP.TOP9 min de lectura2024 palabras

Fuentes: A Guide to Choosing an Agentic AI Framework

Elegir un marco de trabajo para agentes en 2026 parece más difícil de lo que debería ser. Al buscar uno, te encuentras con LangGraph, CrewAI, el OpenAI Agents SDK, el Agent Development Kit de Google, el Claude Agent SDK, AG2, PydanticAI y algunos más, cada uno presentándose como la opción por defecto más razonable.

Esa confusión no es un fracaso en tu investigación. Este campo se ha fragmentado, y la elección es más bien de tipo filosófico que técnico, ya que cada marco incorpora una opinión diferente sobre cuánto control deberías tener sobre la ejecución de un agente y cómo estos deberían comunicarse entre sí. Una frase de una explicación de IBM resume mejor cómo abordarlo: deja de preguntar cuál es el marco mejor y pregunta qué tipo de sistema de agentes estás creando.

Lo que sigue está dirigido a desarrolladores y arquitectos de nivel intermedio y senior que ya saben qué es un agente: un modelo con herramientas, instrucciones y algo de memoria que puede dar más de un paso hacia un objetivo. Se supone que saben leer Python y han probado al menos un bucle de llamadas a herramientas para un único agente. Clasifica los proyectos en cinco categorías, luego compara cuatro filosofías de orquestación y, finalmente, muestra tres ejemplos de código mínimos para que puedan percibir la diferencia en el modelo de programación antes de comprometerse con un código base.

De qué realmente te salva un framework

Puedes crear un agente sin ningún framework para una demostración. Sin embargo, algunos problemas aparecen en casi todos los sistemas serios, y un framework existe principalmente para que no tengas que resolverlos de nuevo:

  • El bucle de razonamiento. Llama al modelo, ejecuta las herramientas que elija, devuelve los resultados y repite el proceso hasta que se active una condición de parada.
  • Estado y memoria. Mantener el contexto a lo largo de las distintas etapas y, en el caso de agentes con vida más prolongada, también durante los reinicios del proceso.
  • Coordinación entre agentes. Decidir cómo se encuentran los agentes entre sí, cómo transfieren tareas y cómo comparten o aíslan su estado.
  • Observabilidad. Saber por qué un agente realizó ciertas acciones. Esto apenas importa en una demostración, pero es de suma importancia cuando algo falla en producción.
  • Todos los frameworks aquí presentados abarcan estas cuatro áreas. Difieren en la firmeza con la que imponen su propia solución.

    Comience con el caso de uso

    Antes de comparar características, pregúntese qué es lo que realmente está desarrollando. Cinco categorías cubren la mayoría de los proyectos, y cada una sugiere una lista diferente de opciones.

    • Flujos de trabajo lineales. Las etapas se ejecutan en un orden predecible y, en su mayoría, fijo: un agente de soporte busca en una base de conocimientos, redacta una respuesta y quizás abre un ticket. Aquí no es necesario que los agentes debatan nada; se requiere fiabilidad. LangChain es adecuado para secuencias, LlamaIndex sirve para tareas con mucho trabajo de recuperación de información y LangGraph se vuelve útil cuando la secuencia necesita condiciones o bucles.
    • Equipos autónomos de múltiples agentes. Se asigna el objetivo y un grupo de agentes negocia la forma de abordarlo, por ejemplo, un planificador, un programador y un revisor que comparten una tarea de programación. Estos problemas son, por naturaleza, abiertos. AG2 (el sucesor mantenido de AutoGen) y CrewAI son los candidatos habituales.
  • Sistemas basados en roles. Son similares, pero cada agente se mantiene dentro de una función claramente definida, como investigador, escritor o editor, en lugar de actuar de forma improvisada. CrewAI es la opción ideal, al igual que herramientas especializadas como ChatDev para juegos de rol en desarrollo de software.
  • Orquestación de la producción. En este caso, el sistema ha evolucionado hacia APIs reales, bases de datos y procesos empresariales, como un agente de operaciones que clasifica alertas, consulta manuales de procedimientos y aplica soluciones. Entre las opciones se encuentran LangGraph, Google ADK y el Agent Framework de Microsoft, que incluye a AutoGen y Semantic Kernel. Los tres están diseñados teniendo en cuenta la durabilidad y una integración profunda.
  • Prototipado rápido. A veces solo se necesita una respuesta rápida de sí o no sobre una idea. Herramientas de tipo arrastrar y soltar como LangFlow y Flowise permiten esbozar un flujo en una interfaz gráfica antes incluso de que exista código alguno.
  • Al clasificar de esta manera, la pregunta “¿qué framework?” se vuelve menos importante. ¿Es el proceso predecible, exploratorio, limitado por roles, orientado a la producción o simplemente una hipótesis?

    Cuatro formas en que los frameworks modelan la coordinación

    Dentro de una lista reducida, los frameworks siguen diferenciándose en cómo representan la coordinación. En general, siguen una de cuatro filosofías.

    • Basado en grafos. Los agentes y la lógica son nodos en un grafo dirigido, y los bordes explícitos, ya sean condicionales o cíclicos, determinan qué se ejecuta a continuación. LangGraph es el ejemplo más claro; en esencia, se está definiendo una máquina de estados.
    • Basado en roles. Cada agente es un miembro del equipo con un rol, un objetivo y un trasfondo, mientras que una capa de proceso superior decide cómo se distribuyen las tareas entre ellos. CrewAI está organizado exactamente según este principio.
  • Basado en transferencia de control. Se exponen unas pocas primitivas, a saber, un agente, sus herramientas y la capacidad de pasar la conversación a otro agente, de forma bastante sencilla. El SDK OpenAI Agents funciona de esta manera.
  • Jerárquico. Un agente raíz asigna tareas a subagentes organizados en forma de árbol, que pueden ejecutarse localmente o como servicios remotos. El ADK de Google sigue este enfoque.
  • Ninguna filosofía gana por completo. Su elección debe basarse en el modelo mental existente de su equipo respecto al problema y en el grado de control explícito sobre las rutas de ejecución que realmente desee.

    Dónde se sitúa un framework en la capa de aplicaciones

    Cada framework se basa en uno o más proveedores de modelos y gestiona el ciclo de razonamiento. Sobre esto se añade la llamada a herramientas, que cada vez está más estandarizada mediante MCP. Según los informes, ha sido gestionado por la Agentic AI Foundation de la Linux Foundation desde diciembre de 2025, y cada framework aquí lo utiliza de alguna forma. Cuando los agentes deben comunicarse entre procesos o líneas de servicio, el protocolo Agent2Agent (A2A) se está imponiendo como un estándar similar, con soporte integrado en ADK y más funcionalidades llegando a otros entornos.

    A continuación se encuentra la persistencia del estado, como los puntos de control de LangGraph en una base de datos o un sencillo historial de chat en memoria, y una capa de observabilidad, como LangSmith para LangGraph o el seguimiento integrado en el SDK de OpenAI Agents. Estos elementos son mucho más importantes cuando un agente interactúa con usuarios reales que en un entorno de notas. Ninguno de estos frameworks está vinculado a una nube específica. El SDK de OpenAI Agents y Google ADK tienden naturalmente hacia los modelos de sus propios proveedores, mientras que LangGraph y CrewAI buscan mantenerse independientes de los modelos.

    Tres ejemplos mínimos

    Los fragmentos son deliberadamente pequeños. Muestran el modelo de programación de cada framework y no son sistemas para producción. Los nombres de los paquetes y los pasos de instalación cambian rápidamente en esta área, por lo que primero consulte la documentación actual de cada proyecto.

    LangGraph: un grafo de dos nodos

    # pip install langgraph
    from langgraph.graph import StateGraph, END
    from typing import TypedDict
    
    class State(TypedDict):
        question: str
        answer: str
    
    def research(state: State) -> State:
        state["answer"] = f"Researched: {state['question']}"
        return state
    
    def write(state: State) -> State:
        state["answer"] = f"Written up: {state['answer']}"
        return state
    
    graph = StateGraph(State)
    graph.add_node("research", research)
    graph.add_node("write", write)
    graph.set_entry_point("research")
    graph.add_edge("research", "write")
    graph.add_edge("write", END)
    
    app = graph.compile()
    result = app.invoke({"question": "What is agentic AI?", "answer": ""})
    print(result["answer"])
    # Output: Written up: Researched: What is agentic AI?
    

    El código define un estado tipado compartido entre nodos, agrega dos nodos como funciones normales de Python y los conecta con un borde explícito. Aquí no se llama a ningún LLM. LangGraph es intencionalmente neutral al respecto, por lo que puedes conectar el cliente de modelo que desees en cada nodo.

    CrewAI: una tripulación de dos agentes

    # pip install crewai
    from crewai import Agent, Task, Crew
    
    researcher = Agent(
        role="Researcher",
        goal="Find accurate information on the given topic",
        backstory="An experienced analyst who values accuracy over speed."
    )
    
    writer = Agent(
        role="Writer",
        goal="Turn research into a clear summary",
        backstory="A technical writer who favours plain language."
    )
    
    research_task = Task(
        description="Research agentic AI frameworks",
        expected_output="A short list of key considerations",
        agent=researcher
    )
    
    write_task = Task(
        description="Summarise the research for a developer audience",
        expected_output="A concise paragraph",
        agent=writer
    )
    
    crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task])
    result = crew.kickoff()
    

    No hay nodos ni aristas que conectar. Dos agentes se describen por su rol y objetivo, y a cada uno se le asigna una tarea. El proceso predeterminado del equipo ejecuta las tareas una tras otra, pasando cada resultado al siguiente. CrewAI se encarga de la coordinación que LangGraph haría que modelaras de forma explícita.

    OpenAI Agents SDK: pasar una conversación entre agentes

    # pip install openai-agents
    from agents import Agent, Runner
    
    billing_agent = Agent(
        name="Billing",
        instructions="Handle billing questions concisely."
    )
    
    triage_agent = Agent(
        name="Triage",
        instructions="Answer general questions; hand off billing questions to Billing.",
        handoffs=[billing_agent]
    )
    
    result = Runner.run_sync(triage_agent, "Why was I charged twice this month?")
    print(result.final_output)
    

    En el ejemplo, se le indica a un agente de triaje sobre otro agente al que podría transferirle el trabajo. Si el modelo determina que un mensaje se refiere a facturación, el ejecutor del SDK traslada automáticamente la conversación al agente de facturación. Sin grafos, sin metáforas de roles: solo agentes además de las herramientas y transferencias que pueden utilizar. Google ADK tiene una estructura similar a esta escala, con un agente raíz que cuenta con sub_agents, pero sus subagentes forman un árbol explícito que puede incluir agentes remotos a través de A2A, mientras que la lista de transferencias anterior es plana.

    Asignar cada framework a tu situación

    Elige LangGraph cuando:

    • tu flujo de trabajo contiene bucles, reintentos o ramas condicionales que deseas modelar explícitamente;
    • necesitas un estado duradero que sobreviva a un reinicio, o depuración mediante “viajes en el tiempo”;
    • tu equipo ya utiliza componentes de LangChain.

    Elige CrewAI cuando:

    • el problema se divide naturalmente en roles, y ese enfoque ayuda a quienes no son ingenieros a comprenderlo;
    • deseas que algo funcione en cuestión de horas;
    • estás dispuesto a utilizar un marco de nivel inferior si la secuenciación basada en roles ya no es suficiente;

    Utiliza el OpenAI Agents SDK cuando:

    • estás desarrollando principalmente con modelos de OpenAI y quieres la capa más sencilla posible sobre el ciclo de razonamiento;
    • necesitas simplemente delegar tareas entre unos pocos especialistas.

    Utiliza Google ADK cuando:

    • ya trabajas en Google Cloud o en el ecosistema Gemini;
    • los agentes abarcarán equipos o servicios, una situación en la que el modelo de agente remoto de A2A es muy adecuado.

    Busca otra opción cuando:

    • La seguridad de tipo es más importante que la flexibilidad en la orquestación; en ese caso, PydanticAI, que valida las entradas y salidas de los agentes mediante modelos Pydantic, podría superar a los otros cuatro.
    • Se encuentra en la fase de prototipo de uno de los cinco casos de uso; en tal situación, LangFlow o Flowise antes de escribir cualquier código del framework son un mejor punto de partida.

    Errores que cometen los equipos

    • Elegir antes de definir. Los equipos eligen el framework con más valoraciones positivas e intentan adaptar el problema a él. Nombrar primero la categoría suele hacer que la lista de opciones sea evidente, mucho más que leer cuatro conjuntos de documentación.
    • Ignorar los costos de cambio. Los prompts, la lógica de los agentes y los patrones de orquestación rara vez se pueden transferir sin problemas. Si sospecha que necesitará ir más allá de la primera opción, planifique una reescritura parcial y no confíe en un cambio rápido.
  • Posponer la observabilidad. El rastreo y la evaluación son fáciles de aplazar durante la fase de prototipado, pero difíciles de implementar posteriormente una vez que el agente maneja tráfico real. Active cualquier función de rastreo que ofrezca su framework desde el primer día.
  • Sus próximos pasos

    • Decida a qué de las cinco categorías pertenece su proyecto antes de consultar la documentación de cualquier framework: lineal, multiagente autónomo, basado en roles, orquestación de producción o prototipo rápido.
    • Instale uno de los frameworks mencionados y reconstruya un ejemplo sencillo utilizando su propio caso de uso en lugar del que se muestra.
    • Busque servidores de herramientas MCP existentes para los sistemas a los que debe conectarse, y evite crear soluciones personalizadas cuando ya existan opciones disponibles.
    • Acuerde de antemano una regla para el cambio, como pasar a LangGraph una vez que las ramificaciones cumplan tres condiciones específicas.

    La versión breve

    Antes de preguntar cuál es el framework mejor, determine qué una de las cinco formas habituales describe su proyecto: un flujo lineal predecible, un equipo autónomo sin límites definidos, un grupo con roles establecidos, una tarea de orquestación de producción o una idea en fase de prototipo.

    Responder a esta pregunta reduce las opciones antes incluso de abrir cualquier tabla de características. Después de eso, lo que queda es principalmente una cuestión de filosofía. Elija LangGraph para un control explícito de las ramificaciones, CrewAI para un enfoque basado en roles y una iteración rápida, el OpenAI Agents SDK por su simplicidad con los modelos de OpenAI, y ADK si ya opera dentro del ecosistema de Google. MCP y A2A se están convirtiendo en estándares comunes para las herramientas y la comunicación entre agentes, por lo que cambiar de rumbo más adelante debería resultar menos problemático, aunque nunca será sin coste alguno.