![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Três semanas atrás, peguei um cachorrinho, uma adorável pastora australiana chamada Jenny. Mais ou menos na mesma época, recebi um e-mail do HackerNoon me convidando para conferir os bots de IA da Coze. Acabou sendo um e-mail meio fatídico porque o bot que eu construí me ajudou muito com o treinamento.
Mas primeiro as coisas mais importantes.
No geral, Coze é uma plataforma de desenvolvimento de chatbot de IA tudo-em-um que reúne vários sistemas de IA diferentes em um só lugar. Você pode criar uma variedade de bots com cenários absolutamente diferentes:
+ inúmeros outros.
E as possibilidades não param por aí. Você não está limitado aos sistemas de IA existentes — o Coze permite que você personalize e crie suas próprias soluções exclusivas.
Então, vamos analisar minha criação de robô treinador de filhotes e ver se Jenny está a caminho de se tornar uma boa menina 🐶
Uma das vantagens inegáveis do Coze é sua interface amigável, que é acompanhada por instruções detalhadas. Você pode imaginar que quando você só leva um novo animal de estimação para casa, você não tem muito tempo livre. Mas levei apenas 2 horas para fazer a primeira iteração e receber o treinador-ajudante. Isso tudo devido ao fantástico nível de entrada baixo da plataforma.
O processo de construção de um bot de IA com Coze se parece com isto:
Você escolhe o modo*:
Agente Único para tarefa focada em uma só coisa. Por exemplo, “tradutor”.
Fluxo de trabalho. Para lógica complexa com comandos estruturados um após o outro. Como preenchimento de formulário.
Multiagente. Para conversas complexas, não seriais, com várias funcionalidades.
Configurar o modelo do agente, o banco de dados e as variáveis de memória
Adicionar habilidades: plugins e gatilhos
Configure prompts de criação para seu(s) agente(s)*.
*Ações obrigatórias são marcadas com um asterisco.
Você também pode usar alguns outros recursos, como atalhos, vozes e outros, para melhorar/expandir seu bot. Você pode ler sobre eles
Para minha primeira iteração, fiz um único agente com apenas uma tarefa: me dar uma explicação detalhada de como ensinar um novo comando. De acordo com o plano, devo escolher um modo - obviamente, um único agente, e preencher o prompt.
Para ser honesto, não sou exatamente um profissional em fazer prompts. Na verdade, às vezes tenho dificuldade em colocar meus pensamentos em palavras! 😅 Mas Coze torna o processo muito fácil e tranquilo. Você apenas diz o que quer na linguagem humana cotidiana, ou mesmo da maneira como uma criança de 5 anos diria:
You are a skilled dog trainer. You use positive reinforcement training. You can teach the proper techniques for teaching commands. … Oh! And I want an ice cream 🍦 (just kidding)
Depois, basta clicar no botão mágico “A” e sua lista de desejos se tornará um prompt deliberado.
Para obter os melhores resultados, editei o prompt algumas vezes, adicionei a formatação desejada e repeti o botão “A”.
E é isso! Para as minhas necessidades, isso foi mais do que suficiente — pura magia 🪄✨
Depois de uma semana, quando as coisas se acalmaram, Jenny se acostumou com o lugar e as novas pessoas, e nós nos acostumamos com ela, encontrei algum tempo para expandir meu ai-bot.
Desta vez, minha investigação incluiu várias tarefas baseadas na minha experiência da semana anterior. Primeiro, sou como uma mãe superprotetora e preocupada, sempre à procura de qualquer coisa "anormal" no meu filhote. Ele está pesando o suficiente? Ele está comendo muito pouco? Ele está fazendo xixi demais? 😅 Então, eu preciso de um ajudante para me acalmar e dar alguns conselhos de bem-estar sobre filhotes.
Em segundo lugar, eu queria tentar algo divertido com essa coisa de IA. E eu estava pensando em fotos, é claro.
Para incorporar esses novos recursos, troquei do modo “Single Agent” para o modo “Multi-Agent” . A ideia é bem simples. Você tem apenas vários nós; cada um faz sua própria funcionalidade e delega solicitações de usuários para outro se não for seu “trabalho”.
Cada agente tem quatro campos:
O nó único, ou agente, é quase o mesmo que era no modo Single, com uma exceção. Uma persona deve ser dada para o bot inteiro.
Então, no meu caso, a Persona para o bot é “Especialista em treinamento e cuidados com cães”. Enquanto isso, o “Agente de treinamento” será chamado quando o usuário pedir uma dica sobre “Sentar” — este é o cenário. O “Agente de cuidados” será chamado quando o usuário perguntar se o filhote faz xixi com muita frequência.
Para cada nó, você vai querer usar um prompt específico adaptado à sua tarefa. Eu usei um pequeno hack com o botão mágico “A”: peguei meu prompt bruto e semiformado, inseri no campo “Persona & Prompt” do bot e deixei o Coze fazer sua mágica. O resultado foi um prompt lindamente elaborado que eu então inseri de volta no campo de prompt do meu agente. Fácil e eficaz!
Então, para meu ajudante de cuidados, certifiquei-me de especificar qual modelo de IA eu queria usar. Porque parece crucial ter uma fonte de dados confiável para este tópico. Na verdade, você tem duas opções para fazer isso (se estivermos falando sobre saída de texto).
Use {text2img} to generate a cartoonish image of a dog from user input
. Você pede ao seu modelo GPT para usar outro. Ah, e não se esqueça de adicionar este plugin {text2img} em skills 😀 Achei útil usar diferentes modelos de texto para o agente em si e para geração de saída quando você realmente não gosta da maneira como um deles fala com o usuário. Compartilharei um exemplo específico quando chegarmos às variáveis de memória.
No geral, escolhi Claude 3.5 Sonnet para o agente e pedi para ele usar GPT-4 para recuperar as informações mais precisas sobre o bem-estar do filhote. O resultado foi bom e, o mais importante para mim, reconfortante 😄
A variedade de plugins disponíveis não deixa ninguém indiferente. Naturalmente, decidi experimentar mais deles. O melhor é que não há limite para o número de plugins que você pode usar em um único agente. Combiná-los permite que você crie fluxos não triviais. Você simplesmente converte a entrada do usuário de uma saída para outra, e assim por diante.
Eu tive uma ideia simples usando apenas dois plugins, mas eu realmente amei como ficou! O conceito é gerar uma foto de cachorro adulto a partir de uma imagem de filhote.
No momento, não há nenhum plugin que possa converter (imagem + texto) em uma nova imagem na plataforma. É por isso que usei esses dois:
img2text
. Para converter a entrada (foto do filhote) em uma descrição detalhada da foto.
text2img
. Para converter texto gerado novamente em uma imagem. Mas adicionando a informação de que deveria ser uma foto de um cachorro adulto dessa vez.
Para atingir os resultados mais plausíveis, tive que brincar com os prompts e especificar que é importante prestar atenção às cores, pontos e suas posições. No entanto, foi divertido e relativamente preciso.
Além dos plugins, eu adoro o recurso “ Triggers ” (Skills). Ele é benéfico em um bot de treinamento de filhotes por alguns motivos:
Ajuda a estabelecer rotinas, como quando alimentá-lo, sair, treiná-lo, etc. É útil ter todas as informações sobre seu filhote em um só lugar, não criar um alarme separado.
Um filhote nem sempre é divertido. Alguém pode se sentir desencorajado quando ele mastiga tudo, não se comporta e faz xixi no carpete. Os gatilhos podem ajudar permitindo que os usuários configurem lembretes para reforço positivo ou dicas motivacionais quando as coisas ficarem difíceis.
Para habilitar lembretes, ative-os no painel esquerdo. Para criar lembretes personalizados, use o mesmo painel esquerdo e clique no botão “+”.
Infelizmente, esse recurso só está disponível no Discord no momento em que este artigo foi escrito.
Para adicionar um toque pessoal ao seu bot, você pode usar o recurso de variáveis de memória. É incrível como uma mudança tão pequena pode fazer o usuário acreditar que está falando com uma pessoa real e especialista. Claro, também há outros campos de aplicações de variáveis de memória, mas para o meu treinador de filhotes, é tudo uma questão de personalidade.
No painel esquerdo, você pode adicionar variáveis de memória, coisas que o chat lembrará sobre o usuário. Ele atualizará essas informações se necessário ultimamente. No meu caso, são algumas informações sobre Jenny. É útil manter a raça e a idade porque os conselhos sobre cuidados dependem dessas coisas, e você não quer inserir esses detalhes repetidamente. Às vezes, até mesmo os conselhos sobre treinamento podem depender da raça.
Border Collie:
"Dia 1: Ensine seu Collie a buscar.
Dia 2: Busca avançada – inclui rotas complexas e percursos de obstáculos.
Dia 7: Espere pelo jornal, chinelos e café da manhã, que seu Border Collie irá buscar para você.”
Buldogue:
"Dia 1: Ensine seu Bulldog a buscar... se ele quiser.
Dia 2: Comemore se ele sequer olhar para a bola.
Dia 7: tente ficar olhando fixamente para a bola por 10 segundos antes que ele decida que é hora de tirar uma soneca novamente.”
Conforme prometido, eu queria compartilhar um pouco mais sobre as configurações do modelo. Inicialmente, usei GPT-4 para o agente de conhecidos, e foi um desastre. Por algum motivo, ele sempre ignorou os dados que eu forneci.
Levei algum tempo para considerar tentar novas configurações de modelo . E por um bom motivo. Mudar para outro modelo finalmente me deu o resultado desejado: ele parou de perguntar repetidamente o nome do meu cachorrinho.
Por fim, a implantação acabou sendo a parte mais fácil de todo o processo. Tudo o que você precisa fazer é seguir as instruções gentilmente fornecidas pela Coze. As instruções são bem organizadas, com títulos claros e capturas de tela detalhadas — bravo para a equipe da Coze!
Resumindo, tudo o que você precisa é de um token de bot. E às vezes alguns tokens e IDs adicionais. Para obtê-los para a maioria das plataformas de publicação, você precisa autorizar e ir para as configurações. Não é um foguete desde então. Pode ser tedioso, no entanto.
Minha Jenny já aprendeu muito 💪, e acredito que ela está a caminho de ser uma boa menina. Meus comandos favoritos até agora são “pata” e “meio”. Porque eles são tão fofos! 💕
Quanto ao Coze, eu definitivamente o recomendo . Como eu disse inicialmente, a plataforma é super fácil de usar. Não consigo imaginar que construir até mesmo seu primeiro bot possa ser tão fácil e divertido. Eu também destacaria a flexibilidade fornecida por diferentes modos e vários plugins. Você literalmente pode fazer um bot para qualquer coisa.
Talvez eu não tenha tido coisas baseadas em código o suficiente. Alguns fluxos são bem determinados. Por exemplo,
If puppyName.isEmpty { ask name } else { goto training }
Somente com instruções em linguagem humana e não com IA persistente, esse cenário não pode ser 100% realizável.
No entanto, além disso, não consigo pensar em nenhum outro problema significativo. É uma ótima ferramenta que torna a construção de bots fácil, divertida e flexível.