DEV Community

Captain
Captain

Posted on

Além de Escrever Código | Como o P&D utiliza Skills para impulsionar a detecção de defeitos de negócio

Prefácio

Como transferir de forma transparente o "pensamento de qualidade" de especialistas seniores em QA para os desenvolvedores da linha de frente, permitindo que os bugs sejam interceptados no momento da codificação, em vez de esperar pelo deploy ou, pior, explodirem em produção?
Antes de responder a essa pergunta, precisamos definir a essência de um "defeito". Na prática do desenvolvimento, os defeitos geralmente se dividem em duas categorias:

  • Defeitos Gerais (Hard Knowledge): São as "feridas expostas" no nível do código, como exceções de ponteiro nulo (NullPointer), SQL injection, vazamentos de memória ou nomenclaturas fora dos padrões. Para esses problemas existem respostas padrão, e ferramentas de varredura estática (como SonarQube) já fazem um excelente trabalho.

  • Defeitos de Negócio (Soft Knowledge): São as "brechas lógicas" ligadas a cenários de negócio específicos. Por exemplo: "Antes do fim de uma promoção, a máquina de estados do pedido permite pular direto para o reembolso?" ou "O cálculo de benefícios para usuários VIP esqueceu uma nova regra?". Esses problemas dependem fortemente do contexto, e as ferramentas estáticas tradicionais são impotentes contra eles.

O ponto de dor atual é que a maioria das plataformas de qualidade voltadas para "defeitos de negócio" vive fora da IDE: as normas estão nos documentos, as regras na cabeça das pessoas, mas o desenvolvedor está no editor. Todos conhecem as normas, mas ninguém sai do seu estado de flow para folhear centenas de páginas de documentação de negócio enquanto coda.
Com base nisso, este artigo explora o uso do Modo SOLO + Agent Skills personalizados: transformamos capacidades complexas de detecção de qualidade em "Habilidades Atômicas de Desenvolvimento" reutilizáveis, permitindo que cada desenvolvedor invoque um "Especialista Virtual em Qualidade" a qualquer momento.
Ao orquestrar 5 Agent Skills dentro da IDE, automatizamos toda a cadeia: da compreensão de requisitos e alinhamento técnico até a análise de mudanças de código, julgamento de defeitos e sugestões de correção.
Isso significa que cada desenvolvedor tem ao seu lado um especialista que entende tanto do negócio quanto do código, expondo defeitos críticos de alto risco antes mesmo do código ser enviado para teste.
Dados reais mostram que essa abordagem aumentou significativamente a conscientização de qualidade dos desenvolvedores e a eficiência na interceptação de bugs.


Como fazer a qualidade "morar" dentro da IDE?

Como desenvolvedores, passamos 90% do tempo imersos na IDE construindo lógica e depurando stacks. No entanto, os "critérios" que determinam se o código está correto estão espalhados em um mar de informações fora da IDE.

A Fragmentação da Experiência de Desenvolvimento

  • Requisitos Fragmentados: A lógica central pode estar escondida em um comentário de um documento ou na quinta revisão de um PRD (Documento de Requisitos do Produto).

  • Conhecimento Implícito: Muitas regras históricas de negócio não estão documentadas; estão em cantos da Wiki ou sobrevivem apenas no "boca a boca" de funcionários que já saíram da empresa.

  • Feedback Tardio: A detecção tradicional de qualidade ocorre após o commit. Você precisa esperar a pipeline de CI rodar, olhar centenas de linhas de log no Jenkins ou Sonar para descobrir uma falha lógica. Nesse ponto, você já mudou para a próxima tarefa, e esse "feedback assíncrono" eleva drasticamente o custo de correção.

A consequência direta disso é o alto custo de troca de contexto. No cenário real, poucos conseguem alternar telas para consultar o Product Manager a cada linha escrita. Quando o deadline aperta, a escolha humana natural é:

"Acho que vi essa lógica de reembolso em algum lugar, mas procurar no histórico do chat agora vai quebrar meu raciocínio... por experiência, deve ser escrito assim..."

Muitas falhas críticas não surgem da falta de habilidade técnica, mas da sobrecarga cognitiva. Quando o custo de obter a "regra correta" é muito alto e não há auxílio em tempo real na IDE, o bug torna-se parte do sistema silenciosamente no momento em que os dedos tocam o teclado.

A Oportunidade com Skills

O mecanismo de Agent Skills traz uma luz: e se pudéssemos encapsular o conhecimento dos especialistas em qualidade em "Skills" instaladas diretamente na IDE? Utilizando as capacidades do TRAE, fornecemos aos desenvolvedores um conjunto de "plugins de assistência de qualidade" leves, instantâneos e integrados.


Design Principal: Transformando "Experiência de Especialista" em "Agent Skills"

Não construímos uma plataforma do zero. Baseados no Modo SOLO do TRAE, decompusemos anos de experiência de QAs seniores e arquitetos em 5 Skills padronizadas. Elas focam em resolver as três perguntas fundamentais que os desenvolvedores mais fazem:

  1. O que o requisito realmente pede?

  2. Como o sistema está implementado?

  3. Esqueci de algo nesta alteração?

Como as Skills foram desenhadas

Dividimos a cadeia de detecção de qualidade em "capacidades atômicas" que podem ser chamadas individualmente na IDE. Cada Skill é responsável por uma única tarefa.

Confusão no Desenvolvimento Habilidade do Agente (Skill) Descrição da Habilidade (Experiência Especialista em Código)
"Este repositório é complexo demais, onde devo focar?" codebase-insight-analyzer Guia Global: Identifica rapidamente as camadas da arquitetura e domínios de negócio principais, evitando alterações em locais errados.
"O PRD é gigante, qual é o ponto principal?" prd-function-extractor Refinador de Requisitos: Extrai regras estruturadas de documentos, especialmente as "condições de contorno" que costumam ser ignoradas.
"Como esses conceitos de negócio se aplicam no código?" trd-spec-extractor Tradutor: Mapeia "entidades de negócio" (ex: Nível do Usuário) para "entidades de código" (ex: Enum UserType), resolvendo problemas de nomenclatura inconsistente.
"O que exatamente minha alteração afetou?" function-level-defect-tracer Microscópio: Baseado em análise AST, localiza com precisão o impacto lógico da mudança, indo além de um simples diff de texto.
"A lógica está correta?" business-rule-defect-detector Juiz: Combina todas as informações acima para realizar uma dedução lógica e julgar se a implementação divergiu dos requisitos.

Exemplo de Uso das Skills

Antes de realizar o commit, utilize as TRAE Skills para detecção de defeitos.
Passo 1: Importar as Skills
Crie a pasta .trae/skills na raiz do projeto e coloque os pacotes de habilidades lá.
Passo 2: Configurar ferramentas MCP
O fluxo de detecção requer análise de documentos de requisitos e técnicos. Configure a ferramenta MCP do Lark/Feishu para ler esses documentos.
(Siga o fluxo padrão de configuração de URL do servidor e autorização de ferramentas de "Documentos em Nuvem" no painel do TRAE).
Passo 3: Acionar o fluxo de detecção
Com as Skills e o MCP configurados, dispare o fluxo de detecção de defeitos no Modo SOLO.


Na Prática: Uma Detecção "Invisível"

Vamos acompanhar o fluxo sob a perspectiva de um desenvolvedor ("Zhang") trabalhando na funcionalidade "Modo Não Perturbe Noturno para Mensagens" .
Cenário:
Zhang precisa implementar: das 22:00 às 08:00 do dia seguinte, mensagens de marketing devem ser silenciadas, mas mensagens de código de verificação (OTP) não são afetadas. Zhang terminou o código e vai validar.

Workflow Strategy: Pipeline de Detecção Serializada

Desenhamos um workflow serial de 5 etapas para garantir que a saída de uma fase seja o contexto da próxima.

Step 1: Construir Percepção Técnica Global (Skill 1)

  • Skill: codebase-insight-analyzer

  • Ação: Zhang digita "analisar repositório atual".

  • O que aconteceu por trás? O agente realiza uma "engenharia reversa da arquitetura": identifica o stack (Go, Kitex, Redis), infere as camadas (DDD-lite) e localiza os domínios centrais (internal/biz/strategy).

  • Resultado (AGENTS.md): Gera um mapa de guerra estruturado para as próximas Skills.

Step 2: Extrair Requisitos Estruturados do PRD (Skill 2)

  • Skill: prd-function-extractor

  • Ação: Zhang fornece o link do PRD e pede para "extrair regras de Não Perturbe".

  • O que aconteceu? Atua como um analista de negócios: identifica cenários principais, limpa ruídos do documento e gera um JSON com regras e IDs únicos (ex: "verificar fuso horário do usuário").

  • Valor: Expõe "restrições implícitas" que o desenvolvedor poderia ignorar.

Step 3: Alinhar Regras de Negócio com Implementação Técnica (Skill 3)

  • Skill: trd-spec-extractor

  • Ação: O Agente analisa o TRD (Documento Técnico) com base no conhecimento dos passos 1 e 2.

  • O que aconteceu? Faz a Fusão de Contexto. Mapeia "Fuso Horário" para UserContext.GetTimezone() e define que a regra de isenção de OTP é uma restrição rígida no código.

  • Valor: Elimina o abismo semântico entre a linguagem natural e o código.

Step 4: Bloquear Precisamente o Escopo da Mudança (Skill 4)

  • Skill: function-level-defect-tracer

  • Ação: O Agente analisa o Git Diff.

  • O que aconteceu? Realiza análise de AST (Árvore de Sintaxe Abstrata). Ignora mudanças de comentários ou espaços e foca nas 13 linhas alteradas no método SendMessage. Identifica o uso de time.Now() como um ponto de risco.

Step 5: Julgamento de Defeitos e Fechamento do Ciclo (Skill 5)

  • Skill: business-rule-defect-detector

  • Ação: O Agente consolida as 4 etapas anteriores para o veredito final.

  • O que aconteceu? Executa o Raciocínio de Evidências Multi-Fonte:

    • Fato: O código usa if hour >= 22.
    • Regra: O PRD exige bloqueio das 22h às 08h.
    • Conflito: O código esqueceu a faixa das 00h às 08h.
    • Conclusão: Detectado defeito de lógica de negócio nível [P0].
  • Resultado: O Agente gera um relatório e oferece o botão "Apply Fix" no TRAE para corrigir o código instantaneamente.


De "Desenvolvedor buscando Normas" para "Normas encontrando o Desenvolvedor"

Esta prática demonstra que a IDE TRAE não é apenas um editor, mas uma plataforma de montagem de capacidades de P&D.

  1. Imersão: O desenvolvedor não precisa saltar entre IDE, Wiki e Jira. Tudo acontece no chat da IDE.

  2. Shift-Left Extremo: Interceptamos o erro antes do commit. Isso muda a mentalidade: "Qualidade não é algo testado depois, é algo construído no design".

  3. Ativação do Conhecimento: Regras que ficavam "pegando poeira" na Wiki agora são habilidades ativas. O conhecimento morto torna-se capacidade viva.

Conclusão

A combinação de SOLO + Agent Skills inaugura um novo paradigma: a evolução colaborativa entre Humanos e Agentes. O humano define as regras e o julgamento de valor; o Agente cuida da memória, execução e sugestão de correção.
Neste sistema, nenhum desenvolvedor luta sozinho. Atrás dele, há um "Assistente Digital de Qualidade" forjado em experiências de especialistas e melhores práticas.

Top comments (0)