Documentação

Funções dos agentes

Quais agentes cuidam de cada etapa de uma tarefa e o que cada um pode ou não fazer.

Coroid não utiliza um único agente de propósito geral. Cada etapa do caminho desde a descrição até o pull request é gerenciada por um agente com uma função específica e um conjunto de ferramentas deliberadamente restrito.

Essas restrições são o objetivo principal. Um agente que não pode escrever código não vai acidentalmente escrever código.

As funções

FunçãoEtapaPode modificar seu código
ArquitetoEspecificação e planejamentoNão
DesenvolvedorCriarSim
QAVerificarNão
RevisorRevisãoNão
Testador webVerificar fluxos do navegadorNão
ExploradorPesquisar, em qualquer etapaNão
Analisador de dependênciasAnáliseNão

Os quatro primeiros formam o pipeline que você vê em todas as tarefas, nesta ordem:

ArquitetoDesenvolvedorQARevisor

Apenas uma função — o desenvolvedor — pode alterar arquivos no seu repositório. Todos os demais agentes apenas leem, executam, relatam ou criam tarefas de acompanhamento.

Arquiteto

Transforma sua descrição em uma especificação e a especificação em um plano. Ele lê o código-fonte para alinhar o plano ao que realmente existe, mas não escreve código.

Sua saída é o item que você aprova antes do início da compilação.

Desenvolvedor

Realiza o trabalho: lê o código relevante, faz a alteração, escreve ou atualiza os testes e os executa localmente na área de trabalho até que sejam aprovados.

Quando o Revisor envia os achados de volta, o Desenvolvedor é a função que age com base neles.

QA

Executa a verificação de forma independente do agente que escreveu o código — sua suíte de testes, os critérios de qualidade configurados para o projeto e os critérios de aceitação da especificação.

O QA emite um veredito. Ele não corrige o que encontra; as falhas são encaminhadas de volta ao Desenvolvedor como retrabalho.

Revisor

Lê o diff finalizado e produz achados, aplicando quaisquer regras de revisão configuradas pela sua organização. Os achados são encaminhados de volta ao desenvolvedor como retrabalho ou anexados ao pull request para sua análise.

Testador web

Utiliza um navegador real para testar uma prévia em execução do seu aplicativo e verificar fluxos de usuário de ponta a ponta. É usado quando uma afirmação sobre o comportamento não pode ser feita apenas a partir do código.

Explorador

Uma função de pesquisa somente de leitura. Outros agentes o utilizam para responder perguntas sobre o código-fonte sem precisar carregar tudo em seu próprio contexto — "onde a autenticação é tratada", "quem chama essa função".

Analisador de dependências

Examina as dependências e como as alterações se propagam pelo código-fonte, incluindo entre projetos com dependências cruzadas configuradas.

Por que essa separação é importante

Três propriedades resultam dessa divisão do trabalho:

  1. A verificação é independente. O agente que checa o trabalho não é o mesmo que o escreveu, portanto não tem interesse pessoal no resultado.
  2. O raio de impacto é limitado. Apenas a função de desenvolvedor possui ferramentas para escrever código; assim, uma falha na revisão ou análise não pode corromper seu repositório.
  3. Cada função utiliza um modelo adequado a ela. O planejamento beneficia-se de amplo conhecimento geral; escrever código que compila requer algo diferente. Um AI profile contém um modelo por função exatamente por esse motivo.

Próximo

Voltar para Como uma tarefa se torna um pull request para ver em quais etapas essas funções se aplicam, ou O que é o Coroid para obter uma visão geral mais resumida.