AgentScope: Construí Agentes de IA Listos para Producción con un Solo pip install
Por Devy · yoDEV.dev
La mayoría de los frameworks de agentes te hacen sentir que estás resolviendo dos problemas al mismo tiempo: el problema que tu agente tiene que resolver, y el framework en sí. La lógica de orquestación se acumula, las abstracciones se filtran, y antes de que te des cuenta estás debugueando el scaffolding en lugar de construir el producto.
AgentScope toma un camino distinto. Acaba de superar las 21.000 estrellas en GitHub — y cuando ves lo que viene en una sola instalación, no es difícil entender por qué.
¿Qué es AgentScope?
AgentScope es un framework Python open source para construir agentes impulsados por LLMs y aplicaciones multi-agente. Se describe como “production-ready, easy-to-use” — una afirmación que vale la pena desmenuzar, porque todos los frameworks dicen eso. En este caso, el comando de instalación lo respalda:
pip install agentscope
Eso es todo. Desde ahí tenés: un agente ReAct incorporado, gestión de memoria, planificación, soporte MCP, protocolo A2A (Agent-to-Agent), voz en tiempo real, integración de fine-tuning del modelo, y herramientas de deployment para entornos locales, serverless y Kubernetes. Sin paquetes adicionales, sin instalaciones separadas por cada feature.
Licencia Apache 2.0. Requiere Python 3.10+.
De cero a “hola” en 5 minutos
Acá va un ejemplo mínimo funcional — un agente ReAct llamado Friday que puede ejecutar código Python y comandos de shell:
from agentscope.agent import ReActAgent, UserAgent
from agentscope.model import DashScopeChatModel
from agentscope.formatter import DashScopeChatFormatter
from agentscope.memory import InMemoryMemory
from agentscope.tool import Toolkit, execute_python_code, execute_shell_command
import os, asyncio
async def main():
toolkit = Toolkit()
toolkit.register_tool_function(execute_python_code)
toolkit.register_tool_function(execute_shell_command)
agent = ReActAgent(
name="Friday",
sys_prompt="You're a helpful assistant named Friday.",
model=DashScopeChatModel(
model_name="qwen-max",
api_key=os.environ["DASHSCOPE_API_KEY"],
stream=True,
),
memory=InMemoryMemory(),
formatter=DashScopeChatFormatter(),
toolkit=toolkit,
)
user = UserAgent(name="user")
msg = None
while True:
msg = await agent(msg)
msg = await user(msg)
if msg.get_text_content() == "exit":
break
asyncio.run(main())
El ejemplo usa DashScope (la API de modelos de Alibaba), pero AgentScope es completamente model-agnostic — podés reemplazarlo por OpenAI, Anthropic, Gemini, o cualquier modelo local cambiando la clase del modelo y el formatter. La arquitectura no le importa quién corre los tokens.
Las cuatro cosas que realmente lo diferencian
1. MCP como ciudadano de primera clase
AgentScope no trata MCP como un plugin — está incorporado. Podés cargar un servidor MCP, obtener una herramienta específica como función callable local, y usarla en cualquier contexto: pasarla a un agente, envolverla en una herramienta más compleja, o llamarla directamente.
from agentscope.mcp import HttpStatelessClient
from agentscope.tool import Toolkit
async def control_granular_mcp():
client = HttpStatelessClient(
name="maps_mcp",
transport="streamable_http",
url=f"https://mcp.amap.com/mcp?key={os.environ['MAPS_API_KEY']}",
)
# Obtenés la herramienta como una función local
func = await client.get_callable_function(func_name="maps_geo")
# Opción 1: llamarla directamente
await func(address="Buenos Aires", city="Buenos Aires")
# Opción 2: pasarla a un agente
toolkit = Toolkit()
toolkit.register_tool_function(func)
Este control granular sobre las herramientas MCP es algo que la mayoría de los frameworks no ofrecen. No estás obligado a cargar servidores MCP enteros en un agente — elegís exactamente las herramientas que necesitás.
2. Orquestación multi-agente con MsgHub
La coordinación multi-agente en AgentScope la maneja MsgHub — una capa de enrutamiento de mensajes que gestiona quién habla con quién, con gestión dinámica de participantes durante la conversación:
from agentscope.pipeline import MsgHub, sequential_pipeline
from agentscope.message import Msg
async def conversacion_multi_agente():
async with MsgHub(
participants=[agent1, agent2, agent3],
announcement=Msg("Host", "Preséntense.", "assistant")
) as hub:
await sequential_pipeline([agent1, agent2, agent3])
hub.add(agent4) # Agregar agente en medio de la conversación
hub.delete(agent3) # Remover agente en medio de la conversación
await hub.broadcast(Msg("Host", "¡Hasta luego!", "assistant"))
Podés agregar o remover agentes de una conversación mientras está corriendo. Eso no es común.
3. Voz en tiempo real, incorporada
Sin paquetes externos. AgentScope viene con soporte nativo para agentes de voz en tiempo real — tanto individual como multi-agente. El repositorio incluye una demo de múltiples agentes jugando un juego de hombre lobo por voz. ¿Nicho? Tal vez. Pero muestra qué significa “batteries included” de verdad.
4. Integración de fine-tuning con RL
Si querés entrenar tu agente en tareas reales en lugar de solo promptearlo, AgentScope se integra con la librería Trinity-RFT para reinforcement learning. Sus propios benchmarks muestran mejoras significativas: un agente de navegación en “Frozen Lake” pasando de 15% a 86% de éxito, y un agente en un juego de hombre lobo pasando de 50% a 80% de tasa de victorias. Son modelos pequeños (Qwen 2.5 7B-Instruct), que es justamente el punto — no necesitás un modelo frontier si hacés fine-tuning en tu tarea específica.
Soporte A2A: agentes que hablan con agentes
En diciembre de 2025 AgentScope agregó soporte para el protocolo A2A (Agent-to-Agent) — un estándar para que agentes de distintos frameworks se comuniquen directamente entre sí. Esto es territorio early-stage en toda la industria, pero que AgentScope sea compatible con A2A significa que tus agentes pueden eventualmente interoperar con agentes construidos en otros frameworks, no solo dentro del ecosistema de AgentScope.
Qué no hace (todavía)
AgentScope está construido principalmente alrededor del ecosistema de Alibaba — los ejemplos usan DashScope y modelos Qwen por defecto, parte de la comunidad es de habla china, y el canal de DingTalk sugiere usuarios enterprise en ese ecosistema. La calidad de la documentación es sólida, pero los ejemplos del tutorial están sesgados hacia esos defaults.
Para un stack de dev latinoamericano (OpenAI, Anthropic, o modelos locales vía Ollama), vas a necesitar buscar la clase de modelo correcta en la documentación de la API. No es difícil, pero no es tan plug-and-play como el README lo hace parecer para el camino de DashScope.
Resumen de instalación
# Instalación estándar
pip install agentscope
# O con uv (más rápido)
uv pip install agentscope
# Desde el código fuente (para lo último)
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope
pip install -e .
Requiere Python 3.10+. Sin dependencias obligatorias adicionales.
Documentación completa en doc.agentscope.io
¿Vale la pena?
Si estás construyendo con agentes — no solo agregando un chatbot a un formulario — AgentScope merece una mirada seria. No es el framework más llamativo y la comunidad todavía está madurando, pero la relación features-vs-fricción de instalación es difícil de superar. MCP, multi-agente, voz y RL en un solo paquete, con opciones de deployment en producción incluidas.
Las 21.000 estrellas no vienen de tutoriales. Vienen de gente que lo probó.
¿Estás trabajando en algún proyecto con agentes? ¿Qué framework estás usando ahora? Contanos en los comentarios.
