Arcaelas Agent Dokumentation¶
Willkommen zu @arcaelas/agent - einer produktionsreifen TypeScript-Bibliothek zum Erstellen anspruchsvoller KI-Agenten mit Multi-Anbieter-Unterstützung, reaktiven Kontexten und intelligenter Werkzeug-Orchestrierung.
Was ist Arcaelas Agent?¶
@arcaelas/agent ermöglicht es Ihnen, KI-Agenten zu erstellen, die von einfachen Chatbots bis zu komplexen Unternehmens-Workflows skalieren durch:
- 🔄 Multi-Anbieter-Unterstützung - Automatische Ausfallsicherung zwischen OpenAI, Anthropic, Groq, Ollama und benutzerdefinierten APIs
- 🏗️ Reaktive Architektur - Hierarchische Kontextvererbung mit automatischer Zustandsverwaltung
- 🛠️ Werkzeug-Ökosystem - Integrierte HTTP-Werkzeuge und nahtlose Integration benutzerdefinierter Funktionen
- 💎 Vollständiges TypeScript - Vollständige Typsicherheit mit diskriminierten Unions und Generics
Schnellstart¶
Installation¶
Ihr erster Agent¶
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("Hilfreicher Assistent für tägliche Aufgaben.")],
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("Wie ist das Wetter heute?");
Mit dem vollständigen Tutorial fortfahren →
Hauptarchitektur¶
Agent¶
Zentraler Orchestrator, der Identität, Verhalten, Werkzeuge und KI-Anbieter kombiniert.
const agent = new Agent({
rules: [
new Rule("Kundensupport-Spezialist."),
professional_rule,
],
tools: [search_tool, database_tool],
providers: [openai_provider]
});
Kontext¶
Hierarchische Zustandsverwaltung mit automatischer Vererbung.
const parent_context = new Context({
metadata: new Metadata().set("company", "Acme Corp"),
rules: [new Rule("Einen professionellen Ton beibehalten")]
});
const child_context = new Context({
context: parent_context, // Erbt vom Eltern
metadata: new Metadata().set("department", "Vertrieb")
});
Werkzeuge¶
Erweiterbare Funktionen für externe Integrationen.
const weather_tool = new Tool("get_weather", {
description: "Aktuelles Wetter für jede Stadt abrufen",
parameters: {
city: "Stadtname",
units: "Temperatureinheiten (celsius/fahrenheit)"
},
func: async (agent, { city, units }) => {
return `Wetter in ${city}: Sonnig, 24°C`;
}
});
Dokumentation¶
📚 Anleitungen¶
- Erste Schritte - Vollständiges Tutorial
- Kernkonzepte - Architekturübersicht
- Anbieter - Multi-Anbieter-Konfiguration
- Best Practices - Produktionsmuster
🔧 API-Referenz¶
- Agent - Hauptorchestrator
- Context - Zustandsverwaltung
- Metadata - Schlüssel-Wert-Speicher
- Tool - Benutzerdefinierte Funktionen
- Rule - Verhaltensrichtlinien
- Message - Konversationsnachrichten
- Providers - Anbieter-Funktionen
- Built-in Tools - TimeTool, RemoteTool, AgentTool, AskTool, ChoiceTool, SleepTool
💡 Beispiele¶
- Basic Agent - Einfacher Chatbot
- Multi-Provider - Widerstandsfähige Konfiguration
- Custom Tools - Werkzeuge erstellen
- Context Inheritance - Unternehmensmuster
- Advanced Patterns - Komplexe Szenarien
🎓 Erweitert¶
- Architecture - Internes Design
- Performance - Optimierung
- Troubleshooting - Häufige Probleme
- Migration Guide - Versions-Upgrades
Anforderungen¶
- Node.js ≥ 16.0.0
- TypeScript ≥ 4.5.0 (optional)
Links¶
Bereit, intelligente KI-Agenten zu erstellen? Beginnen Sie mit dem Erste-Schritte-Leitfaden →