Saltar a contenido

Documentación de Arcaelas Agent

Bienvenido a @arcaelas/agent - una librería TypeScript lista para producción para construir agentes de IA sofisticados con soporte multi-proveedor, contextos reactivos y orquestación inteligente de herramientas.

¿Qué es Arcaelas Agent?

@arcaelas/agent te permite crear agentes de IA que escalan desde chatbots simples hasta flujos de trabajo organizacionales complejos mediante:

  • 🔄 Soporte Multi-Proveedor - Conmutación automática entre OpenAI, Anthropic, Groq, Ollama y APIs personalizadas
  • 🏗️ Arquitectura Reactiva - Herencia jerárquica de contexto con gestión automática de estado
  • 🛠️ Ecosistema de Herramientas - Herramientas HTTP integradas e integración fluida de funciones personalizadas
  • 💎 TypeScript Completo - Seguridad de tipos completa con uniones discriminadas y genéricos

Inicio Rápido

Instalación

npm install @arcaelas/agent

Tu Primer Agente

import { Agent, Rule } from '@arcaelas/agent';
import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY
});

const assistant = new Agent({
  rules: [new Rule("Asistente útil para tareas diarias.")],
  providers: [
    async (ctx) => {
      return await openai.chat.completions.create({
        model: "gpt-4",
        messages: ctx.messages.map(m => ({
          role: m.role,
          content: m.content
        }))
      });
    }
  ]
});

const [messages, success] = await assistant.call("¿Cómo está el clima hoy?");

Continuar con el tutorial completo →

Arquitectura Principal

Agente

Orquestador central que combina identidad, comportamiento, herramientas y proveedores de IA.

const agent = new Agent({
  rules: [
    new Rule("Especialista en soporte al cliente."),
    professional_rule,
  ],
  tools: [search_tool, database_tool],
  providers: [openai_provider]
});

Aprende más →

Contexto

Gestión jerárquica de estado con herencia automática.

const parent_context = new Context({
  metadata: new Metadata().set("company", "Acme Corp"),
  rules: [new Rule("Mantener un tono profesional")]
});

const child_context = new Context({
  context: parent_context,  // Hereda del padre
  metadata: new Metadata().set("department", "Ventas")
});

Aprende más →

Herramientas

Funciones extensibles para integraciones externas.

const weather_tool = new Tool("get_weather", {
  description: "Obtener clima actual para cualquier ciudad",
  parameters: {
    city: "Nombre de la ciudad",
    units: "Unidades de temperatura (celsius/fahrenheit)"
  },
  func: async (agent, { city, units }) => {
    return `Clima en ${city}: Soleado, 24°C`;
  }
});

Aprende más →

Documentación

📚 Guías

🔧 Referencia API

  • Agent - Orquestador principal
  • Context - Gestión de estado
  • Metadata - Almacén clave-valor
  • Tool - Funciones personalizadas
  • Rule - Directrices de comportamiento
  • Message - Mensajes de conversación
  • Providers - Funciones de proveedor
  • Built-in Tools - TimeTool, RemoteTool, AgentTool, AskTool, ChoiceTool, SleepTool

💡 Ejemplos

🎓 Avanzado

Requisitos

  • Node.js ≥ 16.0.0
  • TypeScript ≥ 4.5.0 (opcional)

Enlaces


¿Listo para construir agentes de IA inteligentes? Comienza con la Guía de Inicio