AgentScope: Construí Agentes de IA Listos para Producción con un Solo pip install

AgentScope: Construa Agentes de IA Prontos para Produção com um Único pip install

Por Devy · yoDEV.dev


A maioria dos frameworks de agentes te faz sentir que está resolvendo dois problemas ao mesmo tempo: o problema que seu agente tem que resolver, e o framework em si. A lógica de orquestração se acumula, as abstrações vazam, e antes de você perceber está debugando o scaffolding em vez de construir o produto.

AgentScope toma um caminho diferente. Acaba de ultrapassar 21.000 estrelas no GitHub — e quando você vê o que vem em uma única instalação, não é difícil entender por quê.


O que é AgentScope?

AgentScope é um framework Python open source para construir agentes impulsados por LLMs e aplicações multi-agente. É descrito como “production-ready, easy-to-use” — uma afirmação que vale a pena decompor, porque todos os frameworks dizem isso. Neste caso, o comando de instalação sustenta essa afirmação:

pip install agentscope

Isso é tudo. A partir daqui você tem: um agente ReAct incorporado, gestão de memória, planejamento, suporte MCP, protocolo A2A (Agent-to-Agent), voz em tempo real, integração de fine-tuning do modelo, e ferramentas de deployment para ambientes locais, serverless e Kubernetes. Sem pacotes adicionais, sem instalações separadas para cada feature.

Licença Apache 2.0. Requer Python 3.10+.


De zero para “olá” em 5 minutos

Aqui vai um exemplo mínimo funcional — um agente ReAct chamado Friday que pode executar código Python e 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())

O exemplo usa DashScope (a API de modelos da Alibaba), mas AgentScope é completamente agnóstico de modelo — você pode substituir por OpenAI, Anthropic, Gemini, ou qualquer modelo local alterando a classe do modelo e o formatter. A arquitetura não se importa com quem executa os tokens.


As quatro coisas que realmente o diferenciam

1. MCP como cidadão de primeira classe

AgentScope não trata MCP como um plugin — está incorporado. Você pode carregar um servidor MCP, obter uma ferramenta específica como uma função callable local, e usá-la em qualquer contexto: passá-la para um agente, envolvê-la em uma ferramenta mais complexa, ou chamá-la diretamente.

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']}",
    )

    # Você obtém a ferramenta como uma função local
    func = await client.get_callable_function(func_name="maps_geo")

    # Opção 1: chamá-la diretamente
    await func(address="Buenos Aires", city="Buenos Aires")

    # Opção 2: passá-la para um agente
    toolkit = Toolkit()
    toolkit.register_tool_function(func)

Este controle granular sobre as ferramentas MCP é algo que a maioria dos frameworks não oferece. Você não é obrigado a carregar servidores MCP inteiros em um agente — você escolhe exatamente as ferramentas que precisa.

2. Orquestração multi-agente com MsgHub

A coordenação multi-agente no AgentScope é tratada por MsgHub — uma camada de roteamento de mensagens que gerencia quem fala com quem, com gerenciamento dinâmico de participantes durante a conversa:

from agentscope.pipeline import MsgHub, sequential_pipeline
from agentscope.message import Msg

async def conversacao_multi_agente():
    async with MsgHub(
        participants=[agent1, agent2, agent3],
        announcement=Msg("Host", "Apresentem-se.", "assistant")
    ) as hub:
        await sequential_pipeline([agent1, agent2, agent3])
        hub.add(agent4)      # Adicionar agente no meio da conversa
        hub.delete(agent3)   # Remover agente no meio da conversa
        await hub.broadcast(Msg("Host", "Até logo!", "assistant"))

Você pode adicionar ou remover agentes de uma conversa enquanto está em execução. Isso não é comum.

3. Voz em tempo real, incorporada

Sem pacotes externos. AgentScope vem com suporte nativo para agentes de voz em tempo real — tanto individual quanto multi-agente. O repositório inclui uma demo de múltiplos agentes jogando um jogo de homem lobo por voz. Nicho? Talvez. Mas mostra o que significa “batteries included” de verdade.

4. Integração de fine-tuning com RL

Se você quer treinar seu agente em tarefas reais em vez de apenas promoteá-lo, AgentScope se integra com a biblioteca Trinity-RFT para aprendizado por reforço. Seus próprios benchmarks mostram melhorias significativas: um agente de navegação em “Frozen Lake” passando de 15% para 86% de sucesso, e um agente em um jogo de homem lobo passando de 50% para 80% de taxa de vitórias. São modelos pequenos (Qwen 2.5 7B-Instruct), que é justamente o ponto — você não precisa de um modelo frontier se fizer fine-tuning em sua tarefa específica.


Suporte A2A: agentes que conversam com agentes

Em dezembro de 2025 AgentScope adicionou suporte para o protocolo A2A (Agent-to-Agent) — um padrão para que agentes de frameworks diferentes se comuniquem diretamente entre si. Isto é território initial em toda a indústria, mas o fato de AgentScope ser compatível com A2A significa que seus agentes podem eventualmente interoperar com agentes construídos em outros frameworks, não apenas dentro do ecossistema do AgentScope.


O que não faz (ainda)

AgentScope é construído principalmente em torno do ecossistema da Alibaba — os exemplos usam DashScope e modelos Qwen por padrão, parte da comunidade é de língua chinesa, e o canal DingTalk sugere usuários enterprise nesse ecossistema. A qualidade da documentação é sólida, mas os exemplos do tutorial estão enviesados para esses padrões.

Para um stack de dev latino-americano (OpenAI, Anthropic, ou modelos locais via Ollama), você vai precisar procurar a classe de modelo correta na documentação da API. Não é difícil, mas não é tão plug-and-play como o README faz parecer para o caminho DashScope.


Resumo de instalação

# Instalação padrão
pip install agentscope

# Ou com uv (mais rápido)
uv pip install agentscope

# A partir do código-fonte (para o mais recente)
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope
pip install -e .

Requer Python 3.10+. Sem dependências obrigatórias adicionais.

Documentação completa em doc.agentscope.io


Vale a pena?

Se você está construindo com agentes — não apenas adicionando um chatbot a um formulário — AgentScope merece uma olhada séria. Não é o framework mais chamativo e a comunidade ainda está amadurecendo, mas a relação features-versus-fricção de instalação é difícil de superar. MCP, multi-agente, voz e RL em um único pacote, com opções de deployment em produção incluídas.

As 21.000 estrelas não vêm de tutoriais. Vêm de pessoas que o testaram.


*Você está trabalhando em algum projeto com agentes? Qual framework você está usando agora? Conte-nos nos comentários.*GitHub - agentscope-ai/agentscope: Build and run agents you can see, understand and trust. · GitHub