Skip to content
Release5 min read

Potato 2.4.0: Web-Agenten-Annotation, Live-Evaluierung und HuggingFace-Anbindung

Potato 2.4.0 bringt die Überprüfung von Web-Agenten-Traces, Live-Evaluierung von Agenten in Echtzeit, eine LLM-Chat-Seitenleiste, Export zum HuggingFace Hub, Webhooks, SSO/OAuth und fünf Active-Learning-Strategien.

Potato Team

Hinweis: Die Zahlen in diesem Beitrag geben den Stand zum Release von v2.4.0 wieder. Potato unterstützt inzwischen über 50 Annotationstypen. Die vollständige Liste steht in der Dokumentation zu den Annotationstypen.

Potato 2.4.0 ist da. Es ist unser größtes Update seit der agentischen Annotation in 2.3 und bringt die Funktionen zur Agentenevaluierung, nach denen immer wieder gefragt wurde, dazu ein Paket an Enterprise- und Integrationsarbeit.

Web-Agenten-Annotation

Web-Browsing-Agenten zu evaluieren ist mühsam. Man muss sehen, was der Agent gesehen hat, wohin er geklickt hat, wie er gescrollt hat und ob jeder Schritt sinnvoll war. Potato 2.4 bringt dafür einen Viewer für Web-Agenten-Traces.

Im Review-Modus bekommen Annotatoren eine Filmstreifen-Ansicht der vorab aufgezeichneten Screenshots. SVG-Overlays markieren Klickziele, Bounding-Boxen, Mauspfade und Scrollpositionen, sodass die Bewertenden sehen, was der Agent gesehen hat, mit den Annotationselementen direkt daneben.

Der Creation-Modus dreht die Oberfläche um. Annotatoren surfen in einem iframe auf einer echten Website, und Potato zeichnet jede Interaktion als annotationsfertigen Trace auf. Vorhandene Traces lassen sich aus den Formaten von WebArena, Mind2Web und Anthropic Computer Use importieren, oder Sie nehmen unterwegs neue auf.

yaml
display:
  type: web_agent_trace
  mode: review          # or "creation"
  show_overlays: true
  keyboard_shortcuts: true

Live-Evaluierung von Agenten

Manchmal muss man Agenten evaluieren, während sie laufen, und nicht im Nachhinein. Mit dem neuen System zur Live-Agenten-Evaluierung können Annotatoren KI-Agenten in Echtzeit bei der Arbeit zusehen und ihr Verhalten mitten in der Ausführung annotieren.

Potato führt Agenten über den Agent Runner Manager parallel aus, nimmt die Traces über einen Webhook-Empfänger entgegen, sobald sie eintreffen, und zeigt den Annotatoren eine Evaluierungsoberfläche in Echtzeit. Die Übereinstimmung zwischen Annotatoren auf Schrittebene wird automatisch mitgeführt.

LLM-Chat-Seitenleiste

Bei schwierigen Annotationsentscheidungen hilft eine zweite Meinung. Die neue LLM-Chat-Seitenleiste gibt Annotatoren ein KI-Assistenzfeld, das sie mitten in der Aufgabe befragen können, ohne die Oberfläche zu verlassen.

Die Seitenleiste kann mehrstufige Gespräche führen und fügt den vollständigen Aufgabenkontext automatisch ein. Sie arbeitet mit Endpunkten von OpenAI, Anthropic und Ollama und protokolliert jedes Gespräch als Verhaltensdaten, was praktisch ist, wenn man untersuchen möchte, wie stark sich Annotatoren auf KI-Unterstützung stützen.

yaml
llm_sidebar:
  enabled: true
  provider: anthropic
  model: claude-3-5-sonnet-20241022
  system_prompt: "You are a helpful annotation assistant for this {task_name} task."
  collapsible: true

Anbindung an das HuggingFace-Ökosystem

Potato verbindet sich jetzt auf mehreren Wegen mit HuggingFace. Sie können Annotationen mit automatisch erzeugten DatasetCards direkt in Hub-Datensätze schieben, sie ohne Umweg als datasets.Dataset-Objekte wieder laden, eine Potato-Instanz in HuggingFace Spaces bereitstellen und Traces automatisch einlesen, wenn Sie LangChain-Agenten über den LangChain-Callback laufen lassen.

bash
pip install potato-annotation[huggingface]
python
from potato import PotatoDataset
 
ds = PotatoDataset.from_output("annotations/")
ds.push_to_hub("my-org/my-annotation-dataset")

Webhook-System

Potato 2.4 bringt ein vollständiges Webhook-System für ereignisgesteuerte Integrationen. Fünf Ereignistypen, signiert mit HMAC-SHA256 nach der Spezifikation Standard Webhooks:

EreignisWird ausgelöst, wenn
annotation.createdein Annotator ein Label absendet
item.fully_annotatedein Element die geforderte Überlappungszahl erreicht
task.completedalle Elemente einer Aufgabe annotiert sind
user.phase_completedein Nutzer eine Phase abschließt (Solo-Modus)
quality.attention_check_failedein Annotator eine Aufmerksamkeitsprüfung nicht besteht

Webhooks werden nicht blockierend zugestellt, mit konfigurierbaren Wiederholungen, und über die Admin-API verwaltet.

yaml
webhooks:
  - url: https://your-system.example.com/potato-events
    secret: your-signing-secret
    events: [annotation.created, item.fully_annotated]

Fortgeschrittenes Active Learning: 5 Strategien + LLM-Kaltstart

Das Active-Learning-System bringt jetzt fünf Abfragestrategien mit:

  1. Uncertainty Sampling: wählt die Elemente aus, bei denen das Modell am unsichersten ist
  2. Diversitätsbasierte Auswahl: maximiert die Abdeckung des Eingaberaums
  3. BADGE: Batch Active Learning by Diverse Gradient Embeddings
  4. BALD: Bayesian Active Learning by Disagreement
  5. Hybrides Ensemble: kombiniert Strategien für eine robuste Auswahl

Dazu kommt der LLM-Kaltstart, der Elemente auswählt, bevor überhaupt Labels vorliegen. Sie richten ein Sprachmodell auf Ihren Pool und lassen es die schwierigen oder repräsentativen Elemente herausheben, um die Annotation anzustoßen. Neu ist außerdem CoverICL für die Auswahl vielfältiger In-Context-Learning-Beispiele.

Passwortverwaltung und SSO/OAuth

Zwei Authentifizierungsfunktionen, nach denen immer wieder gefragt wurde:

Die Passwortverwaltung nutzt PBKDF2-SHA256-Hashing mit Salts je Nutzer, unterstützt das Zurücksetzen von Passwörtern über Admin-CLI und API und enthält einen Self-Service-Ablauf per Token, gestützt auf SQLite oder PostgreSQL.

SSO/OAuth übernimmt Single Sign-on über Google, GitHub oder einen beliebigen OIDC-Provider via Authlib.

bash
pip install potato-annotation[auth]

Aktualisierte Zahlen

Fähigkeit2.32.4
Annotationstypen2021
Anzeigetypen1517+
KI-Endpunkte711
Beispielprojekte1540+
Active-Learning-Strategien15
Webhook-Ereignistypen05
Agenten-Beispielprojekte014

Installation

bash
pip install potato-annotation           # core
pip install potato-annotation[ai]       # OpenAI, Ollama
pip install potato-annotation[huggingface]  # HF Hub + Spaces
pip install potato-annotation[langchain]    # LangChain callback
pip install potato-annotation[auth]         # SSO/OAuth
pip install potato-annotation[all]          # everything

Ausprobieren

Am schnellsten sieht man 2.4 in der Live-Demo auf HuggingFace Spaces in Aktion, ganz ohne Installation. Dort läuft eine Aufgabe zur Evaluierung von Agenten-Traces mit Radio-Buttons, Likert-Skalen, Span-Annotation und Freitextnotizen:

Live-Demo ausprobieren →

Oder lokal ein Beispiel starten:

bash
git clone https://github.com/davidjurgens/potato.git
cd potato
pip install -e .
python potato/flask_server.py start examples/agent-traces/complex-annotation/config.yaml -p 8000

Das vollständige Changelog steht in den Release Notes zu v2.4.0, die übrige Dokumentation im GitHub-Repository.