Sistema de agente autónomo potenciado por la API de NVIDIA.
Descripción General • Sub-Agentes • Conectividad • Modos de Operación • Configuración • Arquitectura • Inicio Rápido
Atlas es un sistema de orquestación multi-agente diseñado para automatizar y resolver tareas complejas de desarrollo de software. Integra toma de decisiones guiada por modelos de lenguaje avanzados con entornos de ejecución locales seguros y navegación web interactiva, facilitando un flujo de trabajo cohesivo desde la planificación inicial hasta la escritura y validación de código.
El sistema distribuye la ejecución de tareas delegando misiones en tiempo real a tres agentes especializados:
| Agente | Función Principal | Ámbito de Ejecución |
|---|---|---|
fast_search |
Recopilación, extracción y consolidación de información externa. | Búsquedas en internet, análisis de repositorios externos y procesamiento de documentos locales (PDF, DOCX, XLSX). |
navigate |
Navegación e interacción gráfica con aplicaciones web. | Control autónomo de navegador (clics, formularios, autenticación) emulando el comportamiento humano. |
os_developer |
Escritura de código fuente y control del entorno local. | Creación y edición de archivos, aplicación de parches, ejecución de comandos y testing automatizado en terminal. |
El sistema externo de recuperación y conectividad a internet, denominado Atlas Nexus Pro (implementado en browser/search/server.py), coordina tres canales de acceso para garantizar confiabilidad y velocidad:
| Canal de Acceso | Método / Tecnología | Beneficio Técnico |
|---|---|---|
| Búsqueda estructurada | API oficial de Brave Search | Evita la latencia y los bloqueos característicos del raspado web tradicional (requiere BRAVE_API_KEY en .env). |
| Extracción autónoma | Playwright + Playwright Stealth | Modo headless con rotación de firmas de agentes de usuario para evadir sistemas antibot y capturar contenido dinámico. |
| Almacenamiento en caché | Persistencia local temporal | Almacenamiento local con TTL de 15 minutos en atlas_cache/ para reducir latencia y optimizar el consumo de tokens. |
El agente de desarrollo (os_developer) opera bajo tres perfiles estructurados en función de la complejidad de la misión:
| Modo | Latencia | Razonamiento | Planificación | Permisos de Ejecución |
|---|---|---|---|---|
| FAST | Mínima | Desactivado (disable_thinking=True) |
Directo sin planes previos | Autorización automática de comandos y edición |
| BUILD | Balanceada | Activo (Razonamiento profundo) | Directo en espacio de trabajo | Ejecución secuencial y testing directo |
| BUILD_WITH_PLAN | Controlada | Activo (Razonamiento profundo) | Fase previa de plan maestro en missions/ |
Requiere aprobación explícita del usuario |
El script setup_atlas.py asiste en el diagnóstico y la configuración del entorno local mediante cuatro acciones secuenciales:
- Validación de credenciales: Comprobación segura de la clave de NVIDIA NIM.
- Escaneo de modelos: Consultas concurrentes (límite de 15 solicitudes asíncronas simultáneas) para identificar modelos activos.
- Auditoría de razonamiento: Evaluación de la compatibilidad con parámetros de razonamiento profundo del proveedor (
high,medium,low). - Persistencia del entorno: Escritura automática del archivo de configuración
.envcon las variables detectadas:
nvidia=nvapi-XXXXXXXXXXXXXXXXXXXXXXXXXXXX
NVIDIA_MODEL=mistralai/mistral-small-4-119b-2603
NVIDIA_MAX_CONTEXT=32768
NVIDIA_REASONING_EFFORT=highmistralai/mistral-small-4-119b-2603: Balanceado y rápido, optimizado para desarrollos estándar y flujos ágiles en modos FAST o BUILD.mistralai/mistral-medium-3.5-128b: Recomendado para tareas que requieran planificación estructurada de múltiples etapas u operaciones complejas de razonamiento lógico.
Nota de coste: La plataforma NVIDIA NIM proporciona una cuota inicial de créditos de desarrollo para facilitar la integración y pruebas de Atlas sin costes de facturación.
Capacidades visuales (Screen Capture)
El sistema admite la recepción de capturas de pantalla para analizar el contexto visual actual de la estación de trabajo. Si el usuario solicita de forma conversacional que el agente examine la pantalla (por ejemplo, para resolver errores visuales en una interfaz o diagnosticar un error de consola visible), el agente captura el escritorio, procesa la imagen e interpreta el contexto para resolver el problema.
Próximos desarrollos (Comunicación por voz)
Actualmente, el sistema está optimizado para la ejecución mediante terminal interactiva. Se encuentra planificado el desarrollo de una extensión para permitir comunicación bidireccional por voz y comportamiento adaptativo ajustado a flujos conversacionales hablados de forma fluida.
Para facilitar la comprensión del sistema, la arquitectura se divide en el flujo de control conversacional y la ejecución de herramientas en el entorno:
Representa el ciclo secuencial de una petición desde el usuario hasta la inferencia del modelo:
flowchart TD
User([Usuario]) <--> |"1. Entrada / Comando"| CLI["CLI conversacional (atlas.py)"]
CLI <--> |"2. Orquestación de turnos"| Core["Núcleo del Agente (AtlasAgent)"]
Core <--> |"3. Inferencia de tokens"| LLM["Modelos (NVIDIA NIM)"]
style User fill:#1e293b,stroke:#3b82f6,stroke-width:2px,color:#f8fafc;
style CLI fill:#1e293b,stroke:#3b82f6,stroke-width:2px,color:#f8fafc;
style Core fill:#1e1b4b,stroke:#6366f1,stroke-width:2px,color:#f8fafc;
style LLM fill:#431407,stroke:#f97316,stroke-width:2px,color:#f8fafc;
Representa cómo el núcleo delega tareas a los agentes especializados y con qué recursos del entorno interactúa cada uno:
flowchart TD
Core["Núcleo del Agente"] --> |"Delegación de tareas"| Agents
subgraph Agents["Agentes Especializados"]
OSDev["os_developer (Archivos y Terminal)"]
FastSearch["fast_search (Búsqueda y Lectura Web)"]
Navigate["navigate (Navegador Playwright)"]
end
style Agents fill:#0f172a,stroke:#10b981,stroke-dasharray: 5 5;
OSDev --> |"Comandos y edición"| Workspace[("Workspace Sandbox")]
FastSearch --> |"Búsquedas y caché"| Cache[("Atlas Cache / Internet")]
Navigate --> |"Navegación visual"| Internet[("Internet")]
style Core fill:#1e1b4b,stroke:#6366f1,stroke-width:2px,color:#f8fafc;
style OSDev fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#f8fafc;
style FastSearch fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#f8fafc;
style Navigate fill:#064e3b,stroke:#10b981,stroke-width:2px,color:#f8fafc;
style Workspace fill:#0f172a,stroke:#475569,stroke-width:1px,color:#f8fafc;
style Cache fill:#0f172a,stroke:#475569,stroke-width:1px,color:#f8fafc;
style Internet fill:#0f172a,stroke:#475569,stroke-width:1px,color:#f8fafc;
git clone https://github.com/sharith45/atlas.git
cd atlas
pip install -r requirements.txtEjecute el script interactivo para realizar el diagnóstico y generar el archivo .env:
python setup_atlas.pyInicie la consola interactiva conversacional para comenzar el desarrollo guiado:
python atlas.pyEl código de Atlas está disponible públicamente de manera abierta y transparente, sin dependencias de cifrado o esquemas restrictivos de licencia. Se invita a desarrolladores y colaboradores a auditar la base de código, reportar incidentes y enviar mejoras para optimizar el rendimiento y las capacidades operativas del sistema.
