Skip to main content
Zum Hauptinhalt springen
SeaOtter
EinreichenSchnellstartPreiseDokumentationLive-DemoRubriken
Zugang anfordern

DIE AKZEPTANZSCHICHT FÜR AGENTENARBEIT IM GROSSEN MASSSTAB

Agenten erstellen Arbeit
schneller als irgendjemand
sie prüfen kann.

Agenten liefern Arbeit schneller aus, als jedes Team sie prüfen kann. Der Kritiker von SeaOtter bewertet jedes Artefakt und stößt Korrekturen an, bis es Ihre Policy passiert — Agent↔Kritiker, mit Maschinengeschwindigkeit.

Live-Demo ausprobierenSo funktioniert es ↓
FÜR AGENTENAPI-Schlüssel + MCP erhaltenRegistrieren, über MCP oder HTTP verbinden, Arbeit programmatisch bewerten und iterieren.→FÜR PERSONENArbeit zur Prüfung einreichenLaden Sie die Arbeit Ihres Agenten hoch und erhalten Sie einen OtterScore plus die zu behebenden Mängel.→
Dokumentation lesen →
  • BESTANDEN
  • NACHARBEIT
  • DURCHGEFALLEN

Menschliche Prüfung war die Schleife. Im Agentenmaßstab ist sie der Engpass.

IM AGENTENMAßSTAB

Ein adversariales Kritikmodell liest die Arbeit — und entscheidet.

Ein Agent reicht Arbeit zur Bewertung ein. Es wird zu einem schnellen One‑Shot‑Durchgang geroutet — oder zu einem tiefen agentic Check, der die Arbeit in einer Sandbox ausführt und prüft. Ein adversariales Kritikmodell entscheidet, und Sie zahlen für den erforderlichen Compute. Dann herauszoomen: Tausende Agenten, parallel bewertet, synchron oder asynchron.

12,480Agentenartefakteparallel geprüft von OtterScore — einem adversariellen Kritiker-Agenten
9,734ship1,997route to fix749block
…und Tausende weitere, live gescreent
SHIPROUTE TO FIXBLOCK

OtterScore · adversarieller Kritiker-Agentprüft

Feature PR → tests → migration

Workflow‑Kette

  1. Spec the change0.84
  2. Implement query0.12
  3. Write tests0.79
  4. Add migration0.81

erkannter Mangel`f"SELECT * FROM users WHERE id = {uid}"` — unparameterised SQL. SQL-injection sink. Blocked under security policy.

UrteilBLOCK0.16

Klicken Sie auf ein Artefakt zur Inspektion — oder nutzen Sie ← → zum Durchschalten, Esc zum Schließen

LOKALISIERTES FEEDBACK

Ein Mangel, den Sie nicht lokalisieren können, ist ein Mangel, den Sie nicht beheben können.
SeaOtter pinnt die exakte Spanne und nennt die Datei.

Der Kritiker sagt nicht nur, dass etwas falsch ist. Er lokalisiert das Problem, sodass der Agent genau die Zeile, Seite, Folie, Zelle, Frame oder den Zeitstempel überarbeiten kann, der/die/das scheitert.

background.py · Python
28def add_task(self, func, *args, **kwargs):29 task = BackgroundTask(func, *args, **kwargs)30 self.tasks.add_item(task)
Zeile 30
encode/starlette · BSD-3-Clause · öffentliches OSS-Scrape
Ein Hinweis ohne Ortnicht lokalisiert

"Es könnte irgendwo in diesem Artefakt ein Problem geben."

Kein Span. Keine Datei. Nichts zum Routen.

SeaOtter-KritikerZeile 30

hallucinated_api · hoch

self.tasks.add_item(task)

add_item ist keine gültige Methode auf list; das führt zur Laufzeit zu einem Fehler. Erwartet: self.tasks.append(task).

Lokalisierungs-F1 — wird der Mangel verortet?

frühe Evaluierung · n=256 · Holdout-verifiziert
SeaOtter-Kritiker
0.218

Eine frühe, Holdout-verifizierte Messung der Fähigkeit unseres Kritikers, die exakte Spanne zu pinnen und die Datei zu benennen. Die Detektion befindet sich noch im aktiven Training; die Aussage bezieht sich auf die Lokalisierungsqualität, nicht auf generische Kritik.

EINREICHEN → BEWERTEN

Arbeit einreichen, Bewertung erhalten — synchron oder asynchron.

Ein Agent sendet per POST die gerade erzeugte Arbeit, und SeaOtter bewertet sie gegen Ihre Acceptance-Policy. Kleine, schnelle Checks liefern das Urteil inline zurück. Schwerere Checks liefern eine Job‑ID, die der Agent abfragt, streamt oder per Webhook erhält — damit blockiert eine lange Prüfung nie den anfragenden Agenten.

FÜR PERSONEN

Menschen — weiterleiten oder einfügen

Senden Sie Arbeit an das SeaOtter-Postfach und erhalten Sie eine bewertete OtterScore-Antwort, oder fügen Sie sie im Web ein und bewerten Sie im Browser. Kein Agent erforderlich.

Im Web einreichenAn das SeaOtter-Postfach mailen

FÜR AGENTEN

Agenten — API & MCP

Verdrahten Sie jeden Agenten über HTTP oder MCP, damit er seine eigene Ausgabe in der Schleife bewertet — gleiche Policy, gleicher OtterScore, mit Maschinengeschwindigkeit. Der 60‑Sekunden‑Schnellstart steht direkt unten.

Entwicklerkonsole öffnen

SYNCHRON

Einreichen und auf das Urteil warten

POST der Arbeit, Verbindung halten, das OtterScore-Urteil — Band, Mängel, Anker, Upgrades — in derselben Antwort erhalten. Am besten für einen One‑Shot‑Check in der inneren Schleife eines Agenten, der die Antwort vor dem nächsten Schritt braucht.

POST /api/v1/eval/score → 200 { band, flaws[], upgrades[] }

ASYNCHRON

Einreichen, Job‑ID erhalten, später abholen

POST der Arbeit, sofort eine Job‑ID erhalten, dann den Job pollen, den Ergebnisstream abonnieren oder einen Webhook registrieren. Am besten für einen agentic Check, der die Arbeit in einer Sandbox über mehrere Durchgänge ausführt — der erzeugende Agent macht weiter und wird zurückgerufen, wenn das Urteil eintrifft.

POST /api/v1/eval/jobs → 202 { job_id } · poll · stream (SSE) · webhook

Sync · One‑Shot

Ein adversarieller Durchgang, inline zurückgegeben. Günstig und pauschal bepreist.

curl -s https://dev-api.seaotter.ai/api/v1/eval/score \
  -H "Authorization: Bearer $OTTER_KEY" -H 'Content-Type: application/json' \
  -d '{ "mode":"one_shot", "modality":"text",
        "policy_id":"acme-prod-acceptance",
        "artifact_parts":[{"mime_type":"text/plain","text":"..."}] }'
# 200 { "band":"route_to_fix", "flaws":[...], "upgrades":[...] }

Async · agentic

Der Kritiker führt die Arbeit in einer Sandbox aus und prüft sie über mehrere Durchgänge.

POST /api/v1/eval/jobs
  { "mode":"agentic", "modality":"code",
    "policy_id":"acme-prod-acceptance",
    "artifact_ref":"gs://...", "max_passes":6,
    "webhook":"https://acme.internal/otter-callback" }
# 202 { "job_id":"job_8f21", "status":"running" }
GET /api/v1/eval/jobs/job_8f21   # poll, or stream, or await the webhook

Gleiche Policy, gleicher OtterScore, gleicher signierter Audit-Datensatz — unabhängig vom Transport, den der Agent wählt.

FÜR AGENTEN · MCP SCHNELLSTART

Verdrahten Sie Ihren Agenten in 60 Sekunden mit dem adversariellen Kritiker.

Drei Schritte: Schlüssel erzeugen, einen MCP-Server hinzufügen, dann ruft Ihr Agent otter_score / otter_iterate in seiner eigenen Schleife auf — gleicher OtterScore, gleiche Acceptance-Policy, mit Maschinengeschwindigkeit. Der Kritiker bewertet; Ihr Agent überarbeitet gegen die Mängel, bis das Band passiert. Das ist die Schleife, die Sie oben in der Flotte gesehen haben: Jedes markierte Artefakt (route_to_fix, der gelbe Bogen) tritt über otter_iterate erneut ins Gate ein und wird erst ausgeliefert, wenn ready_to_ship true ist. Kein Mensch in der inneren Schleife — die benannte Freigabe ist das letzte Gate, nicht das einzige.

01

Registrieren

Ein angemeldeter Organisationsnutzer erzeugt einmal den Eval-Schlüssel des Agenten. Das Geheimnis sk-otter-… wird genau einmal angezeigt; übergeben Sie es dem Agenten.

02

MCP-Server hinzufügen

Fügen Sie einen otterloop-Server in .mcp.json (Claude / Cursor) oder config.toml (Codex) ein. Der Agent erhält schreibgeschützte Kritiker-Tools, die er auto-approven kann.

03

Bewerten & iterieren

Der Agent reicht Arbeit ein, liest verankerte Mängel, überarbeitet und reicht erneut ein — Schleife, solange ready_to_ship false ist. Den Kritiker zu überstehen IST das Produkt.

1 — Registrieren

POST /api/v1/agent-keys mit einem angemeldeten User-JWT. Das Geheimnis wird einmal zurückgegeben — oder klicken Sie „Eval-API-Schlüssel erzeugen“ in der Entwicklerkonsole.

curl -s -X POST https://dev-api.seaotter.ai/api/v1/agent-keys \
  -H "Authorization: Bearer $SEAOTTER_USER_JWT" \
  -H 'Content-Type: application/json' \
  -d '{"name":"my-agent"}'
# -> { "id":"...", "key":"sk-otter-...",
#      "key_prefix":"sk-otter-abcde", "created_at":"..." }
# Hand `key` to the agent as OTTERLOOP_API_KEY.

2 — MCP-Server hinzufügen

.mcp.json (Claude / Cursor) — Codex nutzt [mcp_servers.otterloop] in config.toml. Einmal installieren: pip install "otterloop[mcp]". Prod-Basis: https://api.seaotter.ai.

{
  "mcpServers": {
    "otterloop": {
      "command": "python",
      "args": ["-m", "otterloop.mcp_server"],
      "env": {
        "OTTERLOOP_API_URL": "https://dev-api.seaotter.ai",
        "OTTERLOOP_API_KEY": "sk-otter-...",
        "OTTERLOOP_POLICY_ID": "enterprise-default"
      }
    }
  }
}
# tools: otter_list_policies · otter_score · otter_iterate
#        otter_score_workflow · otter_get_feedback_artifact

3 — Bewerten & iterieren

Der Agent führt submit → flaws → revise → resubmit vollständig über MCP aus. Behandeln Sie das Urteil als maßgeblich — NICHT selbst bewerten.

# submit your work -> authoritative verdict
v = otter_score(
      work="...the artifact your agent produced...",
      modality="text",
      prompt="Draft the Q3 incident postmortem",
      policy_id="enterprise-default")
# -> { run_id, score, band:"route_to_fix",
#      flaws:[{criterion,severity,detail,anchor}],
#      upgrades:[...], ready_to_ship:false }

# revise against flaws[]/upgrades[], then re-submit the SAME run
d = otter_iterate(
      run_id=v["run_id"],
      work="...revised draft addressing the flaws...",
      prompt="addressed sourcing + tone")
# -> { run_id, verdict:{band:"ship",...},
#      delta:{resolved_flaws,new_flaws,persisted_flaws,
#             score_change:+18.0}, ready_to_ship:true }

# keep iterating while ready_to_ship is false.

ITERIEREN → KONVERGIEREN

Was otter_iterate zurückgibt — dieselbe route_to_fix → ship‑Konvergenz, die die Flotte oben animiert, eingefroren als lesbare Delta-Ansicht.

route_to_fix→ship

resolved_flaws ↓ 2 · score_change ↑ +18.0 · ready_to_ship → true

Reines-HTTP-Äquivalent (kein MCP): POST /api/v1/eval/runs → { run_id, first_iteration.critic_verdict }, dann POST /api/v1/eval/runs/{run_id}/iterate { "decision":"re_prompt", "new_artifact_parts":[…] } → { verdict, delta }. Ein Kritiker-Ausfall schlägt GESCHLOSSEN fehl (band:quarantine) — niemals ein stilles Bestehen.

Eval-Schlüssel erstellenLive-Demo ausprobieren

ZWEI PRÜFMODI

One‑Shot oder agentic. Sie bestimmen die Tiefe.

Nicht jede Ausgabe braucht die gleiche Prüfungstiefe. Ein One‑Shot‑Check ist ein einzelner adversarieller Durchgang — schnell, wenig Compute, inline zurückgegeben. Ein agentic Check führt die Arbeit in einer entsorgbaren, internetfähigen Sandbox aus und prüft sie über mehrere Durchgänge — langsamer, mehr Compute, asynchron zurückgegeben. Routen Sie günstige Arbeit zu One‑Shot und hochkritische Arbeit zu agentic — unter derselben Policy.

One‑Shotein adversarieller DurchgangAgenticSandbox, mehrfach
Was der Kritiker tutLiest Artefakt, Policy, Prompt und Referenzen in einem Durchgang.Führt die Arbeit in einer entsorgbaren Sandbox aus und prüft sie über mehrere Durchgänge.
LatenzInline — Urteil in der Antwort.Asynchron — Job‑ID, dann pollen, streamen oder Webhook.
ComputeNiedrig und vorhersagbar.Höher — skaliert mit Durchgängen und Sandbox‑Zeit.
Am besten fürChecks in der inneren Schleife, hochvolumige Entwürfe, schnelle Gates.Code, der laufen muss; Behauptungen, die reproduziert werden müssen; Arbeit mit hohem Auswirkungsradius.
AbrechnungGünstig, pauschal pro Check.Nach Compute und Sandbox‑Zeit abgerechnet.

Beide Modi liefern dieselbe OtterScore-Urteilsform und schreiben denselben signierten Audit-Datensatz.

NUTZUNGSBASIERTE PREISE

Bezahlen Sie für die geleistete Arbeit.

Abgerechnet wird die Bewertung, die Sie tatsächlich ausführen, nicht eine Sitzanzahl. Ein One‑Shot‑Check ist günstig und pauschal; ein agentic Check wird nach dem benötigten Compute und der Sandbox‑Zeit abgerechnet. So wird die Bewertung jeder Ausgabe — und der gesamten Flotte — wirtschaftlich, statt die Prüfung auf eine Stichprobe zu rationieren.

ONE‑SHOT‑CHECK

Günstig, pauschal

pro Check, pauschal

Ein einzelner adversarieller Durchgang, inline zurückgegeben. So günstig bepreist, dass er in jeder inneren Agentenschleife hochvolumige Entwürfe bewerten kann.

AGENTIC CHECK

Nach Compute abgerechnet

nach Compute + Sandbox-Zeit

Ein sandboxed, mehrstufiges Review. Sie zahlen für die Durchgänge und Sandbox‑Zeit, die die Arbeit tatsächlich benötigt — reservieren Sie es für die hochkritische Ausgabe, bei der es seinen Preis verdient.

Live-Demo ausprobierenAPI-Dokumentation lesen

Enterprise-Deployment bleibt shadow → enforce → managed; nutzungsbasierte Bewertung misst die darunterliegende Arbeit. Konkrete £‑Kalkulation auf Anfrage.

OTTERLOOP-INFRA

Setzen Sie den Kritiker in jede Agentenschleife.

MCP + HTTP + Python SDKKein Mensch in der inneren SchleifeMultimodal rein, multimodal rausKonditioniert auf Ihre Policy
01

Erzeugen

Ein beliebiger Agent emittiert Arbeit: Code, Text, Bild, Deck, Sheet, Video oder eine vollständige Trajektorie.

02

Bewerten

SeaOtter bewertet sie gegen die passende Rubrik und die organisationsspezifische Schwelle.

03

Feedback lesen

Das Urteil liefert Mängel, Upgrades und Anker, die der Agent direkt adressieren kann.

04

Überarbeiten

Der Agent überarbeitet das Artefakt oder den nächsten Schritt anhand des Gegenwinds des Kritikers.

05

Ausliefern

Die Schleife stoppt erst, wenn das Band das Gate passiert und die Auditnachweise geschrieben sind.

Live-Demo ausprobierenBuild-Seite öffnen

MCP

In `.mcp.json` oder `config.toml` für Claude, Codex, Cursor oder eine benutzerdefinierte Runtime eintragen.

{ "mcpServers": { "otterloop": {
    "command": "python", "args": ["-m", "otterloop.mcp_server"],
    "env": { "OTTERLOOP_API_URL": "https://dev-api.seaotter.ai",
             "OTTERLOOP_API_KEY": "sk-otter-...",
             "OTTERLOOP_POLICY_ID": "acme-prod-acceptance" } } } }

curl

Jede Runtime, die HTTP spricht, kann einmal bewerten oder in der Schleife bleiben.

curl -s https://dev-api.seaotter.ai/api/v1/eval/feedback \
  -H "Authorization: Bearer $OTTER_KEY" -H 'Content-Type: application/json' \
  -d '{ "modality":"text", "policy_id":"acme-prod-acceptance", "locale":"ja",
        "prompt":"Draft the Q3 incident postmortem",
        "artifact_parts":[{"mime_type":"text/plain","text":"..."}],
        "return_feedback_artifacts": true }'

Python SDK

Ein Loop-Aufruf treibt produce → grade → revise, bis der Kritiker „ship“ sagt.

from otterloop import OtterLoopClient
otter = OtterLoopClient(policy_id="acme-prod-acceptance", locale="ja")
final = otter.loop(produce=lambda feedback: my_agent.revise(feedback), work=my_agent.first_draft(), modality="document", references=["file://brand-guide.pdf", "file://gold-postmortem.md"], max_rounds=5, target_band="ship")
SeaOtterDie adversariale Akzeptanzschleife für Enterprise-Agentenarbeit.
DokumentationLive-DemoKritikerRubrikenInvestoren (NDA)

© 2026 SeaOtter. Entwickelt, um schlechte Agentenarbeit zu blockieren.