5.2 KiB
5.2 KiB
🤖 Protocolo para Agentes de IA
LEIA ISTO ANTES DE TRABALHAR NO CÓDIGO
Este documento define os protocolos obrigatórios para agentes de IA trabalhando no projeto Antigravity Brain.
🎯 Diretivas Primárias
- LEIA O CONHECIMENTO PRIMEIRO - Antes de escrever QUALQUER código, leia os
src/knowledge/standards/*.mdrelevantes - NUNCA HARDCODE SEGREDOS - Use a classe
Confige variáveis de ambiente - FERRAMENTAS NÃO DEVEM LANÇAR EXCEÇÕES - Sempre retorne strings de erro, nunca raise exceptions
- TESTE ANTES DE COMMITAR - Verifique alterações com
docker-compose restart app
📖 Leitura Obrigatória por Tipo de Tarefa
| Tarefa | Deve Ler Primeiro |
|---|---|
| Ferramentas Python | python_tool_standards.md |
| Alterações Docker | docker_standards.md |
| Novos agentes | DEVELOPER_GUIDE.md#adicionando-novos-agentes |
| Banco de dados | database_standards.md |
| Segurança | security_standards.md |
| Operações Git | git_standards.md |
| Alterações de UI | ui_ux_standards.md |
✅ Checklist de Alteração de Código
Antes de fazer qualquer alteração:
- Ler arquivo de padrões relevante
- Verificar se o padrão já existe no código
- Planejar alteração com impacto mínimo
- Adicionar tratamento de erros
- Testar localmente
Após fazer a alteração:
- Reiniciar container:
docker-compose restart app - Verificar logs por erros:
docker logs antigravity_brain --tail 50 - Verificar se a funcionalidade funciona
- Commitar com formato de mensagem adequado
📝 Formato de Mensagem de Commit
<tipo>: <descrição curta>
<corpo opcional>
Tipos:
feat:Nova funcionalidadefix:Correção de bugdocs:Documentaçãorefactor:Limpeza de códigotest:Testeschore:Manutenção
Exemplo:
feat: Adicionar nova persona de agente DevOps
- Criado persona-devops-dan.md
- Adicionado à crew de Infraestrutura
- Atribuídas ferramentas Docker
🔧 Protocolo de Desenvolvimento de Ferramentas
class MinhaTool(BaseTool):
name: str = "Nome Descritivo" # Agente lê isto
description: str = (
"Descrição DETALHADA de quando usar esta ferramenta. "
"Inclua exemplos de entrada e saídas esperadas."
)
args_schema: type = MinhaToolInput # Modelo Pydantic com descrições Field
def _run(self, **kwargs) -> str:
try:
# Sua lógica
return "Sucesso: ..."
except ErroEspecifico as e:
return f"Erro: Tratamento específico para {e}"
except Exception as e:
return f"Erro: Inesperado - {str(e)[:100]}"
NUNCA:
- Use
input()para interação com usuário - Lance exceções
- Retorne JSON bruto (use texto narrativo)
- Use type hints
Any
🤖 Protocolo de Desenvolvimento de Agentes
Arquivos de Persona
- Use frontmatter YAML para metadados
- Inclua campos
**Papel:**e**Objetivo:** - Escreva backstory na voz do personagem
- Defina protocolos/procedimentos claros
Atribuição de Ferramentas
- Atribua apenas ferramentas que o agente realmente precisa
- Considere
model_tier: ferramentas que requerem raciocínio →smart - Ferramentas de memória são auto-atribuídas a todos os agentes
📁 Regras de Localização de Arquivos
| Tipo de Conteúdo | Localização |
|---|---|
| Personas de agentes | src/agents/personas/persona-*.md |
| Ferramentas | src/tools/*.py |
| Padrões de conhecimento | src/knowledge/standards/*.md |
| Conhecimento dinâmico | src/knowledge/dynamic/*/*.md |
| Definições de crew | src/crews/definitions.py |
| Configuração | src/config.py |
⚠️ Erros Comuns a Evitar
1. Nomes de Variáveis em Padrões
❌ ERRADO:
return f"Erro: Arquivo '{path}' não encontrado" # {path} interpretado como template
✅ CORRETO:
return f"Erro: Arquivo 'PATH_VAR' não encontrado" # Escapado
2. Rate Limiting Ausente
❌ ERRADO:
while True:
api.call() # Queima cota instantaneamente
✅ CORRETO:
for attempt in range(MAX_RETRIES):
result = api.call()
if success: break
time.sleep(DELAY * (2 ** attempt))
3. Configuração Hardcoded
❌ ERRADO:
model = "gpt-4"
api_key = "sk-xxx"
✅ CORRETO:
config = Config.get_llm_config(mode="smart")
🧪 Protocolo de Teste
-
Teste local:
docker-compose restart app docker logs antigravity_brain --tail 50 -
Verificar ausência de erros:
docker logs antigravity_brain 2>&1 | findstr "Error ERROR Exception" -
Teste interativo:
- Abra http://localhost:8000
- Envie mensagem de teste
- Verifique roteamento correto de crew
- Confira resposta do agente
🚀 Protocolo de Deploy
-
Commitar alterações:
git add . git commit -m "feat: Descrição" git push -
No servidor de produção:
git pull docker-compose build --no-cache app docker-compose up -d
Lembre-se: Qualidade acima de velocidade. Leia os padrões. Teste suas alterações.