← Voltar ao blog

Como Escrever um Bom program.md: Um Guia Prático para Instruções de Agentes AI

· Save Team
markdownaiprogram-mdautoresearchkarpathyguidebest-practices

O autoresearch de Andrej Karpathy provou que um arquivo Markdown bem escrito pode direcionar agentes AI a fazer descobertas científicas reais durante a noite. Mas nem todos os arquivos program.md são criados iguais.

A qualidade das suas instruções Markdown determina diretamente a qualidade do output do agente AI. Um program.md vago produz experimentos aleatórios e sem direção. Um preciso produz melhorias focadas que se compõem.

Aqui está como escrever um program.md que realmente funciona.

A Estrutura de um Bom program.md

Todo program.md eficaz precisa de cinco seções, seja você fazendo pesquisa ML ou qualquer outro trabalho direcionado por agentes.

1. Contexto: O Que o Agente Precisa Saber?

O agente começa com zero entendimento do seu projeto. Seu primeiro trabalho é dar a ele contexto suficiente para tomar decisões inteligentes.

O que incluir:

  • O que o projeto faz
  • Como é o codebase
  • Arquivos chave e seus propósitos
  • Terminologia específica do domínio
  • Estado atual e problemas conhecidos

O que pular:

  • Informações óbvias que o LLM já sabe
  • Detalhes de implementação que ele pode ler do código
  • Histórico que não afeta as decisões atuais

2. Objetivos: O Que o Agente Deve Otimizar?

Esta é a seção mais crítica. O agente precisa de um objetivo claro e mensurável.

No autoresearch, o objetivo é direto: reduzir val_bpb (bits de validação por byte). O agente pode medir isso após cada execução de treinamento de 5 minutos.

Para seus próprios projetos, defina sucesso em termos que o agente possa avaliar:

  • “Reduzir o tempo de carregamento da página abaixo de 2 segundos”
  • “Aumentar a cobertura de testes acima de 80%”
  • “Reduzir o tamanho do bundle em pelo menos 15%”

Objetivos vagos como “melhorar o código” produzem resultados vagos. Objetivos mensuráveis produzem melhorias focadas.

3. Restrições: O Que o Agente Nunca Deve Fazer?

Restrições são tão importantes quanto objetivos. Sem elas, o agente pode encontrar soluções criativas que você não quer --- como deletar todos os testes para “melhorar” a velocidade de build.

Restrições comuns:

  • Não modificar arquivos de teste ou código de avaliação
  • Não alterar a API pública
  • Não introduzir novas dependências
  • Não exceder um orçamento de memória
  • Manter o código legível e manutenível

No autoresearch, a restrição chave é que apenas train.py pode ser modificado. O pipeline de dados, código de avaliação e conjunto de testes estão bloqueados. Isso impede o agente de manipular as métricas.

4. Estratégia: Como o Agente Deve Abordar o Problema?

É aqui que seu conhecimento de domínio brilha. Você sabe coisas que o agente não sabe --- quais direções são promissoras e quais são becos sem saída.

Boas instruções estratégicas:

  • “Comece com ajuste de hiperparâmetros antes de mudanças arquiteturais”
  • “Foque no mecanismo de atenção --- a implementação atual pode ser sub-ótima”
  • “Tente técnicas de regularização primeiro: dropout, weight decay, layer norm”
  • “Evite mudanças que aumentem o tempo de treinamento em mais de 10%”

Más instruções estratégicas:

  • “Tente tudo” (muito vago)
  • “Mude a taxa de aprendizado para 0,001” (muito específico --- você está microgerenciando)

O ponto ideal é orientação direcional que deixa o agente explorar dentro de limites produtivos.

5. Avaliação: Como o Agente Deve Julgar o Sucesso?

O agente precisa saber como medir se suas mudanças ajudaram. No autoresearch, isso está embutido no loop: se val_bpb melhora, mantenha a mudança. Se não, reverta.

Para outros contextos, defina seus critérios de avaliação:

  • Quais métricas importam?
  • Que limiar conta como melhoria?
  • Como o agente deve lidar com resultados ambíguos?
  • Quando o agente deve parar e reportar de volta?

Erros Comuns

Ser Muito Vago

“Melhore o modelo” não dá ao agente nenhuma direção. Seja específico sobre o que significa “melhor”, como medi-lo e quais abordagens tentar primeiro.

Ser Muito Específico

“Mude a linha 47 para usar uma taxa de aprendizado de 3e-4” derrota o propósito da engenharia agêntica. Você deve definir a direção, não ditar a implementação. Deixe o agente explorar.

Esquecer as Restrições

Sem restrições, os agentes encontrarão o caminho de menor resistência --- que frequentemente não é o que você quer. Um agente instruído a “reduzir o tempo de treinamento” pode pular metade dos dados de treinamento se você não disser o contrário.

Não Iterar

Seu primeiro program.md não será perfeito. Observe o que o agente faz, veja onde ele erra, e atualize suas instruções. Os melhores arquivos program.md evoluem através de dezenas de iterações.

O Loop de Iteração

Escrever program.md não é um processo de uma vez só. É um loop:

  1. Escreva seu program.md inicial
  2. Execute o agente
  3. Revise o que o agente fez
  4. Atualize suas instruções com base no que funcionou e no que não funcionou
  5. Repita

Cada iteração torna suas instruções mais precisas. Depois de algumas rodadas, você terá um program.md que consistentemente produz bons resultados.

Esta é a habilidade central da engenharia agêntica: não escrever código, mas escrever instruções de agente cada vez mais eficazes através da iteração.

Construindo Sua Biblioteca de Referência

Os melhores arquivos program.md não vêm do nada. Eles são construídos sobre conhecimento profundo do domínio --- documentação, papers, melhores práticas e exemplos.

Quando você encontrar material de referência útil na web, salve-o como Markdown. Então quando estiver escrevendo seu program.md, você pode puxar contexto relevante, citar técnicas específicas e dar ao agente o conhecimento de base que ele precisa.

Os pesquisadores obtendo os melhores resultados do autoresearch não são apenas bons escritores. São especialistas de domínio com material de referência bem organizado que podem sintetizar em instruções claras para agentes.


Save converte qualquer página web para Markdown limpo --- perfeito para construir a biblioteca de referência que alimenta arquivos program.md eficazes. Experimente o Save gratuitamente.