DEV Community

Cover image for O Que São Agentes de Agência?
Lucas
Lucas

Posted on • Originally published at apidog.com

O Que São Agentes de Agência?

A Agency é uma coleção open-source de 147 agentes de IA especializados para Claude Code, Cursor, Aider, Windsurf, GitHub Copilot e outras plataformas. Cada agente possui uma personalidade única, entregas técnicas e métricas de sucesso. Este guia técnico apresenta a arquitetura dos agentes, integração multi-ferramentas, memória MCP e os scripts bash responsáveis pela automação.

Experimente o Apidog hoje

💡Se você já está pensando em como integrar esses agentes em fluxos de trabalho de API do mundo real, você obterá muito mais deles com uma plataforma de API sólida. É exatamente aí que o Apidog se encaixa: você pode projetar, simular, testar e documentar as APIs que seus agentes consomem, depois clicar em "Executar" e observar seus agentes especializados e seus endpoints evoluírem juntos. Experimente o Apidog gratuitamente enquanto lê isso e crie um espaço de trabalho sandbox para o seu próprio backend "Agency-powered".

Por que usar agentes especializados?

Você já cansou de prompts como "Atue como um desenvolvedor sênior" e respostas genéricas? A Agency resolve isso com 147 especialistas organizados em 12 divisões, cada um otimizado para entregar resultados técnicos práticos e mensuráveis.

O Que É A Agency?

Característica Detalhes
Total de Agentes 147 agentes em 12 divisões
Formato Arquivos Markdown com frontmatter YAML (nome, descrição, cor, emoji)
Integração Compatível com Claude Code, Cursor, Aider, Windsurf, GitHub Copilot, Gemini CLI, OpenCode etc
Licença MIT — uso pessoal e comercial
Origem Surgiu no Reddit, hoje mantido pela comunidade
Inovação Chave Agentes com personalidade, entregas técnicas e métricas de sucesso

Exemplo visual dos agentes

Resumo rápido: Agency troca "Atue como um desenvolvedor" por "Ativar modo Desenvolvedor Frontend" — e o agente realmente entende de React, Vue, Angular e conformidade de acessibilidade.

Estrutura do Repositório: 12 Divisões, 147 Agentes

Os agentes ficam organizados no repositório github.com/msitarzewski/agency-agents:

agency-agents/
├── engineering/          # Frontend, Backend, DevOps, AI, Mobile, Segurança
├── design/               # UI, UX, Branding, Humor
├── marketing/            # Growth, SEO, Social
├── sales/                # Negócios, Pré-vendas
├── product/              # Produto, Pesquisa, Feedback
├── project-management/   # Gestão de projetos, experimentos
├── testing/              # QA, Testes, Evidências
├── support/              # Suporte, Relatórios, Legal
├── spatial-computing/    # XR, visionOS, Metal
├── specialized/          # Blockchain, MCP, Compliance
├── game-development/     # Unity, Unreal, Godot, Roblox
└── academic/             # Antropologia, História, Psicologia
Enter fullscreen mode Exit fullscreen mode

Cada pasta contém agentes com expertise profunda — por exemplo, engineering/ abrange desde DevOps até firmware embarcado.

Anatomia do Agente: Estrutura Interna

Todos os agentes seguem o mesmo modelo. Veja a estrutura usando o agente Arquiteto Backend:

Frontmatter (YAML)

---
name: Backend Architect
description: Arquiteto backend sênior especializado em design de sistemas escaláveis, arquitetura de banco de dados, desenvolvimento de API e infraestrutura em nuvem
color: blue
emoji: 🏗️
vibe: Projeta os sistemas que sustentam tudo — bancos de dados, APIs, nuvem, escala.
---
Enter fullscreen mode Exit fullscreen mode

Esses metadados são usados por ferramentas como Cursor e Claude Code para descoberta e apresentação visual.

Identidade e Memória

## 🧠 Sua Identidade e Memória
- **Função**: Especialista em arquitetura de sistema e desenvolvimento server-side
- **Personalidade**: Estratégico, focado em segurança, com mentalidade de escalabilidade, obcecado por confiabilidade
- **Memória**: Você se lembra de padrões de arquitetura bem-sucedidos, otimizações de desempenho e frameworks de segurança
- **Experiência**: Você viu sistemas terem sucesso através de arquitetura adequada e falharem através de atalhos técnicos
Enter fullscreen mode Exit fullscreen mode

Define persona, limites e contexto — essencial para o LLM assumir o papel correto.

Missão Principal

## 🎯 Sua Missão Principal

### Excelência em Engenharia de Dados/Esquemas
- Definir e manter esquemas de dados e especificações de índice
- Projetar estruturas de dados eficientes para conjuntos de dados em larga escala (100k+ entidades)
- Implementar pipelines ETL para transformação e unificação de dados
- Criar camadas de persistência de alto desempenho com tempos de consulta abaixo de 20ms
Enter fullscreen mode Exit fullscreen mode

Metas objetivas e mensuráveis — não apenas diretrizes vagas.

Regras Críticas

## 🚨 Regras Críticas Que Você Deve Seguir

### Arquitetura de Segurança em Primeiro Lugar
- Implementar estratégias de defesa em profundidade em todas as camadas do sistema
- Usar o princípio do menor privilégio para todos os serviços e acesso a bancos de dados
- Criptografar dados em repouso e em trânsito usando os padrões de segurança atuais
Enter fullscreen mode Exit fullscreen mode

Definam restrições inegociáveis.

Entregas Técnicas

O agente entrega exemplos reais de código executável:

-- E-commerce Database Schema Design
CREATE TABLE users (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
    deleted_at TIMESTAMP WITH TIME ZONE NULL
);

CREATE INDEX idx_users_email ON users(email) WHERE deleted_at IS NULL;
CREATE INDEX idx_users_created_at ON users(created_at);
Enter fullscreen mode Exit fullscreen mode
// Express.js API com middleware de segurança
const helmet = require('helmet');
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
  windowMs: 15 * 60 * 1000,
  max: 100,
  message: 'Too many requests from this IP, please try again later.',
});
Enter fullscreen mode Exit fullscreen mode

Métricas de Sucesso

## 🎯 Suas Métricas de Sucesso

Você é bem-sucedido quando:
- Os tempos de resposta da API permanecem abaixo de 200ms para o percentil 95
- O tempo de atividade do sistema excede 99,9% de disponibilidade
- As consultas ao banco de dados são executadas em menos de 100ms em média
- Auditorias de segurança não encontram vulnerabilidades críticas
Enter fullscreen mode Exit fullscreen mode

Resultados mensuráveis, garantindo responsabilidade de engenharia.

Integração Multi-Ferramentas

A Agency funciona com mais de 10 ferramentas/IDEs de IA. Veja como integrar rapidamente:

Ferramentas Suportadas

Ferramenta Formato Local de Instalação
Claude Code .md ~/.claude/agents/
GitHub Copilot .md ~/.github/agents/
Cursor .mdc .cursor/rules/
Aider CONVENTIONS.md Raiz do projeto
Windsurf .windsurfrules Raiz do projeto
Antigravity SKILL.md ~/.gemini/antigravity/skills/
Gemini CLI Extensão ~/.gemini/extensions/
OpenCode .md .opencode/agents/
OpenClaw SOUL.md + AGENTS.md ~/.openclaw/
Qwen Code .md ~/.qwen/agents/

Automatize a Conversão de Formatos com convert.sh

O script scripts/convert.sh transforma arquivos .md dos agentes para os formatos necessários de cada ferramenta. Exemplo para Cursor:

convert_cursor() {
  local agent_file="$1"
  local slug=$(to_kebab "$(get_field 'name' "$agent_file")")
  local output_file="$OUT_DIR/cursor/.cursor/rules/agency-${slug}.mdc"

  cat > "$output_file" << EOF
---
description: Agente da Agency: $(get_field 'description' "$agent_file")
---
$(get_body "$agent_file")
EOF
}
Enter fullscreen mode Exit fullscreen mode

Para Aider e Windsurf, todos os agentes são reunidos em arquivos únicos:

convert_aider() {
  local output="$OUT_DIR/aider/CONVENTIONS.md"
  echo "# Agentes da Agency para Aider" > "$output"
  echo "" >> "$output"

  for dir in "${AGENT_DIRS[@]}"; do
    for file in "$REPO_ROOT/$dir"/*.md; do
      echo "---" >> "$output"
      cat "$file" >> "$output"
    done
  done
}
Enter fullscreen mode Exit fullscreen mode

Automatize a Instalação com install.sh

O script install.sh implementa os agentes nos diretórios corretos:

install_claude_code() {
  local src="$REPO_ROOT"
  local dest="$HOME/.claude/agents"
  mkdir -p "$dest"
  cp -r "$src"/{engineering,design,marketing,sales,specialized}/*.md "$dest/"
  ok "Claude Code: $(find "$dest" -name '*.md' | wc -l) agentes instalados"
}
Enter fullscreen mode Exit fullscreen mode

Instalação interativa:

+------------------------------------------------+
|   A Agency — Instalador de Ferramentas         |
+------------------------------------------------+

Varredura do sistema: [*] = detectado nesta máquina

[x]  1)  [*]  Claude Code     (claude.ai/code)
[x]  2)  [*]  Copilot         (~/.github + ~/.copilot)
[x]  3)  [*]  Antigravity     (~/.gemini/antigravity)
[ ]  4)  [ ]  Gemini CLI      (extensão gemini)
[x]  7)  [*]  Cursor          (.cursor/rules)

[1-10] alternar   [a] todos   [n] nenhum   [d] detectado
[Enter] instalar   [q] sair
Enter fullscreen mode Exit fullscreen mode

Execução paralela acelera instalações multi-ferramentas:

./scripts/install.sh --parallel --jobs 8
Enter fullscreen mode Exit fullscreen mode

Memória MCP: Contexto Persistente Entre Sessões

Por padrão, agentes de IA esquecem tudo entre sessões. Com Memória MCP, isso muda:

O Que É MCP?

MCP (Model Context Protocol) permite que agentes acessem ferramentas externas e armazenamento persistente de contexto, incluindo:

  • Memória entre sessões
  • Transferência de contexto entre agentes
  • Rollback em caso de falha

Como Habilitar Memória

Adicione uma seção de Integração de Memória ao agente:

## Integração de Memória

Ao iniciar uma sessão:
- Relembre o contexto relevante de sessões anteriores usando sua função e projeto como termos de busca
- Revise quaisquer memórias marcadas com o nome do seu agente

Ao tomar decisões-chave ou concluir entregas:
- Lembre-se da decisão com tags descritivas (nome do agente, projeto, tópico)
- Inclua contexto suficiente para que uma sessão futura possa entender o que foi feito e por que

Ao passar para outro agente:
- Lembre-se de suas entregas marcadas para o agente receptor
- Inclua: o que você concluiu, o que está pendente, o que o próximo agente precisa saber
Enter fullscreen mode Exit fullscreen mode

Ferramentas MCP

Ferramenta Propósito
remember Armazenar decisões, entregas, contexto com tags
recall Buscar memórias por palavra-chave, tag ou semântica
rollback Restaurar estado anterior em caso de falha
search Encontrar memórias entre sessões e agentes

Exemplo de Fluxo com Memória

Sem MCP:

Usuário: "Construa a API"
Agente: [Constrói a API, sessão termina]

[Próxima sessão]
Usuário: "Continue de ontem"
Agente: "Não tenho contexto de sessões anteriores. Você pode colar o que fizemos?"
Enter fullscreen mode Exit fullscreen mode

Com MCP:

Usuário: "Construa a API"
Agente: [Constrói a API, lembra: "Arquiteto Backend - API de E-commerce - Tabela de Usuários, autenticação JWT, limitação de taxa"]

[Próxima sessão]
Usuário: "Continue de ontem"
Agente: [Relembra: "Ontem projetei a tabela de usuários com UUID, implementei autenticação JWT com bcrypt, adicionei limitação de taxa. Próximo: esquema do Serviço de Pedidos."]
Enter fullscreen mode Exit fullscreen mode

Consulte o exemplo completo em integrations/mcp-memory/backend-architect-with-memory.md.

Destaques de Agentes: Exemplos Práticos

1. Verificador de Realidade (Testing)

Evite aprovações sem evidência. Processo obrigatório:

# Verificar o que foi realmente construído
ls -la resources/views/ || ls -la *.html

# Cruzar as características alegadas
grep -r "luxury\|premium\|glass\|morphism" . --include="*.html" --include="*.css" || echo "NÃO FORAM ENCONTRADAS CARACTERÍSTICAS PREMIUM"

# Executar captura de tela profissional Playwright
./qa-playwright-capture.sh http://localhost:8000 public/qa-screenshots
Enter fullscreen mode Exit fullscreen mode

Checklist:

  • Revise resultados de testes headless (Chrome)
  • Compare capturas de tela automatizadas
  • Confirme com dados reais de desempenho

Sempre exija prova visual antes de aprovar entregas.


2. Injetor de Humor (Design)

Adicione personalidade sem sacrificar usabilidade:

/* Interações Divertidas de Botão */
.btn-whimsy {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);

  &::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
  }

  &:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  }
}
Enter fullscreen mode Exit fullscreen mode
// Sistema de Conquistas com Humor
class WhimsyAchievements {
  unlock(achievementId) {
    const achievement = this.achievements[achievementId];
    this.showCelebration(achievement);
    this.saveProgress(achievementId);
  }

  showCelebration(achievement) {
    const celebration = document.createElement('div');
    celebration.className = `achievement-celebration ${achievement.celebration}`;
    celebration.innerHTML = `
      <div class="achievement-card">
        <div class="achievement-icon">${achievement.icon}</div>
        <h3>${achievement.title}</h3>
        <p>${achievement.description}</p>
      </div>
    `;
    document.body.appendChild(celebration);
    setTimeout(() => celebration.remove(), 3000);
  }
}
Enter fullscreen mode Exit fullscreen mode

Microtextos para experiência do usuário:

## Mensagens de Erro
**Página 404**: "Ops! Esta página saiu de férias sem nos avisar."
**Validação de Formulário**: "Seu e-mail parece um pouco tímido – que tal adicionar o símbolo @"?
**Erro de Rede**: "Parece que a internet deu um soluço. Tente novamente?"
Enter fullscreen mode Exit fullscreen mode

3. Construtor de MCP (Especializados)

Implemente ferramentas para IA usando TypeScript:

// Esqueleto do servidor MCP TypeScript
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-server", version: "1.0.0" });

server.tool("search_items", { query: z.string(), limit: z.number().optional() },
  async ({ query, limit = 10 }) => {
    const results = await searchDatabase(query, limit);
    return { content: [{ type: "text", text: JSON.stringify(results, null, 2) }] };
  }
);

const transport = new StdioServerTransport();
await server.connect(transport);
Enter fullscreen mode Exit fullscreen mode

Boas práticas:

  • Use nomes de ferramentas descritivos (ex: search_users)
  • Parametrize entradas com Zod
  • Retorne JSON para dados e markdown para humanos
  • Sempre trate erros com mensagens claras

Comunidade e Traduções

  • 147 agentes em 12 divisões
  • 10.000+ linhas de personalidade, processo e código
  • Traduções: Chinês Simplificado (agency-agents-zh), com mais em andamento
  • Multi-ferramentas: +10 integrações automatizadas

Forks notáveis:

  • agency-agents-zh: 100 agentes traduzidos + 9 originais para o mercado chinês
  • agent-teams: Tradução independente, adaptada para Bilibili, WeChat, Xiaohongshu

Instalação: Passo a Passo

Opção 1: Claude Code (Recomendado)

# Copie os agentes para seu diretório Claude Code
cp -r agency-agents/* ~/.claude/agents/
# Ative o agente desejado:
"Olá Claude, ative o modo Desenvolvedor Frontend e me ajude com um componente React"
Enter fullscreen mode Exit fullscreen mode

Opção 2: Instalação Multi-Ferramentas

# Gere arquivos de integração
./scripts/convert.sh

# Instale interativamente (detecta ferramentas)
./scripts/install.sh

# Ou instale uma ferramenta específica
./scripts/install.sh --tool cursor
./scripts/install.sh --tool aider
Enter fullscreen mode Exit fullscreen mode

Opção 3: Usar como Referência

Navegue e adapte agentes no repositório.

Por Que É Diferente?

Vs. Prompts Genéricos

Prompts Genéricos A Agency
"Atue como um desenvolvedor" "Ativar modo Desenvolvedor Frontend"
Vago, serve para tudo Especialização profunda
Sem estrutura de entrega Exemplos de código e workflow
Sem métricas de sucesso Resultados mensuráveis

Vs. Bibliotecas de Prompts

Bibliotecas de Prompts A Agency
Coleções de prompts Sistemas de agentes
Texto estático Personalidade + workflow + memória
Sem integração +10 integrações automatizadas

Vs. Ferramentas de IA

Ferramentas de IA A Agency
Caixa preta Transparente, adaptável, bifurcável
Vendor lock-in Licença MIT, comunidade
Modelo único Funciona com qualquer LLM via MCP

Conclusões Técnicas

  1. Especialização vence generalização: 147 especialistas > 1 prompt genérico
  2. Estrutura impulsiona resultado: Frontmatter + Identidade + Missão + Regras + Entregas + Métricas
  3. Integração automatizada: Scripts bash convertem para +10 formatos
  4. Memória = continuidade: MCP resolve o "esquecer sessões"
  5. Comunidade escala: De Reddit a multi-idioma e multi-ferramentas

Próximos Passos

Para experimentar a Agency:

  1. Veja a lista completa de agentes
  2. Instale para sua ferramenta (Claude Code, Cursor, Aider, ...)
  3. Ative especialistas por nome: "Use o Verificador de Realidade para checar produção"
  4. Contribua: adicione agentes, melhore fluxos, compartilhe resultados

Construindo seus próprios agentes IA?

  • Estruture: frontmatter, identidade, missão, regras, entregas, métricas.
  • Adapte exemplos e scripts já fornecidos.

A Agency mostra que especialização não é só para humanos. Muitas vezes, a melhor equipe IA é formada por 147 especialistas — não um único modelo tentando fazer tudo.

Top comments (0)