Zum Inhalt springen

Überblick zum Developer Guide

Willkommen im Developer Guide für Selu. Dieser Abschnitt deckt alles ab, was du brauchst, um Agenten für den Selu-Marketplace zu bauen, zu testen und zu veröffentlichen.

Selu besteht aus drei zentralen Schichten, die zusammen aus einer Nutzernachricht eine intelligente Antwort machen:

  1. Orchestrator: Die zentrale Laufzeitumgebung. Sie empfängt Nachrichten von Kanälen, leitet sie an den richtigen Agenten weiter, verwaltet Gesprächserinnerung und koordiniert Tool-Aufrufe. Sie läuft als langlebiger Prozess im Selu-Docker-Stack.
  2. Agenten: Deklarative Pakete, die festlegen, was ein KI-Assistent tut. Jeder Agent wird durch ein agent.yaml-Manifest und einen agent.md-System-Prompt beschrieben, plus optionalen Capabilities. Agenten enthalten selbst keinen Anwendungscode, sie konfigurieren den Orchestrator.
  3. Capabilities: Die Hände und Füße eines Agenten. Eine Capability ist ein gRPC-Mikroservice, der in einem eigenen Docker-Container läuft. Wenn der Orchestrator entscheidet, dass ein Agent eine Aktion ausführen muss, etwa eine API aufzurufen, eine Datei zu lesen oder eine Datenbank abzufragen, ruft er eine Capability per gRPC auf.

Agenten

Deklarative Pakete aus YAML und Markdown, die Persönlichkeit, Routing und verfügbare Capabilities festlegen.

Capabilities

Containerisierte gRPC-Services, die Agenten echte Aktionen ermöglichen, etwa Wetterabfragen, Kalenderzugriff oder Websuche.

Orchestrator

Die Selu-Laufzeit, die alles verbindet: Routing, Erinnerung, LLM-Aufrufe und Tool-Ausführung.

Eingebaute Tools

Plattformweite Tools wie emit_event und delegate_to_agent, die jeder Agent ohne eigene Capability nutzen kann.

Wenn ein Nutzer eine Nachricht sendet, passiert Folgendes:

  1. Ein Kanal wie Web-Chat, iMessage oder Telegram liefert die Nachricht an den Orchestrator.
  2. Der Orchestrator schaut in die aktive Session und entscheidet anhand der Routing-Regeln, welcher Agent die Nachricht bearbeiten soll.
  3. Der System Prompt des Agenten aus agent.md und der Gesprächsverlauf werden zu einer LLM-Anfrage zusammengesetzt.
  4. Wenn das LLM mit einem Tool-Call antwortet, ruft der Orchestrator die passende Capability per gRPC auf und gibt das Ergebnis zurück an das Modell.
  5. Schritt 3 und 4 wiederholen sich, bis das LLM eine finale Textantwort erzeugt, die über den Kanal an den Nutzer zurückgeht.

Als Entwickler kannst du auf zwei Ebenen beitragen:

  • Agentenpakete: Definiere neue Persönlichkeiten, verbinde vorhandene Capabilities und konfiguriere Routing. Dafür brauchst du keinen Code, nur YAML und Markdown.
  • Capabilities: Schreibe einen kleinen gRPC-Service in einer Sprache deiner Wahl, verpacke ihn als Docker-Image und gib Agenten neue Superkräfte.

Starte mit Package Structure, um das Layout eines Agentenpakets zu verstehen, oder spring direkt zu Baue deinen ersten Agenten für ein praktisches Tutorial.