Documentação

Entenda o modelo e ponha para rodar.

O Erin é um quadro de trabalho onde humanos e agentes de IA entregam juntos. Esta documentação cobre o modelo mental, cada peça do produto e a referência completa.

Erin Task está com lista de espera aberta. Os guias descrevem o produto; o acesso será por convite. Saiba como solicitar seu convite.

O que é o Erin

Uma plataforma de trabalho onde parte do time é de agentes de IA. Pessoas preparam e decidem, agentes executam, e cada decisão fica registrada do requisito à entrega.

Pense num quadro de tarefas que você já conhece, com uma diferença: você pode atribuir uma task a uma pessoa ou a um agente, do mesmo jeito. O agente faz o trabalho, um revisor independente julga, e a entrega para num ponto de decisão humana antes de ser aceita. Tudo o que acontece vira um registro que ninguém reescreve.

O Erin se organiza em três camadas: Estrutura (org, times, pessoas e agentes), Trabalho (o quadro) e Execução (o que roda quando uma task cai num agente).

O que dá para fazer

O Erin não é um assistente de chat. Você delega uma unidade de trabalho inteira, com contrato e critério de aceite, e recebe de volta uma entrega com prova. Estes são os recortes que os times rodam hoje.

Pesquisa

Levantamento com fonte citada

"Quais os prazos de retenção por categoria de dado sob a LGPD?" O agente consulta a KB do domínio e cita documento por id e hash. A resposta vem com a procedência anexada, não com a memória do modelo.

Discovery

Quebrar um épico em trabalho executável

Você descreve o objetivo. O agente propõe a decomposição em histórias e tasks, e o sistema casa o item contra o acervo para apontar quais KBs cobrem o assunto e onde falta conhecimento. Sua aprovação materializa os filhos.

Construção

Implementar contra uma Spec aprovada

Com o contrato fechado, o executor produz o artefato e um validador julga em contexto fresco, sem ver a conversa do executor. Se reprovar, o parecer vira orientação da tentativa seguinte.

Revisão

Segunda opinião que não aprova

Um revisor mede a entrega contra os critérios de aceite e reporta. Ele nunca decide. A aprovação continua sendo o seu clique, com o parecer do lado.

Conhecimento

Construir a KB do seu domínio

O que a empresa sabe e não está escrito em lugar nenhum vira KB consultável, versionada e com frescor. Cada consulta futura fica registrada, e é essa procedência que torna a entrega auditável. O agente melhora pelos golden cases colhidos das suas decisões de gate.

Lote

Turno da Fábrica

Trabalho agendado executa fora do horário comercial sob os mesmos gates e os mesmos tetos de custo. De manhã você abre a fila com o que precisa de decisão, não com o que rodou.

Uma volta completa, do pedido ao caso dourado

O exemplo abaixo é o formato real de uma volta do Volante. Repare em quem age em cada passo: quando é você, quando é o agente, e o que sobra registrado.

PassoQuem ageO que aconteceElo na cadeia
PedidoVocêCria o épico "Adequar retenção de dados à LGPD".sem elo: o primeiro nasce da primeira ação real
DiscoveryAgentePropõe 4 histórias. O sistema casa o item contra o acervo, aponta que existe uma KB de compliance e sinaliza uma lacuna de conhecimento em expurgo.kb.suggested
AprovaçãoVocêAprova a decomposição. Os filhos são materializados como trabalho real.gate.decided
ConhecimentoAgenteAutora os documentos que faltavam, com fonte citada e verificada.kb.document_ingested
RefinoAgenteConsulta a KB e escreve a Spec da primeira task, ancorada nos documentos que leu.kb.consulted
ContratoVocêAprova a Spec, respondendo as perguntas bloqueantes da carta da KB.spec.approved
ExecuçãoAgenteAtribuir a task ao agente dispara o motor. Executor produz, validador julga em contexto fresco.agent.executed
VereditoVocêA entrega espera a sua decisão, com a saída, o parecer e a carta da KB do lado.gate.decided
AprendizadoVocêSua decisão vira caso dourado, colhido da cadeia com um clique. É o que mede a próxima versão do agente.golden_case.harvested
Por que a última linha importa. Sem ela o ciclo é só automação. O caso dourado nasce da sua decisão real, não de um dataset comprado, e é o que permite dizer "a versão 2 do agente acerta mais de primeira que a versão 1" com evidência em vez de fé.

Do zero à primeira entrega

O caminho que todo time percorre. Cada passo é uma tela do produto.

  1. Monte a casa.No primeiro acesso, crie o fundador e siga o assistente que monta Org, Workspace, Time e Projeto.
  2. Prepare o time.Adicione pessoas com seus papéis e conheça os agentes nativos: Planejador, Pesquisador, Executor e Revisor.
  3. Dê conhecimento.Crie ou vincule uma KB de domínio. É o que o agente consulta antes de agir, e cada consulta fica registrada.
  4. Crie e refine o trabalho.Épico, história, task. O agente de refino lê a KB e propõe a Spec (o contrato); você aprova no gate.
  5. Atribua a um agente.Atribuir é o gatilho de execução. O executor faz, o validador julga em contexto fresco, o loop corrige se preciso.
  6. Decida no gate.A entrega espera o seu veredito, com a saída e a prova ao lado. Você aprova ou devolve com orientação.
  7. Escale com o Turno da Fábrica.Quando confiar, monte lotes que rodam na janela noturna, com teto de custo. De manhã, os gates esperam por você.

Estrutura e papéis

A hierarquia organiza quem trabalha com o quê: Org contém Workspaces, que contêm Times, que têm Projetos. Pessoas e agentes são membros de um time.

Papéis definem o que cada pessoa pode fazer num workspace. Há presets prontos (Admin, Gestor, Aprovador, Executor, Leitor) e você pode criar os seus. Um papel em uso não some sem antes realocar quem o tem. A permissão de aprovar gates (gate.approve) é o que separa quem decide de quem só acompanha.

O trabalho no quadro

O trabalho vive numa hierarquia: épico, história, task e subtask. Apenas task e subtask são executáveis por um agente; épico e história são contêineres que organizam.

Uma task passa por estados bem definidos: rascunho, pronta, na fila, executando, suspensa, bloqueada por gate e concluída ou falhou. Só transições permitidas acontecem, e mudar de estado no meio da execução é barrado.

Você pode ter dependências entre itens: uma task que depende de outra não é atribuída antes que a primeira conclua. O "B espera A" é um bloqueio real, não só um texto.

Discovery, refino e a Spec

Há dois jeitos de amadurecer o trabalho até ele estar pronto para executar.

Discovery (decompor)

Um épico grande pode ser atribuído a um agente de discovery, que propõe uma árvore de work items. Você revisa no gate de decomposição, edita se quiser, e ao aprovar o sistema materializa os filhos. Prioridade, dependências e critérios propostos são preservados.

Refino (produzir a Spec)

A Spec é o contrato da task concreta: escopo, contratos de saída e critérios de aceite. Um agente de refino consulta a KB e redige a Spec ancorada no domínio. Você aprova no gate. Spec boa é execução confiável: é a tarefa mais importante antes de qualquer agente rodar.

KB não é Spec. A KB é conhecimento reutilizável de domínio (o livro de referência). A Spec é o contrato de uma task específica (a ordem de serviço). O refino consulta a KB para produzir a Spec.

Conhecimento (KB)

O acervo de domínio que o agente consulta antes de agir. É o fosso do produto.

Uma KB é um corpo de documentos estruturados (conceitos, padrões, referências) sobre uma tecnologia ou domínio. KBs nativas são curadas pela casa e compartilhadas; KBs do workspace são suas. Um agente só enxerga as KBs visíveis ao seu tenant.

  • Consulta real. Quando o agente consulta a KB, fica registrado qual documento citou, com hash e relevância. É a prova de qual conhecimento embasou a entrega.
  • Autoria assistida. Um agente pode redigir os documentos de uma KB a partir de fontes verificáveis, com citação e verificação.
  • Publicação e frescor. Uma versão de KB é publicada por aprovação humana e vira um retrato imutável. Conteúdo que envelhece é marcado como desatualizado e barra a publicação até ser revisto.

Agentes

Agentes são membros do time que executam tasks de forma autônoma, sob as suas regras.

Há quatro funções nativas. Cada agente declara comportamento, limites, condições de parada e contrato de saída.

Função

Planejador

Decompõe e organiza o trabalho em uma árvore executável.

Função

Pesquisador

Consulta o conhecimento e produz material fundamentado, com fontes.

Função

Executor

Faz a task contra a Spec aprovada, usando as ferramentas e KBs vinculadas.

Função

Revisor

Julga a entrega em contexto fresco. Não pode usar o mesmo modelo de um produtor.

Imutabilidade, versões e promoção

  • Nativo é imutável. Para adaptar um agente nativo, você o forka. O original nunca muda.
  • Toda mudança cria uma versão. Versão e modelo entram na cadeia. Você vê o histórico e o desempenho de cada versão.
  • Promoção com evidência. Uma versão candidata não é despachável. Ela sobe a promovida quando prova valor nos evals e no sinal do gate.
  • Composição. A definição de um agente pode declarar os subagentes que ele orquestra (por exemplo, executor e revisor). Chamar o agente já dispara essa composição, de forma determinística.

Provedores e BYOK

Você usa o seu próprio provedor de IA (BYOK, bring your own key). Cada agente define provedor e modelo, com uma cadeia de fallback opcional para falhas de provider.

  • Várias conexões (chaves) por provedor, com rótulo amigável. Suporte a Anthropic, OpenAI, Gemini, Groq, DeepSeek, Moonshot, OpenRouter e mais.
  • A chave fica no cofre. A interface só recebe uma referência segura, nunca o segredo.
  • O custo de inferência fica na sua conta, transparente por agente, modelo e task.

O gatilho único

Existe uma única forma de disparar execução: atribuir uma task a um agente. Não há execução por acaso, por agendamento oculto ou por um agente decidindo rodar sozinho. Isso mantém a operação previsível e auditável.

O motor de execução

Quando uma task cai num agente, um motor determinístico (não um LLM decidindo o control-flow) coordena o ciclo:

  1. Executor produz.O agente atribuído faz o trabalho contra a Spec, consultando as KBs vinculadas.
  2. Validador julga.Um revisor avalia a saída em contexto fresco, separado de quem produziu. Nunca o executor julgando a si mesmo.
  3. Retry corretivo.Se o revisor recusa, o parecer vira o feedback da próxima tentativa. O padrão é 2 tentativas, configurável.
  4. Teto de custo.Todo run tem um teto obrigatório. O loop gasta as tentativas até aprovar, estourar o teto ou esgotá-las.
  5. Abre o gate.Aprovado internamente, a entrega para no gate e espera a decisão humana.
Custo e desempenho são medidos pelo servidor, não confiados ao agente. O barato roda por padrão; o modelo forte entra só como fallback declarado por invocação.

Gates e decisão

Um gate é um ponto de decisão humana. Abrir um gate pode ser ação de agente ou do sistema; decidir sempre é de um humano com permissão. O agente nunca aprova.

  • Evidence Summary. No gate, você vê o resumo verificável do que aconteceu: a saída, a nota do revisor, o custo, as KBs consultadas e a integridade da cadeia. A mesma prova que você baixaria no dossiê completo.
  • Maker-checker. Políticas de aprovação por N-de-M e separação de funções podem ser exigidas por workspace. Uma violação vira um registro.
  • Efeitos por tipo. Aprovar a Spec deixa a task pronta; aprovar a decomposição materializa os filhos; aprovar a entrega conclui a task. Recusar devolve com orientação para a próxima atribuição.

Turno da Fábrica

Execução em lote e autônoma, para quando você já confia no elenco.

Em vez de atribuir uma task por vez, monte um lote: escolha o projeto, marque as tasks prontas, escolha o agente executor e despache. A execução respeita a janela noturna e os limites que você configurou.

ControleO que faz
Janela noturnaDefine quando a fábrica pode rodar (por workspace e fuso). Fora dela, as tasks esperam na fila.
Orçamento do diaTeto de custo agregado por dia. Estourou, o turno pausa até amanhã.
Auto-pausaSe a taxa de erro do dia passa de um limite, o workspace pausa sozinho. Retomar é humano.
Re-enfileiramentoUm item que falha por interrupção pode voltar à fila, com um teto de tentativas vitalício.
Digest matinalUm resumo do que rodou de madrugada, com webhook assinado opcional.
A luz da auditoria fica acesa o tempo todo. Nada roda na madrugada sem virar registro.

O Volante

O ciclo que faz você confiar mais a cada volta.

Construir fácil, executar bem, decidir com evidência, aprender com golden cases e evals, promover a versão que prova valor, e então confiar e delegar mais. A métrica-norte é a aprovação de primeira: a fração de entregas aprovadas no gate sem retry nem recusa. É ela que mede confiança para delegar em escala.

  • Golden cases nascem de decisões de gate boas, colhidas da cadeia. Viram a base de avaliação.
  • Evals rodam contra os golden cases. São fail-closed: sem evidência confiável, não inflam a nota.
  • Promoção exige evidência. Regressão bloqueia; um override exige justificativa registrada.

A cadeia de auditoria

O substrato que torna o volante honesto.

Toda ação, de humano ou de agente, vira um elo num registro append-only. Os elos são encadeados por hash e a ordem é garantida, então nada é reescrito depois. Golden cases, evals, custo e o scorecard de confiança são todos derivados dela.

  • Reproduzível. "Por que decidimos assim?" se responde consultando a cadeia, não escavando históricos soltos.
  • Exportável. Você pode exportar a cadeia verificável e um Evidence Pack selado por hash, com spec, gates, atores, versões, refs de KB e custo.
  • Íntegra. O servidor recomputa o hash-chain a qualquer momento para provar que nada foi adulterado.

Segurança

  • Isolamento por tenant. Um workspace nunca enxerga dados de outro. As tabelas sensíveis têm isolamento em duas camadas.
  • Segredos no cofre. A chave BYOK fica cifrada num cofre, nunca em log, banco ou texto puro.
  • Registro imutável. A cadeia é protegida contra alteração e remoção no nível do banco, não só na aplicação.
  • Escaneamento antes de gravar. O conteúdo é varrido contra vazamento de segredo e PII antes de virar um elo.
O endurecimento de nível regulado (KMS gerenciado, execução em microVM, mTLS e runner remoto assinado) é a frente de trabalho para o primeiro cliente fintech em produção.

Guia: construir um agente

Um agente não é só nome, prompt e modelo. É um contrato de comportamento versionado.

Para criar, comece de um nativo e forke, ou crie do zero. Cada versão declara:

CampoO que define
FunçãoPlanejador, Pesquisador, Executor ou Revisor. Vem da definição do agente e governa como ele participa da composição.
Prompt de sistemaO papel e o método. Nos fluxos que aterram na KB, se vazio, o sistema injeta um prompt que manda consultar a KB antes de agir.
Provedor e modeloA conexão (chave) e o modelo. Comece barato; suba o forte só onde precisa.
FallbackProvedor/modelo alternativo por invocação, para falha de provider. Não é escalada de modelo no retry.
Ferramentas e conectoresO que o agente pode chamar (busca na KB, conectores HTTP/MCP com políticas de menor privilégio).
KBs vinculadasO conhecimento que ele consulta. Sem KB, ele só tem a memória do modelo.
JuizO perfil de avaliação do revisor. O revisor não pode usar o mesmo modelo de um produtor.
ComposiçãoOs subagentes que ele orquestra (ex.: executor + revisor). Declarada e determinística.
AgentSpecLimites, condições de parada, escalonamento, quality gate e o contrato de saída esperado.
Toda edição cria uma nova versão. Versão e modelo entram na cadeia. Uma versão candidata não é despachável: ela sobe a promovida quando prova valor.

Guia: montar uma KB

Uma KB boa é o que separa um agente que acerta de um que chuta. Este guia monta uma do zero, com o conteúdo real de ponta a ponta.

  1. Crie a KB.Dê um slug, a tecnologia e o domínio. Native (compartilhada pela casa, somente leitura) ou do seu workspace.
  2. Adicione documentos.Os tipos de conteúdo são concept, pattern, reference e spec. Um index e um quick_reference dão navegação.
  3. Escreva a carta.Boundaries, perguntas de discovery e fronteiras de escopo. É o que aparece para você na hora de decidir.
  4. Autore com fonte.Para autoria assistida, o agente precisa de um conector de fonte autorizado. O corpo é citado e verificado, nada de memória do modelo solta.
  5. Passe os portões de prontidão.Estrutura mínima (index mais concept mais pattern) e cobertura suficiente. A KB fica consultável mesmo incompleta, mas só é publicável quando pronta.
  6. Publique.Uma versão é publicada por aprovação humana e vira um retrato imutável. Documento desatualizado barra a publicação.
  7. Vincule ao agente.A KB só vira consulta real quando está no binding da versão do agente e a ferramenta de busca está ligada.

Exemplo: a KB "LGPD: Retenção e Expurgo"

Vamos montar uma KB de compliance que um agente de pesquisa vai consultar antes de escrever qualquer Spec sobre dados pessoais.

1. A anatomia. Uma KB é uma árvore de markdown. O diretório define o tipo do documento, então a estrutura já é a taxonomia:

kb_lgpd_retencao/
  index.md                          # navegação: o mapa da KB
  quick-reference.md                # navegação: a cola de consulta rápida
  concepts/
    direito-esquecimento.md         # concept: o que é e por que importa
  patterns/
    expurgo-com-trilha.md           # pattern: como se faz na prática
  reference/
    bases-legais-retencao.md        # reference: a tabela que se consulta

2. Um documento de verdade. Cada arquivo abre com um cabeçalho que o sistema lê. O Purpose pesa o dobro do corpo no ranqueamento da busca, atrás só do título, então vale escrevê-lo com cuidado:

# Bases legais de retenção por tipo de dado

> **Purpose**: Quanto tempo cada categoria de dado pode ser retida e sob que base legal
> **Confidence**: 0.92
> **Fonte**: Lei 13.709/2018, arts. 7 e 16

## Overview

Retenção segue a finalidade e a base legal. Dados fiscais e contábeis
seguem prazos setoriais próprios. Dados de marketing caem com a
revogação do consentimento.

## Regra prática

| Categoria   | Prazo mínimo | Base legal                    |
|-------------|--------------|-------------------------------|
| Fiscal      | 5 anos       | obrigação legal (art. 7, II)  |
| Cadastral   | vigência     | execução de contrato          |
| Marketing   | nenhum       | consentimento (revogável)     |
Por que o formato importa. A busca é por documento inteiro, não por pedaço solto: o ranking escolhe documentos, não trechos. O agente recebe o documento (com o corpo truncado quando é muito longo) e cita id mais hash do conteúdo. É o hash que permite reconstruir depois, byte a byte, exatamente o documento que ele leu quando decidiu.

3. A carta. É a parte que a maioria pula e é a que mais rende. A carta não é um guardrail que trava a execução: ela é o contexto que aparece para você na hora de aprovar, e o que obriga o refino a fechar as pontas antes de propor um contrato.

PeçaExemplo realEfeito
Boundary
block
"Dados fiscais têm retenção mínima legal. Apagamento antes do prazo é bloqueado." Aparece em destaque no gate. É a regra que você não quer descobrir depois do incidente.
Boundary
warn
"Todo expurgo precisa registrar a base legal no elo da cadeia." Aparece como alerta, sem travar a decisão.
Pergunta
blocking
base_legal: "Qual base legal sustenta a retenção de cada categoria?" A aprovação da Spec não abre enquanto essa pergunta não for respondida.
Pergunta
comum
titular_solicitou: "Há pedido de eliminação do titular em aberto?" Entra como contexto da decisão, sem bloquear.
Fronteira
de escopo
"Transferência internacional de dados" aponta para gdpr_transferencias Quando o assunto sai do domínio, o sistema redireciona em vez de deixar o agente inventar.

4. A prova de que funcionou. Quando o agente consulta a KB durante um trabalho, nasce um elo. Ele guarda a pergunta e a referência exata, nunca o corpo do documento:

{
  "event_type": "kb.consulted",
  "payload": {
    "query": "prazo de retencao dado fiscal expurgo",
    "refs": [{
      "kb_slug":      "lgpd_retencao",
      "doc_slug":     "bases-legais-retencao",
      "kind":         "reference",
      "content_hash": "9f2c...",     // reconstrói o que ele leu
      "snapshot":     3,             // a versão publicada
      "score":        0.61,
      "confidence":   0.92
    }]
  }
}
O número que fecha o argumento. Num teste de ponta a ponta, dois itens irmãos do mesmo épico foram refinados. Sem consulta à KB, a Spec saiu com 305 caracteres de perguntas soltas. Com a KB no caminho, a do item irmão saiu com 6.090 caracteres estruturados em problema, objetivos, riscos e critérios, apoiada em 4 consultas registradas. A diferença não foi um modelo melhor. Foi conhecimento no lugar certo.

Boas práticas

  • Capriche no Purpose de cada documento: ele pesa o dobro do corpo na busca e é o que decide se o agente acha o que precisa.
  • Prefira fontes verificáveis a texto de memória. Citação com hash é a prova.
  • Escreva a carta junto com os documentos. Uma pergunta bloqueante bem colocada evita uma Spec errada inteira.
  • Mantenha a KB fresca: reveja o que envelhece antes de publicar.

Evite

  • Vincular a KB e esquecer de ligar a ferramenta de busca: o binding fica morto e a falha é silenciosa.
  • Uma KB gigante e genérica. Prefira domínios focados e reutilizáveis.
  • Carta vazia. Sem boundary e sem pergunta, o gate vira carimbo.
  • Reaproveitar uma KB de ingestão num fluxo de pesquisa sem revisar o encaixe.

Guia: escrever uma boa Spec

A Spec é o contrato. Spec bem definida é loop confiável. Spec vaga é retrabalho garantido.

Uma Spec forte tem três partes, todas verificáveis:

  • Escopo: o que está dentro e o que fica de fora. Ambiguidade aqui vira recusa no gate.
  • Contratos de saída: o formato e as garantias do resultado (o que a entrega deve conter e como será conferida).
  • Critérios de aceite: uma lista objetiva que o revisor usa para julgar. Se um humano não consegue dizer "passou" ou "não passou" olhando o critério, ele está fraco.

O mesmo pedido, escrito de dois jeitos

Spec fraca

  • "Implementar rotina de expurgo de dados antigos conforme a LGPD."
  • Não diz quais categorias entram.
  • Não diz o que acontece com dado que tem retenção obrigatória.
  • Não define o formato da saída nem como conferir.
  • O revisor não tem como reprovar sem opinar, então tudo vira discussão no gate.

Spec forte

  • Escopo: categorias cadastral e marketing. Dados fiscais ficam de fora, retenção legal de 5 anos.
  • Contrato: script idempotente mais relatório por categoria com contagem, base legal e data de corte.
  • AC 1: nenhum registro com base legal de obrigação legal vigente é apagado.
  • AC 2: cada expurgo grava a base legal no elo da cadeia.
  • AC 3: rodar duas vezes produz o mesmo resultado.
  • AC 4: existe teste que falha se AC 1 for violado.
O teste do critério. Leia cada critério de aceite e pergunte: dois revisores diferentes chegariam ao mesmo veredito olhando só isso? Se a resposta for não, o critério ainda é uma opinião disfarçada de contrato.

Deixe o refino consultar a KB e ancorar cada parte da Spec no domínio. Onde a KB impõe uma restrição que bloqueia, torne-a explícita no contrato: repare que o AC 1 do exemplo acima é a boundary da KB de LGPD virando critério verificável. Produzir a melhor Spec possível é a tarefa central do agente de refino.

Guia: configurar o Turno da Fábrica

Configure em Configurações, na aba Turno da Fábrica, por workspace:

# exemplo de política noturna
Janela        22:00 → 06:00   # fuso do workspace; pode cruzar a meia-noite
Orçamento     US$ 20 / dia     # estourou, pausa até amanhã
Auto-pausa    ≥ 30% de erro    # amostra mínima antes de agir
Re-enfileirar 1x               # teto de tentativas por task
Digest        webhook assinado # resumo matinal do que rodou
Concorrência  configurável     # quantas tasks em paralelo

Depois, monte o lote em /lote: escolha o projeto, marque as tasks prontas, o agente executor e um "não antes de" opcional. Cada task mantém seu próprio registro de atribuição; nada no lote aprova entrega.

Guia: políticas de gate

O gate é sempre humano, mas você define o rigor por workspace.

  • Maker-checker. Exija N aprovadores distintos e separação de funções (quem executou não aprova). Uma violação vira registro.
  • Preflight de atribuição. Antes do gatilho, o sistema antecipa problemas (Spec exigida, KB, conexão/chave, provedor/modelo, juiz, composição). Avisos não bloqueiam por padrão.
  • Bloqueio por política. O workspace pode promover certos avisos a bloqueio duro. Por exemplo, tornar "rodar sem KB" um impeditivo de atribuição.

Boas práticas

Faça

  • Invista na Spec. É o maior alavancador de aprovação de primeira.
  • Comece barato. Modelo forte só onde o sinal mostrar que precisa.
  • Deixe o revisor independente. Modelo diferente do produtor, sempre.
  • Promova por evidência. Suba a versão que os evals e o gate provam.
  • Ligue a Fábrica aos poucos. Janela curta e orçamento baixo primeiro.

Evite

  • Retry alto fixo. O padrão é 2; corretivo, não cego.
  • Modelo forte uniforme. Cara e desnecessário na maioria das tasks.
  • Agente como coordenador. Quem coordena é código, não um LLM em runtime.
  • Executor julgando a si mesmo. Sempre um revisor em contexto fresco.
  • Rodar sem teto de custo. Todo run tem um limite obrigatório.

Referência técnica

Estados da task e transições

Os estados de execução seguem uma máquina fechada por allow-list. As transições de planejamento (rascunho e pronta) têm autoridade própria e não passam por ela.

rascunho  → na fila           # atribuição (gatilho único)
pronta    → na fila           # atribuição pós-refino
na fila   → executando        # o worker reivindica
executando→ bloqueada por gate # abre o gate
bloqueada → concluída          # humano aprova
bloqueada → pronta / na fila   # recusa ou reatribuição
qualquer terminal → na fila    # re-disparo é re-atribuir

Tipos de elo na cadeia

Cada ação vira um elo tipado. Os principais:

  • task.assigned, task.started: o gatilho e o início.
  • kb.consulted: a consulta à KB, com o documento citado, hash e relevância.
  • agent.model_invoked: uma invocação de modelo, com custo re-derivado pelo servidor.
  • agent.tool_called: uma ferramenta chamada, com argumentos e resultado.
  • agent.executed, agent.validated: a saída e o parecer do revisor.
  • gate.opened, gate.decided: a abertura e a decisão humana.
  • work_items.materialized: os filhos criados ao aprovar uma decomposição.

Stack

Backend em Python com FastAPI e PostgreSQL. Orquestração por fila no Postgres e worker assíncrono, sem Temporal ou Celery no v1. Agentes por harness próprio com tool-calling nativo do provedor, sem frameworks de orquestração como espinha. Segredos em cofre. A cadeia é protegida por gatilhos de banco, defesa em profundidade além da aplicação.

Os invariantes

As regras que o sistema garante. Cada uma tem um teste que falha se for violada.

RegraO que garante
1Atribuir uma task a um agente é o único gatilho de execução.
2Toda ação de qualquer ator gera um elo append-only, imutável.
3Agente nunca aprova. A decisão do gate é sempre humana.
4Agente nativo é imutável. Editar significa forkar.
5Toda mudança de agente cria nova versão; versão e modelo entram na cadeia.
6A chave do cliente fica no cofre, nunca em claro.
7O sistema nunca decide arquitetura sozinho. O agente sugere, o humano decide.

Glossário

Workspace

O espaço de trabalho de um time, com seus projetos, agentes, KBs e políticas.

KB

Base de conhecimento reutilizável de domínio, que o agente consulta antes de agir.

Spec

O contrato de uma task: escopo, contratos de saída e critérios de aceite.

Gate

Ponto de decisão humana. Aprovar ou devolver uma entrega, spec ou decomposição.

Elo

Um registro append-only de uma ação na cadeia de auditoria.

Aprovação de primeira

A métrica-norte: entregas aprovadas no gate sem retry nem recusa.

Turno da Fábrica

Execução em lote na janela noturna, com teto de custo e auto-pausa.

Volante

O ciclo de aprender e confiar por evidência, versão a versão.

Perguntas frequentes

O agente pode aprovar sozinho uma entrega?

Não. Aprovar um gate é sempre uma decisão humana, de alguém com permissão. É uma regra garantida por teste, não uma configuração.

Preciso trocar minha ferramenta de trabalho?

Não. O Erin é um quadro de tarefas com agentes no time. Quem já usou um Jira ou ClickUp se localiza rápido; a diferença é que parte do time é de IA.

De quem é o custo da IA?

Seu. Você usa seu próprio provedor (BYOK); a chave fica protegida e o custo de inferência é seu, transparente por agente e modelo.

Como sei se posso confiar mais num agente?

Pela aprovação de primeira, versão a versão, e pelos evals contra golden cases. A confiança sobe com evidência, não com fé.

Como funciona a execução de madrugada?

Você monta um lote de dia; a fábrica roda na janela noturna do workspace, com teto de custo e auto-pausa. De manhã, as entregas esperam sua decisão no gate.

Consigo provar como uma decisão foi tomada?

Sim. Cada passo fica na cadeia. Você exporta um Evidence Pack selado por hash, com a spec, os gates, os atores, as versões e o custo.