DEV Community

Captain
Captain

Posted on

Como fazer a IA ser mais “obediente” | Guia prático para usar Rules com eficiência

Visão Geral: A Evolução da Gestão de Regras no TRAE

No contexto de AI Coding, a proposta de valor das Rules é cristalina: garantir que o modelo siga a visão do desenvolvedor. Elas servem para converter "hábitos implícitos" e restrições de engenharia em diretrizes explícitas e executáveis.
Contudo, à medida que a complexidade dos projetos aumenta, surge um problema inevitável: uma única regra não é mais suficiente. * Se for curta demais, falta profundidade;

  • Se for longa demais, torna-se um emaranhado caótico;

  • E o pior: é quase impossível controlar quando ela deve ou não entrar em vigor.

O cerne da questão é que não precisamos apenas de "regras completas", mas de um sistema de regras que seja sustentável, reutilizável e modular. A nova atualização do TRAE introduz a gestão de múltiplas regras e o controle refinado de escopo, suportando inclusive a importação de arquivos como AGENTS.md ou CLAUDE.md.

1. O Trilema da Regra Única: Escala, Conflito e Timing

Ao tentar concentrar toda a experiência em uma única diretriz, o desenvolvedor geralmente enfrenta três gargalos:

  1. O Problema de Escala: Manutenção Insustentável Misturar estilo de código, convenções de diretórios e fluxos de negócio em um só lugar cria um pesadelo de manutenção. Alterar um detalhe exige vasculhar arquivos imensos, dificultando a colaboração em equipe e levando à rápida obsolescência do conteúdo.

  2. O Problema de Conflito: Perda de Foco da IA Sem delimitação de escopo, a IA "se confunde". Se você mistura padrões de React com templates de Commit, o modelo pode sugerir hooks enquanto você tenta apenas escrever uma mensagem de log. A IA não perdeu a inteligência; ela apenas perdeu a clareza sobre quais regras priorizar no momento.

  3. O Problema de Timing: Quando a regra deve agir? Nem toda regra deve ser global. Algumas são fundamentais (como o idioma de saída), enquanto outras só fazem sentido em contextos específicos (como migrações SQL ou debug de logs). Sem controle de timing, as regras tornam-se ruído, interferindo onde não devem e falhando em ajudar onde seriam cruciais. No fim, a regra torna-se um "peso morto": complexa no papel, mas inútil na prática.

2. Como resolver a “controlabilidade após a escalabilidade”

Para resolver os problemas mencionados acima, o TRAE atualizou a funcionalidade de Rules, transformando as “regras” de um texto longo único em um sistema estruturado, que pode ser dividido, gerenciado e aplicado de forma controlada. Você verá duas linhas principais de capacidade:

1.Gerenciamento de múltiplas regras: permite configurar vários arquivos de Project Rule, separando diferentes temas/responsabilidades em arquivos distintos.

2.Aplicação refinada: cada regra pode ter um modo de aplicação mais granular, permitindo controlar melhor o escopo e o momento em que ela entra em vigor.

Gestão Modular: Regras como Componentes, não Enciclopédias

À medida que o conjunto de diretrizes escala, o desafio central deixa de ser a capacidade de escrita e passa a ser a governança. A fragmentação em múltiplas regras agrega valor em três frentes:

  • Manutenibilidade: Cada regra foca em uma única categoria de preocupação. As alterações são cirúrgicas, eliminando a necessidade de vasculhar arquivos extensos.

  • Colaboração: Permite que a equipe distribua a manutenção das regras por responsabilidades (ex: infra, segurança, estilo), evitando conflitos de edição.

  • Composição: Diferentes projetos ou subdiretórios podem reutilizar o mesmo conjunto de módulos (ex: módulo de padrões Front-end, módulo de fluxos de Backend).

Na prática, a recomendação é tratar cada arquivo de regra como um módulo: uma regra deve endereçar apenas um tema ou responsabilidade, mantendo-se concisa, específica e diretamente executável.

Ativação Refinada: A Regra Certa no Momento Exato

Modularizar resolve a manutenção, mas para eliminar conflitos e ruídos, é preciso controlar o escopo de atuação. No Rules 2.0, as Regras de Projeto (Project Rules) ganham quatro modalidades de ativação:

  1. Sempre Ativo (Always Apply): Para diretrizes globais e universais.

  2. Arquivos Específicos (Specific Files): A regra é restrita a determinados arquivos ou diretórios.

  3. Ativação Inteligente (Intelligently): O sistema deduz a necessidade com base no contexto da tarefa.

  4. Ativação Manual (Manually): A regra só entra em vigor mediante invocação explícita.

Essa estrutura permite um controle granular sobre a abrangência (quais arquivos a regra afeta) e o tempo de execução (se a regra deve agir agora ou apenas quando solicitada).

Como escolher entre os 4 modos de aplicação: uma tabela para decidir rapidamente

Modo de aplicação Que tipo de regra colocar Exemplos típicos
Sempre ativo Regras com baixo conflito, alta consistência e que nunca devem ser violadas em nenhuma tarefa Requisitos de idioma/formato de saída, estilo de código geral, convenções de nomenclatura, acordos de colaboração da equipe
Ativo para arquivos específicos Regras com limites claros, fortemente relacionadas a tipo de arquivo ou diretório Padrões de migração /*.sql, padrões de frontend em apps/web/, padrões de backend em apps/api/**
Ativação inteligente Regras importantes, usadas ocasionalmente, que você deseja que apareçam automaticamente quando forem relevantes Checklist de troubleshooting, fluxo de otimização de performance, observações para domínios específicos
Acionamento manual Regras de alto risco/alto custo, cujo acionamento indevido pode causar grande interferência SOP de deploy/rollback, processos para operações sensíveis

Princípios de decisão:

  • Quanto mais “geral e de baixo conflito”, mais deve tender a Sempre ativo;

  • Quanto mais “limite claro”, mais deve tender a Ativo para arquivos específicos;

  • Quanto mais “ocasional, mas crítico”, mais deve tender a Ativação inteligente;

  • Quanto mais “alto risco e alta interferência”, mais deve ser Acionamento manual.

Dica: adicionamos a funcionalidade #Rule no campo de entrada. Qualquer arquivo de Rule pode ser mencionado manualmente, garantindo que, nesta conversa, o modelo certamente considere essa norma como referência.

3. Metodologia de Decomposição de Rules: Curto, Preciso e Sustentável

Para que o seu ecossistema de regras não se torne um fardo, aplique este framework: Camadas, Responsabilidade Única e Governança Contínua.

1.Decomposição por Camadas: Da Estabilidade ao Contexto de Negócio

Divida as suas Project Rules em quatro níveis hierárquicos, priorizando a abrangência e a frequência de mudança:

  • L0: Padrões de Saída e Colaboração (Estável/Universal)

    • Foco: Idioma, formatação de código, estilo de comentários e convenções básicas.
    • Ativação: Sempre Ativo (Always Apply).
  • L1: Engenharia e Stack Tecnológica (Moderadamente Estável)

    • Foco: Padrões de React/Vue, arquitetura de pastas (ex: Go Clean Arch) e tratamento de erros.
    • Ativação: Por Arquivo/Diretório (Specific Files).
  • L2: Regras de Domínio e Negócio (Dinâmico)

    • Foco: Regras críticas de pagamento, fluxos de pedidos ou campos obrigatórios de banco de dados.
    • Ativação: Ativação Inteligente ou por Arquivo.
  • L3: Workflows e SOPs (Eventual/Alta Relevância)

    • Foco: Checklists de deploy, otimização de performance e guias de resolução de incidentes.
    • Ativação: Ativação Inteligente ou Invocação Manual.

2.Responsabilidade Única: Um Propósito por Regra

Se você não consegue definir o que uma regra restringe em apenas uma frase, ela precisa ser dividida. Muitas regras tornam-se prolixas porque tentam misturar três categorias distintas:

  1. Padrões: Restrições obrigatórias.

  2. Preferências: Sugestões de estilo.

  3. Processos: Passo a passo de execução.

Ao isolá-las, você garante que a IA não perca o foco e que a regra permaneça estável. Utilize três eixos para decidir a divisão: Responsabilidade (separar erros de logs), Escopo (separar por diretórios) e Risco (isolar operações sensíveis, como rollbacks, para ativação manual).


3.Governança de Ativos: Evitando a Degradação do Sistema

Regras sem manutenção tornam-se "ruído" que prejudica a execução das tarefas. Siga estes gatilhos de governança:

  • Quando Adicionar? Apenas se a nova regra tiver uma categoria e modo de ativação claros. Se for uma preferência pessoal, use User Rules, nunca Project Rules.

  • Quando Remover? Se a regra começar a "atropelar" tarefas (ex: exigir documentação extensa quando você só fez uma pergunta rápida de UI). Se for irrelevante ou obsoleta, delete-a para reduzir o consumo de contexto.

  • Quando Ajustar? Se o conteúdo estiver correto, mas ela aparecer na hora errada, mude o modo de ativação. Se o modelo ignorar a regra por ser muito abstrata, reestruture-a com restrições executáveis e ações claras.

Dica de Ouro: Se você sente que "não pode usar a IA em certas tarefas para não ser interrompido por uma regra específica", essa regra não deve ser global. Rebaixe-a para ativação inteligente ou manual. Assim, ela aparecerá apenas quando for necessária, protegendo a experiência geral.

4.Prática com múltiplas Rules: do 0 ao 1 para começar rápido

Nas seções anteriores, apresentamos a metodologia de configuração de Rules. Nesta parte, vamos mostrar como aplicar isso na prática com exemplos concretos.

Início rápido

Se o seu projeto ainda não possui nenhuma Rule configurada, recomendamos começar com 3 regras mínimas viáveis, cobrindo as necessidades mais comuns.

1.Apresentação do projeto e acordos de colaboração (Sempre ativo)

Essa regra é responsável apenas por fornecer o “contexto em nível de projeto”:
o que o projeto faz, onde estão os diretórios principais, como rodar localmente e quais são as verificações básicas após realizar alterações.
O objetivo é evitar que o modelo precise perguntar o contexto do projeto a cada vez, além de reduzir a probabilidade de erros como modificar o lugar errado, não conseguir executar o projeto ou esquecer validações importantes.


---
alwaysApply: true
---
# Visão geral do projeto

## O que o projeto faz
- {{Descrição em uma frase: função principal do produto/serviço}}

## Stack técnica e convenções principais
- Frontend: {{React/Vue/Next.js...}}; Backend: {{Go/Node/...}}; Gerenciador de pacotes: {{pnpm/yarn/...}}
- Padrões de código/ferramentas: {{eslint/prettier/gofmt/...}}

## Visão rápida dos diretórios
- apps/web/**: {{Entrada do aplicativo frontend}}
- apps/api/**: {{Entrada do serviço backend}}
- packages/**: {{Bibliotecas/componentes compartilhados}}
- docs/**: {{Documentação/regras}}

## Desenvolvimento e debug local
- Instalação: {{pnpm i / go mod tidy ...}}
- Inicialização: {{pnpm dev / make dev / docker compose up ...}}
- Scripts comuns: {{lint/test/build}}

## Requisitos para alterações
- Antes de modificar: confirme o escopo de impacto (quais módulos/interfaces/páginas são afetados)
- Após modificar: complete pelo menos {{N}} itens do {{checklist básico: lint/test/regressão de páginas críticas/integração de interfaces}}
- Ao entregar código: priorize “diff mínimo + passos de verificação”, evitando explicações extensas de contexto
Enter fullscreen mode Exit fullscreen mode

2.Segmentação Técnica e Fluxos de Risco

  • Isolamento de Stack (Ativação por Arquivo): Defina restrições específicas para o Front-end ou Back-end, garantindo que as tarefas respeitem as convenções de cada ecossistema.

  • Processos de Alto Risco (Ativação Manual): Configure requisitos para fluxos críticos (como deploys ou migrações). Por padrão, eles não interferem no chat, entrando em cena apenas quando solicitados explicitamente.

---
alwaysApply: false
globs: apps/web/**,**/*.tsx
---
# React Development Constraints

- Component splitting and naming: ...
- Hooks conventions: ...
- State/request/error handling: ...
- UI boundary handling: estados vazios/loading/comprimento excessivo/estado de erro
Enter fullscreen mode Exit fullscreen mode

3.Guia Prático de Escopo: Padrões Glob

O isolamento por arquivos é a forma mais direta de evitar conflitos entre Rules.

  • Subprojetos em Monorepos: apps/web/**, packages/ui/**

  • Por Extensão: **/*.tsx, **/*.sql

  • Por Diretório: src/**, migrations/**Dica: Não busque a perfeição sintática imediata. Primeiro, delimite pelo diretório principal e, se o escopo ainda for muito amplo, refine com padrões glob mais complexos.

4.Gatilhos Inteligentes: Precisão vs. Ambiguidade

Para regras de ativação inteligente, utilize termos de alto sinal. Evite descrições genéricas que geram ruído em conversas irrelevantes.

  • Use: "Tela branca", "estouro de pilha", "timeout de API", "queda de FPS".

  • Evite: "Quando houver problemas", "preciso de otimização", "ajuste o código".


Comparativo de Impacto: Antes vs. Depois

Cenário A: Diagnóstico de Erros (Ex: Layout quebrado)

  • Sem Rules: A IA oferece sugestões genéricas e desconexas (CSS, React, cache), sem uma ordem lógica de investigação. Você precisa guiar a IA passo a passo.

  • Com Rules: A IA assume o controle com base em um checklist de diagnóstico: coleta informações do console, isola o escopo do erro, valida hipóteses e apresenta a correção com testes de regressão.

Cenário B: Publicação e Rollback

  • Sem Rules: A IA sugere um fluxo padrão que pode ignorar as particularidades da sua equipe, aumentando o risco de omissões críticas.

  • Com Rules: A IA segue rigorosamente o roteiro de publicação acordado, garantindo estabilidade e conformidade em cada etapa.


Por onde começar?

Se você ainda não estruturou seu sistema de regras, siga esta trilha:

  1. Crie uma Regra Global (L0) para padrões de escrita e colaboração.

  2. Implemente Regras por Diretório (L1) separando suas tecnologias (ex: Front vs. Back).

  3. Adicione Regras de Ativação Inteligente (L2/L3) para cenários específicos à medida que sentir necessidade.

Lembre-se: Regras de IA não são estáticas; elas funcionam como configurações de engenharia que devem ser iteradas e refinadas conforme o uso.

Gestão de User Rules: O Seu Fluxo, Do Seu Jeito

Enquanto as Project Rules zelam pela consistência da equipe e do repositório, as User Rules são o espaço para as suas preferências individuais. Nelas, você define seu estilo de comunicação e hábitos de trabalho, evitando que preferências pessoais interfiram nas diretrizes coletivas do projeto.

Edição Simplificada e Intuitiva

Anteriormente, ajustar suas regras de usuário exigia abrir um editor e realizar o que parecia uma configuração técnica de baixo nível. Agora, o TRAE suporta múltiplas User Rules organizadas em campos de texto independentes no painel de configurações. Ficou muito mais natural criar, excluir ou ajustar seus padrões de trabalho rapidamente.
A filosofia aqui é simples: as User Rules devem ser intuitivas, visíveis e fáceis de manter.

O que incluir nas suas User Rules?

Recomendamos concentrar o conteúdo em três pilares de personalização:

  1. Preferências de Saída e Comunicação:

    1. Definição de idioma padrão (Português/Inglês).
    2. Nível de detalhamento (ex: "direto ao ponto" vs. "explicação passo a passo").
    3. Estrutura da resposta (ex: exigir sempre um checklist de validação).
  2. Comportamentos Padrão Sugeridos:

    1. Solicitar um resumo do plano de ação e do impacto antes de qualquer alteração de código.
    2. Exigir métodos de verificação ou pontos de regressão após a conclusão da tarefa.
  3. Hábitos Pessoais de Trabalho:

    1. Seus métodos favoritos de diagnóstico ou padrões de logs que você costuma utilizar para debug.

Lembre-se: As User Rules servem para otimizar sua produtividade pessoal e não devem ser utilizadas para sobrescrever as convenções estabelecidas pela equipe no projeto.

Maximize o uso de AGENTS.md e CLAUDE.md

Grande parte das equipes já adotou padrões da comunidade como o AGENTS.md, enquanto muitos desenvolvedores individuais já possuem suas diretrizes consolidadas no CLAUDE.md. A proposta de valor aqui é pragmática:

  • Reaproveitamento de Patrimônio Normativo: Não é necessário reescrever suas diretrizes do zero apenas por trocar de ferramenta.

  • Redução do Custo de Migração: Importe rapidamente o conhecimento e as convenções acumuladas ao longo do tempo para dentro do ecossistema do TRAE.

  • Sinergia com as Rules do TRAE: Utilize os arquivos .md para normas universais e genéricas, enquanto aproveita o sistema de múltiplas Rules do TRAE para aplicar controles granulares de escopo e timing (definindo exatamente onde e quando cada instrução deve ser ativada).

Conclusão: Transformando Regras em Ativos Estratégicos

A transição para um sistema de múltiplas regras não visa o acúmulo de conteúdo, mas sim a cristalização dos limites de atuação da IA. Para garantir que seu assistente permaneça eficiente ao longo do tempo, siga estes pilares:

  • Presença sob Demanda: A regra certa deve surgir apenas no momento exato. Utilize o isolamento de escopo para prevenir conflitos e o controle de timing para eliminar ruídos desnecessários.

  • Regras como Ativos de Engenharia: Trate suas diretrizes com o mesmo rigor que dedica ao seu código-fonte. Regras concisas, precisas e fáceis de manter são o único caminho para garantir que, a longo prazo, a IA opere exatamente como você deseja.

Top comments (0)