> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lumi.new/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompting Eficaz

> Interaja de forma mais eficaz com a Lumi AI.

O prompting eficaz é crucial ao interagir com sistemas de IA como o Lumi, permitindo que você obtenha resultados melhores e mais precisos. Trata-se de uma comunicação clara, em vez de simplesmente digitar uma solicitação. O Lumi, que se baseia em grandes modelos de linguagem (LLMs), prevê saídas com base em padrões em seus dados de treinamento, o que significa que ele não "entende" no sentido humano. Portanto, **estruturar seus prompts, ser explícito e fornecer contexto são vitais**.

Aqui estão os princípios e técnicas essenciais para escrever prompts eficazes no Lumi:

## Princípios Essenciais para Ótimos Prompts

* **Seja Claro e Específico**: Sempre esclareça *o que* você quer e *como*. Evite linguagem vaga; em vez de "Melhore este aplicativo", especifique "Refatore o aplicativo para limpar componentes não utilizados e melhorar o desempenho, sem alterar a UI ou a funcionalidade". Forneça contexto sobre para quem é o aplicativo, o que ele deve fazer e quaisquer recursos indispensáveis.
* **Foque na Jornada do Usuário**: Considere a sequência de ações que um usuário realizará em seu aplicativo. Por exemplo ——

```mdx expandable theme={null}
Os usuários se inscrevem, criam um novo projeto, definem marcos e acompanham seu progresso diariamente.
```

* **Descreva o "O Quê", Não o "Como"**: O Lumi lida com a complexidade do backend, então foque no resultado ou na aparência desejada. Por exemplo ——

```mdx expandable theme={null}
O aplicativo deve armazenar dados do usuário, carregar rapidamente e ter uma aparência limpa e moderna.
```

* **Itere e Refine**: Não se contente com a primeira saída. Os prompts podem ser refinados iterativamente por meio do diálogo com a IA. O Lumi oferece uma saída totalmente funcional desde o início, mas é uma base para refinamentos posteriores.

## A Estrutura C.L.E.A.R.

* **Conciso**: Vá direto ao ponto, evitando rodeios ou linguagem vaga. Busque precisão e brevidade.
* **Lógico**: Organize seu prompt de maneira passo a passo ou estruturada, dividindo solicitações complexas em etapas ordenadas.
* **Explícito**: Diga exatamente o que você quer e o que não quer, fornecendo exemplos de formato ou conteúdo, se possível.
* **Adaptável**: Refine seus prompts com base na saída da IA, esclarecendo instruções ou apontando erros em prompts de acompanhamento.
* **Reflexivo**: Revise o que funcionou e o que não funcionou após cada interação para melhorar prompts futuros.

## Os Quatro Níveis de Prompting

1. **Prompting Estruturado "com Rodinhas" (Formato Explícito)**: Útil para iniciantes ou tarefas complexas, envolve o uso de seções rotuladas:

* **Contexto**: Informações de fundo ou definição de papel para a IA.
* **Tarefa**: O objetivo específico.
* **Diretrizes**: Abordagem ou estilo preferido.
* **Restrições**: Limites rígidos ou o que não deve ser feito.
* Por exemplo ——

```mdx expandable theme={null}
Você é um desenvolvedor full-stack especialista usando o Lumi. Tarefa: Crie uma página de login segura em React usando Supabase (autenticação por e-mail/senha). Diretrizes: A UI deve ser minimalista e seguir as convenções do Tailwind CSS. Forneça comentários de código claros para cada etapa. Restrições: Modifique apenas o componente LoginPage; não altere outras páginas. Garanta que a saída final seja uma página funcional no editor do Lumi".
```

2. **Prompting Conversacional (Sem Rodinhas)**: Quando estiver confortável, você pode escrever de forma mais natural, como se estivesse explicando uma tarefa a um colega, mantendo a clareza e a completude sem rótulos formais.
3. **Meta Prompting (Melhoria de Prompt Assistida por IA)**: Peça à IA do Lumi para ajudar a melhorar seus prompts ou planos. Por exemplo ——

```mdx expandable theme={null}
Revise meu último prompt e identifique qualquer ambiguidade ou informação ausente. Como posso reescrevê-lo para ser mais conciso e preciso?
```

4. **Meta Prompting Reverso (IA como Ferramenta de Documentação)**: Use a IA para resumir ou documentar o que aconteceu após uma tarefa, o que é excelente para depuração e captura de conhecimento. Por exemplo ——

```mdx expandable theme={null}
Resuma os erros que encontramos ao configurar a autenticação JWT e explique como os resolvemos. Em seguida, elabore um prompt que eu possa usar no futuro para evitar esses erros ao configurar a autenticação.
```

## Estruturas de Prompt

* **O Prompt "Quem / O Quê / Por Quê"**:
* **PARA QUEM** é este aplicativo?
* **O QUE** ele os ajuda a fazer?
* **POR QUE** alguém o usaria?
* **O Prompt "História de Usuário"**: Enquadre sua solicitação da perspectiva do usuário final, por exemplo,

```mdx expandable theme={null}
Como designer freelancer, quero enviar faturas com minha marca para clientes e rastrear quando são pagas, para que eu possa manter o controle do meu fluxo de caixa.
```

* **O Prompt "Detalhamento de Funcionalidades"**: Liste as capacidades que você deseja adicionar, por exemplo,

```expandable theme={null}
Quero adicionar as seguintes capacidades: Adicionar e organizar leads; Rastrear o status do contato (novo, contatado, interessado, fechado); Adicionar notas e lembretes de acompanhamento.
```

## Técnicas Avançadas e Dicas para Melhores Resultados

* **Prompting Zero-Shot vs. Few-Shot**:
* **Zero-Shot**: Peça ao modelo para realizar uma tarefa *sem exemplos*, confiando em seu treinamento geral. Funciona bem para tarefas comuns ou claramente descritas.
* **Few-Shot**: Forneça alguns *exemplos ou demonstrações* em seu prompt para mostrar à IA o formato ou estilo exato que você deseja. Melhora a qualidade da saída para tarefas específicas ou incomuns.
* **Gerenciando Alucinações e Garantindo a Precisão**:
* **Forneça Dados de Base**: Utilize a **Base de Conhecimento** do seu projeto (PRD, fluxos de usuário, pilha de tecnologia) para um contexto persistente.
* **Referências no Prompt**: Inclua trechos de documentação relevantes ou dados para consultas factuais ou interações externas.
* **Peça um Raciocínio Passo a Passo**: Peça à IA para mostrar seu raciocínio para detectar erros ou revelar incertezas.
* **Instrua a Honestidade**: Inclua diretrizes como "Se você não tiver certeza... não invente – em vez disso, explique o que seria necessário ou peça esclarecimentos".
* **Verificação Iterativa**: Peça à IA para verificar novamente sua saída após tarefas críticas.
* **Aproveitando os Insights do Modelo (Conheça Suas Ferramentas de IA)**:
* **Modo de Discussão vs. Modo Padrão (Modo Agente)**: Use o **Modo de Discussão** para brainstorming, discutir designs ou depurar sem alterações imediatas no código. Use o **Modo Padrão (Modo Agente)** para executar alterações (escrever código, criar componentes).
* **Comprimento do Token**: Divida tarefas grandes em prompts menores se a saída puder exceder os limites de tokens.
* **Preferências de Formatação e Código**: Declare suas preferências (por exemplo, "gerar código em formato markdown") para guiar a IA.
* **Técnicas para refinar seu aplicativo**
* "'Faça mais...' / 'Faça menos...': Ajuste o tom, o layout ou a ênfase."
* "'Adicione um...' / 'Remova o...': Adicione ou remova funcionalidades específicas ou blocos de UI."
* "'Mude \[isto] para \[aquilo]': Ajuste texto, visuais, layout ou lógica de componentes."
* "'Deve parecer com...': Use estilos de aplicativos familiares para guiar o layout ou o comportamento."
* "'Adicione lógica para...': Adicione regras funcionais ou fluxos sem precisar de código."
* "'Agrupe ou organize...': Estruture o conteúdo para clareza ou fluxo de trabalho."
* "'Adicione comportamento condicional...': Introduza ramificações inteligentes ou funcionalidades baseadas em estado."
* "Declarações 'Permita que os usuários...': Enquadre a funcionalidade da perspectiva do usuário final."
* **Construa em Camadas ao Criar Complexidade**: Comece simples, depois adicione funcionalidades e, finalmente, aprimore o visual. Essa abordagem incremental evita sobrecarregar o sistema ou a si mesmo.
* **Inclua Restrições e Requisitos**: Declare explicitamente o que *deve* ou *não deve* ser feito, como "Crie um aplicativo de tarefas simples com um máximo de 3 tarefas visíveis por vez".
* **Evite Ambiguidade**: Esclareça quaisquer termos que possam ser interpretados de maneiras diferentes.
* **Atente-se ao Tom e à Cortesia**: Frases educadas podem adicionar contexto e detalhes, ajudando a IA a entender as instruções com mais clareza.
* **Use a Formatação a Seu Favor**: Estruture listas ou etapas, especialmente quando você quer que a IA gere uma lista ou siga uma sequência.
* **Aproveite Exemplos ou Referências**: Forneça um design de destino, estilo de código ou imagem para dar à IA uma referência concreta.
* **Integração de Feedback**: Revise a saída da IA e forneça feedback específico para refinamentos.
* **Enfatizando a Acessibilidade**: Solicite código que siga os padrões de acessibilidade, incluindo rótulos ARIA e navegação por teclado.
* **Componentes e Bibliotecas Predefinidos**: Especifique bibliotecas de UI (por exemplo, `shadcn/ui` com Tailwind CSS) para consistência.
* **Prompting Multilíngue**: Especifique o idioma desejado para comentários de código e documentação.
* **Definindo a Estrutura do Projeto e o Gerenciamento de Arquivos**: Descreva nomes e caminhos de arquivos para garantir a geração de código organizada.
* **Forneça Instruções de Edição Precisas (Foque a IA)**: Seja específico sobre *onde* e *o que* mudar, ou use o recurso 'Selecionar' do Lumi para destacar componentes. Diga à IA o que *não* tocar.
* **Bloqueando Arquivos (Solução Alternativa)**: Instrua consistentemente a IA a não alterar arquivos críticos em cada prompt.
* **Ajustes de Design e UI**: Para alterações visuais, declare explicitamente "alterações puramente visuais" e guie a IA através de um plano de responsividade.
* **Refatoração e Otimização de Código**: Enfatize 'nenhuma mudança no comportamento' ao pedir uma refatoração. Você também pode pedir um plano de refatoração primeiro e depois implementá-lo em etapas.
* **Depuração com Assistência de IA**: Copie os logs de erro em um prompt (idealmente no Modo de Discussão) e pergunte a causa e a solução. Se a correção não funcionar, adapte e forneça novas informações.
* **Quando (e Quando Não) Envolver a IA**: Use a IA para lógica complexa, geração de boilerplate ou operações de várias etapas. Para tarefas triviais (por exemplo, alterar o rótulo de um texto), pode ser mais rápido fazer edições manuais.

Ao aplicar esses princípios e técnicas, você pode guiar eficazmente a IA do Lumi para alcançar seus objetivos de desenvolvimento, transformando-a em uma colega de equipe poderosa e confiável.
