clientes

Como a Basis desenvolve agentes contábeis de horizonte longo com o Cursor

A Basis foi construída no Cursor desde o primeiro dia. Seus agentes contábeis concluem declarações de impostos de sociedades até 6x mais rápido e são usados por 40% das 25 maiores firmas de contabilidade.

7 min de leitura

A Basis desenvolve agentes de IA especificamente para contadores. Eles concluem de forma autônoma fluxos de trabalho contábeis complexos e de horizonte longo em segundo plano e entregam saídas prontas para revisão, permitindo que as equipes de contabilidade se concentrem na análise crítica e no atendimento ao cliente.

Esses agentes assumem tarefas de várias horas e de alto risco para as principais equipes contábeis: fechamento mensal, declarações de impostos de empresas e sociedades, planejamento de auditoria e trabalho de campo. A Basis construiu a empresa no Cursor desde o primeiro dia. Eles tratam o contexto que o agente lê (prompts, habilidades, instruções, descrições de ferramentas) com o mesmo rigor que o código, e é no Cursor que eles o leem e revisam.

Trabalhos que não podem ser reduzidos a um único prompt

Horizonte longo não significa apenas que o agente executa por várias horas. Significa centenas de decisões ao longo de uma trajetória, em que os passos posteriores muitas vezes dependem dos anteriores. O sistema precisa preservar o estado relevante, incorporar os resultados das chamadas de ferramentas e se recuperar de falhas, às vezes lidando com mais informação do que cabe em uma única janela de contexto. Os erros podem se acumular. Um equívoco no início pode afetar pesquisas, cálculos, chamadas de ferramentas e artefatos posteriores, sem que o resultado final revele onde o problema começou.

Na contabilidade, isso é ainda mais difícil por três motivos:

  1. Muitos resultados não têm um teste objetivo e barato.
  2. Exemplos de referência extraídos de trabalho real em produção são caros de criar e difíceis de escalar.
  3. Um resultado final pode levar horas ou dias para ser produzido e revisado.

Mesmo um resultado final correto pode esconder um processo pouco confiável. Um agente pode chegar à declaração de imposto correta sem embasamento em fontes de pesquisa, extrair o número correto sem preservar sua fonte ou produzir uma planilha utilizável por meio de um processo que não se generaliza. A avaliação por resultado continua importando, mas é cara de executar e não dá conta de explicar cada decisão relevante dentro de uma trajetória longa.

O contexto é uma entrada de produção

A saída final do agente é apenas uma parte do sistema. Seu comportamento depende do contexto que ele recebe ao longo do trabalho: instruções, conhecimento de domínio, exemplos, descrições de ferramentas, habilidades, memória e outras informações de tempo de execução. Esse contexto é escrito em linguagem natural, ou seja, os engenheiros precisam lê-lo.

Um programa tradicional interpreta o mesmo código válido sempre da mesma forma, não importa quão bem organizados estejam os arquivos. Com modelos de linguagem, a organização e a redação do contexto mudam o que o modelo faz em seguida. Uma frase vaga, uma exceção perdida no meio do texto ou um exemplo enganoso podem alterar o comportamento em produção. Gerar um arquivo de contexto e entregá-lo sem lê-lo é um risco para a produção.

Especificações de comportamento tornam o padrão explícito

Uma especificação de comportamento é um arquivo Markdown que define condutas recorrentes esperadas de um agente em uma situação específica. Ela é escrita para as pessoas e os juízes que revisam uma trajetória registrada. Não é um prompt e não é exibida ao agente.

Uma boa especificação deixa claro quando o comportamento se aplica, quais evidências o agente deve inspecionar, qual decisão deve tomar, qual ação deve vir em seguida, o que fazer quando as evidências estão incompletas e como é uma falha. O objetivo é tornar o comportamento julgável sem roteirizar cada passo.

O juiz recebe a especificação, a trajetória observável e as evidências (chamadas de ferramenta, artefatos, fontes recuperadas, registros de decisão). Ele retorna true, false ou NA. Isso permite que a equipe avalie partes selecionadas do processo sem precisar de uma resposta de referência completa para a tarefa inteira.

O Cursor é onde eles revisam o agente

A Basis usa o Cursor para construir e refinar seus agentes. Um engenheiro mantém uma especificação de comportamento aberta em Markdown. Ele inspeciona uma frase, pergunta a um modelo se ela está vaga ou frágil demais, revisa o trecho e visualiza o documento final na mesma janela. É no mesmo ambiente que ele refina os prompts e o contexto que o agente de fato enxerga: habilidades, instruções, descrições de ferramentas.

O que faz do Cursor o lugar certo para esse trabalho:

  • Um editor de verdade, para ler e revisar a redação do contexto e das especificações.
  • Pré-visualização de Markdown (edição e live preview lado a lado). Mitch Troyanovsky, cofundador da Basis, chamou isso de um diferencial subestimado para iterar especificações, habilidades e outros documentos em Markdown.
  • Trabalhar diretamente com um modelo, no mesmo ambiente do texto.
  • Troca fácil de modelos enquanto você itera.
  • Lado a lado: o arquivo e a janela do agente formando um ciclo. Todo mundo tem uma janela de agente. A diferença é poder inspecionar e alterar o contexto.

O Cursor é onde inspecionamos o contexto que molda o agente e o revisamos até que o comportamento se sustente.

Mitch Troyanovsky
Cofundador da Basis

O loop de desenvolvimento

Os engenheiros da Basis escrevem e refinam especificações de comportamento no Cursor. O agente é executado no tempo de execução da Basis, e um judge avalia a trajetória registrada em relação à spec.

  1. A equipe define, em conjunto, um comportamento recorrente que vale a pena medir.
  2. Um engenheiro escreve ou refina a especificação de comportamento no Cursor.
  3. O agente realiza seu trabalho em produção, gerando uma trajetória registrada.
  4. Um judge avalia cada comportamento em relação à spec, retornando true, false ou NA.
  5. Um veredito false revela um gap entre o comportamento pretendido e a implementação em tempo de execução.
  6. A equipe atualiza o contexto do tempo de execução, as ferramentas, os prompts ou o framework de execução. Essa redação é revisada no Cursor.
  7. A equipe executa o agente novamente e mede se o comportamento melhora.

A spec e o tempo de execução permanecem separados. A spec é o padrão. A implementação muda até que o agente o atenda de forma consistente.

A abordagem de especificação de comportamento nasceu da experiência da Basis ao construir agentes em produção para contabilidade. A Basis e a Braintrust a lançaram como um padrão aberto para que outras equipes possam definir e avaliar o comportamento de agentes usando o mesmo formato geral.

Uma resposta fiscal correta ainda pode esconder um processo ruim. Quero saber se o agente consultou a autoridade primária, não apenas se a declaração está certa. A spec é o que nos permite julgar isso.

Mitch Troyanovsky
Cofundador da Basis

O próprio trabalho é a prova

É assim que esse trabalho acontece em produção.

  • Os agentes da Basis realizam mais de 5 horas de trabalho em uma única entrega.
  • Em uma declaração de sociedade do Formulário 1065, um trabalho que levaria cerca de 30 a 40 horas de tempo humano pode ser concluído por um agente da Basis em cerca de 6 a 7 horas.
  • A Basis é usada por 40% das 25 maiores firmas e, de modo mais amplo, pelas principais firmas de contabilidade.

A prova mais forte é o próprio trabalho: agentes tomando muitas decisões ao longo de trajetórias extensas e entregando resultados que contadores profissionais revisam e utilizam.

À medida que os agentes assumem trabalhos mais longos e de maior impacto, seu contexto se torna um insumo de produção. Os engenheiros precisam inspecioná-lo, compreendê-lo e revisá-lo.

O Cursor é onde a Basis mantém esse contexto. As especificações de comportamento tornam explícitas as expectativas selecionadas. O Braintrust avalia se esses comportamentos apareceram em trajetórias reais. As falhas mostram à equipe o que alterar no tempo de execução.

Publicado em: clientes

Autor: Cursor Team