Plataforma multiagente baseada em grandes modelos de linguagem, fornecendo um mecanismo de troca de mensagens amigável para desenvolvedores e capacidade de implantação distribuída.
AgentScope - Plataforma de Desenvolvimento Multiagente Flexível e Poderosa
Visão Geral do Projeto
AgentScope é uma plataforma multiagente inovadora, projetada especificamente para desenvolvedores construírem aplicações multiagente baseadas em Grandes Modelos de Linguagem (LLM). A plataforma utiliza a troca de mensagens como mecanismo central de comunicação, reduzindo significativamente a barreira de entrada para desenvolvimento e compreensão.
Endereço do GitHub: https://github.com/agentscope-ai/agentscope
Principais Recursos
1. Princípios de Design Amigáveis ao Desenvolvedor
- Transparência Prioritária: Totalmente transparente para os desenvolvedores, incluindo engenharia de prompts, chamadas de API, construção de agentes, orquestração de fluxos de trabalho, tudo visível e controlável.
- Controle em Tempo Real: Capacidade de interromper agentes a qualquer momento e personalizar o tratamento.
- Independência de Modelo: Programe uma vez, funcione com todos os modelos.
- Construção de Agentes Estilo LEGO: Todos os componentes são modulares e independentes.
2. Design Orientado a Multiagentes
- Passagem Explícita de Mensagens: Projetado especificamente para multiagentes, suportando passagem explícita de mensagens e orquestração de fluxos de trabalho.
- Sem Encapsulamento Profundo: Evita encapsulamento complexo, mantendo a legibilidade e manutenibilidade do código.
- Altamente Personalizável: Ferramentas, prompts, agentes, fluxos de trabalho, bibliotecas de terceiros e visualizações são todos personalizáveis.
3. Mecanismos Robustos de Tolerância a Falhas
AgentScope oferece mecanismos de tolerância a falhas integrados e personalizáveis, juntamente com suporte em nível de sistema para gerenciar e utilizar dados multimodais, ferramentas e conhecimento externo. Inclui:
- Mecanismos de repetição em nível de serviço para garantir a confiabilidade da API.
- Ferramentas de correção baseadas em regras para lidar com problemas de formato nas respostas de LLM.
- Configurações de tolerância a falhas personalizáveis (parse_func, fault_handler, max_retries, etc.).
- Sistema de log dedicado para aplicações multiagente.
4. Suporte a Arquitetura Distribuída
- Framework Distribuído Baseado em Ator: Suporta transição fácil entre implantação local e distribuída.
- Otimização Paralela Automática: Otimização paralela alcançada sem esforço adicional.
- Suporte a Simulação em Larga Escala: Capaz de simular 1 milhão de agentes em 4 dispositivos.
Novas Funcionalidades do AgentScope 1.0
Suporte à Execução Assíncrona
- Abraça totalmente o modo de execução assíncrona.
- Oferece várias novas funcionalidades e melhorias.
Funcionalidades dos Módulos Principais
Módulo | Funcionalidade | Descrição |
---|---|---|
Modelo | Suporte a Chamadas Assíncronas | Suporta chamadas assíncronas para vários LLMs. |
Ferramenta | Integração de Ferramentas | Rica biblioteca de funções de ferramentas. |
MCP | Protocolo de Controle de Modelo | Suporta integração de protocolo de controle de modelo. |
Rastreamento | Monitoramento de Rastreamento | Rastreamento e visualização da execução de aplicações. |
Memória | Memória de Longo Prazo | Gerenciamento da memória de longo prazo dos agentes. |
Sessão | Gerenciamento de Sessões | Gerenciamento de estado e sessões. |
Avaliação | Sistema de Avaliação | Avaliação de desempenho de agentes. |
Formatador de Prompt | Formatação de Prompt | Ferramenta inteligente de formatação de prompt. |
Arquitetura Técnica
Mecanismo de Troca de Mensagens
AgentScope adota um mecanismo de comunicação baseado em mensagens:
from agentscope.message import Msg
message_from_alice = Msg("Alice", "Hi!")
message_with_media = Msg("Bob", "What about this picture?", url="/path/to/picture.jpg")
Criação de Agentes
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
import os, asyncio
async def main():
toolkit = Toolkit()
toolkit.register_tool_function(execute_python_code)
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())
Pipelines e Fluxos de Trabalho
from agentscope.pipeline import MsgHub, sequential_pipeline
from agentscope.message import Msg
async def multi_agent_conversation():
agent1 = ...
agent2 = ...
agent3 = ...
pipeline = sequential_pipeline([agent1, agent2, agent3])
result = await pipeline(initial_message)
Integração do MCP (Protocolo de Controle de Modelo)
from agentscope.mcp import HttpStatelessClient
from agentscope.tool import Toolkit
import os
async def fine_grained_mcp_control():
client = HttpStatelessClient(
name="gaode_mcp",
transport="streamable_http",
url=f"https://mcp.amap.com/mcp?key={os.environ['GAODE_API_KEY']}",
)
func = await client.get_callable_function(func_name="maps_geo")
await func(address="Tiananmen Square", city="Beijing")
toolkit = Toolkit()
toolkit.register_tool_function(func)
Suporte a Dados Multimodais
AgentScope adota uma estratégia de carregamento preguiçoso (lazy loading), desacoplando a transmissão de dados multimodais do armazenamento, fornecendo atributos unificados baseados em URL nas mensagens. Suporta:
- Processamento de dados de texto, imagem, áudio, vídeo.
- Referência de dados baseada em URL.
- Mecanismo de carregamento sob demanda.
Ecossistema de Ferramentas e Serviços
Funcionalidades de Serviço Integradas
- Execução de código Python.
- Pesquisa na Web.
- Operações de arquivo.
- Integração de conhecimento externo.
Suporte a RAG (Geração Aumentada por Recuperação)
- Módulo de processamento de conhecimento de ponta a ponta.
- Sistema de recuperação altamente configurável.
- Componentes de processamento de conhecimento compartilháveis.
Instalação e Uso
Requisitos do Sistema
- Python 3.10 ou versão superior.
Métodos de Instalação
Instalação a partir do Código-Fonte (Recomendado)
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope
pip install -e .
Instalação via PyPI
pip install agentscope
AgentScope Studio
npm install -g @agentscope/studio
as_studio
Suporte a Modelos
AgentScope suporta uma ampla gama de Grandes Modelos de Linguagem:
APIs em Nuvem
- Série OpenAI GPT.
- DashScope (Alibaba Cloud).
- Google Gemini.
- ZhipuAI.
- API LiteLLM.
Implantação Local
- Ollama.
- Flask + Transformers/ModelScope.
- FastChat.
- vLLM.
Cenários de Aplicação
Simulação em Larga Escala
- Simulação de mercados financeiros.
- Modelagem de planejamento urbano.
- Análise de impacto de políticas.
- Pesquisa de comportamento social.
Tarefas Colaborativas
- Simulação de equipes de desenvolvimento de software.
- Sistemas de diálogo multirrodada.
- Resolução de problemas complexos.
- Processamento colaborativo de conhecimento.
Aplicações Empresariais
- Automação de atendimento ao cliente.
- Otimização de processos de negócios.
- Suporte inteligente à decisão.
- Modelagem de gestão de riscos.
Comunidade e Suporte
- Documentação Oficial: https://doc.agentscope.io/
- Repositório GitHub: https://github.com/agentscope-ai/agentscope
- Pacote PyPI: https://pypi.org/project/agentscope/
- Tutoriais e Exemplos: Documentação completa de tutoriais e código de exemplo rico.
AgentScope representa um avanço significativo no desenvolvimento de sistemas multiagente, oferecendo a pesquisadores e desenvolvedores uma plataforma poderosa, flexível e fácil de usar para explorar todo o potencial dos agentes.