# Kanal-Konfiguration — Agentische Extraktion

Die **agentische Extraktion** ergänzt die klassische, regelbasierte Feldextraktion (**Kopffelder** und **Positionzeilenfelder**) durch einen **KI-Agenten**, dem Sie in natürlicher Sprache vorgeben, welche zusätzlichen Felder er aus einem Dokument lesen soll. Das ist besonders sinnvoll, wenn Informationen **in Freitext eingebettet** sind, sich **inhaltlich zusammensetzen** lassen oder **kontextuell** hergeleitet werden müssen.

Es gibt zwei Varianten, die in der Navigation unter *Dokumentenverarbeitung* als getrennte Einträge erscheinen:

| Variante | Wirkebene | Typische Felder |
| --- | --- | --- |
| **Agentische Kopfzeilenextraktion** | Pro Dokument | Bestellnummer, Lieferdatum, Auftragsart … |
| **Agentische Positionsextraktion** | Pro **Position** (Bestellzeile, Rechnungszeile, …) | Artikelnummer, Menge, Einheit, Beschreibung … |

**Bedienung und Konfiguration sind nahezu identisch.** Diese Seite beschreibt beide gemeinsam — alles, was nicht ausdrücklich als positions- oder kopfspezifisch markiert ist, gilt für beide Varianten gleichermaßen. Die Besonderheiten der Positionsextraktion fasst der Abschnitt [Besonderheiten der Positionsextraktion](#besonderheiten-der-positionsextraktion) zusammen.

:::tip Wann sich agentische Extraktion lohnt
Wenn ein Feld nicht immer an derselben Stelle steht, in Freitext eingebettet ist oder kombinierte Logik erfordert (z. B. „Bestellart ableiten aus Marke + Versandadresse" oder „Verpackungseinheit aus dem Beschreibungstext lesen"). Für straff strukturierte Felder reicht die klassische Extraktion in [Kopffelder](/docs/channel-configuration/document-processing/header-fields.md) bzw. [Positionzeilenfelder](/docs/channel-configuration/document-processing/line-item-fields.md).
:::

## Voraussetzungen

Bevor Sie eine agentische Extraktion anlegen, sollten Sie:

- Wissen, **welches Feld** der KI-Agent zusätzlich extrahieren soll. Das Feld muss bereits als Ausgabefeld bekannt sein: bei der Kopfzeilenextraktion in den [Kopffeldern](/docs/channel-configuration/document-processing/header-fields.md), bei der Positionsextraktion in den [Positionzeilenfeldern](/docs/channel-configuration/document-processing/line-item-fields.md). Die agentische Konfiguration kann nur Felder befüllen, die Workist auch als Ausgabe kennt.
- Wissen, **welche Datenquellen** der Agent zur Verfügung haben soll (E-Mail-Text, OCR-Text, bereits extrahierte Felder, …).
- Optional: **Referenzdateien** vorbereiten (z. B. eine Liste gängiger Klausel-Formulierungen, eine Sortimentsliste), die der Agent als zusätzlichen Kontext nutzen darf.

:::note
Eine agentische Extraktion ersetzt nicht die klassische Feldextraktion. Sie wirkt ergänzend: Workist führt zuerst die reguläre Extraktion aus und übergibt deren Ergebnis an den KI-Agenten, der dann zusätzliche Felder ergänzt oder ersetzt.

Pro Kanal kann es **eine** Standardkonfiguration je Variante geben — die Standardkonfiguration der Kopfzeilenextraktion ist getrennt von der der Positionsextraktion. Sie können also beide gleichzeitig betreiben.
:::

## Schritt 1 — Die passende Seite öffnen

Wählen Sie im Kanal in der Unter-Navigation unter **Dokumentenverarbeitung** den passenden Eintrag — **Agentische Kopfzeilenextraktion** oder **Agentische Positionsextraktion**. Solange für diesen Kanal noch keine Konfiguration angelegt wurde, sehen Sie nur den Hinweis **„Keine Konfiguration vorhanden. Klicken Sie auf ‚Neue Konfiguration', um eine zu erstellen."**.

![Leerer Zustand der agentischen Extraktion](/img/channel-config/llm-kopf/01-uebersicht.png)

Am oberen Rand finden Sie zwei Bedienelemente:

- **Konfigurations-Auswahl** *(„Wählen Sie eine Konfiguration aus")* — hier wechseln Sie zwischen mehreren bestehenden Konfigurationen.
- **+ Neue Konfiguration** — legt eine neue, leere Konfiguration für diesen Kanal an und öffnet sie direkt zum Bearbeiten.

## Schritt 2 — Eine neue Konfiguration anlegen

Klicken Sie auf **+ Neue Konfiguration**. Workist legt eine leere Konfiguration an, wählt sie automatisch aus und zeigt das Bearbeitungsformular darunter an.

![Bearbeitungsformular nach Klick auf „Neue Konfiguration"](/img/channel-config/llm-kopf/02-editor-oben.png)

Eine Konfiguration besteht immer aus einem Block grundlegender Einstellungen (Name, Geltungsbereich, Aktivierung) und einem Block mit der eigentlichen Logik (Anweisungen, Felder, Wissen).

### Konfigurationsname

Neben der Auswahl finden Sie ein **Stift-Symbol**. Damit schalten Sie das Eingabefeld **„Konfigurationsnamen bearbeiten"** frei und tragen einen sprechenden Namen ein (z. B. *„Lieferpriorität aus Freitext"* oder *„Variantenextraktion aus Beschreibungstext"*).

Der Name erscheint anschließend in der Auswahlliste oben — wählen Sie ihn so, dass Sie und Kolleg:innen mehrere Konfigurationen für denselben Kanal auseinanderhalten können.

### Standard- vs. Kundenkonfiguration

Der erste Umschalter im Formular heißt **„Standardkonfiguration"**.

![Standardkonfiguration-Schalter mit Beschreibungstext](/img/channel-config/llm-kopf/03-standardkonfiguration-toggle.png)

Die Beschreibung in der Workbench lautet: *„Standardkonfigurationen funktionieren für alle Dokumente. Deaktivieren, um eine kundenspezifische Konfiguration zu erstellen."*

- **Aktiv (Standardkonfiguration):** Die Konfiguration läuft auf **allen** Dokumenten dieses Kanals — unabhängig davon, von welchem Kunden sie stammen.
- **Deaktiviert (Kundenkonfiguration):** Die Konfiguration läuft nur für Dokumente bestimmter Geschäftspartner. Sobald Sie den Schalter deaktivieren, blendet die Workbench das zusätzliche Eingabefeld **„Client-IDs"** ein.

![Eingabefeld Client-IDs nach Deaktivierung der Standardkonfiguration](/img/channel-config/llm-kopf/04-client-ids.png)

Geben Sie hier eine oder mehrere **Kundennummern** aus Ihren Stammdaten ein (bei Rechnungen, Auftragsbestätigungen und Lieferscheinen: **Lieferantennummern**) und bestätigen Sie jede einzelne mit **Tab** oder **Enter**. Workist vergleicht sie mit der Nummer des Kunden bzw. Lieferanten, den es im Dokument erkannt hat. Mehrere Nummern in **einer** Konfiguration bedeuten, dass diese Konfiguration **für diese Partner gemeinsam** verwendet wird.

:::note Pro Kanal nur eine Standardkonfiguration
Wenn für diesen Kanal (und diese Variante) bereits eine Standardkonfiguration existiert, ist der Schalter **„Standardkonfiguration"** in jeder weiteren Konfiguration ausgegraut. Der Hinweistext lautet dann: *„Für diesen Kanal existiert bereits eine Standardkonfiguration."* Eine Standardkonfiguration, die schon Ausgabefelder oder Agentenanweisungen hat, lässt sich nicht mehr in eine Kundenkonfiguration umwandeln; legen Sie dafür eine neue Konfiguration an.
:::

:::note Ausführungsreihenfolge
Workist führt **zuerst die Standardkonfiguration** aus und danach **höchstens eine** Kundenkonfiguration: die, deren Client-IDs die Nummer des erkannten Kunden bzw. Lieferanten enthalten. Werte aus der Kundenkonfiguration **überschreiben** die Werte aus der Standardkonfiguration. Eine Nummer kann deshalb nur in einer Kundenkonfiguration pro Kanal und Variante stehen; überschneidende Client-IDs lehnt die Workbench beim Speichern ab.
:::

### Aktivierung

Über den Schalter **„Aktiviert"** schalten Sie die Konfiguration scharf. Ist er ausgeschaltet, wird die Konfiguration während der Dokumentenverarbeitung nicht ausgeführt — praktisch, um eine Konfiguration zu „parken", ohne sie zu löschen.

### Agentenanweisungen (der Prompt)

Im Feld **„Agentenanweisungen"** beschreiben Sie in natürlicher Sprache, **was** der KI-Agent tun soll. Dieser Text wird dem Modell als Anweisung mitgegeben.

![Agentenanweisungen mit Beispielprompt](/img/channel-config/llm-kopf/05-agentenanweisungen.png)

Ein guter Prompt …

1. **benennt das Ziel klar** — „Extrahiere …",
2. **nennt das Quellmaterial** — „… aus dem Freitext der Bestellung …",
3. **legt das gewünschte Format fest** — „… als ‚dringend', ‚normal' oder ‚unbestimmt' …".

Beispiel (Kopfzeilenextraktion):

> Extrahiere die Lieferpriorität aus dem Freitext der Bestellung. Gib ‚dringend' zurück, wenn der Text Begriffe wie „eilig", „dringend", „ASAP" oder „sofortige Lieferung" enthält, andernfalls ‚normal'. Enthält die Bestellung keine Hinweise auf die Priorität, gib ‚unbestimmt' zurück.

Beispiel (Positionsextraktion):

> Extrahiere aus dem Freitext jeder Position die Verpackungseinheit (z. B. Karton, Palette, Stück) und die Menge je Einheit. Ist keine Einheit angegeben, lass das Feld leer.

:::tip
Wenn Sie im Prompt Bezug auf ein **Eingabefeld** oder **Ausgabefeld** nehmen möchten, geben Sie `/` ein — die Workbench öffnet ein kleines Menü mit den Feldern, die Sie bereits als Eingabe- oder Ausgabefeld ausgewählt haben, und fügt das gewählte Feld als Referenz ein. Wählen Sie die Felder deshalb zuerst aus.
:::

### Eingabefelder vs. Ausgabefelder

Dies ist das **wichtigste Konzept** dieser Seite — bitte hier besonders sorgfältig lesen.

**Eingabefelder** sind die **Datenquellen**, die dem Agenten zur Verfügung gestellt werden. Sie geben dem Modell den Inhalt, **aus dem** es etwas extrahieren soll: E-Mail-Text, OCR-Text des Anhangs, bereits regulär extrahierte Felder, Anhang-Bilder, usw.

![Eingabefelder mit geöffnetem Auswahl-Menü](/img/channel-config/llm-kopf/06-eingabefelder-dropdown.png)

Über **+ Eingabefeld hinzufügen** öffnet sich ein Menü mit allen verfügbaren Datenquellen. Klicken Sie auf einen Eintrag, um ihn hinzuzufügen; über das Mülleimer-Symbol entfernen Sie ihn wieder.

**Ausgabefelder** sind die **Zielfelder**, in die der Agent seine Ergebnisse schreibt. Genau diese Werte landen am Ende in Ihrer Ausgabedatei bzw. Ihrem Zielsystem.

![Ausgabefelder mit geöffnetem Auswahl-Menü](/img/channel-config/llm-kopf/07-ausgabefelder-dropdown.png)

Über **+ Ausgabefeld hinzufügen** wählen Sie ein oder mehrere Felder aus den konfigurierten Feldern des Kanals — bei der Kopfzeilenextraktion aus den **Kopffeldern**, bei der Positionsextraktion aus den **Positionzeilenfeldern**. Es stehen nur dort konfigurierte Felder zur Verfügung; agentische Konfigurationen können keine neuen Feldnamen erfinden.

Faustregel:

| Frage | Antwort |
| --- | --- |
| „Woher kommt die Information für den Agenten?" | Eingabefelder |
| „Wohin soll das Ergebnis des Agenten geschrieben werden?" | Ausgabefelder |

Eingabe- und Ausgabefelder können auch **identisch** sein: Wenn ein Feld bereits durch die reguläre Extraktion belegt ist, der Agent diesen Wert aber **prüfen und ggf. überschreiben** soll, listen Sie es in beiden Bereichen.

:::tip Tipp für die Auswahl der Eingabefelder
Geben Sie dem Agenten **nur** die Eingaben, die er wirklich benötigt. Je weniger Datenquellen, desto fokussierter und schneller arbeitet der Agent.
:::

### Benutzerdefinierte Felder als Ziel der agentischen Extraktion

Bisher haben wir nur Felder verwendet, die im Kanal bereits als **Kopffelder** oder **Positionzeilenfelder** konfiguriert sind. Für agentische Extraktion wollen Sie aber oft **neue Felder** anlegen, die es im Standard-Schema gar nicht gibt — etwa „Lieferpriorität", „Variantencode der Position" oder „Auftragsklassifikation". Genau dafür gibt es **benutzerdefinierte Felder**.

Benutzerdefinierte Felder leben in den regulären Bereichen [Kopffelder](/docs/channel-configuration/document-processing/header-fields.md) und [Positionzeilenfelder](/docs/channel-configuration/document-processing/line-item-fields.md), sind dort aber leer — sie werden nicht durch die klassische Extraktion gefüllt. Stattdessen werden sie typischerweise **erst durch eine agentische Konfiguration mit Inhalt belegt**, indem Sie sie als **Ausgabefelder** auswählen.

Der folgende Workflow gilt **identisch** für beide Varianten — für ein kopfweites Feld arbeiten Sie auf **Kopffelder**, für ein positionsweites Feld auf **Positionzeilenfelder**.

#### Schritt A — „Benutzerdefiniertes Feld" anlegen

Öffnen Sie in der Kanal-Navigation **Kopffelder** (oder **Positionzeilenfelder**, je nachdem, ob das neue Feld pro Dokument oder pro Position vorkommen soll).

Klicken Sie oben rechts neben der Überschrift **„Konfigurierte Felder"** auf das **+**-Symbol. Es öffnet sich ein Auswahl-Menü mit zwei Bereichen: ganz oben **„Benutzerdefiniertes Feld"** mit Pluszeichen, darunter — durch eine Trennlinie abgesetzt — die Liste der noch nicht hinzugefügten Standardfelder.

![Geöffnetes „+"-Menü mit „Benutzerdefiniertes Feld" als oberster Eintrag](/img/channel-config/llm-kopf/cf-01-plus-menu.png)

Klicken Sie auf **„Benutzerdefiniertes Feld"**. Sofort wird in der linken Liste ein neuer Eintrag mit dem Platzhalternamen **„Unbenanntes Feld"** angelegt und automatisch ausgewählt. Auf der rechten Seite erscheinen die zugehörigen Eingabefelder.

![Frisch hinzugefügtes benutzerdefiniertes Feld: links „Unbenanntes Feld", rechts leere Optionen](/img/channel-config/llm-kopf/cf-02-leeres-feld.png)

:::note
Solange Sie noch nicht gespeichert haben, ist das Feld nur in Ihrer Sitzung sichtbar. Wechseln Sie ohne **Speichern** auf eine andere Seite, ist das Feld weg.
:::

#### Schritt B — Die Pflichtfelder ausfüllen

Bei einem benutzerdefinierten Feld sind **vier** Eingaben Pflicht (in der UI mit `*` gekennzeichnet): die drei folgenden und der **Datentyp** (vorbelegt mit *Zeichenkette*, siehe unten). Der Schalter **Erforderlich** ist bei neuen benutzerdefinierten Feldern aus.

![Markierte Pflichtfelder: Datenbezeichnungsname, Feldbezeichnungsname, Anweisungen für Datenbezeichnungen](/img/channel-config/llm-kopf/cf-03-pflichtfelder-markiert.png)

| Pflichtfeld | Bedeutung |
| --- | --- |
| **Datenbezeichnungsname** | Der Name des Feldes in der **Ausgabedatei** (z. B. `delivery_priority`). Muss **ausgefüllt** und **eindeutig im Kanal** sein. Leerzeichen ersetzt die Workbench beim Tippen durch Unterstriche. **Einmal gespeichert, ist dieser Wert nicht mehr änderbar** — er ist Teil Ihres Datenvertrags mit dem Zielsystem. |
| **Feldbezeichnungsname** | Der Name, unter dem das Feld in der **Workbench-Assistenz** erscheint (z. B. „Lieferpriorität"). Kann jederzeit geändert werden, ohne die Ausgabedatei zu brechen. |
| **Anweisungen für Datenbezeichnungen** | Kurzer Kontext für die KI, **wie und wo** sie das Feld in Ihren Dokumenten erkennen soll. Maximal 500 Zeichen. Beispiel: *„Die Lieferpriorität steht oben rechts im Briefkopf. Erlaubte Werte: hoch, mittel, niedrig."* |

:::tip Benennung des Datenbezeichnungsnamens
Wir empfehlen **`snake_case`** (Kleinbuchstaben, Wörter durch Unterstriche getrennt, z. B. `delivery_priority`, `customer_internal_note`, `variant_code`). Die Workbench erzwingt das nicht. Vermeiden Sie Umlaute, Bindestriche und Großbuchstaben — dieselbe Konvention erwarten die meisten Zielsysteme. Da der Wert **nach dem ersten Speichern unveränderlich** ist, lohnt es sich, ihn vorab kurz mit Ihrer Ansprechperson bei Workist abzustimmen.
:::

:::warning Speichern erfordert einen Wert
Solange das Feld **Datenbezeichnungsname** leer ist, lässt sich das benutzerdefinierte Feld **nicht speichern** — die Workbench bricht den Speichervorgang ab und markiert das Feld rot. Tragen Sie den Wert daher gleich beim Anlegen ein.
:::

Zusätzlich wählen Sie den **Datentyp**, der bestimmt, wie Workist den extrahierten Wert interpretiert und validiert:

![Geöffnetes Datentyp-Dropdown mit allen fünf Optionen](/img/channel-config/llm-kopf/cf-04-datentyp-dropdown.png)

| Datentyp | Wann verwenden? |
| --- | --- |
| **Zeichenkette** | Freitext oder kategorische Werte (z. B. „hoch / mittel / niedrig", Status-Codes, Klassifikationen). |
| **Dezimalzahl** | Beträge, Preise, Mengen mit Nachkommastellen. |
| **Ganzzahl** | Stückzahlen, Wochenzahlen, ID-ähnliche Zahlen ohne Dezimalstellen. |
| **Datum** | Datumsangaben. Liegt ein Datum viele Monate vom Dokumentdatum entfernt, senkt Workist die Konfidenz und erklärt das am Feld. |
| **Boolesch** | Ja/Nein-Antworten („Ist eilig?", „Frachtfrei?"). |

Bei **Zeichenkette** erscheint zusätzlich das Feld **„Geben Sie Optionen an, wenn Sie die möglichen Werte des Feldes einschränken möchten"**. Geben Sie hier eine Liste erlaubter Werte ein, wenn die KI sich auf einen festen Wortschatz festlegen soll.

![Choices-Feld erscheint nur bei Datentyp „Zeichenkette"](/img/channel-config/llm-kopf/cf-05-choices-bei-zeichenkette.png)

:::note
Das Choices-Feld erscheint **nur** bei **Zeichenkette**. Bei numerischen Datentypen oder Datum macht die Begrenzung keinen Sinn und wird ausgeblendet.
:::

Sobald Sie den **Feldbezeichnungsnamen** eingegeben haben, übernimmt die linke Liste den neuen Namen automatisch — aus „Unbenanntes Feld" wird beispielsweise „Lieferpriorität".

![Nach Eingabe des Feldbezeichnungsnamens aktualisiert sich der Eintrag links](/img/channel-config/llm-kopf/cf-06-feldbezeichnung-erscheint-links.png)

#### Schritt C — Anweisungen sorgfältig formulieren

Die **Anweisungen für Datenbezeichnungen** sind der Hebel, mit dem Sie die Trefferquote Ihres Custom-Feldes steuern. Schreiben Sie **knapp und konkret**:

![Anweisungen-Feld mit Beispiel-Prompt, Zeichenzähler 105/500](/img/channel-config/llm-kopf/cf-07-anweisungen-prompt.png)

**Was eine gute Anweisung enthält:**

- **Wo** im Dokument steht der Wert (oben rechts? in der Tabelle? in einer bestimmten Spalte?).
- **Wie sieht der Wert typischerweise aus** (kurze Beispiele, erlaubte Werte, übliche Formulierungen).
- **Was er NICHT ist** (Anti-Beispiele, damit die KI Verwechslungen vermeidet).

**Was Sie weglassen sollten:**

- Lange Hintergrundgeschichten zum Geschäftsprozess.
- Anweisungen an die KI, wie sie „denken" soll — das gehört in die **Agentenanweisungen** der Konfiguration, nicht in die Feldanweisungen.

:::note Begrenzung
Maximal 500 Zeichen pro Feld. Wenn Ihre Anweisung länger werden müsste, prüfen Sie, ob ein Teil der Information stattdessen als **Wissen** (Datei-Upload, siehe weiter unten) beigesteuert werden kann.
:::

#### Schritt D — Speichern und als Ausgabefeld einbinden

Klicken Sie unten auf **Speichern**. Workist übernimmt das Feld als regulär konfiguriertes Feld — aber zunächst **ohne Werte**, da die klassische Extraktion nicht weiß, wie sie das neue Feld füllen soll.

Wechseln Sie jetzt zurück auf die agentische Konfiguration, öffnen Sie Ihre Konfiguration (oder legen Sie eine neue an) und klicken Sie unter **Ausgabefelder** auf **+ Ausgabefeld hinzufügen**. In der Auswahlliste erscheint Ihr neues benutzerdefiniertes Feld neben allen anderen Feldern des Kanals.

![Auswahlliste „Ausgabefeld hinzufügen" mit allen verfügbaren Feldern](/img/channel-config/llm-kopf/cf-08-als-ausgabefeld-im-llm.png)

Fügen Sie das Feld hinzu, ergänzen Sie passende **Eingabefelder** (z. B. den E-Mail-Text), geben Sie die **Agentenanweisungen** an und klicken Sie auf **Speichern**. Ab dem nächsten Dokument füllt der Agent das neue Feld automatisch.

:::tip Faustregel
Pro Feld nur **eine** primäre Quelle der Wahrheit — entweder klassisch (über Lookups oder feste Mappings) **oder** agentisch (über Ausgabefelder). Die agentische Extraktion läuft nach der klassischen und **überschreibt** jedes Feld, das als **Ausgabefeld** ausgewählt ist — egal, ob es auch Eingabefeld ist.
:::

#### Schritt E — Benutzerdefiniertes Feld wieder entfernen

Wenn Sie ein benutzerdefiniertes Feld nicht mehr brauchen, klicken Sie in der linken Feldliste rechts neben dem Feldnamen auf das **×** und anschließend auf **Speichern**. Entfernen Sie das Feld **vorher** aus allen agentischen Konfigurationen, in denen es als Ausgabefeld geführt ist. Andernfalls schlägt die Verarbeitung neuer Dokumente in diesem Kanal fehl.

:::warning
Wenn das Feld bereits in der Ausgabedatei produktiver Dokumente steht, entfernt es das Löschen nicht rückwirkend. Bereits exportierte Daten bleiben unverändert; nur neue Dokumente enthalten das Feld nicht mehr.
:::

### Wissen (Referenzdateien)

Im Bereich **„Wissen"** können Sie Dateien hochladen, die dem Agenten als zusätzlicher Kontext zur Verfügung gestellt werden — zum Beispiel eine Liste Ihrer Auftragsarten, ein Auszug aus dem Sortimentskatalog oder eine Abkürzungstabelle mit kundeninternen Kürzeln.

![Wissens-Drop-Zone für Referenzdateien](/img/channel-config/llm-kopf/08-wissen.png)

Erlaubte Dateiformate sind **.txt**, **.csv**, **.md** und **.json**. Ziehen Sie die Dateien in den Bereich **„Dateien hier ablegen oder klicken, um hochzuladen"** oder klicken Sie hinein, um den Dateiauswahl-Dialog zu öffnen.

Die Workbench zeigt pro Datei die geschätzte Anzahl Tokens. Dateien über der Größengrenze oder mit mehr als **200.000 Tokens** werden nicht hochgeladen. Ist eine Wissensdatei bei der Verarbeitung zu groß, läuft die Konfiguration nicht; die Ausgabefelder behalten die Werte der klassischen Extraktion mit Konfidenz 0, und das Dokument zeigt einen Hinweis.

:::warning Vertraulichkeit
Hochgeladene Wissensdateien werden bei jeder Extraktion **in den Prompt** an die KI mitgegeben. Sie sind also **nicht „geheim"** gegenüber dem Modell. Laden Sie nur Inhalte hoch, deren Weitergabe an den von Workist eingesetzten KI-Anbieter unproblematisch ist (keine Passwörter, keine personenbezogenen Daten, die nicht ohnehin Teil des Dokuments wären, …).
:::

:::tip
Halten Sie Wissensdateien **schlank**. Je größer die Datei, desto teurer und langsamer wird jede einzelne Extraktion — und der Agent kann sich in irrelevanten Details verlieren.
:::

### RAG für Few-Shot-Learning

Ganz unten in der Konfiguration finden Sie die Option **„Verwenden Sie Retrieval Augmented Generation (RAG) für Few-Shot-Learning"**.

![RAG-Auswahl mit zwei Optionen](/img/channel-config/llm-kopf/10-rag-auswahl.png)

Sie haben zwei Optionen:

- **Frühere Unterstützungen zur Abfrage hinzufügen** — Workist sucht zu jedem neuen Dokument die bis zu fünf ähnlichsten Fälle aus demselben Kanal und stellt sie dem KI-Agenten als Beispiele zur Verfügung. Als Beispiel gespeichert wird ein Dokument, bei dem eine Bearbeiter:in in der **Assistenz** eines der Ausgabefelder der Konfiguration geändert hat. Das verbessert in vielen Fällen die Treffergenauigkeit spürbar, sobald genügend Lernmaterial vorliegt.
- **Keine früheren Unterstützungen einbeziehen** — der Agent arbeitet ausschließlich mit dem aktuellen Dokument und den Anweisungen.

Bei der **Kopfzeilenextraktion** beginnen Sie typischerweise mit **„Keine"** und schalten RAG später dazu, sobald sich in der Assistenz ein Erfahrungsschatz aufgebaut hat. Bei der **Positionsextraktion** lohnt sich RAG meist von Anfang an, weil häufig auftretende Sonderfälle einzelner Kunden so wiedererkannt werden.

### Werkzeuge

Im Bereich **„Werkzeuge"** wählen Sie über **Werkzeug hinzufügen** aus, welche Abfragen der Agent während der Extraktion selbst ausführen darf. Die Werkzeuge greifen auf die Stammdaten des Kanals zu: Artikel suchen und abfragen, Kunden, Kontakte, Liefer- und Rechnungsadressen nachschlagen sowie die vorhandenen Werte von Artikelmerkmalen auflisten. Geben Sie dem Agenten nur die Werkzeuge, die er für seine Aufgabe braucht.

:::note Von Workist verwaltete Einstellungen
Modell, Temperatur und Denkaufwand des KI-Agenten werden von Workist verwaltet und sind in Ihrer Workbench-Anmeldung nicht sichtbar. Wenn Sie hier eine Anpassung wünschen, sprechen Sie bitte Ihre Ansprechperson bei Workist an.
:::

## Schritt 3 — Speichern und aktivieren

Klicken Sie am Ende der Konfiguration auf **Speichern**. Im Erfolgsfall erscheint eine Bestätigung; die Konfiguration ist anschließend für nachfolgende Dokumente aktiv, sofern der Schalter **Aktiviert** eingeschaltet ist.

![Speichern-Button am Ende des Formulars](/img/channel-config/llm-kopf/11-werkzeuge-und-speichern.png)

:::note Wann greift die neue Konfiguration?
Erst beim **nächsten** eingehenden Dokument. Bereits verarbeitete Dokumente werden nicht rückwirkend neu extrahiert.
:::

### Empfohlene Reihenfolge mit der Standardkonfiguration

Wenn Sie sowohl eine **Standardkonfiguration** als auch eine oder mehrere **Kundenkonfigurationen** für denselben Kanal pflegen:

1. Halten Sie die Standardkonfiguration **bewusst einfach** — sie beschreibt das, was für **alle** Kunden gelten soll.
2. Verwenden Sie **Kundenkonfigurationen nur dort**, wo ein einzelner Kunde oder eine kleine Gruppe von Kunden **gezielt abweichende Logik** brauchen.
3. Denken Sie daran: Die Kundenkonfiguration **überschreibt** die Werte aus der Standardkonfiguration. Doppelt extrahierte Felder gewinnen also immer aus der **kundenspezifischen** Konfiguration.

## Schritt 4 — Konfigurationen wechseln, umbenennen, löschen

Mehrere Konfigurationen erscheinen oben in der **Auswahlliste**. Klicken Sie auf die Liste, um eine andere Konfiguration zu laden — das Formular darunter aktualisiert sich automatisch.

- **Umbenennen:** Stift-Symbol neben der Auswahl klicken, neuen Namen eingeben und **Speichern**.
- **Löschen:** **Mülleimer-Symbol** rechts neben **+ Neue Konfiguration**. Workist fragt vor dem Löschen sicherheitshalber nach. Das Löschen ist endgültig — eine gelöschte Konfiguration (inklusive aller hochgeladenen Wissensdateien) lässt sich nicht wiederherstellen. Wenn Sie nur kurz pausieren möchten, schalten Sie stattdessen den Umschalter **„Aktiviert"** aus.

## Besonderheiten der Positionsextraktion

Die agentische Positionsextraktion folgt allen oben beschriebenen Schritten — mit drei Unterschieden:

- **Sie läuft pro Position.** Die Konfiguration wird auf **jede einzelne Zeile** des Dokuments angewendet. Das macht sie mächtig, aber auch langsamer und teurer als die Kopf-Variante (jede Position erzeugt einen eigenen KI-Aufruf).
- **Ausgabefelder kommen aus den Positionzeilenfeldern.** Möchten Sie ein Feld extrahieren, das es dort noch nicht gibt, legen Sie es zuerst als [benutzerdefiniertes Feld](#benutzerdefinierte-felder-als-ziel-der-agentischen-extraktion) in den Positionzeilenfeldern an.
- **Strukturelle Positions-Operationen** kann Workist auf Anfrage freischalten — der Agent darf dann Positionen **hinzufügen**, **löschen**, **aufteilen** oder hierarchisch als **Unterelemente** verknüpfen (z. B. „2 Paletten à 24 Stück" in mehrere logische Zeilen aufteilen). Diese Operationen sind von Workist verwaltet und nicht selbst konfigurierbar. Dokumente mit Unterpositionen gehen **immer** in die Assistenz (siehe [Wann wird automatisiert?](/docs/channel-configuration/document-processing/validation-checks.md#wann-wird-automatisiert)).

:::warning Überschreibt die klassische Extraktion
Wenn sowohl die klassische Extraktion **als auch** die agentische Positionsextraktion dasselbe Feld befüllen, **überschreibt der Agent den klassisch extrahierten Wert**. Wählen Sie als Ausgabefelder deshalb bevorzugt solche, die die klassische Extraktion **nicht** zuverlässig erfasst.
:::

**Empfohlene Reihenfolge** beim Aufsetzen eines neuen Kanals: zuerst [Positionzeilenfelder](/docs/channel-configuration/document-processing/line-item-fields.md) vollständig konfigurieren, dann beobachten, welche Felder regelmäßig leer bleiben oder schlecht erkannt werden, und erst danach eine agentische Positionsextraktion gezielt für diese Problemfelder anlegen.

## Häufige Fragen

**Muss ich für jedes Feld eine eigene Konfiguration anlegen?**
Nein. Eine Konfiguration kann beliebig viele **Ausgabefelder** gleichzeitig befüllen. Es ist meistens sinnvoll, fachlich zusammenhängende Felder in **einer** Konfiguration zu bündeln — dann „sieht" der Agent den Gesamtkontext.

**Was passiert, wenn ich die Konfiguration deaktiviere?**
Workist überspringt sie bei der nächsten Verarbeitung. Bestehende Ausgabewerte aus früheren Läufen bleiben unverändert.

**Was passiert, wenn der Agent ein Feld nicht extrahieren kann?**
Findet der Agent keinen Wert, liefert er ein leeres Ergebnis — und das **überschreibt** den Wert der klassischen Extraktion. Den klassischen Wert behält Workist nur, wenn die Konfiguration technisch nicht ausgeführt werden konnte. Dann bleiben die Werte stehen, ihre Konfidenz wird auf 0 gesetzt, und das Dokument zeigt den Hinweis, dass die KI-Regel nicht ausgeführt wurde.

**Wie viele Konfigurationen kann ich anlegen?**
Eine Standardkonfiguration je Variante und beliebig viele Kundenkonfigurationen je Kanal. Jede Client-ID darf nur in einer Kundenkonfiguration stehen; pro Dokument läuft höchstens eine Kundenkonfiguration.

**Werden meine Wissensdateien an die KI weitergegeben?**
Ja — Wissensdateien werden in den Prompt der KI eingebettet. Laden Sie also keine Inhalte hoch, die nicht zur Extraktion gehören oder die Sie nicht an Workists KI-Anbieter weitergeben möchten.

## Hilfe und Support

Wenn eine Konfiguration nicht das gewünschte Ergebnis liefert, wenden Sie sich an Ihre Ansprechperson bei Workist. Halten Sie folgende Informationen bereit:

- den **Kanalnamen** und den **Konfigurationsnamen** sowie die Variante (Kopfzeilen- oder Positionsextraktion),
- ob es sich um eine **Standard-** oder **Kundenkonfiguration** handelt (bei Kundenkonfiguration: die betroffenen **Client-IDs**, also Kunden- bzw. Lieferantennummern),
- ein **Beispieldokument**, auf dem die Konfiguration ein falsches Ergebnis lieferte,
- den **Wert**, den der Agent geliefert hat, und den **Wert**, den Sie erwartet hätten.
