Alura > Cursos de Programação > Cursos de Automação e Produtividade > Conteúdos de Automação e Produtividade > Primeiras aulas do curso Codex: assistentes, skills e fluxos de trabalho inteligentes

Codex: assistentes, skills e fluxos de trabalho inteligentes

Fundamentos do Codex - Apresentação

Apresentando o curso e o instrutor

Olá! Bem-vinde a este curso de Codecs da Alura. Eu sou Ricardo Bugan, Head (líder) de Produto e pessoa desenvolvedora, e serei sua pessoa instrutora neste curso.

Aqui, nós vamos trabalhar com Codecs e compreender a base deste assistente: como funciona e quais são suas diferenças em relação à Cloud (nuvem), principalmente no que diz respeito à interface, pois ela difere do que costumamos esperar quando pensamos na organização de pastas e arquivos.

Configurando o assistente pessoal e integrando ferramentas

Nós vamos trabalhar na Cloud (nuvem) com um assistente pessoal. Temos um projeto de assistente pessoal no qual vamos organizar a criação de nossos arquivos e gerenciar, junto conosco, um projeto. Isso inclui registrar reuniões, tomar decisões em conjunto, definir habilidades e templates (modelos) para garantir consistência nos arquivos e elaborar o mapa de stakeholders (partes interessadas).

Quando trabalhamos em um projeto, precisamos nos comunicar com diversas pessoas. Veremos como o assistente pode nos ajudar nisso, definindo regras por meio do nosso arquivo de regras e de instruções e conectando-o ao mundo real com plugins (extensões).

Vamos ver como conectamos nosso plugin (complemento) ao ClickUp para que nos ajude a gerenciar o ClickUp. Ele ficará disponível e administrará as informações do ClickUp em nosso lugar.

Criando habilidades e organizando categorias

Também criaremos nossas próprias habilidades. Algumas delas já vêm prontas com o Codecs, então não criaremos todas, mas faremos uma sob medida, com nosso passo a passo. Vamos entender como essas habilidades funcionam, para que servem, por que as implementamos dessa maneira e onde as armazenaremos, considerando os diferentes locais possíveis.

Podemos ver aqui que existem categorias como pessoal, sistema e assistente pessoal. Vamos esclarecer o que significa cada uma dessas categorias e onde organizamos cada item.

Automatizando tarefas e consolidando o fluxo no ClickUp

Além disso, vamos pensar em como automatizar tarefas recorrentes, pois podemos ter tarefas ou prompts (instruções) que desejamos organizar e executar semanalmente com nosso assistente. Criaremos uma automação em conjunto com ele.

Faremos o assistente interagir com o ClickUp, mantendo as informações dentro de uma "pasta de projeto", onde ele configurará e gerenciará seu contexto. Vamos observar como tudo isso se integra para termos um assistente pessoal que nos ajude no dia a dia utilizando uma ferramenta desse tipo.

[♪]

Fundamentos do Codex - Conhecendo o Codex

Apresentando o ambiente e contextualizando o curso

Vamos começar o curso utilizando o Codecs. Já o temos aberto para apresentar a interface. Se viermos do Claude, Claude Code ou Claude Coworking, o Codecs será muito parecido e funcionará de maneiras semelhantes. Acreditamos que as ferramentas de assistentes de IA estão convergindo para funcionalidades similares, embora ainda existam diferenças na forma de trabalhar e na maneira de exibir as informações. Aqui estamos com o aplicativo aberto.

Observemos que não utilizamos a assinatura mais cara. Estamos no plano Go. O serviço oferece um plano Plus e chegou a sugerir assinatura, porém conseguimos usar o Codecs com o plano Go. Apesar de, na página de preços, constar que o agente de programação do Codecs não está disponível, a indicação é de que seria necessário o Plus para usar o software. Ainda assim, com o plano Go estamos utilizando o Codecs normalmente. Isso pode mudar; é possível que estejam testando a conversão do site para decidir se vale a pena bloquear o recurso ou não. No momento da gravação deste curso, não precisamos do plano Plus para acessar: o plano Go está funcionando.

Explorando diferenças e integrando aplicações

Aqui notamos algumas diferenças em relação ao uso habitual do ChatGPT. Existe uma aba de conversas e, do modo como estamos, ela funciona de forma semelhante a abrir um navegador e enviar uma pergunta no chat para obter uma resposta. A diferença é que já existe a possibilidade, mesmo dentro do chat e sem uma pasta de projeto, de conectar-se a algumas aplicações. O aplicativo oferece opções para integrar Slack, e-mail, calendário, entre outras. Essa é uma vantagem de usar a aplicação instalada na máquina, em vez do navegador, que não vem com essas conexões por padrão. Para habilitá-las, é necessário estar com o Codecs instalado localmente.

Vamos abrir um projeto para manter todos os arquivos reunidos, de forma que o assistente possa visualizá-los. Todo assistente de IA com o qual trabalhamos precisa operar com contexto. A vantagem de ferramentas como o Codecs (e, de forma semelhante, o Gemini) é que, ao indicarmos uma pasta de projeto, o assistente passa a enxergar naturalmente o que está ali, carregar os arquivos, lê-los na sua janela de contexto e responder de acordo com o conteúdo dessa pasta.

Selecionando a pasta do projeto

Vamos começar utilizando uma pasta já existente. Temos, no computador, a pasta "Asistente Personal" que vamos criar, mas ela está vazia. Como a pasta já foi criada, vamos selecioná-la para iniciar um projeto a partir de uma pasta existente. Abriremos a pasta "Codecs" e, dentro dela, "Asistente Personal", selecionaremos essa pasta e, a partir de agora, estaremos dentro de uma pasta de projeto.

Ao abrir a pasta de projeto, para cada pasta haverá um pequeno menu. Um ícone é exibido na lateral e também há uma indicação na parte inferior de que estamos na pasta "Asistente Personal".

Gerenciando chats e configurando o modelo

Podemos acessar a área do Assistente Pessoal para adicionar um novo projeto ou, se quisermos apenas um chat (conversa) sobre um tema aleatório, sem estar conectado a nenhuma pasta, podemos criar um novo chat (conversa) ali. Quando estivermos trabalhando em um projeto ou, neste caso, em um chat (conversa), a diferença é sutil. Se houver dúvidas sobre onde estamos, clicamos no botão "Novo Chat" ou, se quisermos trabalhar em uma pasta, iniciamos um novo chat (conversa) dentro dessa pasta; a interface será ajustada na parte inferior.

Antes de iniciarmos o projeto, configuramos o nosso GPT. Na lateral, selecionamos o modelo que estamos utilizando. O 5.5 é o mais atual no momento desta gravação. O 5.4 também está disponível, e podemos inclusive selecionar o 5.2. A escolha depende da complexidade com a qual desejamos trabalhar e de quanto queremos gastar em tokens (unidades de texto) ao usar o assistente. O 5.2 já é bastante bom; para o nível de complexidade deste projeto, não consideramos necessário usar o 5.5. No entanto, dependendo de quanto contexto queremos manter, do tamanho do projeto e do quanto desejamos que o modelo planeje e raciocine conosco, pode ser interessante escolher uma versão mais avançada. Para este projeto, o 5.2 deve ser suficiente. Se percebermos que as respostas não são satisfatórias, que há muitas alucinações, ou que precisamos de mais espaço na janela de contexto, podemos migrar para o 5.5. Vários desses termos serão detalhados ao longo do curso.

Utilizando o obsidian e preparando o ambiente

Diferentemente do Claude Code, que, ao abrirmos uma pasta de projeto, exibe os arquivos contidos nela, aqui isso não fica tão explícito. Por isso, vamos usar o Obsidian e carregar a pasta correspondente dentro do Obsidian para acompanhar com mais facilidade como os arquivos estão sendo manipulados. Na lateral, a interface mostra partes do contexto que está sendo gerado e as abas, mas não necessariamente a pasta em si. Mesmo quando exibe, a experiência de uso não é tão boa.

Deixaremos o Obsidian — aplicativo que funciona de maneira semelhante ao Notion — configurado para abrir uma pasta como um cofre. No Obsidian, qualquer pasta carregada é chamada de cofre. Vamos abrir a nossa pasta do sistema indo até a pasta "Codecs/Assistente Pessoal" e abrindo-a. O Obsidian será aberto e, como a pasta está vazia, não veremos conteúdo inicialmente. Já observamos que a pasta está vazia e contém apenas a pasta ".obsidian", que guarda as configurações do Obsidian. Qualquer arquivo criado no formato MD — que a maioria dos assistentes gera — será criado nessa pasta.

Com isso, preparamos o ambiente para começarmos a trabalhar. O Obsidian está configurado, o assistente está configurado, já selecionamos o modelo desejado, criamos a pasta do projeto do assistente à qual ele se conectará, e tanto o Codecs quanto o Obsidian estão apontando para a mesma pasta do Assistente Pessoal. Assim, todos os arquivos ficarão conectados em um contexto único para o assistente ajudar e responder da maneira desejada. Dessa forma, ele terá sempre mais contexto do que teria em um chat (conversa) individual. Para trabalhar em projetos, essa abordagem funciona muito bem, e veremos como ela nos ajuda ao longo deste curso.

Fundamentos do Codex - Primeira tarefa

Iniciando a interação com o assistente

Com o ambiente configurado, podemos passar para a primeira tarefa. Vamos verificar aqui embaixo se estamos na pasta correta do projeto. Estamos no nosso assistente pessoal e vamos abrir um chat (conversa) com ele. Vamos solicitar que realize algo por nós.

Neste primeiro momento, adotamos a abordagem de trabalhar como se estivéssemos colaborando com alguém júnior. Estamos com o nosso assistente, que tem capacidade de ler e interpretar o texto que fornecemos e pode buscar contexto na internet, mas não conhece nosso contexto nem nosso projeto. Por isso, gostamos de ensiná-lo sobre como realizamos as tarefas.

Fornecendo contexto e definindo o prompt

Para iniciar a conversa, é importante fornecer contexto sobre o que estamos fazendo. Já deixamos um prompt (instrução) preparado para o assistente e o colocamos para executar; enquanto explicamos, ele processa o texto. Basicamente, indicamos: queremos que se comporte como nosso assistente pessoal para nos ajudar no trabalho. Essa primeira linha equivale a um prompt (instrução) de sistema, semelhante ao que faríamos ao enviar uma mensagem diretamente para a LLM esperando uma resposta única, sem interação contínua. Uma das vantagens de ter nosso assistente no Codex é a possibilidade de correção iterativa. Em mensagens únicas, diríamos: “Comporte-se como um especialista nesta área, que vai traduzir de tal forma e se comportar desta maneira”. Aqui, seguimos a mesma lógica: “Queremos que se comporte como um assistente pessoal para nos ajudar no trabalho”.

Também informamos que temos um projeto estratégico da empresa para supervisionar, com muitas reuniões e decisões que precisam ser coletadas para tomarmos decisões coerentes, considerando as diferentes pessoas envolvidas, isto é, os stakeholders (partes interessadas). Fornecemos um contexto amplo do cenário, do objetivo e do que queremos que o assistente faça. Esse é o primeiro input, e vamos aproveitar as interações para ir refinando conforme observarmos o comportamento do assistente.

Solicitando estrutura de pastas e entendendo a interface

Nossa primeira tarefa é obter ajuda para criar uma estrutura de pastas que permita acompanhar o dia a dia do projeto. Criamos o prompt (instrução), deixamos em processamento e o assistente já deve nos retornar uma sugestão de estrutura. À direita, é possível ver que o chat (conversa) já foi criado. Todas as sessões criadas com o assistente ficam listadas nessa estrutura lateral.

Isso pode causar confusão no início, pois, ao visualizar o nome da pasta com uma lista abaixo, poderíamos esperar ver os arquivos dessa pasta. No entanto, não se trata dos arquivos da pasta; são as conversas que tivemos sobre esse projeto na aba lateral do Codex. No outro painel, visualizamos “saídas” e “fontes”. Neste momento, o assistente informa que não há fontes ainda, ou seja, nenhum arquivo de contexto foi carregado como fonte de informação para trabalhar, e nenhum arquivo ou artefato foi produzido; portanto, também está vazio. Assim, nossas fontes e saídas, por enquanto, estão vazias.

Ajustando a proposta de estrutura

O assistente já retornou uma resposta com uma estrutura de pastas pensada para reuniões, decisões, stakeholders (partes interessadas), rastreabilidade e fonte da verdade. Uma observação: o Codex costuma criar pastas numeradas. Como precisamos ensinar como queremos que as coisas sejam feitas, já indicamos: não queremos que as pastas sejam numeradas; não precisamos que fiquem numeradas.

Recebemos uma visão geral e alguns arquivos: resumo executivo; escopo e fora de escopo; cronogramas e marcos; materiais para stakeholders (partes interessadas); um mapa de stakeholders (partes interessadas); uma matriz RACI (quem é responsável pelo quê); um plano de comunicação por cadência (rituais, públicos e canais); organização de comunicação e reuniões; e, para cada mês, como organizar: agendas, notas e acompanhamentos; além de decisões já tomadas; ações e entregáveis; arquitetura e soluções; métricas e resultados; finanças e recursos; e comunicados.

Essa estrutura é extensa e inclui muitos itens que talvez não sejam necessários neste momento. Portanto, vamos solicitar que as pastas não sejam numeradas e selecionar apenas as que queremos agora. Consideramos adequadas para este primeiro momento: "visión general", "stakeholders" (partes interessadas), "reuniones" e "decisiones". Isso atende ao que precisamos inicialmente.

Priorizando o essencial para o início

Mesmo que recebamos mais sugestões de como fazer, por exemplo sobre métricas e resultados, podemos começar pequeno, sobretudo se nunca trabalhamos com esse tipo de assistente e ainda temos dúvidas sobre como funciona, para que serve e como usar. Inclusive, fornecemos um prompt (instrução) pedindo uma estrutura geral, mas podemos pensar: qual é o problema de hoje? Por exemplo: ontem tivemos uma reunião com uma pessoa de stakeholder (parte interessada) que solicitou fazer algo de determinada forma; na semana passada, houve outra reunião com outra pessoa de stakeholder (parte interessada) que tem conflito de interesses com a de ontem. Então, precisamos pelo menos registrar essas duas pessoas de stakeholder (partes interessadas) e o conflito de interesses entre elas.

Pode ser que apenas com a pasta de "stakeholders" (partes interessadas) e a de "reuniones" seja suficiente para manter o rastreamento das decisões e das expectativas de cada pessoa de stakeholder (parte interessada). Em caso de dúvida, vamos começar menor. Embora o assistente tenha proposto uma estrutura completa para um grande projeto, não precisamos iniciar com tudo. Podemos ficar com "visión general", "stakeholders" (partes interessadas), "reuniones" e "decisiones". Por ora, talvez nem precisemos de ações e entregáveis, porque ainda não teremos isso; estamos mais na fase de elaboração ou discovery (descoberta). Se estivermos falando de um produto, pode ser a etapa de discovery (descoberta). Portanto, vamos utilizar apenas estas pastas: "decisiones", "reuniones", "stakeholders" (partes interessadas) e "visión general". As demais podem ser ignoradas por enquanto.

Solicitando a criação das pastas e verificando no Obsidian

Até aqui nada foi criado. Se formos à nossa pasta ou ao Obsidian, tanto o Obsidian quanto a pasta estão vazios. O assistente apenas sugeriu. Agora vamos solicitar explicitamente: queremos que ele crie essas pastas para começar a organizar o projeto e que não as numere, deixando apenas o nome simples. Informamos que gostamos da estrutura, que faz sentido e que vamos começar a trabalhar com ela.

O assistente processará a solicitação e, em seguida, executará as ações em uma terminal. Depois, criará na pasta raiz: "asistente personal", "visión general", "stakeholders" (partes interessadas), "reuniones" e "decisiones". Ele informou que já as criou e forneceu os caminhos. Podemos ver no Obsidian, porém, por enquanto, as pastas estão vazias.

Criando modelos de documentos e planejando a revisão

Em seguida, o assistente propôs criar também um arquivo de modelo: resumo do projeto, mapa de stakeholders (partes interessadas), modelo e registro de decisões. Isso é especialmente útil se nunca trabalhamos com esse tipo de ferramenta ou se não temos um modelo de como fazemos cada um desses mapeamentos. Vamos verificar como ele cria esses modelos para nós e solicitar: crie esses modelos, por favor.

A ideia é a seguinte: se não temos um modelo alinhado ao nosso modo de trabalhar, a experiência do assistente e a forma como ele sabe estruturar pode ser útil, pois ele criará os modelos e nós poderemos revisá-los e entendê-los. Mesmo que já façamos isso de uma forma específica ou com um padrão definido, ainda podemos modificar a redação e a organização, acrescentando informações, e deixar registrado.

Abrindo os arquivos e aproveitando as ferramentas

Agora, os arquivos foram criados e ficaram disponíveis até que os abramos. O assistente nos oferece algumas opções de como abrir cada arquivo. Percebemos que ele apresenta basicamente arquivos voltados a pessoas desenvolvedoras, porque o Codex é um pouco diferente do uso em nuvem, sobretudo do Cloud for Work. O Codex se assemelha mais ao Cloud Code e é voltado para programação. Assim, quando clicamos em abrir, ele oferece ferramentas de código, pois assume que estamos interagindo com uma pessoa desenvolvedora.

Mesmo assim, vamos aproveitar a ferramenta — que tem muitas vantagens de rodar localmente no nosso computador, na nossa pasta, com acesso aos arquivos — e abstrair o fato de ter sido feita para código. Embora seja voltada a código, ela processa muito bem texto. Portanto, vamos utilizá-la para nos ajudar a processar os arquivos que contêm o contexto do negócio, do produto e do projeto, em vez de escrever código.

No menu, veremos que VS Code, Antigravity, Terminal, Git Bash e WSL são ferramentas orientadas a quem vai programar. Não é o nosso caso. Por isso, o Obsidian é interessante: podemos ver, em cada uma das pastas, que os modelos foram criados e como ficaram. Agora, podemos revisar esses modelos e decidir se estão adequados, o que mudaríamos e como proceder.

Ajustando os arquivos e entendendo limitações do Codex

Há várias formas de fazer ajustes:

Após a criação dos arquivos, o assistente deixou as saídas disponíveis. No entanto, se abrirmos um novo chat (conversa) e formos à lateral, nada será exibido. Podemos abrir um arquivo ou abrir um navegador, mas não há listagem dos arquivos dentro do próprio Codex. Mesmo trabalhando em uma pasta, o Codex não exibe os arquivos daquela pasta. Por isso, é útil contar com o Obsidian, para não precisarmos abrir sempre os arquivos diretamente no sistema de arquivos.

Visualizando os arquivos fora do Codex e alinhando expectativas

Se preferirmos, podemos abrir o arquivo decisiones.md pelo sistema; por exemplo, com o Bloco de Notas, apenas desta vez. Ele abrirá o arquivo. Porém, o Obsidian já carrega a pasta completa, então teremos o Obsidian como visualizador e editor de arquivos, e o Codex como nosso assistente. No Codex, veremos somente a estrutura dos chats (conversas). Se quisermos criar um chat (conversa) novo, podemos fazê-lo pelo menu, iniciando uma conversa com um assistente pessoal. Se quisermos continuar uma conversa, clicamos no título da conversa anterior, e ele nos traz de volta.

Pode haver uma ruptura de expectativas: “os arquivos foram criados; onde estão?”. Podemos esperar vê-los na interface do Codex, mas eles não aparecerão lá. Precisaremos usar outra ferramenta para visualizá-los. De todo modo, o assistente nos auxiliará porque tem acesso à pasta e à árvore de arquivos e, como vimos, já está criando arquivos para nós.

Sobre o curso Codex: assistentes, skills e fluxos de trabalho inteligentes

O curso Codex: assistentes, skills e fluxos de trabalho inteligentes possui 60 minutos de vídeos, em um total de 34 atividades. Gostou? Conheça nossos outros cursos de Automação e Produtividade em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Automação e Produtividade acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas