Perguntas Frequentes e Solução de Problemas
O que você será capaz de fazer após aprender
- Identificar rapidamente e resolver problemas de diretório durante a inicialização
- Investigar as razões para falhas ao iniciar o assistente de IA
- Compreender o processo de tratamento de falhas de estágio (repetir/reverter/intervenção manual)
- Resolver problemas de instalação de dependências e conflitos de versões
- Lidar com erros de permissão excessiva do Agent
- Usar
factory continuepara retomar a execução em uma nova sessão
O seu dilema atual
Você pode ter encontrado esses problemas:
- ❌ Ao executar
factory init, é exibida a mensagem "diretório não vazio" - ❌ O assistente de IA não consegue iniciar, não sabe como configurar permissões
- ❌ A execução do pipeline falha repentinamente em um estágio, não sabe como continuar
- ❌ Erro na instalação de dependências, conflitos de versões graves
- ❌ Os artefatos gerados pelo Agent são marcados como "permissão excessiva"
- ❌ Não entende o mecanismo de pontos de verificação e repetição
Não se preocupe, esses problemas têm soluções claras. Este tutorial ajudará você a investigar e reparar rapidamente vários tipos de falhas.
🎒 Preparativos antes de começar
Conhecimentos prévios
Antes de começar, certifique-se de que você já:
- [ ] Completou Instalação e Configuração
- [ ] Completou Inicializar Projeto Factory
- [ ] Compreendeu a Visão Geral do Pipeline de 7 Estágios
- [ ] Sabe como usar a Integração Claude Code
Ideia central
O tratamento de falhas do AI App Factory segue uma estratégia rigorosa, entender esse mecanismo fará com que você não se sinta perdido ao encontrar problemas.
Três níveis de tratamento de falhas
- Repetição automática: cada estágio permite repetir uma vez
- Arquivamento de reversão: artefatos com falha são movidos para
_failed/, revertidos para o último ponto de verificação bem-sucedido - Intervenção manual: após falhar duas vezes consecutivamente, é pausado e você precisa reparar manualmente
Regras de tratamento de permissão excessiva
- Agent grava em diretório não autorizado → movido para
_untrusted/ - Pipeline pausado, esperando sua revisão
- Ajuste permissões ou modifique o comportamento do Agent conforme necessário
Limites de permissão
Cada Agent tem um escopo rigoroso de permissões de leitura e gravação:
| Agent | Pode ler | Pode gravar |
|---|---|---|
| bootstrap | Nenhum | input/ |
| prd | input/ | artifacts/prd/ |
| ui | artifacts/prd/ | artifacts/ui/ |
| tech | artifacts/prd/ | artifacts/tech/, artifacts/backend/prisma/ |
| code | artifacts/ui/, artifacts/tech/, artifacts/backend/prisma/ | artifacts/backend/, artifacts/client/ |
| validation | artifacts/backend/, artifacts/client/ | artifacts/validation/ |
| preview | artifacts/backend/, artifacts/client/ | artifacts/preview/ |
Problemas de inicialização
Problema 1: Erro de diretório não vazio
Sintoma:
$ factory init
Error: Directory is not empty or contains conflicting filesCausa: O diretório atual contém arquivos conflitantes (não são arquivos permitidos como .git, README.md, etc.).
Solução:
- Confirmar o conteúdo do diretório:
ls -la- Limpar arquivos conflitantes:
# Método 1: excluir arquivos conflitantes
rm -rf <conflicting-files>
# Método 2: mover para um novo diretório
mkdir ../my-app && mv . ../my-app/
cd ../my-app- Reinicializar:
factory initArquivos permitidos: .git, .gitignore, README.md, .vscode/*, .idea/*
Problema 2: Já existe um projeto Factory
Sintoma:
$ factory init
Error: This is already a Factory projectCausa: O diretório já contém os diretórios .factory/ ou artifacts/.
Solução:
- Se for um novo projeto, limpe antes de inicializar:
rm -rf .factory artifacts
factory init- Se quiser restaurar um projeto antigo, execute
factory rundiretamente
Problema 3: Falha ao iniciar o assistente de IA
Sintoma:
$ factory init
✓ Factory project initialized
Could not find Claude Code installation.Causa: Claude Code não está instalado ou não está configurado corretamente.
Solução:
- Instalar Claude Code:
# macOS
brew install claude
# Linux (baixar do site oficial)
# https://claude.ai/code- Verificar instalação:
claude --version- Iniciar manualmente:
# No diretório do projeto Factory
claude "Por favor, leia .factory/pipeline.yaml e .factory/agents/orchestrator.checkpoint.md, inicie o pipeline"Fluxo de inicialização manual: 1. Ler pipeline.yaml → 2. Ler orchestrator.checkpoint.md → 3. Aguardar a IA executar
Problemas de execução do pipeline
Problema 4: Erro de diretório não é um projeto
Sintoma:
$ factory run
Error: Not a Factory project. Run 'factory init' first.Causa: O diretório atual não é um projeto Factory (falta o diretório .factory/).
Solução:
- Confirmar a estrutura do projeto:
ls -la .factory/- Alternar para o diretório correto ou reinicializar:
# Alternar para o diretório do projeto
cd /path/to/project
# Ou reinicializar
factory initProblema 5: Arquivo do Pipeline não encontrado
Sintoma:
$ factory run
Error: Pipeline configuration not foundCausa: O arquivo pipeline.yaml está ausente ou o caminho está incorreto.
Solução:
- Verificar se o arquivo existe:
ls -la .factory/pipeline.yaml
ls -la pipeline.yaml- Copiar manualmente (se o arquivo estiver perdido):
cp /path/to/factory/source/hyz1992/agent-app-factory/pipeline.yaml .factory/- Reinicializar (mais confiável):
rm -rf .factory
factory initTratamento de falhas de estágio
Problema 6: Falha no estágio Bootstrap
Sintoma:
input/idea.mdnão existeidea.mdfalta seções críticas (usuários-alvo, valor central, hipóteses)
Causa: O usuário não forneceu informações suficientes ou o Agent não gravou o arquivo corretamente.
Fluxo de tratamento:
1. Verificar se o diretório input/ existe → criar se não existir
2. Repetir uma vez, solicitando ao Agent usar o modelo correto
3. Se ainda falhar, solicitar ao usuário fornecer uma descrição mais detalhada do produtoReparo manual:
- Verificar o diretório de artefatos:
ls -la artifacts/_failed/bootstrap/- Criar o diretório input/:
mkdir -p input- Fornecer uma descrição detalhada do produto:
Forneça à IA uma ideia de produto mais clara e detalhada, incluindo:
- Quem são os usuários-alvo (pessoa específica)
- Qual é a dor central
- Qual problema deseja resolver
- Ideias preliminares de funcionalidade
Problema 7: Falha no estágio PRD
Sintoma:
- PRD contém detalhes técnicos (viola limites de responsabilidade)
- Funcionalidades Must Have > 7 (escopo inflado)
- Falta o não-alvo (limites não claramente definidos)
Causa: O Agent ultrapassou os limites ou o controle de escopo não foi rigoroso.
Fluxo de tratamento:
1. Verificar se prd.md não contém palavras-chave técnicas
2. Verificar se o número de funcionalidades Must Have ≤ 7
3. Verificar se os usuários-alvo têm personas específicas
4. Fornecer requisitos de correção específicos ao repetirExemplos de erros comuns:
| Tipo de erro | Exemplo de erro | Exemplo correto |
|---|---|---|
| Contém detalhes técnicos | "Implementado usando React Native" | "Suporta as plataformas iOS e Android" |
| Escopo inflado | "Contém 10 funcionalidades como pagamento, social, mensagens" | "Não mais de 7 funcionalidades principais" |
| Objetivo vago | "Todos podem usar" | "Trabalhadores urbanos de 25-35 anos" |
Reparo manual:
- Verificar o PRD com falha:
cat artifacts/_failed/prd/prd.md- Corrigir o conteúdo:
- Excluir descrição do stack técnico
- Simplificar a lista de funcionalidades para ≤ 7
- Complementar a lista de não-alvo
- Mover manualmente para a posição correta:
mv artifacts/_failed/prd/prd.md artifacts/prd/prd.mdProblema 8: Falha no estágio UI
Sintoma:
- Número de páginas > 8 (escopo inflado)
- Arquivo HTML de pré-visualização corrompido
- Usando estilo de IA (fonte Inter + gradiente roxo)
- Falha na análise YAML
Causa: O escopo da interface é muito grande ou as diretrizes estéticas não foram seguidas.
Fluxo de tratamento:
1. Contar o número de páginas em ui.schema.yaml
2. Tentar abrir preview.web/index.html no navegador
3. Verificar a sintaxe YAML
4. Verificar se estão sendo usados elementos de estilo proibidosReparo manual:
- Verificar a sintaxe YAML:
npx js-yaml .factory/artifacts/ui/ui.schema.yaml- Abrir a pré-visualização no navegador:
open artifacts/ui/preview.web/index.html # macOS
xdg-open artifacts/ui/preview.web/index.html # Linux- Reduzir o número de páginas: verificar
ui.schema.yaml, garantir que o número de páginas ≤ 8
Problema 9: Falha no estágio Tech
Sintoma:
- Erro de sintaxe no esquema Prisma
- Introdução de microsserviços, cache, etc. (design excessivo)
- Modelos de dados excessivos (número de tabelas > 10)
- Falta definição de API
Causa: Complexidade da arquitetura ou problemas de design de banco de dados.
Fluxo de tratamento:
1. Executar npx prisma validate para verificar o schema
2. Verificar se tech.md contém seções necessárias
3. Contar o número de modelos de dados
4. Verificar se foram introduzidas tecnologias complexas desnecessáriasReparo manual:
- Verificar o esquema Prisma:
cd artifacts/backend/
npx prisma validateSimplificar a arquitetura: verificar
artifacts/tech/tech.md, remover tecnologias desnecessárias (microsserviços, cache, etc.)Complementar definição de API: garantir que
tech.mdcontenha todos os endpoints de API necessários
Problema 10: Falha no estágio Code
Sintoma:
- Falha na instalação de dependências
- Erro de compilação TypeScript
- Falta de arquivos necessários
- Testes falhando
- API não consegue iniciar
Causa: Conflitos de versões de dependências, problemas de tipo ou erros lógicos no código.
Fluxo de tratamento:
1. Executar npm install --dry-run para verificar dependências
2. Executar npx tsc --noEmit para verificar tipos
3. Verificar a estrutura do diretório em relação à lista de arquivos
4. Executar npm test para verificar testes
5. Se tudo acima passar, tentar iniciar o serviçoReparo de problemas comuns de dependências:
# Conflito de versões
rm -rf node_modules package-lock.json
npm install
# Versão do Prisma não correspondente
npm install @prisma/client@latest prisma@latest
# Problemas de dependências do React Native
npx expo install --fixTratamento de erros TypeScript:
# Verificar erros de tipo
npx tsc --noEmit
# Verificar novamente após reparo
npx tsc --noEmitVerificação da estrutura do diretório:
Garanta que contém os seguintes arquivos/diretórios necessários:
artifacts/backend/
├── package.json
├── tsconfig.json
├── prisma/
│ ├── schema.prisma
│ └── seed.ts
├── src/
│ ├── index.ts
│ ├── lib/
│ └── routes/
└── vitest.config.ts
artifacts/client/
├── package.json
├── tsconfig.json
├── app.json
└── src/Problema 11: Falha no estágio Validation
Sintoma:
- Relatório de validação incompleto
- Muitos problemas graves (número de erros > 10)
- Problemas de segurança (chaves codificadas detectadas)
Causa: Qualidade pobre no estágio Code ou existem problemas de segurança.
Fluxo de tratamento:
1. Analisar report.md para confirmar que todas as seções existem
2. Contar o número de problemas graves
3. Se problemas graves > 10, sugerir reverter ao estágio Code
4. Verificar resultados da verificação de segurançaReparo manual:
- Ver o relatório de validação:
cat artifacts/validation/report.mdReparar problemas graves: reparar item por item de acordo com o relatório
Reverter ao estágio Code (se houver muitos problemas):
factory run code # Reiniciar a partir do estágio CodeProblema 12: Falha no estágio Preview
Sintoma:
- README incompleto (falta etapas de instalação)
- Falha na construção Docker
- Falta configuração de implantação
Causa: Conteúdo perdido ou problemas de configuração.
Fluxo de tratamento:
1. Verificar se README.md contém todas as seções necessárias
2. Tentar docker build para verificar o Dockerfile
3. Verificar se os arquivos de configuração de implantação existemReparo manual:
- Verificar a configuração Docker:
cd artifacts/preview/
docker build -t my-app .- Verificar arquivos de implantação:
Garanta que existem os seguintes arquivos:
artifacts/preview/
├── README.md
├── Dockerfile
├── docker-compose.yml
└── .github/workflows/ci.yml # Configuração CI/CDTratamento de erros de permissão excessiva
Problema 13: Agent escreveu sem autorização
Sintoma:
Error: Unauthorized write to <path>
Artifacts moved to: artifacts/_untrusted/<stage-id>/
Pipeline paused. Manual intervention required.Causa: O Agent gravou conteúdo em um diretório ou arquivo não autorizado.
Solução:
- Verificar arquivos não autorizados:
ls -la artifacts/_untrusted/<stage-id>/Revisar a matriz de permissões: confirmar o escopo gravável desse Agent
Escolher método de tratamento:
- Opção A: corrigir o comportamento do Agent (recomendado)
No assistente de IA, aponte claramente o problema de permissão excessiva, solicite correção.
- Opção B: mover arquivos para a posição correta (cuidado)
Se você tem certeza de que o arquivo deve existir, mova manualmente:
bashmv artifacts/_untrusted/<stage-id>/<file> artifacts/<target-stage>/- Opção C: ajustar a matriz de permissões (avançado)
Modifique
.factory/policies/capability.matrix.md, aumente as permissões de gravação desse Agent.Continuar execução:
factory continueCenários de exemplo:
- Code Agent tenta modificar
artifacts/prd/prd.md(viola limites de responsabilidade) - UI Agent tenta criar diretório
artifacts/backend/(excede o escopo de permissões) - Tech Agent tenta gravar no diretório
artifacts/ui/(ultrapassa os limites)
Problemas de execução em múltiplas sessões
Problema 14: Insuficiência de tokens ou acumulação de contexto
Sintoma:
- Respostas da IA ficam mais lentas
- Contexto muito longo leva à queda de desempenho do modelo
- Consumo excessivo de tokens
Causa: Acúmulo de muito histórico de conversas na mesma sessão.
Solução: usar factory continue
O comando factory continue permite que você:
- Salvar o estado atual em
.factory/state.json - Iniciar uma nova janela do Claude Code
- Continuar executando a partir do estágio atual
Etapas de execução:
- Verificar o estado atual:
factory statusExemplo de saída:
Pipeline Status:
───────────────────────────────────────
Project: my-app
Status: Waiting
Current Stage: tech
Completed: bootstrap, prd, ui- Continuar em uma nova sessão:
factory continueEfeito:
- Cada estágio possui um contexto limpo e exclusivo
- Evita acúmulo de tokens
- Suporta recuperação de interrupção
Iniciar manualmente uma nova sessão (se factory continue falhar):
# Regenerar configuração de permissões
claude "Por favor, regenere .claude/settings.local.json, permita operações Read/Write/Glob/Bash"
# Iniciar manualmente uma nova sessão
claude "Por favor, continue executando o pipeline, o estágio atual é tech"Problemas de ambiente e permissões
Problema 15: Versão do Node.js muito baixa
Sintoma:
Error: Node.js version must be >= 16.0.0Causa: A versão do Node.js não atende aos requisitos.
Solução:
- Verificar a versão:
node --version- Atualizar o Node.js:
# macOS
brew install node@18
brew link --overwrite node@18
# Linux (usando nvm)
nvm install 18
nvm use 18
# Windows (baixar do site oficial)
# https://nodejs.org/Problema 16: Problemas de permissão do Claude Code
Sintoma:
- A IA solicita "não tem permissões de leitura/gravação"
- A IA não consegue acessar o diretório
.factory/
Causa: A configuração de permissões em .claude/settings.local.json está incorreta.
Solução:
- Verificar o arquivo de permissões:
cat .claude/settings.local.json- Regenerar permissões:
factory continue # Regenera automaticamenteOu execute manualmente:
node -e "
const { generateClaudeSettings } = require('./cli/utils/claude-settings');
generateClaudeSettings(process.cwd());
"- Exemplo de configuração de permissões correta:
{
\"allowedCommands\": [\"npm\", \"npx\", \"node\", \"git\"],
\"allowedPaths\": [
\"/absolute/path/to/project/.factory\",
\"/absolute/path/to/project/artifacts\",
\"/absolute/path/to/project/input\",
\"/absolute/path/to/project/node_modules\"
]
}Problema 17: Problemas de rede levam a falha na instalação de dependências
Sintoma:
Error: Network request failed
npm ERR! code ECONNREFUSEDCausa: Problemas de conexão de rede ou falha ao acessar a fonte npm.
Solução:
- Verificar a conexão de rede:
ping registry.npmjs.org- Alternar a fonte npm:
# Usar espelho Taobao
npm config set registry https://registry.npmmirror.com
# Verificar
npm config get registry- Reinstalar dependências:
rm -rf node_modules package-lock.json
npm installÁrvore de decisão de intervenção manual
Estágio falhou
│
▼
É a primeira falha?
├─ Yes → Repetição automática
│ │
│ ▼
│ Repetição bem-sucedida? → Yes → Continuar o processo
│ │
│ No → Segunda falha
│
└─ No → Analisar a causa da falha
│
▼
É um problema de entrada?
├─ Yes → Modificar arquivos de entrada
│ └─ Reverter ao estágio upstream
│
└─ No → Solicitar intervenção manualPontos de decisão:
- Primeira falha: permite repetição automática, observe se o erro desaparece
- Segunda falha: interrompe o processamento automático, você precisa revisar manualmente
- Problema de entrada: modifique
input/idea.mdou artefatos upstream - Problema técnico: verifique dependências, configuração ou lógica do código
- Problema de permissão excessiva: revise a matriz de permissões ou comportamento do Agent
Avisos sobre armadilhas comuns
❌ Erros comuns
Modificar diretamente artefatos upstream
Abordagem incorreta: modificar
input/idea.mdno estágio PRDAbordagem correta: reverter ao estágio Bootstrap
Ignorar confirmação de pontos de verificação
Abordagem incorreta: pular rapidamente todos os pontos de verificação
Abordagem correta: verificar cuidadosamente se os artefatos de cada estágio atendem às expectativas
Excluir manualmente artefatos com falha
Abordagem incorreta: excluir o diretório
_failed/Abordagem correta: preservar artefatos com falha para comparação e análise
Não regenerar permissões após modificação
Abordagem incorreta: não atualizar
.claude/settings.local.jsonapós modificar a estrutura do projetoAbordagem correta: executar
factory continuepara atualizar automaticamente as permissões
✅ Melhores práticas
Falha precoce: descobrir problemas o mais cedo possível, evitando desperdício de tempo em estágios subsequentes
Logs detalhados: preservar logs completos de erros, facilitando a investigação de problemas
Operações atômicas: a saída de cada estágio deve ser atômica, facilitando a reversão
Preservar evidências: arquivar artefatos com falha antes de repetir, facilitando comparação e análise
Repetição progressiva: ao repetir, fornecer orientações mais específicas, em vez de simplesmente repetir
Resumo desta aula
Este curso cobre vários problemas comuns ao usar o AI App Factory:
| Categoria | Número de problemas | Método principal de solução |
|---|---|---|
| Inicialização | 3 | Limpar diretório, instalar assistente de IA, iniciar manualmente |
| Execução do pipeline | 2 | Confirmar estrutura do projeto, verificar arquivos de configuração |
| Falha de estágio | 7 | Repetir, reverter, reparar e executar novamente |
| Tratamento de permissão excessiva | 1 | Revisar matriz de permissões, mover arquivos ou ajustar permissões |
| Execução em múltiplas sessões | 1 | Usar factory continue para iniciar nova sessão |
| Ambiente e permissões | 3 | Atualizar Node.js, regenerar permissões, alternar fonte npm |
Pontos-chave:
- Cada estágio permite repetição automática uma vez
- Após falhar duas vezes consecutivamente, é necessária intervenção manual
- Artefatos com falha são arquivados automaticamente em
_failed/ - Arquivos com permissão excessiva são movidos para
_untrusted/ - Use
factory continuepara economizar tokens
Lembre-se:
Ao encontrar problemas, não entre em pânico, primeiro verifique os logs de erro, depois verifique os diretórios de artefatos correspondentes, consulte as soluções deste curso e investigue passo a passo. A maioria dos problemas pode ser resolvida repetindo, revertendo ou reparando arquivos de entrada.
Próxima aula
Na próxima aula, vamos aprender Melhores Práticas.
Você aprenderá:
- Como fornecer uma descrição clara do produto
- Como usar o mecanismo de pontos de verificação
- Como controlar o escopo do projeto
- Como otimizar iterativamente passo a passo
Leituras relacionadas:
- Tratamento de falhas e reversão - Compreenda em profundidade as estratégias de tratamento de falhas
- Mecanismo de permissões e segurança - Entenda a matriz de limites de capacidade
- Otimização de contexto - Técnicas para economizar tokens
Apêndice: referência de código-fonte
Clique para expandir e ver a localização do código-fonte
Data de atualização: 2026-01-29
| Função | Caminho do arquivo | Número da linha |
|---|---|---|
| Verificação de diretório de inicialização | cli/commands/init.js | 32-53 |
| Inicialização do assistente de IA | cli/commands/init.js | 119-147 |
| Definição da estratégia de falhas | policies/failure.policy.md | 1-276 |
| Especificação de códigos de erro | policies/error-codes.md | 1-469 |
| Matriz de limites de capacidade | policies/capability.matrix.md | 1-23 |
| Configuração do pipeline | pipeline.yaml | Texto completo |
| Núcleo do agendador | agents/orchestrator.checkpoint.md | 1-301 |
| Comando Continue | cli/commands/continue.js | 1-144 |
Constantes-chave:
- Número permitido de funcionalidades Must Have: ≤ 7
- Número permitido de páginas da interface: ≤ 8
- Número permitido de modelos de dados: ≤ 10
- Número de repetições: cada estágio permite repetir uma vez
Funções-chave:
isFactoryProject(dir)- Verifica se é um projeto FactoryisDirectorySafeToInit(dir)- Verifica se o diretório pode ser inicializadogenerateClaudeSettings(projectDir)- Gera configuração de permissões do Claude Codefactory continue- Continua executando o pipeline em uma nova sessão