Pular para o conteúdo principal

O que são playbooks?

Playbooks são prompts facilmente compartilháveis e reutilizáveis para tarefas recorrentes

Um Playbook é como um prompt de sistema personalizado para uma tarefa recorrente. Por exemplo, se você precisa ter muitas sessões diferentes do Devin que usem a mesma biblioteca de terceiros, mas em partes diferentes da sua aplicação, talvez você queira um Playbook. Playbooks também são facilmente compartilháveis e reutilizáveis, então, depois que alguém tiver sucesso com o Devin, outras pessoas podem replicar esse sucesso com mais facilidade!
A maioria das boas práticas, guias de estilo ou outras instruções específicas de projeto deve ser compartilhada com o Devin usando o Knowledge. Recomendamos ler a documentação sobre o Knowledge antes de criar Playbooks, para entender qual método atende melhor às suas necessidades.
Devin
Recomendamos usar Playbooks quando:
  • Você ou seus colegas de equipe vão reutilizar o prompt em várias sessões.
  • Você se pega repetindo os mesmos lembretes para o Devin.
  • O caso de uso pode ser relevante para outras pessoas — na sua organização ou na comunidade de usuários do Devin.

Introdução aos Playbooks

Os playbooks podem desbloquear imediatamente a capacidade do Devin de contribuir em uma ampla variedade de áreas, mas, hoje, exigem habilidade para serem escritos. De forma semelhante ao prompt engineering, escrever playbooks exige tentativa e erro. O fruto desse trabalho, porém, é um documento que libera a capacidade do Devin de realizar, de forma independente, trabalhos complexos — desde ingerir dados no Redshift e executar migrações de banco de dados até usar diferentes softwares e APIs, por exemplo: Together, Plaid, Stripe, Modal, Springboot, Odoo e Storybook.
Considere escrever seu primeiro playbook com uma tarefa simples, de múltiplas etapas, que você queira que o Devin execute.
  1. Crie um documento que descreva…
    1. O resultado que você quer que o Devin atinja
    2. As etapas necessárias para chegar lá
  2. Opcional: Adicione seções como Procedure, Specifications, Advice, Forbidden Actions ou Required from User
    1. Procedure: Descreva todo o escopo da tarefa. Inclua pelo menos uma etapa para configuração, a execução da tarefa em si e a entrega.
    2. Specifications: Descreva as pós-condições — o que deve ser verdadeiro depois que o Devin terminar?
    3. Advice: Inclua dicas para corrigir os pressupostos iniciais do Devin
    4. Forbidden Actions: Inclua qualquer ação que o Devin absolutamente não deve realizar
    5. Required from User: Descreva qualquer entrada ou informação necessária do usuário
  3. Crie o playbook diretamente no aplicativo web clicando em “Create a new Playbook”. Como alternativa, salve um arquivo com a extensão .devin.md e arraste e solte esse arquivo no aplicativo web ao iniciar uma sessão do Devin
Devin
Você terá anexado um playbook a uma sessão com sucesso se vir um botão azul em formato de pílula aparecer, junto com um componente inline para editar o playbook antes de iniciar sua sessão.
Devin

Como criar um excelente playbook

Procedure

A seção Procedure deve…
  • Ter um passo por linha, cada linha redigida no imperativo
  • Cobrir todo o escopo da tarefa
  • Incluir pelo menos um passo para preparação, a tarefa em si e entrega
  • Procurar tornar os passos mutuamente exclusivos e coletivamente exaustivos
  • Dicas adicionais
    • Os procedimentos devem ajudar você a definir a ordem das ações do Devin – como if/else/loops/goto em código
    • Não torne as tarefas específicas demais, a menos que seja realmente necessário; isso pode reduzir a capacidade do Devin de resolver problemas
    • Cada passo do procedimento deve conter um verbo de ação – por exemplo: escrever, navegar até, etc.

Dicas e Orientações

Compartilhe dicas e orientações com o Devin se…
  • Você tiver uma forma preferida de concluir as tarefas
  • A dica se aplicar à tarefa inteira ou a vários passos. Dicas específicas de um passo devem ser escritas ao lado desse passo (por exemplo, como um subitem)
  • Você estiver corrigindo os conhecimentos prévios do Devin. Dicas podem funcionar como comentários em pseudocódigo que influenciam sua execução.
Se a dica se aplicar somente a um passo do Procedimento, escreva a dica logo abaixo desse passo usando subitens em lista aninhada

Especificações

A seção de Especificações pode ser útil para descrever as pós-condições do playbook — quais condições devem ser atendidas quando Devin terminar?

O que é necessário do usuário

Considere tudo o que for necessário, mas que esteja fora do controle do Devin. Por exemplo, se o usuário precisar fornecer um token ou informações que não estejam publicamente disponíveis para o Devin.

Outras dicas + táticas

  • Execute 2 ou mais Devins em paralelo com o mesmo playbook para identificar rapidamente possíveis erros.
  • Se o Devin precisar de ajuda, converse com ele para ajudá-lo a avançar. Depois, adicione isso ao seu playbook para que o Devin tenha sucesso sem intervenção na próxima vez.
Seja explícito sobre qual é o entregável e como o Devin deve comunicar que ele está concluído (por exemplo, quais arquivos anexar ou quais links compartilhar, se houver).
Explore as diferentes decisões que o Devin pode tomar e oriente o Devin pelo caminho mais eficiente no playbook.
  • Eles podem ser o fator decisivo entre um playbook que funciona e um que falha.
  • Por exemplo, o seguinte pode ser um ótimo detalhe para incluir, pois “alloy” e “tts-1” provavelmente não seriam escolhas que o Devin faria por conta própria, e isso orienta o Devin em uma direção com maior chance de sucesso!
3. Create request dict with model: "tts-1", voice: "alloy"

Playbook de Exemplo

Veja sessões de exemplo usando o playbook abaixo aqui e aqui.
R Data Science Tutorial
Playbook: R Data Science Tutorial

## Overview
Crie um tutorial de ciência de dados usando um notebook R Markdown.

## What’s Needed From User
## O que é necessário do usuário
- Link para um conjunto de dados (arquivo CSV em anexo ou link do Kaggle)
- Tarefa específica para a qual criar o tutorial de ciência de dados

## Procedure
1. Baixe o conjunto de dados fornecido pelo usuário.
- Se necessário, baixe o conjunto de dados usando o Kaggle CLI — você não precisa de nenhuma credencial para isso.
2. Crie um notebook R Markdown chamado `data_science_tutorial.Rmd`.
3. Crie um arquivo `tmp.Rmd` para escrever e salvar código intermediário.
4. Crie 5 seções principais dentro do arquivo `data_science_tutorial.Rmd` e adicione código do arquivo `tmp.Rmd` contendo o seguinte:
- Estatísticas do conjunto de dados. Gere um resumo estatístico do conjunto de dados.
- EDA (Exploratory Data Analysis). Crie um gráfico de barras e um gráfico de dispersão para os dados fornecidos.
- Divisão treino-teste. Divida os dados em uma proporção de 80:20. Salve os dados de treino e de teste.
- Treinamento do modelo de machine learning. Salve o modelo após o treinamento.
- Inferência com o modelo salvo. Carregue o modelo salvo e avalie seu desempenho no conjunto de teste usando a métrica especificada pelo usuário.
5. Depois que o código estiver escrito, adicione uma breve explicação para cada seção.
6. Converta o notebook R Markdown para o formato HTML.
7. Envie ao usuário o notebook R Markdown final, o arquivo HTML, o modelo salvo e os dados de teste.

## Specifications
1. Envie ao usuário o notebook R Markdown e o arquivo HTML.
2. Envie ao usuário o modelo salvo e os dados de teste.

## Advice and Pointers
1. Não reinstale pacotes se eles já estiverem instalados.
2. Não é necessário fazer login no RStudio para concluir esta tarefa.
3. Execute todo o notebook depois de adicionar o código de cada seção.

## Forbidden Actions
1. Não sobrescreva o arquivo `data_science_tutorial.Rmd`.