Skip to main content
All posts
Agentes IA

Por qué incluso Grok Bot se detiene a mitad de flujo — Empleados IA 24/7 con MausBot + bf16.ai

Un 3% de falsos positivos por paso reduce un flujo autónomo de 30 etapas a un 40% de éxito. Te mostramos cómo conectar MausBot en local con los modelos abliterated de bf16.ai y cuánto cuesta una ejecución de 30 pasos a precios de lista.

TL;DR · Conclusiones de Ingeniería

  • Matemática del fallo compuesto: Con solo un 3% de rechazo por turno, una cadena de 30 pasos sobrevive apenas un (0.97)^30 = 40.1%. Por eso Grok Bot funciona bien en chat pero aborta tareas nocturnas.
  • Orquestación local + inferencia abliterated: Ejecuta MausBot (OpenMausBot, Apache-2.0) en tu propia máquina y apunta base_url a https://api.bf16.ai/v1 (deepseek/deepseek-v4.1-flash-abliterated).
  • Paridad con precios oficiales + caché de 1M: A $0.30 / 1M entrada, $0.05 / 1M en caché y $1.20 / 1M salida, un flujo de 30 pasos como el que se desglosa más abajo cuesta $0.0094.

1. Anatomía de un fallo a las 03:14 AM: por qué los chatbots siguen rompiendo bucles autónomos

Muchos equipos ágiles intentan usar asistentes como Grok Bot como empleados digitales. Aunque sermonea menos que Claude o GPT en conversaciones cortas, los flujos reales de 30 pasos —acceso a portales staging, envío de NIF de prueba, casillas de aceptación de términos (ToS) o conciliación de tablas scrapeadas— disparan clasificadores de seguridad por falso positivo.

Con una tasa de bloqueo del 3% por paso, la probabilidad de completar 30 pasos cae a (1 - 0.03)^30 = 40.1%. Al fallar en el paso 14, el modelo devuelve un sermón de texto en lugar de un JSON tool_calls, rompiendo toda la ejecución:

[03:14:08] [mausbot:ops-worker] Step 13/30 OK -> Navigated to https://staging-partner.internal/onboarding/step-4
[03:14:09] [mausbot:ops-worker] Step 14/30 -> Action: check("#accept-msa-checkbox") + fill("#tax-id", env.STAGING_EIN)
[03:14:11] [upstream:cloud-wrapper] STOP_REASON=refusal
  "I cannot click legal binding agreements, submit tax identification numbers, or complete automated account verification steps on your behalf. Please review and submit the form manually."
[03:14:11] [mausbot:supervisor] ERROR: ToolCallExpectedError (received text lecture instead of JSON tool_calls)
[03:14:11] [mausbot:supervisor] Workflow aborted at step 14/30. Downstream Slack report & CSV reconciliation skipped.

2. Arquitectura: MausBot local + inferencia de bajo rechazo en bf16.ai

La arquitectura correcta separa los permisos deterministas en código del motor de razonamiento:

  1. Plano de control local en MausBot: Mantiene memoria persistente, sesiones de navegador y credenciales dentro de tu infraestructura.
  2. Endpoints abliterated en bf16.ai: Modelos como deepseek/deepseek-v4.1-flash-abliterated y el multimodal zai-org/glm-5.3-flash-abliterated (Visión + Texto) eliminan ortogonalmente el vector de rechazo en los pesos, y cada endpoint debe superar una puerta de verificación conductual de 6 vectores que comprueba los esquemas JSON de las llamadas a herramientas, la lógica matemática y la recuperación de contexto a 1,048,576 tokens.

3. Configuración de producción y ejecución determinista de herramientas

api.bf16.ai/v1 es compatible bit a bit con OpenAI y Anthropic. Define las restricciones de disco y dominios directamente en [sandbox]:

# ~/.mausbot/agents/ops-worker.toml
[agent]
name = "ops-worker"
role = "Autonomous Operations, Staging QA & Vendor Onboarding Worker"
max_steps = 45
step_timeout_ms = 45000
require_json_tool_calls = true

[provider]
type = "openai-compatible"
base_url = "https://api.bf16.ai/v1"
api_key_env = "BF16_OPS_WORKER_KEY" # Dedicated per-bot sk-bf16-v1-* key
model = "deepseek/deepseek-v4.1-flash-abliterated"
vision_fallback_model = "zai-org/glm-5.3-flash-abliterated"
temperature = 0.15
max_tokens = 8192

[sandbox]
allowed_fs_roots = ["~/mausbot-workspaces/ops-worker"]
allowed_browser_domains = ["*.internal", "*.staging.example.com", "dashboard.stripe.com"]
require_human_approval_tools = ["wire_transfer", "production_db_drop", "delete_account"]

En supervisores TypeScript, combina tool_choice: "required" con la cabecera X-BF16-Max-Price-Per-M-Output y claves sk-bf16-v1- acotadas por agente:

import OpenAI from 'openai';

const bf16 = new OpenAI({
  baseURL: 'https://api.bf16.ai/v1',
  apiKey: process.env.BF16_OPS_WORKER_KEY, // Scoped to $5.00/day in bf16.ai/dashboard/keys
  defaultHeaders: {
    // Hard unit-price ceiling: never route to an endpoint above $1.50 / 1M output tokens
    'X-BF16-Max-Price-Per-M-Output': '1.50',
  },
});

export async function dispatchMausBotStep(messages: OpenAI.ChatCompletionMessageParam[], tools: OpenAI.ChatCompletionTool[]) {
  const res = await bf16.chat.completions.create({
    model: 'deepseek/deepseek-v4.1-flash-abliterated',
    messages,
    tools,
    tool_choice: 'required', // Guarantees structured tool execution without prose filler
    temperature: 0.1,
  });

  const call = res.choices[0]?.message?.tool_calls?.[0];
  if (!call) {
    throw new Error(`Unexpected empty tool_call on request ${res.id}`);
  }
  return { call, usage: res.usage };
}

Consola real de bf16.ai (/dashboard/keys): Creación de clave dedicada con tope diario de $5.00 USD, límite de 60 RPM y lista blanca CIDR.

▲ Consola real de bf16.ai (/dashboard/keys): Creación de clave dedicada con tope diario de $5.00 USD, límite de 60 RPM y lista blanca CIDR.

4. Economía de una ejecución de 30 pasos a precios oficiales

bf16.ai iguala las tarifas estándar oficiales e incluye descuento automático por caché de prefijo ($0.05–$0.06 / 1M): una ejecución de MausBot de 30 pasos que consume 100,000 tokens de entrada acumulados (88% de prefijo en caché) y 1,200 tokens de salida en llamadas a herramientas cuesta menos de un centavo ($0.0094):

Modelo en bf16.aiModalidadContextoEntrada / Caché / Salida (1M)Rol ideal en MausBot
deepseek/deepseek-v4.1-flash-abliteratedTexto + Tools1M$0.30 / $0.05 / $1.20Bucles rápidos CLI, formularios y ETL
zai-org/glm-5.3-flash-abliteratedVisión + Texto1M$0.24 / $0.06 / $1.00Modales visuales, capturas UI y QA
zai-org/glm-5.3-abliteratedTexto + Tools1M$1.40 / $0.30 / $4.40Planificación supervisora y auditoría SAST

5. Lista de control antes de pasar a producción: 4 advertencias clave

  1. Una clave sk-bf16-v1- por bot con límite diario en USD: Fija $5.00/día en bf16.ai/dashboard/keys contra bucles infinitos.
  2. Permisos en código, nunca en la moral del LLM: Bloquea borrados o pagos reales con require_human_approval_tools.
  3. Temperatura baja (0.1–0.2) en llamadas a herramientas: Evita desviaciones en selectores CSS y esquemas JSON.
  4. Combina Flash y Flagship: Usa deepseek-v4.1-flash-abliterated para ejecución iterativa y reserva glm-5.3-abliterated para síntesis compleja.