Einen Agent bauen

Ein Agent nutzt Werkzeuge und einen Prompt. Du startest ihn mit einer Nachricht.

Erstellen

  1. Öffne Agents.
  2. Starte den Wizard.
  3. Beschreibe die Aufgabe und wähle dann Werkzeuge.
  4. Öffne den Agent und setze den Prompt.
  5. Wähle Run und sende eine Nachricht.

Die Zeitleiste zeigt jeden Schritt. Du stoppst einen Lauf auf demselben Bildschirm.

Zeitplan und Webhook

Füge in den Agent-Einstellungen einen Zeitplan hinzu, damit er ohne dich läuft, oder einen Webhook, damit ein anderes System ihn startet. Die Model-Einstellung am Agent legt fest, wie dieser Agent läuft. Tools sind die Funktionen, die er aufrufen darf, einschließlich der Funktionen, die du schreibst.

Agent-Tools

Agenten in Orbitype können Tools nutzen, um Daten abzurufen, Services aufzurufen und strukturierte Aufgaben während eines Runs auszuführen. Du kannst mit vordefinierten Tools in der UI starten und deinen Agenten jederzeit mit eigenen Tools erweitern.

So erstellst du einen Agenten

  1. Gehe zu Agents und klicke auf New.

  2. Füge eine kurze Beschreibung und einen System Prompt hinzu.

  3. Wähle ein oder mehrere vordefinierte Tools.

  4. Speichere den Agenten. Er ist sofort einsatzbereit.

So fügst du Custom Tools hinzu

Jedes Custom Tool wird als JSON-Objekt mit 4 Feldern definiert:

{
  "name": "tool_name",
  "description": "Wann und warum der Agent dieses Tool nutzen soll",
  "func": "async ({ ...inputs, ...runtimeHelpers }) => { ... }",
  "schema": {
    "type": "object",
    "properties": {},
    "required": []
  }
}

Feldübersicht

  • name (string): eindeutige Tool-ID. Empfohlenes Format: klein + Unterstriche (Beispiel: google_search).

  • description (string): kurze Anweisung, damit der Agent weiß, wann er das Tool verwenden soll.

  • func (string): asynchrone JavaScript-Funktion mit der Tool-Logik und Rückgabe von Daten.

  • schema (object): JSON-Schema für den Tool-Input.

Schema-Leitfaden

  • Oben sollte { "type": "object" } stehen.

  • Definiere Inputs unter properties.

  • Pflichtfelder kommen in required.

  • Nutze klare description-Texte je Feld für bessere Tool-Auswahl.

Runtime-Input in func

Deine Funktion erhält ein Objekt mit:

  • den Feldern aus deinem Schema (z. B. query, url)

  • Runtime-Helpern aus deiner Umgebung (z. B. Suche, Browser, AI, Datenbank usw., je nach Setup)

Tipp: Eingaben immer normalisieren/validieren und ein konsistentes JSON zurückgeben.

Copy-Paste-Beispiel

{
  "name": "google_search",
  "description": "Searches the web for relevant information, solutions, and best practices.",
  "func": "async ({ query, serp }) => {\n  const normalizedQuery = String(query ?? \"\").trim()\n  if (!normalizedQuery) return { query: normalizedQuery, results: [], count: 0 }\n\n  const rawResults = await serp.search(normalizedQuery)\n  const results = Array.isArray(rawResults) ? rawResults : []\n\n  return {\n    query: normalizedQuery,\n    results,\n    count: results.length\n  }\n}",
  "schema": {
    "type": "object",
    "required": ["query"],
    "properties": {
      "query": {
        "type": "string",
        "description": "Search query"
      }
    }
  }
}

Best Practices

  • Ein Tool = eine klare Aufgabe.

  • Verwende stabile, eindeutige Output-Strukturen.

  • Behandle leere Inputs und Fehler sauber.

  • Lieber kleine kombinierbare Tools als ein großes Universal-Tool.

Häufige Probleme

  • Tool wird nicht aufgerufen: description und Schema-Beschreibungen klarer formulieren.

  • Schema passt nicht: prüfen, ob func exakt die Felder aus dem schema erwartet.

  • Runtime-Fehler: externe Aufrufe mit try/catch absichern und strukturiert zurückgeben.

Agency

In wird agency automatisch injiziert. Damit kannst du über den Slug auf deine konfigurierten Agenten zugreifen.

Verwende agency.get(slug), um einen Agenten auszuwählen, und run(prompt), um ihn auszuführen.

  • agency.get(slug) wählt den gewünschten Agenten aus

  • agent.run(prompt) führt den Agenten aus und gibt das Ergebnis zurück

Beispiel:

async ({ agency }) => {
  const agent = agency.get("immo_research_agent")

  if (!agent) {
    return { error: "Agent nicht gefunden: immo_research_agent" }
  }

  try {
    const run = await agent.run("start prompt for my Agent")
    return { run }
  } catch (e) {
    return { error: String(e) }
  }
}

Wenn das fehlschlägt: Der Agent antwortet nicht

  • Ein Tool, das nicht kompiliert, zeigt invalid tool und der Agent ist nicht verfügbar. Öffne das Tool und korrigiere die Funktion.
  • agency.get gibt nichts zurück, wenn der Slug nicht passt. Kopiere den Slug aus der Agent-Liste.
  • Stoppe einen hängenden Lauf, bevor du einen weiteren auf demselben Agent startest.