Ir al contenido

Introducción a Crew

import { Steps, Aside } from ‘@astrojs/starlight/components’;

Cada artifact puede ejecutar un crew — un agente autónomo del lado del servidor con tools para consultar datos, refrescar snapshots, escribir resúmenes JSON, entregar a Slack y más. Los crews se disparan por schedule, seguimiento de alerta (on_trigger), desde Telegram (ask_crew), o manualmente vía la API.

Feature: ai.crew (etiqueta CrewAI agents en el catálogo admin).

Querés…Usá
Responder visitantes en la páginaAgente de chat IA
SQL fijo en schedule (sin LLM)Job programadoquery_snapshot
Alerta por umbralAlertas de métricas
Resumir, investigar o entregar en lenguaje naturalCrew
Pedir al crew desde TelegramBot de Telegramask_crew
Pedir al crew desde SlackBot de Slackask_crew

Los jobs son deterministas. Crew es agéntico: decide qué tools usar y cómo redactar.

flowchart LR
  T[Trigger] --> R[Bucle de run]
  R --> M[Turno del modelo]
  M -->|tool calls| Tools[Tools concedidas]
  Tools --> M
  M -->|finish| Done[Resumen + costo]
  1. Un trigger o llamada manual inicia el run.
  2. El modelo recibe instrucciones + input opcional.
  3. Cada iteración puede llamar tools concedidas.
  4. Termina con resumen, iteraciones y costo (micro-USD).
FuenteCómo
Crontriggers.create({ kind: 'cron', cron: '…' })
CondiciónConteo de filas cruza un predicado
Eventoej. table.row.inserted
Alerta de métricaon_trigger.crew: true
Telegramask_crew vía @ShareOutAI_bot
Manualsdk.crew.run() o POST …/crew/run
  1. ai.crew habilitadoGET /v1/features?artifact_id=…
  2. Sesión o token del owner del artifact
  3. Flags de destino (dest.slack, etc.) para entregas
  1. Definí el crew.

    await sdk.crew.define({
    instructions: 'Leé sales, marcá revenue < 0, escribí en json "weekly_review".',
    tools: { read: ['table_query'], write: ['json_set'] },
    });
  2. Ejecutá una prueba.

    for await (const event of sdk.crew.run({ input: 'Corré ahora.' })) {
    if (event.type === 'finish') console.log(event.summary);
    }
  3. Programá (opcional).

    await sdk.crew.triggers.create({ kind: 'cron', cron: '0 9 * * 1' });
  • Tools corren con identidad de owner.
  • Escrituras pueden requerir aprobación (whenPublic, always).
  • Conectores per-user funcionan para queries de warehouse.
  • El HTML no puede ampliar grants en runtime.
ControlQué hace
maxIterationsTope de loops por run
runBudgetMicroUsdTope de gasto por run
Balance AI del workspaceDetiene runs si se agota

Uso: sdk.crew.usage(workspaceId).