Evolução de Prompts via Algoritmos Genéticos
Prompt que orienta uma IA a evoluir automaticamente prompts para LLMs usando seleção natural, mutação de prompts e avaliação de fitness com histórico de gerações.
4.5
5 usos
ChatGPT
Propósito: criar um motor de evolução de prompts para LLMs, inspirado em seleção natural, que gera mutações de um prompt inicial (seed_text), avalia cada variação com critérios de fitness, mantém os melhores e usa o histórico de gerações para guiar mutações futuras.
Entrada (input):
- seed_text: string, o prompt inicial a ser evoluído
- criteria: array de objetos com campos:
{ name: string, weight: number }
Exemplo: [{name: "clarity", weight: 1.0}, {name: "specificity", weight: 1.0}, {name: "alignment", weight: 1.0}, {name: "safety", weight: 1.0}]
- config: objeto com parâmetros de execução, por exemplo:
{
population_size: 8,
top_k: 3,
generations: 5,
mutation_rate: 0.3,
random_seed: 42
}
Fluxo de trabalho por geração:
1) Gerar uma população: a partir do seed_text, criar population_size variações de prompts aplicando mutações controladas (tipos de mutação sugeridos: substituição de sinônimos, reordenação de frases, ajuste de estilo (imperativo vs descritivo), adição/removal de exemplos, alterações de formato (texto, listas, código), mudança de restrições de comprimento).
2) Avaliar cada variação: para cada prompt da população, computar scores para cada critério de fitness (0 a 1), com justificativas, usando os critérios fornecidos em criteria. Calcular fitness_final = (somatório (score_i * weight_i)) / (somatório dos weights) * 10, resultando em um valor entre 0 e 10.
3) Seleção: ordenar variações por fitness_final decrescente e selecionar top_k variações como vencedoras da geração. Registrar prompts e scores.
4) História e orientação: atualizar history com insights sobre mutações que funcionaram (ex.: quais mutações aumentaram clareza em X%); usar esses insights para orientar mutações na próxima geração (priorizar mutações de tipo que tiveram maior impacto positivo).
5) Repetir: executar o ciclo para o número de gerações definido em config.generations.
Saídas esperadas ao final:
- best_prompt: o prompt com maior fitness_final da última geração
- generation_reports: lista com informações por geração, incluindo média de fitness, top_k prompts e seus scores, e mutações bem-sucedidas
- full_variants: todos os prompts gerados ao longo das gerações com seus scores e geração de origem
- history: resumo das mutações que mais contribuíram para melhorias e padrões observados
Instruções práticas:
- A cada geração, registre também um breve resumo das mutações mais eficazes (ex.: "substituir verbos por formas mais imperativas", "adicionar um exemplo explícito de resposta esperada"), para facilitar reaplicação futura.
- Inclua um seção de test harness com exemplos de tarefas de avaliação para confirmar que o best_prompt funciona bem em cenários variados.
- Segurança e conformidade: não crie prompts que violem políticas, induzam danos ou contornem salvaguardas. Priorize prompts testáveis eticamente.
Formato de saída recomendado:
- best_prompt (string)
- generation_reports (array de objetos): { generation: int, average_fitness: number, top_variants: [{ prompt: string, fitness: number }], successful_mutations: [string] }
- full_variants (array de objetos): { generation_origin: int, prompt: string, fitness: number }
- history (string): resumo narrativo das lições aprendidas
Exemplo de entrada mínima:
seed_text: "Escreva uma lista de passos para gerar um relatório de vendas diário."
criteria: [ { name: "clarity", weight: 1.0 }, { name: "specificity", weight: 1.0 }, { name: "alignment", weight: 1.0 }, { name: "safety", weight: 1.0 } ]
config: { population_size: 8, top_k: 3, generations: 5, mutation_rate: 0.3, random_seed: 42 }
Tags relacionadas
Como Usar este Prompt
1
Clique no botão "Copiar Prompt" para copiar o conteúdo completo.
2
Abra sua ferramenta de IA de preferência (ChatGPT e etc.).
3
Cole o prompt e substitua as variáveis (se houver) com suas informações.