---
title: Fluxos de trabalho com planejamento primeiro
description: Usando planejamento assistido por IA para tarefas complexas
---

Os fluxos de trabalho com planejamento primeiro aproveitam o **Plan Mode**, um modo de execução somente leitura em que o Verdent analisa código, conduz pesquisas e cria planos detalhados antes de executar qualquer mudança. Esse fluxo de trabalho separa o planejamento estratégico da implementação, permitindo revisão e refinamento antes de se comprometer com modificações no código.

### Quando usar o Plan Mode

- Mudanças complexas em vários arquivos que exigem coordenação
- Incerteza sobre a melhor abordagem de implementação
- Mudanças de alto risco em código crítico para produção
- Tarefas em bases de código desconhecidas onde a exploração é necessária
- Necessidades de planejamento estratégico que exigem aprovação antes da execução

---

## Divisão de tarefas assistida por IA

O Verdent decompõe automaticamente solicitações complexas em etapas sequenciais e gerenciáveis por meio da divisão de tarefas assistida por IA.

### Processo de divisão

<Steps>
  <Step title="Análise da solicitação">
    O Verdent analisa sua solicitação em linguagem natural para identificar:
    - Objetivo principal e resultado desejado
    - Arquivos, componentes ou sistemas afetados
    - Operações técnicas e dependências necessárias
    - Possíveis fatores de complexidade
  </Step>
  <Step title="Contexto da base de código">
    O Verdent examina a estrutura do seu projeto para entender:
    - Arquitetura existente e padrões estabelecidos
    - Organização de arquivos e stack de tecnologia
    - Implementações atuais que exigem modificação
  </Step>
  <Step title="Decomposição de tarefas">
    O Verdent divide a solicitação em subtarefas lógicas:
    - Identifica pontos de quebra naturais e fases de implementação
    - Ordena as tarefas por dependência (tarefas pré-requisito primeiro)
    - Agrupa operações relacionadas
    - Estima o escopo e a complexidade de cada subtarefa
  </Step>
  <Step title="Esclarecimento interativo">
    O Verdent pode fazer perguntas para refinar a divisão:
    - "Devo modificar a validação existente ou criar um novo validador?"
    - "Você quer atualizar os testes de todos os componentes afetados?"
    - "Essa mudança deve se aplicar tanto aos componentes web quanto aos mobile?"
  </Step>
</Steps>

### Características da divisão

<Tabs>
  <Tab title="Granularidade">
    - Tarefas dimensionadas para 15 a 45 minutos de trabalho focado
    - Pontos de quebra naturais para testes e validação
    - Complexas o suficiente para serem significativas, simples o suficiente para serem executadas
  </Tab>
  <Tab title="Sequenciamento">
    - Dependências respeitadas (configuração antes da implementação)
    - Progressão lógica (camada de dados → lógica de negócios → UI)
    - Etapas de verificação após fases importantes
  </Tab>
  <Tab title="Personalização">
    O formato da divisão do plano pode ser personalizado via `plan_rules.md` para controlar:
    - Nível de detalhe (alto nível vs. granular)
    - Estrutura e seções do plano
    - Informações incluídas (estimativas de tempo, riscos, dependências)
  </Tab>
</Tabs>

---

## Revisão e aprovação do plano

Após enviar uma solicitação no Plan Mode, o Verdent gera um plano estruturado exibido na Chat View para sua revisão.

### Processo de revisão

<Steps>
  <Step title="Receber o plano estruturado">
    O Verdent gera um plano com seções claras, etapas numeradas, arquivos afetados e dependências identificadas
  </Step>
  <Step title="Analisar a qualidade do plano">
    Revise quanto a:
    - **Correção:** A abordagem resolve o problema?
    - **Completude:** Todas as etapas necessárias estão incluídas?
    - **Eficiência:** Esta é a melhor abordagem?
    - **Risco:** O que pode dar errado? Casos extremos ou preocupações de segurança?
  </Step>
  <Step title="Fazer perguntas de esclarecimento">
    Solicite informações adicionais se algo não estiver claro:
    ```
    Can you explain step 3 in more detail?
    Why are we modifying both the service and controller?
    What happens if the API call fails in step 5?
    ```
  </Step>
  <Step title="Solicitar modificações">
    Forneça feedback para revisar o plano:
    ```
    Let's use JWT tokens instead of OAuth2
    Can we break step 4 into smaller substeps?
    Add error handling considerations to the plan
    ```
  </Step>
  <Step title="Escolher sua próxima ação">
    Depois que o Verdent gerar o plano, duas opções são apresentadas:
    - **Edit**: Solicite modificações, faça perguntas de esclarecimento ou refine o plano ainda mais
    - **Start Building**: Mude para o Agent Mode e comece a executar o plano aprovado
  </Step>
</Steps>

### Opções de interação com o plano

Após revisar o plano gerado, o Verdent apresenta duas opções:

**Edit:**

Escolha essa opção para:
- Solicitar mudanças específicas na abordagem do plano
- Fazer perguntas de esclarecimento sobre detalhes de implementação
- Adicionar elementos ou considerações ausentes
- Simplificar ou expandir determinadas etapas
- Explorar abordagens alternativas

Isso mantém você no Plan Mode para refinamento iterativo sem executar nenhuma mudança.

**Start Building:**

Escolha essa opção para:
- Mudar para o Agent Mode e iniciar a execução
- Implementar o plano aprovado com total autonomia
- Fazer modificações em arquivos e executar comandos conforme planejado

Você também pode optar por:
- **Implementação manual**: Revisar o plano e implementar as mudanças você mesmo
- **Execução incremental**: Pedir ao Verdent para implementar fases específicas com checkpoints de revisão entre os estágios

<Tip>
Use **Edit** para iterar no plano quantas vezes forem necessárias. Escolha **Start Building** somente quando estiver confiante de que a abordagem está correta e completa.
</Tip>

---

## Planejamento iterativo

Os usuários podem modificar e iterar livremente os planos escolhendo **Edit** e fornecendo feedback conversacional. O Verdent trata a geração de planos como um processo interativo e iterativo.

### Métodos de modificação

**Solicitar mudanças específicas:**
```
Change step 3 to use Redux instead of Context API
Add input validation before the database insert
Swap the order of steps 4 and 5
```

**Adicionar elementos ausentes:**
```
Add error handling for network failures
Include rollback procedures
Add performance optimization considerations
```

**Simplificar ou expandir:**
```
This is too complex - can we simplify the approach?
Break down step 5 into more detailed substeps
Give me more detail on the database schema changes
```

**Explorar alternativas:**
```
What if we used webhooks instead?
Show me an alternative plan using microservices architecture
Can we accomplish this without changing the database schema?
```

### Exemplo de fluxo de iteração

```
User: "Add user authentication to the API"

[Verdent generates initial plan with JWT tokens]

User: "Actually, let's use OAuth2 instead of JWT"

[Verdent revises plan to use OAuth2]

User: "Add step for migrating existing users"

[Verdent adds migration step to plan]

User: "Can you break down the migration step more?"

[Verdent expands migration with detailed substeps]

User: Chooses **Start Building**

[Verdent switches to Agent Mode and begins execution]
```

**Iterações ilimitadas:**
- Sem limite para o número de revisões
- Cada iteração mantém o contexto da conversa
- Versões anteriores preservadas no histórico do chat
- Possibilidade de referenciar versões anteriores do plano: "volte para a primeira abordagem"

<Note>
A rejeição de um plano é uma parte natural do processo de planejamento iterativo. Ela garante que apenas estratégias aprovadas e bem compreendidas sejam executadas, reduzindo o esforço desperdiçado com implementações incorretas.
</Note>

---

## Perguntas frequentes (FAQs)

<Accordion title="O Plan Mode realmente escreve algum código nos meus arquivos?">
**Não.** O Plan Mode é estritamente somente leitura:

- O Verdent pode ler arquivos, pesquisar código e analisar sua base de código
- **Nenhuma gravação, edição ou exclusão de arquivos** ocorre durante o Plan Mode
- Os planos são exibidos apenas na Chat View
- A execução de código começa somente depois que você aprova explicitamente e muda para o Agent Mode

**Garantia de segurança:** O Plan Mode não consegue modificar seu código acidentalmente. Ele foi projetado para exploração segura e desenvolvimento de estratégias.
</Accordion>

<Accordion title="Posso executar um plano de forma incremental em vez de tudo de uma vez?">
**Sim.** A execução incremental é totalmente suportada:

**Padrão de aprovação incremental:**
```
Let's start with Phase 1 first, then we'll review before continuing
Implement steps 1-3, then stop for review
Do the database migration first, I'll review before the API changes
```

**Como funciona:**
1. O Verdent executa as etapas especificadas
2. Para em um checkpoint de revisão
3. Você revisa os resultados e fornece feedback
4. Continua com a próxima fase ou ajusta a abordagem
5. Repete até concluir

**Melhor para:** Mudanças de alto risco, padrões desconhecidos, código crítico para produção onde a implantação em fases reduz o risco.

<Tip>
A execução incremental permite que você aprove partes de um plano enquanto adia outras, útil quando as prioridades mudam no meio da tarefa.
</Tip>
</Accordion>

<Accordion title="O que acontece se eu rejeitar um plano?">
**A rejeição de um plano é completamente normal e esperada:**

- O Verdent gera um novo plano com base no seu feedback
- As versões anteriores do plano permanecem no histórico do chat para referência
- Nenhuma mudança de código ocorre (o Plan Mode é somente leitura)
- Você pode iterar quantas vezes quiser até ficar satisfeito

**Motivos comuns de rejeição:**
- A abordagem é complexa demais ou simples demais
- Casos extremos ou tratamento de erros ausentes
- Existe uma arquitetura alternativa melhor
- Requisitos mal compreendidos

**Dica profissional:** A rejeição faz parte do processo. É melhor refinar os planos iterativamente do que desperdiçar esforço executando estratégias incorretas.
</Accordion>

<Accordion title="Como alterno entre o Plan Mode e o Agent Mode?">
**A alternância é instantânea pela Input Box:**

**Para entrar no Plan Mode:**
- Clique no botão **Switch Mode** na Input Box
- Selecione **Plan Mode** no menu suspenso
- OU diga: "Mude para o Plan Mode"

**Para sair do Plan Mode:**
- Clique no botão **Switch Mode** na Input Box
- Selecione **Agent Mode** no menu suspenso
- OU escolha **Start Building** após revisar um plano

**Persistência do modo:**
- A escolha do modo persiste dentro da sessão atual
- Novas sessões começam no Agent Mode padrão
- Você pode alternar entre os modos livremente a qualquer momento

**Fluxo de trabalho típico:** Plan Mode → revisar → Agent Mode → executar → voltar ao Plan Mode para o próximo recurso complexo.
</Accordion>

<Accordion title="Posso personalizar o formato e o nível de detalhe dos planos gerados?">
**Sim, usando o `plan_rules.md`:**

**Local:** `~/.verdent/plan_rules.md` (diretório de configuração global)

**O que você pode personalizar:**
- **Nível de detalhe:** Visão geral de alto nível vs. passo a passo granular
- **Estrutura do plano:** Seções a incluir (resumo, riscos, dependências, testes)
- **Informações incluídas:** Estimativas de tempo, caminhos de arquivos, etapas de verificação
- **Preferências de formato:** Listas numeradas, fases, categorização

**Exemplo de plan_rules.md:**
```markdown
# Plan Rules

## Plan Structure
- Start with a brief summary (2-3 sentences)
- Include estimated time for each major step
- List prerequisites before implementation steps
- Identify potential risks and mitigation strategies

## Level of Detail
- Break tasks into subtasks of 15-30 minutes
- Include specific file paths for modifications
- List functions or components to create/modify
- Provide verification steps for each phase
```

**As mudanças se aplicam imediatamente** às novas sessões do Plan Mode.
</Accordion>

<Accordion title="O Plan Mode usa o mesmo contexto que o Agent Mode?">
**Não, o Plan Mode tem gerenciamento de contexto separado:**

- **Contexto do Plan Mode:** Otimizado para análise e pensamento estratégico
- **Contexto do Agent Mode:** Otimizado para execução e implementação
- **Benefício:** Os planos não poluem o contexto de execução com pesquisas exploratórias

**Por que a separação importa:**
- O Plan Mode pode explorar várias abordagens sem sobrecarregar o Agent Mode
- Tentativas de planos rejeitados não consomem o contexto do Agent Mode
- Um começo limpo ao mudar para a execução

**Redefinição de contexto:** Alternar entre os modos fornece um contexto novo para o novo tipo de tarefa.
</Accordion>

<Accordion title="E se o Verdent fizer perguntas de esclarecimento durante o planejamento?">
**As perguntas de esclarecimento fazem parte do processo de divisão:**

**Por que as perguntas são feitas:**
- Requisitos ambíguos precisam de esclarecimento
- Existem várias abordagens válidas (escolha uma)
- Casos extremos ou restrições ainda não especificados
- Preferências não claras na solicitação inicial

**Como responder:**
- Responda diretamente em linguagem conversacional
- Forneça exemplos se for útil
- Diga "sua escolha" se você confiar no julgamento do Verdent
- Faça contraperguntas se estiver em dúvida

**Exemplo de troca:**
```
Verdent: "Should I modify the existing validation or create a new validator?"
You: "Create a new validator - we'll deprecate the old one later"
Verdent: [Updates plan with new validator approach]
```

**Dica profissional:** As perguntas ajudam o Verdent a gerar planos precisos e relevantes, adaptados às suas necessidades específicas.
</Accordion>

---

## Veja também

<CardGroup cols={2}>
  <Card title="Modos de execução" icon="sliders" href="/docs/verdent-for-vscode/execution-modes/overview">
    Saiba mais sobre o Plan Mode e outros modos de execução
  </Card>
  <Card title="Boas práticas: prompts" icon="message" href="/docs/verdent-for-vscode/best-practices/prompts">
    Escreva prompts eficazes para o Plan Mode
  </Card>
</CardGroup>
