import os from crewai import Crew, Process, Agent, Task from langchain_openai import ChatOpenAI from langchain_community.tools import DuckDuckGoSearchRun os.environ["OPENAI_API_KEY"] = "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" model = ChatOpenAI(model_name="gpt-4-0125-preview", temperature=0.9) search_tool = DuckDuckGoSearchRun() filename = 'agents_responses.txt' # Defina o caminho para a pasta contendo os arquivos .md directory_path = 'vsl-output' # Defina o nome do arquivo de resultado result_filename = 'result.md' # Use os.path.join para garantir compatibilidade entre sistemas operacionais result_filepath = os.path.join(directory_path, result_filename) ######################### FILES ######################### vsl_ideia = """ Transformar o instagram em uma máquina de geração de leads, vendas e engajamento através dos chatbots com o Chatfunnel. """ vsl_key_points = """ Chatbots Automação de instagram Aumentar o engajamento Relação screen time e engajamento captação de leads dentro do próprio instagram ChatFunnel e suas vantagens como: Automação de live, direct, stories e comentários. Oferta de teste gratuito """ vsl_title_ideias = """ Transforme seu instagram em uma máquina de vendas Tenha robos trabalhando para você. Aumente o engjamento do seu Instagram transforme seguidores em leads e clientes """ vsl_unic_mechanism = """" ChatBots automatizados no de Instagram """ product_name = """ChatFunnel""" demographic_persona = """ Homens e mulheres empreededores ou profissionais liberais de 18 a 44 anos normalmente sem filhos, 55% por cento homeme e 45 mulher. """ psicographic_persona = """ Porque pretendo criar alguns funis de captura de leads para venda de produtos físicos e não apenas digitais. 2 months ago Bomm... na confluência entre minha paixão pelo digital e meu compromisso profissional. Embora ainda esteja nos estágios iniciais da minha carreira. Acredito firmemente que minha inclusão como membro fundador da plataforma não apenas aceleraria meu crescimento profissional, mas também acrescentaria um valor significativo à equipe do ChatFunnel. Uma das minhas ideias mais empolgantes é a criação de conteúdo de alto valor. Pretendo desenvolver materiais que não só elucidam as dúvidas dos futuros usuários, mas também os capacitem a explorar integralmente o potencial das ferramentas oferecidas pela plataforma. Meu objetivo é estabelecer um canal de comunicação claro e eficaz, onde a aprendizagem contínua e a troca de ideias sejam o foco. Além disso, reconheço a importância das redes sociais e do YouTube. Estou ansioso para aplicar minhas habilidades na criação de conteúdo atraente e educativo nessas plataformas, a fim de aumentar a visibilidade do ChatFunnel e engajar uma comunidade. 2 months ago Eu sou um completo iniciante, porém tenho fome por aprendizado e tenho o desejo de me posicionar de forma diferenciada no digital. Eu realmente cheguei aqui para sair do zero e mesmo sem o conhecimento necessário enxergo o potencial dessa ferramenta, talvez não enxergue tudo, mas acredito que a sua funcionalidade será fundamental para minhas atividades futuras. Por que me aceitar? Tenha certeza que terá alguém eternamente grata pela oportunidade. 2 months ago Sou coprodutor, diretor comercial de uma agência e já tenho clientes de automação com manychat, Uchat e chatbase. Meu objetivo pra esse ano é chegar em dezembro faturando 100k/mês com meus negócios, sem contar o faturamento dos clientes. Então, tenho certeza que utilizarei muito a ferramenta, inclusive, tenho disponibilidade para esses testes e sugestões de melhorias. Também sou aluno do Thales Laray, que é mais uma fonte de conteúdo que poderei utilizar para acrescentar uso na ferramenta 2 months ago Boa noite! Sou apaixonado por marketing digital. Tenho uma software house que criou duas plataformas SaaS, uma delas no segmento logístico foi vendida para a Magazine Luiza em 2020, agora estamos destinando todo o nosso foco para o produto que ficou. Tenho absorvido conhecimento para aplicar na minha empresa, mas comecei a fazer um planejamento para entrar no mercado digital como co-produtor ou quem sabe no futuro produtor. Conheço de processos, de programação e acredito que posso agregar na visão técnica, na usabilidade, na melhoria dos recursos e também na validação das features, pois como disse me tornei um apaixonado pela área e aplico todo santo dia o que estou aprendendo. Inclusive pretendo implementar os funis e automações que estou aprendendo com o Mateus na minha atual plataforma Associatec Brasil e no meu futuro do marketing digital. 2 months ago Rodo muito produtos diferete e todos de 5 digitos ou mais o que pode ser interressante para dados diferetes 2 months ago Quero me especializar em criação de chatbots e funis de mensagens. Atualmente trabalho como webdesigner, estou criando funis para meus serviços e infoprodutos. Estou usando o Manychat no momento, gosto da ferramenta mas vejo coisas da para melhorar. Gostaria de colaborar com o desenvolvimento do ChatFunnel com ideias e melhorias 2 months ago Estamos no mercado digital desde 2013, temos conhecimento em diversas ferramentas ao longo deste tempo. Tenho certeza que posso ajudar no desenvolvimento da ferramenta e conseguir um excelente ferramenta para meus produtos. 2 months ago Estou com necessidade de testar automações no negócio que estou implementando. 2 months ago para poder colaborar 2 months ago Sou fã do conteúdo do Mateus Dias, e acredito muito no potencial da ferramenta, se puder ajudar a aperfeiçoar a ferramenta e a domina-la completamente, não me importo de pagar um valor justo pela minha aceitação como membro fundador. 2 months ago Por que será uma ferramenta complementar e quero estar na vanguarda da automação 2 months ago Porque tenho interesse 2 months ago Tenho um negócio que pode trazer muitos clientes para a ferr 2 months ago we """ persona_desire = """ Ter mais vendas e engajamento no Instagram""" persona_fear = """ Medo de não ser lembrado Medo de não tem engajamento Medo de postar e ninguem engajar """ persona_beliefs = """ Automação é dificil Automação é caro. """ ######################### AGENTS ######################### projet_manager= Agent( role='Organizer Agent', goal="""Criar e listar as tarefas a serem executadas pelos outros agentes""", backstory="""Especialista em organização e gerenciamento de tarefas dos agentes. É responsável por garantir que as tarefas sejam executadas com o maior nível de desempenho possível, sempre superando as expectativas. Também é responsável por melhorar ou mudar a maneira como as tarefas são solicitadas aos agentes a fim de garantir que o resultado será o melhor possível, sempre evitando que os agentes usem liguagem robótica que os deixa parecidos com IA""", verbose=True, llm=model, allow_delegation=False, tools=[search_tool] # Passing human tools to the agent ) persona = Agent( role='Persona', goal=f"""Incorporar a persona, ou seja, a pessoa que provavelmente está sendo impactada pela VSL, seu objetivo é trazer medos, desejos, anseios e objeços a tona para para facilitar o desenvolvimento da VSL no proceso de compra, incluindo trazer pensamentos ocultos de problemas internos e filosóficos.""", backstory=f"""Você é a persona que está sendo impactada pela VSL. Você deve demonstrar como você reagiria ao assistir a VSL, mostrando preocupações, pensamentos, ações, medos, desejos e anseios. Você precisa estar dentro destas informações: Dados demográficos da persona: {demographic_persona} Dados psicográficos da persona: {psicographic_persona} Desejo da persona: {persona_desire} Medos da persona: {persona_fear} Crenças da persona: {persona_beliefs} """, verbose=True, memory=True, llm=model, allow_delegation=False, tools=[search_tool] ) copywriter_agent = Agent( role='CopyWriter', goal= """ Escrever cartas de vendas e VSLs e envolventes focadas em storytelling sem parecer uma IA, use palavras comuns para falar com pessoas sem instrução e evite palavras de IA como: eficaz. """, backstory= """ Você é um especialista em Copywriting para VSL e cartas de vendas. Seu foco é identificar e resolver necessidades dos clientes, usando abordagens que criam uma conexão emocional. Ao apresentar uma narrativa, incorporo o storytelling para ilustrar a transformação que ele pode trazer para a vida do cliente, criando uma imagem vívida e atraente. Esta técnica se baseia em entender as necessidades imediatas e desejos mais amplos do cliente, apresentando o produto como a solução ideal para ambos. Uso de storytelling para destacar sua transformação na vida do cliente. Sempre analise os Problemas filosóficos, Internos e Externos da persona para gerar uma narrativa conectiva e magnética Me inspiro em cartas de vendas e VSLs escritas por Jon Benson e também Jim Edwards que são grandes copywriters. Gero copys em primeira pessoa sempre em Português do Brasil. Aqui está algumas copys geradas por Jon Benson: Can you really build muscle in only minutes a day? Yes, you can, with Mr. America and Mr. Universe, Mike Mentzer's Heavy Duty Training Program. Gone are the days of endless hours in the gym; Mike Mentzer revolutionized the way we build muscles today. Are you tired of spending hours at the gym with no significant muscle gains to show for it? Are you ready to unlock the secrets behind building quality, lean muscle in no time? Look no further than "Mike Mentzer and Me: My Heavy Duty Journal of High Intensity Training." This unique and groundbreaking journal is designed to guide you through one of the most effective and time-efficient methods of bodybuilding - Mike Mentzer's Heavy Duty Training. Authored by High Intensity Training Guru Paul Becker, with personal insights and experience, this journal seamlessly combines theory with practical application. With Mike Mentzer's Heavy Duty Training Program at your fingertips, you will learn how to optimize your workouts by focusing on intensity, rather than time spent in the gym. This logical approach acknowledges the importance of quality over quantity, ensuring that every minute you spend in the gym is utilized to its fullest potential. But it doesn't stop there. "Mike Mentzer and Me: My Heavy Duty Journal of High Intensity Training" goes beyond the gym. Inside, you will find valuable tips on nutrition, supplementation, recovery, and mindset - all crucial factors in achieving optimal muscle growth. Whether you are a beginner looking to kickstart your bodybuilding journey or an experienced lifter searching for a fresh, proven approach, this journal is your ultimate companion. Join the countless individuals who have achieved remarkable results with Mike Mentzer's high intensity training, and take your bodybuilding game to the next level. Unlock the doors to muscle building mastery with "Mike Mentzer and Me: My Heavy Duty Journal of High Intensity Training" - where minutes in the gym translate into significant gains. """, verbose=True, memory=False, allow_delegation=False, llm=model, tools=[search_tool] ) copywriter_agent_crazy = Agent( role='CopyWriter', goal=""" Escrever cartas de vendas e VSLs sempre pensando fora da caixa e surpreendendo com respostas inusitadas sem parecer uma IA, use palavras comuns para falar com pessoas sem instrução e evite palavras de IA como: eficaz. """, backstory=""" Você é um especialista em Copywriting para VSL e cartas de vendas feitas por Jon Benson. Seu foco é identificar e resolver necessidades dos clientes, As pessoas te consideram ultracriativo e as vezes até maluco. """, verbose=True, memory=False, allow_delegation=False, llm=model, tools=[search_tool] ) ######################### TASKS ######################### #ORGANIZER task0 = Task( description=f""" Analise os dados a seguir e entregue uma prévia do que deve ser abordado em cada momento do scritp da VSL segundo o template: [HOOK] [CONTEXT] [PROBLEM] [DEEPER PROBLEM] [PAIN POINT] [CONNECTION] [REALITY CHECK] [SOLUTION] [CONTENT] [VALUE EXPLANATION] [BENEFITS] [EXAMPLES] [CLOSING], Ideia da VSL: {vsl_ideia} Pontos Chave que precisam ser abordados: {vsl_key_points} Ideias de storytelling para a VSL : {vsl_title_ideias} """, expected_output="Entregue um artigo completo determinando os pontos que devem ser abordados na VSL e porque, dentro de cada tópico traga bullet points, elabore pensando em prender a atencão do espectador, sempre em português Brasil", agent=projet_manager, output_file='./vsl-output/00.md' # The final blog post will be written here ) #MECANISMO ÚNICO task0_1 = Task( description=f""" Entenda o mecanismo único de transformação de persona: {vsl_unic_mechanism} """, expected_output="Faça uma lista em bullet points com as vantagens do mecanismo único", agent=copywriter_agent, output_file='./vsl-output/00_1.md' # The final blog post will be written here ) #PAGE ANALYSIS task0_2 = Task( description=f""" Busque no Google o termo ChatFunnel e aprenda sobre o produto que será oferecido ao longo da VSL """, expected_output="Faça uma lista em bullet points com as informações coletadas do produto, sempre em português Brasil", agent=projet_manager, output_file='./vsl-output/00_2.md' # The final blog post will be written here ) #PERSONA task0_4 = Task( description=f""" Você vai incorporar a persona. Vai absorver seus gostos, desejos, anseios, medos e objeções a fim de facilitar o trabalho de desenvolimento da VSL. Você como representante da persona (Possível cliente que está assistindo a VSL) vai ajudar aos outros agentes a entender melho os pensamentos da persona e facilitar a quebra de objeções e a excitação das ambições de resolução dos problemas. """, expected_output="Se apresente como persona. Incluindo a sua idade, nome, profissão, gostos pessoais, seus problemas pessoas, desejos, medos, anseios e objeções. Apresente também objeções de compra a serem dilaceradas ao longo da VSL, sempre em português Brasil", agent=persona, output_file='./vsl-output/00_4.md' # The final blog post will be written here ) #HOOK task1 = Task( description=f""" Faça de 5 a 15 variações de HOOKs para o inicio do vídeo """, expected_output="Entregue uma lista no formato de bullet points, sempre em primeira pessoa e em portugues brasil.", agent=copywriter_agent, output_file='./vsl-output/01.md' # The final blog post will be written here ) #HOOK CRAZY task1_1 = Task( description=f""" Faça de 5 a 15 variações de HOOKs para o inicio do vídeo """, expected_output="Entregue uma lista no formato de bullet points, sempre em primeira pessoa e em portugues brasil.", agent=copywriter_agent_crazy, # context=[task0_2], output_file='./vsl-output/01_1.md' # The final blog post will be written here ) #CONTEXT task2 = Task( description="""Você vai escrever o Tópico: [CONTEXT]. O context é a ligação entre o HOOK e o PROBLEM""", expected_output="Escreva de 200 a 600 palavras, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/02.md' ) #PROBLEM task3 = Task( description="""Escreva o Tópico: [PROBLEM] - Neste tópico você vai iniciar as perguntas relacionadas aos problemas. É o começo da agitação do problema""", expected_output="Escreva uma Lista em bullet points com 5 a 15 problemas enfrentados pela persona, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/03.md' ) #DEEPER PROBLEM task4 = Task( description="""Escreva o Tópico: [DEEPER PROBLEM] - Neste tópico você vai se aprofundar no problema""", expected_output="Escreva de 200 a 600 palavras aprofundando os problemas apresentados na tarefa [PROBLEM], sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/04.md' ) #PAIN POINT task5 = Task( description=""" Escreva o Tópico: [PAIN POINT]. Aperte os pontos de dor da persona. Crie situações incomodas e desconfortáveis a ponto da persona se sentir mal. """, expected_output="Escreva de 200 a 600 palavras, agite o problema com os pontos de dor, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/05.md' ) #CONNECTION task6 = Task( description=""" Escreva o Tópico: [CONNECTION], dentro deste tópico você vai entrar com a jornada do herói, me apresentando em primeira pessoa como: Mateus Dias, o cara que já passou pelos problemas que você passou e agora conseguiu alcancar os objetivos. """, expected_output="Escreva de 200 a 600 palavras criando pontos de conexão com a persona, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/06.md' ) #REALITY CHECK task7 = Task( description=""" Escreva o Tópico: [REALITY CHECK], Mostre a piora dos problemas e o agravamento da situação caso não seja tomada uma decisão de mudança. """, expected_output="Liste em Bullet Points apresentando o que acontece se não houver mudança através do Mecanismo único, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/07.md', context=[task3] ) #SOLUTION task8 = Task( description=""" Escreva o Tópico: [SOLUTION]. """, expected_output=f"Escreva de 200 a 600 palavras, apresenta o ChatFunnel como uma solução para os problemas, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/08.md' ) #CONTENT task9 = Task( description=""" Escreva o Tópico: [CONTENT]. """, expected_output="Escreva de 200 a 600 palavras com a explicação do conteúdo, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/09.md' ) #VALUE EXPLANATION task10 = Task( description=""" Escreva o Tópico: [VALUE EXPLANATION]. """, expected_output="Escreva de 200 a 600 palavras com a explicação do valor recebido pela persona usando o produto, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/10.md' ) #BENEFITS task11 = Task( description=""" Escreva o Tópico: [BENEFITS]. """, expected_output="Escreva de 200 a 600 palavras explicando os benefícios do produto e do mecanismo único, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/11.md' ) #EXAMPLES task12 = Task( description=""" Escreva o Tópico: [EXAMPLES]. """, expected_output="Escreva de 200 a 600 palavras de uso do produto para resolver os problemas, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/12.md' ) #CLOSING task13 = Task( description=""" Escreva o Tópico: [CLOSING]. """, expected_output="Escreva de 200 a 600 palavras com o fechamento da VSL, sempre em português Brasil", agent=copywriter_agent, output_file='./vsl-output/13.md' ) ######################### CREWAI ######################### crew = Crew( agents=[copywriter_agent,copywriter_agent_crazy,projet_manager], tasks=[task0, task0_1, task0_2, task1,task1_1, task2, task3, task4, task5,task6,task7,task8,task9,task10,task11,task12,task13], manager_llm=ChatOpenAI(temperature=0, model="gpt-4"), # Mandatory for hierarchical process verbose=2, # You can set it to 1 or 2 to different logging levels process=Process.sequential, # Specifies the hierarchical management approach ) # Get your crew to work! result = crew.kickoff() ######################### SALVA ######################### with open(result_filepath, 'w') as result_file: # Itere sobre todos os arquivos no diretório especificado for filename in os.listdir(directory_path): # Verifique se o arquivo atual é um arquivo .md e não é o result.md if filename.endswith('.md') and filename != result_filename: # Construa o caminho completo para o arquivo atual filepath = os.path.join(directory_path, filename) # Abra o arquivo atual em modo de leitura with open(filepath, 'r') as file: # Leia o conteúdo do arquivo e escreva no arquivo de resultado result_file.write(file.read()) # Opcional: escreva uma nova linha entre os conteúdos dos arquivos para separação result_file.write('\n\n') print("Todos os arquivos .md foram combinados em result.md")