mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-01-10 00:28:31 +00:00
* docs(cli): document device-code login and config reset guidance; renumber sections * docs(cli): fix duplicate numbering (renumber Login/API Keys/Configuration sections) * docs: Fix webhook documentation to include meta dict in all webhook payloads - Add note explaining that meta objects from kickoff requests are included in all webhook payloads - Update webhook examples to show proper payload structure including meta field - Fix webhook examples to match actual API implementation - Apply changes to English, Korean, and Portuguese documentation Resolves the documentation gap where meta dict passing to webhooks was not documented despite being implemented in the API. * WIP: CrewAI docs theme, changelog, GEO, localization * docs(cli): fix merge markers; ensure mode: "wide"; convert ASCII tables to Markdown (en/pt-BR/ko) * docs: add group icons across locales; split Automation/Integrations; update tools overviews and links
454 lines
21 KiB
Plaintext
454 lines
21 KiB
Plaintext
---
|
||
title: Criando Agentes Eficazes
|
||
description: Aprenda as melhores práticas para projetar agentes de IA poderosos e especializados que colaboram de forma eficaz para resolver problemas complexos.
|
||
icon: robot
|
||
mode: "wide"
|
||
---
|
||
|
||
## A Arte e a Ciência do Design de Agentes
|
||
|
||
No núcleo do CrewAI está o agente – uma entidade de IA especializada projetada para desempenhar funções específicas dentro de um framework colaborativo. Embora criar agentes básicos seja simples, criar agentes verdadeiramente eficazes que geram resultados excepcionais requer a compreensão de princípios fundamentais de design e boas práticas.
|
||
|
||
Este guia vai ajudá-lo a dominar a arte de projetar agentes, permitindo criar personas de IA especializadas que colaboram de forma eficaz, pensam criticamente e produzem resultados de alta qualidade adaptados às suas necessidades específicas.
|
||
|
||
### Por Que o Design de Agentes é Importante
|
||
|
||
A forma como você define seus agentes impacta significativamente:
|
||
|
||
1. **Qualidade do resultado**: Agentes bem projetados produzem resultados mais relevantes e de alta qualidade
|
||
2. **Eficiência da colaboração**: Agentes com habilidades complementares trabalham juntos de maneira mais eficiente
|
||
3. **Desempenho nas tarefas**: Agentes com papéis e objetivos claros executam tarefas de forma mais eficaz
|
||
4. **Escalabilidade do sistema**: Agentes bem projetados podem ser reutilizados em múltiplos crews e contextos
|
||
|
||
Vamos explorar as melhores práticas para criar agentes que se destacam nessas dimensões.
|
||
|
||
## A Regra 80/20: Foque Mais nas Tarefas do que nos Agentes
|
||
|
||
Ao construir sistemas de IA eficazes, lembre-se deste princípio crucial: **80% do seu esforço deve ser dedicado ao design das tarefas, e apenas 20% à definição dos agentes**.
|
||
|
||
Por quê? Porque mesmo o agente mais perfeitamente definido irá falhar com tarefas mal elaboradas, mas tarefas bem projetadas podem elevar até mesmo agentes simples. Isso significa:
|
||
|
||
- Dedique a maior parte do seu tempo escrevendo instruções claras para as tarefas
|
||
- Defina entradas detalhadas e saídas esperadas
|
||
- Adicione exemplos e contexto para orientar a execução
|
||
- Reserve o tempo restante para o papel, objetivo e histórico do agente
|
||
|
||
Isso não quer dizer que o design do agente não seja importante – ele é, sim. Mas o design das tarefas é onde ocorrem a maioria das falhas de execução, então priorize de acordo.
|
||
|
||
## Princípios Fundamentais do Design de Agentes Eficazes
|
||
|
||
### 1. O Framework Papel–Objetivo–Histórico
|
||
|
||
Os agentes mais poderosos no CrewAI têm uma base sólida em três elementos-chave:
|
||
|
||
#### Papel: A Função Especializada do Agente
|
||
|
||
O papel define o que o agente faz e sua área de especialização. Ao criar papéis:
|
||
|
||
- **Seja específico e especializado**: Em vez de “Escritor”, use “Especialista em Documentação Técnica” ou “Contador de Histórias Criativo”
|
||
- **Alinhe com profissões do mundo real**: Baseie os papéis em arquétipos profissionais reconhecíveis
|
||
- **Inclua expertise no domínio**: Especifique o campo de conhecimento do agente (ex: “Analista Financeiro especializado em tendências de mercado”)
|
||
|
||
**Exemplos de papéis eficazes:**
|
||
```yaml
|
||
role: "Pesquisador Sênior de UX especializado em análise de entrevistas com usuários"
|
||
role: "Arquiteto de Software Full-Stack com expertise em sistemas distribuídos"
|
||
role: "Diretor de Comunicação Corporativa especializado em gestão de crises"
|
||
```
|
||
|
||
#### Objetivo: A Finalidade e Motivação do Agente
|
||
|
||
O objetivo direciona os esforços do agente e orienta seu processo de tomada de decisão. Objetivos eficazes devem:
|
||
|
||
- **Ser claros e focados em resultado**: Defina o que o agente precisa alcançar
|
||
- **Enfatizar padrões de qualidade**: Inclua expectativas sobre a qualidade do trabalho
|
||
- **Incorporar critérios de sucesso**: Ajude o agente a entender o que é considerado “bom”
|
||
|
||
**Exemplos de objetivos eficazes:**
|
||
```yaml
|
||
goal: "Descobrir insights acionáveis analisando dados de entrevistas, identificando padrões recorrentes, necessidades não atendidas e oportunidades de melhoria"
|
||
goal: "Projetar arquiteturas de sistemas robustas e escaláveis que equilibrem performance, manutenção e custo-benefício"
|
||
goal: "Criar comunicações de crise claras e empáticas, abordando as preocupações das partes interessadas e protegendo a reputação organizacional"
|
||
```
|
||
|
||
#### Histórico: Experiência e Perspectiva do Agente
|
||
|
||
O histórico aprofunda o agente, influenciando como ele aborda problemas e interage com os demais. Bons históricos:
|
||
|
||
- **Estabelecem expertise e experiência**: Explique como o agente adquiriu suas habilidades
|
||
- **Definem estilo de trabalho e valores**: Descreva como o agente encara seu trabalho
|
||
- **Criam uma persona coesa**: Garanta que todos os elementos do histórico estejam alinhados ao papel e ao objetivo
|
||
|
||
**Exemplos de históricos eficazes:**
|
||
```yaml
|
||
backstory: "Você passou 15 anos conduzindo e analisando pesquisas com usuários em grandes empresas de tecnologia. Tem talento para ler nas entrelinhas e identificar padrões que outros não enxergam. Acredita que uma boa experiência do usuário é invisível e que os melhores insights vêm tanto do que os usuários não dizem quanto do que dizem."
|
||
|
||
backstory: "Com mais de 20 anos de experiência construindo sistemas distribuídos em larga escala, você desenvolveu uma abordagem pragmática para arquitetura de software. Viu sistemas bem sucedidos e fracassados e aprendeu lições valiosas com ambos. Equilibra as melhores práticas teóricas com restrições práticas e sempre considera os aspectos de manutenção e operação em seus projetos."
|
||
|
||
backstory: "Como um profissional de comunicação experiente que já orientou múltiplas organizações em crises de grande repercussão, você entende a importância da transparência, agilidade e empatia em respostas a crises. Tem uma abordagem metódica para criar mensagens que abordam preocupações mantendo a credibilidade da organização."
|
||
```
|
||
|
||
### 2. Especialistas em vez de Generalistas
|
||
|
||
Agentes desempenham muito melhor quando recebem papéis especializados em vez de papéis genéricos. Um agente altamente focado gera resultados mais precisos e relevantes:
|
||
|
||
**Genérico (Menos Eficaz):**
|
||
```yaml
|
||
role: "Writer"
|
||
```
|
||
|
||
**Especializado (Mais Eficaz):**
|
||
```yaml
|
||
role: "Redator Técnico de Blog especializado em explicar conceitos complexos de IA para públicos não técnicos"
|
||
```
|
||
|
||
**Vantagens dos Especialistas:**
|
||
- Compreensão mais clara do resultado esperado
|
||
- Performance mais consistente
|
||
- Melhor alinhamento com tarefas específicas
|
||
- Maior capacidade de fazer julgamentos específicos do domínio
|
||
|
||
### 3. Equilibrando Especialização e Versatilidade
|
||
|
||
Agentes eficazes equilibram bem a especialização (fazer uma coisa muito bem) e a versatilidade (adaptar-se a diversas situações):
|
||
|
||
- **Especialize no papel, seja versátil na aplicação**: Crie agentes com habilidades especializadas aplicáveis em múltiplos contextos
|
||
- **Evite definições excessivamente restritas**: Garanta que agentes possam lidar com variações dentro de sua área de expertise
|
||
- **Considere o contexto colaborativo**: Projete agentes cujas especialidades complementem os demais do crew
|
||
|
||
### 4. Definição Nível Apropriado de Expertise
|
||
|
||
O nível de expertise atribuído ao agente determina como ele realiza as tarefas:
|
||
|
||
- **Agentes iniciantes**: Bons para tarefas simples, brainstorm, rascunhos iniciais
|
||
- **Agentes intermediários**: Adequados para a maioria das tarefas padrão com execução confiável
|
||
- **Agentes especialistas**: Ideais para tarefas complexas e especializadas que exigem profundidade e nuances
|
||
- **Agentes de classe mundial**: Reservados para tarefas críticas onde a qualidade excepcional é essencial
|
||
|
||
Escolha o nível de expertise baseado na complexidade da tarefa e no padrão de qualidade exigido. Em crews colaborativos, tendem a funcionar melhor equipes com níveis variados de expertise, reservando maior especialização para as funções mais chave.
|
||
|
||
## Exemplos Práticos: Antes e Depois
|
||
|
||
Veja exemplos de definições de agentes antes e depois de aplicar essas boas práticas:
|
||
|
||
### Exemplo 1: Agente de Criação de Conteúdo
|
||
|
||
**Antes:**
|
||
```yaml
|
||
role: "Writer"
|
||
goal: "Write good content"
|
||
backstory: "You are a writer who creates content for websites."
|
||
```
|
||
|
||
**Depois:**
|
||
```yaml
|
||
role: "Estrategista de Conteúdo B2B para Tecnologia"
|
||
goal: "Criar conteúdos envolventes e tecnicamente precisos, explicando tópicos complexos em linguagem acessível, promovendo engajamento e apoiando os objetivos do negócio"
|
||
backstory: "Você passou uma década criando conteúdos para empresas líderes em tecnologia, especializando-se na tradução de conceitos técnicos para públicos empresariais. É ótimo em pesquisa, entrevistas com especialistas e estruturação da informação para máxima clareza e impacto. Acredita que o melhor conteúdo B2B educa antes de vender, construindo confiança através da expertise genuína e não do hype de marketing."
|
||
```
|
||
|
||
### Exemplo 2: Agente de Pesquisa
|
||
|
||
**Antes:**
|
||
```yaml
|
||
role: "Researcher"
|
||
goal: "Find information"
|
||
backstory: "You are good at finding information online."
|
||
```
|
||
|
||
**Depois:**
|
||
```yaml
|
||
role: "Especialista em Pesquisa Acadêmica de Tecnologias Emergentes"
|
||
goal: "Descobrir e sintetizar pesquisas de ponta, identificando tendências, metodologias e resultados principais, avaliando a qualidade e confiabilidade das fontes"
|
||
backstory: "Com formação em ciência da computação e biblioteconomia, você dominou a arte da pesquisa digital. Já trabalhou com equipes de pesquisa em universidades de prestígio e sabe como navegar bancos de dados acadêmicos, avaliar a qualidade das pesquisas e sintetizar descobertas em diferentes áreas. Seu método é rigoroso: sempre cruza informações e rastreia a origem dos dados antes de chegar a conclusões."
|
||
```
|
||
|
||
## Criando Tarefas Eficazes para seus Agentes
|
||
|
||
Embora o design dos agentes seja importante, o design das tarefas é crítico para uma boa execução. Aqui estão as melhores práticas para definir tarefas que irão impulsionar o sucesso dos seus agentes:
|
||
|
||
### A Anatomia de uma Tarefa Eficaz
|
||
|
||
Uma tarefa bem projetada tem dois componentes-chave com propósitos distintos:
|
||
|
||
#### Descrição da Tarefa: O Processo
|
||
A descrição deve focar no que fazer e como fazer, incluindo:
|
||
- Instruções detalhadas de execução
|
||
- Contexto e informações de fundo
|
||
- Escopo e restrições
|
||
- Passos do processo a serem seguidos
|
||
|
||
#### Saída Esperada: O Entregável
|
||
A saída esperada deve definir como o resultado final deve ser apresentado:
|
||
- Especificações de formato (markdown, JSON, etc.)
|
||
- Estrutura exigida
|
||
- Critérios de qualidade
|
||
- Exemplos de bons entregáveis (sempre que possível)
|
||
|
||
### Melhores Práticas para Design de Tarefas
|
||
|
||
#### 1. Propósito Único, Saída Única
|
||
Tarefas funcionam melhor quando são focadas em um objetivo claro:
|
||
|
||
**Exemplo Ruim (Muito Abrangente):**
|
||
```yaml
|
||
task_description: "Research market trends, analyze the data, and create a visualization."
|
||
```
|
||
|
||
**Exemplo Bom (Focado):**
|
||
```yaml
|
||
# Task 1
|
||
research_task:
|
||
description: "Research the top 5 market trends in the AI industry for 2024."
|
||
expected_output: "A markdown list of the 5 trends with supporting evidence."
|
||
|
||
# Task 2
|
||
analysis_task:
|
||
description: "Analyze the identified trends to determine potential business impacts."
|
||
expected_output: "A structured analysis with impact ratings (High/Medium/Low)."
|
||
|
||
# Task 3
|
||
visualization_task:
|
||
description: "Create a visual representation of the analyzed trends."
|
||
expected_output: "A description of a chart showing trends and their impact ratings."
|
||
```
|
||
|
||
#### 2. Seja Explícito Sobre Entradas e Saídas
|
||
Sempre especifique claramente quais são as entradas da tarefa e como deve ser o resultado:
|
||
|
||
**Exemplo:**
|
||
```yaml
|
||
analysis_task:
|
||
description: >
|
||
Analyze the customer feedback data from the CSV file.
|
||
Focus on identifying recurring themes related to product usability.
|
||
Consider sentiment and frequency when determining importance.
|
||
expected_output: >
|
||
A markdown report with the following sections:
|
||
1. Executive summary (3-5 bullet points)
|
||
2. Top 3 usability issues with supporting data
|
||
3. Recommendations for improvement
|
||
```
|
||
|
||
#### 3. Inclua Propósito e Contexto
|
||
Explique por que a tarefa importa e como ela se encaixa no fluxo de trabalho maior:
|
||
|
||
**Exemplo:**
|
||
```yaml
|
||
competitor_analysis_task:
|
||
description: >
|
||
Analyze our three main competitors' pricing strategies.
|
||
This analysis will inform our upcoming pricing model revision.
|
||
Focus on identifying patterns in how they price premium features
|
||
and how they structure their tiered offerings.
|
||
```
|
||
|
||
#### 4. Use Ferramentas de Saída Estruturada
|
||
Para saídas legíveis por máquina, especifique claramente o formato:
|
||
|
||
**Exemplo:**
|
||
```yaml
|
||
data_extraction_task:
|
||
description: "Extract key metrics from the quarterly report."
|
||
expected_output: "JSON object with the following keys: revenue, growth_rate, customer_acquisition_cost, and retention_rate."
|
||
```
|
||
|
||
## Erros Comuns a Evitar
|
||
|
||
Baseando-se em experiências de casos reais, estes são os erros mais comuns no design de agentes e tarefas:
|
||
|
||
### 1. Instruções de Tarefa Pouco Claras
|
||
|
||
**Problema:** Tarefas sem detalhes suficientes, dificultando a execução pelo agente.
|
||
|
||
**Exemplo de Design Ruim:**
|
||
```yaml
|
||
research_task:
|
||
description: "Research AI trends."
|
||
expected_output: "A report on AI trends."
|
||
```
|
||
|
||
**Versão Melhorada:**
|
||
```yaml
|
||
research_task:
|
||
description: >
|
||
Research the top emerging AI trends for 2024 with a focus on:
|
||
1. Enterprise adoption patterns
|
||
2. Technical breakthroughs in the past 6 months
|
||
3. Regulatory developments affecting implementation
|
||
|
||
For each trend, identify key companies, technologies, and potential business impacts.
|
||
expected_output: >
|
||
A comprehensive markdown report with:
|
||
- Executive summary (5 bullet points)
|
||
- 5-7 major trends with supporting evidence
|
||
- For each trend: definition, examples, and business implications
|
||
- References to authoritative sources
|
||
```
|
||
|
||
### 2. "Tarefas-Deus" Que Tentam Fazer Demais
|
||
|
||
**Problema:** Tarefas que combinam múltiplas operações complexas em um único conjunto de instruções.
|
||
|
||
**Exemplo de Design Ruim:**
|
||
```yaml
|
||
comprehensive_task:
|
||
description: "Research market trends, analyze competitor strategies, create a marketing plan, and design a launch timeline."
|
||
```
|
||
|
||
**Versão Melhorada:**
|
||
Divida em tarefas sequenciais e focadas:
|
||
```yaml
|
||
# Task 1: Research
|
||
market_research_task:
|
||
description: "Research current market trends in the SaaS project management space."
|
||
expected_output: "A markdown summary of key market trends."
|
||
|
||
# Task 2: Competitive Analysis
|
||
competitor_analysis_task:
|
||
description: "Analyze strategies of the top 3 competitors based on the market research."
|
||
expected_output: "A comparison table of competitor strategies."
|
||
context: [market_research_task]
|
||
|
||
# Continue with additional focused tasks...
|
||
```
|
||
|
||
### 3. Descrição e Saída Esperada Desalinhadas
|
||
|
||
**Problema:** O que a descrição pede não corresponde ao que a saída esperada especifica.
|
||
|
||
**Exemplo de Design Ruim:**
|
||
```yaml
|
||
analysis_task:
|
||
description: "Analyze customer feedback to find areas of improvement."
|
||
expected_output: "A marketing plan for the next quarter."
|
||
```
|
||
|
||
**Versão Melhorada:**
|
||
```yaml
|
||
analysis_task:
|
||
description: "Analyze customer feedback to identify the top 3 areas for product improvement."
|
||
expected_output: "A report listing the 3 priority improvement areas with supporting customer quotes and data points."
|
||
```
|
||
|
||
### 4. Não Entender o Processo Você Mesmo
|
||
|
||
**Problema:** Pedir para o agente executar tarefas que você mesmo não entende completamente.
|
||
|
||
**Solução:**
|
||
1. Tente realizar a tarefa manualmente primeiro
|
||
2. Documente o processo, pontos de decisão e fontes de informação
|
||
3. Use esta documentação como base para a descrição da tarefa
|
||
|
||
### 5. Uso Prematuro de Estruturas Hierárquicas
|
||
|
||
**Problema:** Criar hierarquias de agentes desnecessariamente complexas quando processos sequenciais seriam suficientes.
|
||
|
||
**Solução:** Comece com processos sequenciais e só adote modelos hierárquicos quando a complexidade do fluxo de trabalho realmente justificar.
|
||
|
||
### 6. Definições Genéricas ou Pouco Claras de Agentes
|
||
|
||
**Problema:** Definições genéricas de agentes levam a resultados genéricos.
|
||
|
||
**Exemplo de Design Ruim:**
|
||
```yaml
|
||
agent:
|
||
role: "Business Analyst"
|
||
goal: "Analyze business data"
|
||
backstory: "You are good at business analysis."
|
||
```
|
||
|
||
**Versão Melhorada:**
|
||
```yaml
|
||
agent:
|
||
role: "Especialista em Métricas SaaS focado em startups em fase de crescimento"
|
||
goal: "Identificar insights acionáveis em dados de negócios que possam impactar diretamente a retenção de clientes e o crescimento de receita"
|
||
backstory: "Com mais de 10 anos analisando modelos de negócios SaaS, você desenvolveu um olhar apurado para as métricas que realmente impulsionam crescimento sustentável. Já ajudou diversas empresas a identificar pontos de alavancagem que mudaram o rumo dos negócios. Acredita em conectar dados a recomendações específicas e acionáveis, e não apenas a observações genéricas."
|
||
```
|
||
|
||
## Estratégias Avançadas de Design de Agentes
|
||
|
||
### Projetando para Colaboração
|
||
|
||
Ao criar agentes que trabalharão em conjunto em um crew, pense em:
|
||
|
||
- **Habilidades complementares**: Projete agentes com competências distintas, porém complementares
|
||
- **Pontos de transferência**: Defina interfaces claras para a passagem de trabalho entre agentes
|
||
- **Tensão construtiva**: Às vezes, agentes com perspectivas um pouco diferentes promovem melhores resultados por meio de diálogos construtivos
|
||
|
||
Por exemplo, um crew de criação de conteúdo pode incluir:
|
||
|
||
```yaml
|
||
# Research Agent
|
||
role: "Research Specialist for technical topics"
|
||
goal: "Gather comprehensive, accurate information from authoritative sources"
|
||
backstory: "You are a meticulous researcher with a background in library science..."
|
||
|
||
# Writer Agent
|
||
role: "Technical Content Writer"
|
||
goal: "Transform research into engaging, clear content that educates and informs"
|
||
backstory: "You are an experienced writer who excels at explaining complex concepts..."
|
||
|
||
# Editor Agent
|
||
role: "Content Quality Editor"
|
||
goal: "Ensure content is accurate, well-structured, and polished while maintaining consistency"
|
||
backstory: "With years of experience in publishing, you have a keen eye for detail..."
|
||
```
|
||
|
||
### Criando Usuários Especializados de Ferramentas
|
||
|
||
Alguns agentes podem ser projetados para explorar certas ferramentas de maneira eficiente:
|
||
|
||
```yaml
|
||
role: "Data Analysis Specialist"
|
||
goal: "Derive meaningful insights from complex datasets through statistical analysis"
|
||
backstory: "With a background in data science, you excel at working with structured and unstructured data..."
|
||
tools: [PythonREPLTool, DataVisualizationTool, CSVAnalysisTool]
|
||
```
|
||
|
||
### Personalizando Agentes para Capacidades do LLM
|
||
|
||
Diferentes LLMs têm pontos fortes distintos. Projete seus agentes levando essas capacidades em conta:
|
||
|
||
```yaml
|
||
# For complex reasoning tasks
|
||
analyst:
|
||
role: "Data Insights Analyst"
|
||
goal: "..."
|
||
backstory: "..."
|
||
llm: openai/gpt-4o
|
||
|
||
# For creative content
|
||
writer:
|
||
role: "Creative Content Writer"
|
||
goal: "..."
|
||
backstory: "..."
|
||
llm: anthropic/claude-3-opus
|
||
```
|
||
|
||
## Testando e Iterando no Design de Agentes
|
||
|
||
A construção de agentes geralmente é um processo iterativo. Veja como colocar em prática:
|
||
|
||
1. **Comece com um protótipo**: Crie uma definição inicial do agente
|
||
2. **Teste com tarefas de exemplo**: Avalie o desempenho em tarefas representativas
|
||
3. **Analise os resultados**: Identifique pontos fortes e fracos
|
||
4. **Refine a definição**: Ajuste papel, objetivo e histórico conforme suas observações
|
||
5. **Teste em colaboração**: Avalie como o agente se sai em conjunto no crew
|
||
|
||
## Conclusão
|
||
|
||
Criar agentes eficazes é tanto arte quanto ciência. Ao definir cuidadosamente papéis, objetivos e históricos alinhados às suas necessidades, e combinar isso com tarefas bem projetadas, você constrói colaboradores de IA especializados capazes de gerar resultados excepcionais.
|
||
|
||
Lembre-se de que o design de agentes e tarefas é um processo iterativo. Comece com essas boas práticas, observe os agentes em ação e refine sua abordagem conforme necessário. E sempre tenha em mente a regra 80/20 – concentre a maior parte do esforço em criar tarefas claras e focadas para tirar o melhor de seus agentes.
|
||
|
||
<Check>
|
||
Parabéns! Agora você entende os princípios e práticas do design eficaz de agentes. Aplique estas técnicas para criar agentes poderosos e especializados que trabalham juntos perfeitamente e realizam tarefas complexas.
|
||
</Check>
|
||
|
||
## Próximos Passos
|
||
|
||
- Experimente diferentes configurações de agentes para o seu caso de uso
|
||
- Aprenda sobre [como construir seu primeiro crew](/pt-BR/guides/crews/first-crew) para ver como agentes trabalham juntos
|
||
- Explore os [CrewAI Flows](/pt-BR/guides/flows/first-flow) para uma orquestração mais avançada
|