Capabilities y procesos
AGAS tiene dos primitivos.
Capability
Una capability es una operación atómica: una interacción web, aprendida una vez, replay-eada muchas. Una capability = una fila de data por invocación.
Ejemplos:
get_bna_dollar_rate: → navega a bna.com.ar y extrae compra + venta
get_wikipedia_first_paragraph(slug): → navega a un artículo de Wikipedia y extrae el primer párrafo
export_csv(datasetId): → exporta un dataset a CSV (built-in, no requiere aprender)
send_email_with_attachment: → envía email vía Resend (built-in)
Cada capability tiene un contrato: inputs, outputs y success signals. Sol infiere el contrato desde tu intent antes de siquiera abrir Chrome.
Process
Un process es una composición de capabilities + lógica. Es lo que obtenés cuando tu pedido necesita más de una operación, o cuando los pasos dependen del output del anterior.
Tipos de step que soporta un proceso:
| Kind | Para qué |
|---|---|
| `foreach` | Loop sobre lista/rango, corre body por item |
| `analyze` | Invocar a Ana (ranking, comparación, agregación) |
| `output` | Exportar CSV, mandar email |
| `transform` | Cálculos deterministas chicos |
Los steps se referencian entre ellos con templates:
`${input.email}` — input del proceso
`${step.fetch.output.datasetId}` — output del step "fetch"
`${item}` — item actual en un foreach
`${path ?? fallback}` — opcional con fallback
Nunca escribís este JSON. Sol lo compone desde tu pedido natural.
Por qué está partido así
Capabilities quedan simples: una operación atómica, aprendida una vez, replay barato.
La complejidad va en procesos donde es componible: foreach una lista, encadenar pasos, usar outputs anteriores.
Esto significa que el motor maneja "top 10 restaurantes rankeados por precio/rating, enviados en CSV" vía composición — no con un caso especial de "list extraction" metido adentro de una capability.
Compartido entre tenants
Las recetas de capabilities se comparten: para dominios públicos (dólar BNA, Wikipedia, etc.) — aprendemos el sitio una vez, todos se benefician.
La data (tus datasets) nunca se comparte: . Solo las metodologías se poolean. Tu histórico del dólar BNA es tuyo.
Ver [Privacidad y datos](/help/privacy-and-data) para detalles.
