Skip to main content
Saltar al contenido principal
SeaOtter
EnviarInicio rápidoPreciosDocumentaciónDemostración en vivoRúbricas
Solicitar acceso

LA CAPA DE ACEPTACIÓN PARA EL TRABAJO DE AGENTES A ESCALA

Los agentes producen trabajo
más rápido que nadie
puede revisarlo.

Los agentes envían trabajo más rápido de lo que cualquier equipo puede revisar. El crítico de SeaOtter puntúa cada artefacto y envía correcciones hasta que pase su política — agente↔crítico, a velocidad de máquina.

Probar la demo en vivoVea cómo funciona ↓
PARA AGENTESObtenga una clave de API + MCPRegístrese, conéctese por MCP o HTTP, puntúe e itere el trabajo de forma programática.→PARA PERSONASEnvíe trabajo para revisiónCargue el trabajo de su agente, obtenga un OtterScore y los fallos que corregir.→
Leer la documentación →
  • APROBAR
  • RETRABAJO
  • FALLO

La revisión humana era el ciclo. A escala de agentes, es el cuello de botella.

A ESCALA DE AGENTES

Un modelo crítico hostil lee el trabajo — y decide.

Un agente envía trabajo para calificar. Se enruta a un pase rápido one-shot — o a una comprobación agéntica profunda que ejecuta el trabajo en un sandbox y lo sonda. Un modelo crítico hostil decide, y usted paga por el cómputo que consumió. Luego aleje la vista: miles de agentes, calificados en paralelo, síncrono o asíncrono.

12,480piezas de trabajo de agentesrevisadas en paralelo por OtterScore — un agente crítico hostil
9,734aprobar1,997enviar a corregir749bloquear
…y miles más, cribadas en vivo
APROBARENVIAR A CORREGIRBLOQUEAR

OtterScore · agente crítico hostilrevisando

Feature PR → tests → migration

cadena de flujo de trabajo

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

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

veredictoBLOQUEAR0.16

Haga clic en cualquier pieza de trabajo para inspeccionar — o use ← → para avanzar, Esc para cerrar

RETROALIMENTACIÓN LOCALIZADA

Un fallo que no puede ubicar es un fallo que no puede corregir.
SeaOtter fija el tramo exacto y nombra el archivo.

El crítico no solo dice que algo está mal. Localiza el problema para que el agente pueda revisar la línea, página, diapositiva, celda, fotograma o marca de tiempo exacta que falló.

background.py · Python
28def add_task(self, func, *args, **kwargs):29 task = BackgroundTask(func, *args, **kwargs)30 self.tasks.add_item(task)
línea 30
encode/starlette · BSD-3-Clause · rastreo público de OSS
Un aviso sin ubicaciónsin localizar

"Puede haber un problema en algún lugar de este artefacto."

Sin tramo. Sin archivo. Nada que enrutar.

Crítico de SeaOtterlínea 30

hallucinated_api · alto

self.tasks.add_item(task)

add_item no es un método válido en list, por lo que esto falla en tiempo de ejecución. Se espera self.tasks.append(task).

F1 de localización — ¿fija el fallo?

evaluación temprana · n=256 · verificado por holdout
Crítico de SeaOtter
0.218

Una lectura temprana, verificada por holdout, de la capacidad de nuestro crítico para fijar el tramo exacto y nombrar el archivo. La detección sigue en entrenamiento activo; la afirmación aquí es sobre la calidad de la localización, no sobre la crítica genérica.

ENVIAR → CALIFICAR

Envíe trabajo, reciba la calificación — síncrono o asíncrono.

Un agente hace POST del trabajo que acaba de producir y SeaOtter lo califica contra su política de aceptación. Las comprobaciones pequeñas y rápidas devuelven el veredicto inline. Las más pesadas devuelven un id de job que el agente sondea, transmite o recibe por webhook — así una revisión larga nunca bloquea al agente que la solicitó.

PARA PERSONAS

Personas — reenvíelo o pégrelo

Envíe trabajo al buzón de SeaOtter y reciba una respuesta con OtterScore calificado, o pégrelo en la web y califíquelo en su navegador. No se requiere agente.

Enviar en la webEnviar email al buzón de SeaOtter

PARA AGENTES

Agentes — API y MCP

Cablee cualquier agente por HTTP o MCP para que califique su propia salida en el ciclo — misma política, mismo OtterScore, a velocidad de máquina. El inicio rápido de 60 segundos está justo abajo.

Abrir la consola de desarrollador

SÍNCRONO

Enviar y esperar el veredicto

Haga POST del trabajo, mantenga la conexión y reciba el veredicto de OtterScore — banda, fallos, anclas, mejoras — en la misma respuesta. Ideal para una comprobación de una sola pasada dentro del ciclo interno de un agente, donde el agente necesita la respuesta antes de su siguiente paso.

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

ASÍNCRONO

Enviar, obtener id de job y recoger después

Haga POST del trabajo, obtenga un id de job de inmediato y luego sondee el job, suscríbase al stream del resultado o registre un webhook. Ideal para una comprobación agéntica que ejecuta el trabajo en un sandbox en varias pasadas — el agente productor sigue y se le llama cuando llega el veredicto.

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

Sync · una pasada

Una lectura hostil, devuelta inline. Barata y con tarifa plana.

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 · agéntico

El crítico ejecuta el trabajo en un sandbox y lo sonda en varias pasadas.

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   # sondear, o transmitir, o esperar el webhook

Misma política, mismo OtterScore, mismo registro de auditoría firmado — cualquiera que sea el transporte que elija el agente.

PARA AGENTES · INICIO RÁPIDO MCP

Conecte su agente al crítico hostil en 60 segundos.

Tres pasos: emita una clave, añada un servidor MCP y su agente llamará a otter_score / otter_iterate en su propio ciclo — mismo OtterScore, misma política de aceptación, a velocidad de máquina. El crítico califica; su agente revisa contra los fallos hasta que la banda despeje. Este es el ciclo que acaba de ver en la flota arriba: cada artefacto marcado (route_to_fix, el arco ámbar) reingresa en la puerta vía otter_iterate y solo se envía cuando ready_to_ship es true. Sin humanos en el ciclo interno — la firma nominal es la última puerta, no la única.

01

Registrar

Un usuario de la organización con sesión iniciada emite la clave de evaluación del agente una vez. El secreto sk-otter-… se muestra exactamente una vez; entréguelo al agente.

02

Añadir el servidor MCP

Agregue un servidor otterloop en .mcp.json (Claude / Cursor) o config.toml (Codex). El agente obtiene herramientas de crítico de solo lectura que puede aprobar automáticamente.

03

Puntuar e iterar

El agente envía trabajo, lee fallos anclados, revisa y vuelve a enviar — iterando mientras ready_to_ship sea false. Sobrevivir al crítico ES el producto.

1 — Registrar

POST /api/v1/agent-keys con un JWT de usuario con sesión iniciada. El secreto se devuelve una vez — o haga clic en "Generate eval API key" en la consola de desarrollador.

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":"..." }
# Entregue `key` al agente como OTTERLOOP_API_KEY.

2 — Añadir el servidor MCP

.mcp.json (Claude / Cursor) — Codex usa [mcp_servers.otterloop] en config.toml. Instale una vez: pip install "otterloop[mcp]". Base de prod: 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 — Puntuar e iterar

El agente ejecuta enviar → fallos → revisar → reenviar íntegramente por MCP. Trate el veredicto como autoritativo — NO se califique a sí mismo.

# envíe su trabajo -> veredicto autoritativo
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 frente a flaws[]/upgrades[], luego reenvíe la MISMA ejecución
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 }

# siga iterando mientras ready_to_ship sea false.

ITERAR → CONVERGER

Lo que devuelve otter_iterate — la misma convergencia route_to_fix → ship que la flota anima arriba, congelada como una delta legible.

route_to_fix→ship

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

Equivalente puramente HTTP (sin MCP): POST /api/v1/eval/runs → { run_id, first_iteration.critic_verdict }, luego POST /api/v1/eval/runs/{run_id}/iterate { "decision":"re_prompt", "new_artifact_parts":[…] } → { verdict, delta }. Una caída del crítico falla en CERRADO (band:quarantine) — nunca un aprobado silencioso.

Emitir su clave de evaluaciónProbar la demo en vivo

DOS MODOS DE VERIFICACIÓN

Una sola pasada o agéntico. Usted elige la profundidad.

No toda salida necesita el mismo escrutinio. Una comprobación de una sola pasada es un único pase de crítico hostil — rápida, de bajo cómputo, devuelta inline. Una comprobación agéntica ejecuta el trabajo en un sandbox desechable con acceso a internet y lo sonda en múltiples pasadas — más lenta, más cómputo, devuelta asíncrona. Enrute el trabajo barato a una sola pasada y el de alto riesgo a agéntico, bajo la misma política.

One-shotun único pase hostilAgenticsandbox, multipase
Qué hace el críticoLee el artefacto, la política, el prompt y las referencias en una pasada.Ejecuta el trabajo en un sandbox desechable y lo sonda en múltiples pasadas.
LatenciaInline — veredicto en la respuesta.Asíncrono — id de job, luego sondeo, stream o webhook.
CómputoBajo y predecible.Más alto — escala con las pasadas y el tiempo de sandbox.
Mejor paraComprobaciones internas de ciclo, borradores de alto volumen, puertas rápidas.Código que debe ejecutarse, afirmaciones que deben reproducirse, trabajo de alto impacto.
FacturaciónBarata, tarifa plana por comprobación.Medida por cómputo y tiempo de sandbox.

Ambos modos devuelven el mismo formato de veredicto de OtterScore y escriben el mismo registro de auditoría firmado.

PRECIOS BASADOS EN USO

Pague por el trabajo realizado.

Se le cobra por la calificación que realmente ejecuta, no por asientos. Una comprobación de una sola pasada es barata y plana; una comprobación agéntica se mide por el cómputo y el tiempo de sandbox que requiere. Eso hace económico calificar cada salida — y toda la flota — en lugar de racionar la revisión a una muestra.

COMPROBACIÓN ONE-SHOT

Barata, tarifa plana

por comprobación, plana

Un único pase de crítico hostil, devuelto inline. Precio lo bastante bajo como para estar en el ciclo interno de cada agente y calificar borradores de alto volumen.

COMPROBACIÓN AGENTIC

Medida por cómputo

medida por cómputo + tiempo de sandbox

Una revisión en sandbox y multipase. Usted paga por las pasadas y el tiempo de sandbox que el trabajo realmente necesita — resérvela para la salida de alto riesgo donde compensa su coste.

Probar la demo en vivoLeer la documentación de la API

El despliegue Enterprise permanece sombra → forzar → gestionado; la calificación basada en uso mide el trabajo subyacente. Construcción £-concreta disponible bajo solicitud.

INFRA DE OTTERLOOP

Ponga al crítico en el ciclo de cada agente.

MCP + HTTP + Python SDKSin humanos en el ciclo internoMultimodal de entrada y salidaCondicionado por su política
01

Producir

Cualquier agente emite trabajo: código, texto, imagen, deck, hoja, video o una trayectoria completa.

02

Puntuar

SeaOtter lo califica contra la rúbrica correcta y el listón condicionado por la organización.

03

Leer retroalimentación

El veredicto devuelve fallos, mejoras y anclas a las que el agente puede apuntar directamente.

04

Revisar

El agente reescribe el artefacto o el siguiente paso usando el rechazo del crítico.

05

Enviar

El ciclo se detiene solo cuando la banda supera la puerta y se escribe la evidencia de auditoría.

Probar la demo en vivoAbrir la página de creación

MCP

Incluya en `.mcp.json` o `config.toml` para Claude, Codex, Cursor o un runtime personalizado.

{ "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

Cualquier runtime que hable HTTP puede calificar una vez o permanecer en el ciclo.

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

Una llamada de ciclo impulsa producir → calificar → revisar hasta que el crítico diga enviar.

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")
SeaOtterEl ciclo de aceptación adversarial para el trabajo de agentes empresariales.
DocumentaciónDemostración en vivoCríticosRúbricasInversores (NDA)

© 2026 SeaOtter. Diseñado para bloquear mal trabajo de agentes.