Conceitos
Os poucos conceitos que explicam tudo o que o Vardy faz.
Pedido direto (run) e exploração (explore)
| run | explore | |
|---|---|---|
| Quando usar | A pessoa sabe o que quer: "cancele", "quanto deve", "envie" | A pessoa quer entender: "o que está acontecendo", "por quê", "quem merece atenção" |
| Como funciona | Um programa, uma execução | Rodadas: programa → resumo → próximo programa ou resposta. Normalmente resolve em 1 rodada |
| Retorno | status, output, efeitos | status, answer, rodadas |
O programa e a sandbox
A IA escreve uma função async function run(params) que chama só as funções que você liberou. Antes de rodar, o código é verificado: nada de rede, arquivos, eval ou acesso ao sistema. Ele roda numa sandbox (QuickJS/WASM) com limite de memória e tempo. A IA nunca recebe os dados brutos, só o que o programa devolve.
Leitura e escrita
Cada função é read (consulta) ou write (altera algo). Leituras executam na hora. Escritas não executam durante o programa: viram um plano de efeitos.
Plano de efeitos, regras e aprovação
1. O programa roda e as escritas são anotadas. 2. Cada uma é conferida contra as regras. 3. Se alguma precisar de aprovação, o pedido espera. 4. Aprovado, o Vardy executa exatamente o plano, com chave de idempotência, sem rodar o código de novo.
onApproval, o resultado volta como PENDING_APPROVAL. Depois da aprovação no seu fluxo, chame vardy.commit(resultado, user).Receitas
Um programa revisado, salvo no painel com um nome. Roda com vardy.run({ recipe: 'nome', params, user }), sem chamar a IA e sem custo de tokens.
IA barata dentro do programa: ai() e classify()
Com a opção judge, o programa ganha duas funções para lidar com texto sem mandá-lo para a IA principal:
| Função | Para quê |
|---|---|
classify | Classificar muitos textos em categorias (ou sim/não) de forma estável, com a contagem pronta. |
ai | Resumir, extrair um campo ou decidir sobre poucos itens. |
Status possíveis
| Status | Significado |
|---|---|
| SUCCESS | Executou (e aplicou o plano, se havia escritas). |
| PLANNED | Modo plano: devolveu o plano sem executar. |
| PENDING_APPROVAL | Há alteração que precisa de aprovação. |
| POLICY_BLOCKED | Uma regra bloqueou, ou a aprovação foi negada. Nada foi alterado. |
| VALIDATION_BLOCKED | O programa ou os argumentos violaram a validação. |
| FUNCTION_ERROR | Uma função do seu sistema falhou. |
| PARTIAL | O plano começou a executar e uma alteração falhou no meio. |
| EXECUTION_ERROR | Tempo, memória ou erro dentro da sandbox. |
| GENERATION_ERROR | A IA não devolveu um programa utilizável. |