Plataforma multiagente basada en modelos de lenguaje grandes, que proporciona un mecanismo de intercambio de mensajes amigable para desarrolladores y capacidades de implementación distribuida.
AgentScope - Plataforma de Desarrollo Multiagente Flexible y Potente
Resumen del Proyecto
AgentScope es una innovadora plataforma multiagente, diseñada específicamente para desarrolladores, para construir aplicaciones multiagente basadas en Grandes Modelos de Lenguaje (LLM). La plataforma utiliza el intercambio de mensajes como mecanismo central de comunicación, lo que reduce significativamente la barrera de entrada para el desarrollo y la comprensión.
Dirección de GitHub: https://github.com/agentscope-ai/agentscope
Características Principales
1. Principios de Diseño Amigables para el Desarrollador
- Prioridad a la Transparencia: Totalmente transparente para los desarrolladores, incluyendo ingeniería de prompts, llamadas a API, construcción de agentes, orquestación de flujos de trabajo, etc., todo visible y controlable.
- Control en Tiempo Real: Permite interrumpir agentes en cualquier momento y personalizar el manejo.
- Independencia del Modelo: Programación única, compatible con todos los modelos.
- Construcción de Agentes Estilo LEGO: Todos los componentes son modulares e independientes.
2. Diseño Orientado a Multiagentes
- Paso Explícito de Mensajes: Diseñado específicamente para multiagentes, soporta el paso explícito de mensajes y la orquestación de flujos de trabajo.
- Sin Encapsulación Profunda: Evita encapsulaciones complejas, manteniendo la legibilidad y mantenibilidad del código.
- Altamente Personalizable: Herramientas, prompts, agentes, flujos de trabajo, bibliotecas de terceros y visualizaciones, todo soporta personalización.
3. Potente Mecanismo de Tolerancia a Fallos
AgentScope ofrece mecanismos de tolerancia a fallos incorporados y personalizables, junto con soporte a nivel de sistema para gestionar y utilizar datos multimodales, herramientas y conocimiento externo. Incluye:
- Mecanismo de reintento a nivel de servicio para garantizar la fiabilidad de la API.
- Herramientas de corrección basadas en reglas para manejar problemas de formato en las respuestas de LLM.
- Configuración de tolerancia a fallos personalizable (parse_func, fault_handler, max_retries, etc.).
- Sistema de registro dedicado para aplicaciones multiagente.
4. Soporte para Arquitectura Distribuida
- Marco Distribuido Basado en Actores: Soporta una fácil transición entre despliegues locales y distribuidos.
- Optimización Paralela Automática: Permite la optimización paralela sin esfuerzo adicional.
- Soporte para Simulación a Gran Escala: Capaz de simular 1 millón de agentes en 4 dispositivos.
Nuevas Características de AgentScope 1.0
Soporte para Ejecución Asíncrona
- Adopta completamente el modo de ejecución asíncrona.
- Ofrece múltiples nuevas funcionalidades y mejoras.
Funciones de Módulos Centrales
Módulo | Función | Descripción |
---|---|---|
Model | Soporte para llamadas asíncronas | Soporta llamadas asíncronas para varios LLM |
Tool | Integración de herramientas | Rica biblioteca de funciones de herramientas |
MCP | Protocolo de Control de Modelos | Soporta la integración del Protocolo de Control de Modelos |
Tracing | Monitoreo de trazado | Trazado y visualización de la ejecución de aplicaciones |
Memory | Memoria a largo plazo | Gestión de la memoria a largo plazo de los agentes |
Session | Gestión de sesiones | Gestión de estado y sesiones |
Evaluation | Sistema de evaluación | Evaluación del rendimiento de los agentes |
Prompt Formatter | Formateo de prompts | Herramienta inteligente de formateo de prompts |
Arquitectura Técnica
Mecanismo de Intercambio de Mensajes
AgentScope utiliza un mecanismo de comunicación basado en mensajes:
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")
Creación 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 y Flujos de Trabajo
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)
Integración de MCP (Protocolo de Control de Modelos)
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)
Soporte para Datos Multimodales
AgentScope adopta una estrategia de carga diferida, desacoplando la transmisión de datos multimodales del almacenamiento al proporcionar atributos unificados basados en URL en los mensajes. Soporta:
- Procesamiento de datos de texto, imagen, audio, video.
- Referencia de datos basada en URL.
- Mecanismo de carga bajo demanda.
Ecosistema de Herramientas y Servicios
Funciones de Servicio Integradas
- Ejecución de código Python.
- Búsqueda web.
- Operaciones de archivo.
- Integración de conocimiento externo.
Soporte para RAG (Generación Aumentada por Recuperación)
- Módulo de procesamiento de conocimiento de extremo a extremo.
- Sistema de recuperación altamente configurable.
- Componentes de procesamiento de conocimiento compartibles.
Instalación y Uso
Requisitos del Sistema
- Python 3.10 o superior.
Métodos de Instalación
Instalar desde el código fuente (Recomendado)
git clone -b main https://github.com/agentscope-ai/agentscope.git
cd agentscope
pip install -e .
Instalar desde PyPI
pip install agentscope
AgentScope Studio
npm install -g @agentscope/studio
as_studio
Soporte de Modelos
AgentScope soporta una amplia gama de Grandes Modelos de Lenguaje:
APIs en la Nube
- Serie OpenAI GPT.
- DashScope (Alibaba Cloud).
- Google Gemini.
- ZhipuAI.
- LiteLLM API.
Despliegue Local
- Ollama.
- Flask + Transformers/ModelScope.
- FastChat.
- vLLM.
Escenarios de Aplicación
Simulación a Gran Escala
- Simulación de mercados financieros.
- Modelado de planificación urbana.
- Análisis de impacto de políticas.
- Investigación de comportamiento social.
Tareas Colaborativas
- Simulación de equipos de desarrollo de software.
- Sistemas de diálogo multirrespuesta.
- Resolución de problemas complejos.
- Procesamiento colaborativo de conocimiento.
Aplicaciones Empresariales
- Automatización del servicio al cliente.
- Optimización de procesos de negocio.
- Soporte inteligente para la toma de decisiones.
- Modelado de gestión de riesgos.
Comunidad y Soporte
- Documentación Oficial: https://doc.agentscope.io/
- Repositorio de GitHub: https://github.com/agentscope-ai/agentscope
- Paquete PyPI: https://pypi.org/project/agentscope/
- Tutoriales y Ejemplos: Documentación completa de tutoriales y abundante código de ejemplo.
AgentScope representa un avance significativo en el desarrollo de sistemas multiagente, proporcionando a investigadores y desarrolladores una plataforma potente, flexible y fácil de usar para aprovechar al máximo el potencial de los agentes.