# Andrew Ng Explores The Rise Of AI Agents And Agentic Reasoning | BUILD 2024 Keynote

Canal: Snowflake Inc.
Data: 20241119

## Transcrições

### Vídeo: https://www.youtube.com/watch?v=KrRD7r7y7NY
Idioma: English (auto-generated)

# Apresentação de Andrew no Snowflake Build

Por favor, deem as boas-vindas ao Andrew! [Aplausos]

Obrigado! É um momento excelente para ser um construtor. Estou entusiasmado por estar de volta ao Snowflake Build. Hoje, gostaria de partilhar onde penso que se encontram algumas das maiores oportunidades da IA.

Já me devem ter ouvido dizer que considero a IA a nova eletricidade. Isto porque a IA é uma tecnologia de propósito geral, tal como a eletricidade. Se vos perguntar: "Para que serve a eletricidade?", é sempre difícil responder porque serve para tantas coisas diferentes. Da mesma forma, a nova tecnologia de IA está a criar um vasto conjunto de oportunidades para construirmos novas aplicações que antes não eram possíveis.

## A Pilha da IA

As pessoas perguntam-me frequentemente: "Ei Andrew, onde estão as maiores oportunidades da IA?" Isto é o que eu considero como a pilha da IA:

- No nível mais baixo estão os semicondutores.
- Por cima disso está grande parte da infraestrutura em cloud, incluindo, claro, o Snowflake.
- Depois, por cima disso, estão muitos dos formadores de modelos de base e os próprios modelos.

Acontece que grande parte do entusiasmo mediático, da excitação e do burburinho nas redes sociais tem-se centrado nestas camadas da pilha — as novas camadas tecnológicas. Quando surge uma nova tecnologia como a IA generativa, o burburinho foca-se nestas camadas tecnológicas. Não há nada de errado com isso, mas penso que, quase por definição, há outra camada da pilha que tem de funcionar ainda melhor, e essa é a camada das aplicações. Precisamos que as aplicações gerem ainda mais valor e ainda mais receitas para que possamos realmente pagar aos fornecedores de tecnologia abaixo.

Passo muito do meu tempo a pensar em aplicações de IA, e acho que é aí que estarão muitas das melhores oportunidades para construir coisas novas.

## Desenvolvimento Rápido e Mais Rápido de Modelos de Machine Learning

Uma das tendências que tem vindo a crescer nos últimos anos, em grande parte devido à IA generativa, é o desenvolvimento rápido e ainda mais rápido de modelos de machine learning. Em particular, a IA generativa está a permitir-nos construir coisas mais rapidamente do que nunca.

Tomemos o problema de construir um classificador de sentimentos — pegar em texto e decidir se é um sentimento positivo ou negativo para monitorização de reputação. Um fluxo de trabalho típico usando aprendizagem supervisionada pode demorar um mês para obter alguns dados rotulados, depois treinar um modelo de IA, o que pode demorar alguns meses, e depois encontrar um serviço em cloud ou algo semelhante para implementar, o que pode demorar mais alguns meses. Assim, durante muito tempo, sistemas de IA muito valiosos podiam demorar seis a 12 meses a serem construídos por boas equipas de IA.

Não há nada de errado com isso; muitas pessoas criam sistemas de IA muito valiosos desta forma. Mas com a IA generativa, há certas classes de aplicações onde se pode escrever um prompt em dias e depois implementá-lo em, novamente, talvez dias. O que isto significa é que há muitas aplicações que antes me levavam a mim e a boas equipas de IA meses a construir e que hoje se podem construir em talvez 10 dias.

Isto abre a oportunidade de experimentar a construção de novos protótipos e lançar novos produtos de IA. Certamente, este é o aspeto de prototipagem. Estas são algumas das consequências desta tendência: a experimentação rápida está a tornar-se um caminho mais promissor para a invenção.

Anteriormente, se demorasse seis meses a construir algo, então era melhor estudá-lo, garantir que havia procura do utilizador, fazer com que os gestores de produto o analisassem, documentá-lo e depois gastar todo esse esforço para o construir, esperando que valesse a pena. Mas agora, para equipas de IA em rápida evolução, vejo um padrão de design onde se pode dizer: "Sabem que mais? Demora-nos um fim de semana a montar um protótipo. Vamos construir 20 protótipos e ver o que resulta. Se 18 deles não funcionarem, simplesmente descartamo-los e ficamos com o que funciona."

Assim, a iteração rápida e a experimentação rápida estão a tornar-se um novo caminho para inventar novas experiências de utilizador.

## Avaliações como um Gargalo

Uma das implicações interessantes é que as avaliações, ou "evals" para abreviar, estão a tornar-se um gargalo maior na forma como construímos coisas. Acontece que, no mundo da aprendizagem supervisionada, se estivermos a recolher 10.000 pontos de dados de qualquer forma para treinar um modelo, então se precisarmos de recolher mais 1.000 pontos de dados para testes, não há problema — um aumento de 10% no custo.

Mas para muitas aplicações baseadas em modelos de linguagem grandes, se não houver necessidade de ter dados de treino, se me obrigarem a abrandar para recolher mil exemplos de teste, isso parece um enorme gargalo. Assim, o novo fluxo de trabalho de desenvolvimento muitas vezes parece que estamos a construir e a recolher dados mais em paralelo do que sequencialmente, em que construímos um protótipo e depois, à medida que se torna mais importante e a robustez e fiabilidade se tornam mais importantes, gradualmente construímos esse conjunto de testes em paralelo.

Mas vejo inovações emocionantes ainda por fazer na forma como construímos evals.

## Prototipagem e Produção

O que também estou a ver é que a prototipagem de machine learning se tornou muito mais rápida, mas a construção de uma aplicação de software tem muitos passos. O produto funciona? O design funciona? A integração de software funciona? Muito trabalho de canalização. Depois, após a implementação, DevOps e LOps. Algumas dessas outras peças estão a tornar-se mais rápidas, mas não se tornaram mais rápidas à mesma taxa que a parte de modelação de machine learning se tornou mais rápida.

Assim, pegamos num processo, e uma parte dele torna-se muito mais rápida. O que estou a ver é que a prototipagem é realmente rápida, mas por vezes levar um protótipo para uma produção robusta e fiável com guardrails e assim — esses outros passos ainda demoram algum tempo. Mas a dinâmica interessante que estou a ver é que o facto de a parte de machine learning ser tão rápida está a colocar muita pressão nas organizações para acelerar todas essas outras partes também.

Isso tem sido um progresso emocionante em termos de como o desenvolvimento de machine learning está a acelerar as coisas.

## Mover Rápido e Ser Responsável

Penso que o mantra "Mover rápido e partir coisas" ganhou má reputação porque, bem, partiu coisas. Algumas pessoas interpretam isto como significando que não devemos mover-nos rápido, mas discordo disso. Penso que o melhor mantra é "Mover rápido e ser responsável."

Estou a ver muitas equipas capazes de prototipar rapidamente, avaliar e testar de forma robusta — sem lançar nada para o mundo mais amplo que possa causar danos ou prejuízos significativos. Estou a encontrar equipas inteligentes capazes de construir muito rapidamente e mover-se muito depressa, mas também a fazê-lo de uma forma muito responsável. Acho isto estimulante — que se possam construir coisas e lançar coisas de forma responsável muito mais rapidamente do que nunca.

## Fluxos de Trabalho de IA Agente

Agora, há muita coisa a acontecer na IA, e de todas as coisas que estão a acontecer na IA em termos de tendências técnicas, a tendência que mais me entusiasma são os fluxos de trabalho de IA agente. Assim, se me perguntassem qual é a tecnologia de IA mais importante a que devemos prestar atenção, diria que é a IA agente.

Quando comecei a dizer isto no início deste ano, era uma afirmação um pouco controversa, mas agora o termo "agentes de IA" tornou-se tão amplamente utilizado por pessoas técnicas e não técnicas que se tornou um pouco num termo de moda. Assim, deixem-me partilhar convosco como vejo os agentes de IA e porque penso que são importantes.

Abordando isto de uma perspetiva técnica, a forma como a maioria de nós usa modelos de linguagem grandes hoje é com o que se chama prompting de zero-shot. Isso significa aproximadamente que lhe pedimos — damos-lhe um prompt — para escrever um ensaio ou uma saída para nós. É um pouco como se estivéssemos a ir a uma pessoa, ou neste caso a uma IA, e a pedir-lhe para escrever um ensaio para nós, começando da primeira palavra, escrevendo da primeira palavra até à última palavra, tudo de uma vez, sem nunca usar o backspace — simplesmente do início ao fim assim.

Acontece que as pessoas — nós não fazemos a nossa melhor escrita desta forma. Mas apesar da dificuldade de ser forçado a escrever desta forma, os modelos de linguagem grandes fazem, sabem, não mal — bastante bem.

Aqui está como é um fluxo de trabalho agente: para gerar um ensaio, pedimos a uma IA para primeiro escrever um esboço do ensaio, perguntar se precisa de fazer alguma pesquisa na web, e se sim, vamos descarregar algumas páginas web e colocá-las no contexto do modelo de linguagem grande. Depois, vamos escrever o primeiro rascunho, ler o primeiro rascunho e criticá-lo.

# Fluxos de Trabalho Agentes: Melhorar o Desempenho Através de Processos Iterativos

Ao rever rascunhos e tarefas semelhantes, um fluxo de trabalho agente envolve um ciclo de reflexão, pesquisa, revisão e, em seguida, retorno a mais reflexão e pesquisa. Este ciclo iterativo, embora demorado, leva a resultados de trabalho significativamente melhores.

Em algumas equipas com as quais trabalho, aplicamos este fluxo de trabalho agente para processar documentos legais complexos, auxiliar em diagnósticos de saúde e lidar com papeladas intrincadas de conformidade governamental. Esta abordagem frequentemente produz resultados superiores em comparação com métodos tradicionais.

Uma área em que quero focar nesta apresentação é o desenvolvimento de IA visual, onde os fluxos de trabalho agentes nos permitem processar dados de imagem e vídeo. Vou aprofundar este tópico mais tarde.

## Benchmarks que Demonstram a Eficácia dos Fluxos de Trabalho Agentes

Existem benchmarks que mostram que os fluxos de trabalho agentes entregam resultados muito melhores. Um benchmark notável é o Human Eval Benchmark da OpenAI, que mede a capacidade dos grandes modelos de linguagem para resolver puzzles de codificação.

Dados recolhidos pela minha equipa revelam que neste benchmark (POS K Benchmark, POS K Metric), o GPT-3.5 obteve 48% de precisão. O GPT-4 mostrou uma melhoria significativa com 67%. No entanto, o salto do GPT-3.5 para o GPT-4 é ofuscado pela melhoria observada quando o GPT-3.5 é usado dentro de um fluxo de trabalho agente, alcançando mais de 95% de precisão. O GPT-4 com um fluxo de trabalho agente também apresenta um desempenho substancialmente melhor.

## Quatro Padrões de Design Principais nos Fluxos de Trabalho Agentes

Na forma como os construtores implementam o raciocínio agente ou fluxos de trabalho nas suas aplicações, existem quatro padrões de design principais:

1. **Reflexão**
2. **Uso de Planeamento**
3. **Colaboração Multiagente**
4. **Desmistificação dos Fluxos de Trabalho Agentes**

Os fluxos de trabalho agentes podem parecer um tanto misteriosos até que se leia o código. Deixe-me explicar brevemente o que estes fluxos de trabalho envolvem.

### Reflexão na Geração de Código

Por exemplo, na reflexão, posso começar por solicitar a um agente codificador (um grande modelo de linguagem) com uma mensagem como: "O teu papel é ser um codificador. Por favor, escreve código para uma determinada tarefa." O modelo gera código, que é então copiado e colado de volta num prompt pedindo-lhe para criticar o código. O mesmo modelo pode encontrar problemas ou sugerir melhorias. Este processo pode incluir a execução de testes unitários e o fornecimento de feedback, levando a mais iterações de código.

Este tipo de fluxo de trabalho de reflexão não é mágico e não resolve todos os problemas, mas frequentemente eleva o desempenho base. Também antecipa o planeamento ou fluxos de trabalho multiagente, onde um modelo desempenha o papel de codificador e outro revê o código, resultando em melhorias de desempenho.

### Uso de Planeamento em Chamadas de Função

O segundo padrão de design principal é o uso de planeamento. Aqui, um grande modelo de linguagem pode ser solicitado a gerar um pedido para uma chamada de API, decidindo quando precisa de pesquisar na web, executar código, emitir um reembolso ao cliente, enviar um email ou consultar uma entrada de calendário. Isto expande as capacidades dos fluxos de trabalho agentes.

### Padrão de Design de Planeamento em Tarefas Complexas

No planeamento, dado um pedido complexo como gerar uma imagem de uma rapariga a ler um livro, um modelo de linguagem pode usar um modelo de pose aberta para detetar a pose, gerar a imagem, descrevê-la e, em seguida, usar TTS para gerar áudio. Isto envolve o modelo a escolher uma sequência de ações para executar uma tarefa complexa.

### Colaboração Multiagente

Por último, a colaboração multiagente ocorre quando, em vez de solicitar a um modelo para fazer uma coisa, ele é solicitado a desempenhar diferentes papéis em diferentes momentos. Diferentes agentes simulados interagem para resolver uma tarefa. Este padrão de design demonstrou melhorias significativas de desempenho para várias tarefas. É análogo a executar múltiplos processos numa CPU, dividindo tarefas em subtarefas para maior eficiência.

## A Ascensão de Agentes Baseados em Modelos Multimodais

Estou particularmente entusiasmado com a ascensão não apenas de agentes baseados em grandes modelos de linguagem, mas também de agentes baseados em grandes modelos multimodais. Por exemplo, dada uma imagem, um grande modelo multimodal pode realizar previsões zero-shot, o que é semelhante a olhar para a imagem e fornecer uma saída. Para tarefas simples de imagem, como contar o número de corredores, isto funciona bem.

No entanto, como com agentes baseados em grandes modelos de linguagem, os agentes baseados em modelos multimodais desempenham-se melhor com um fluxo de trabalho iterativo. Eles podem abordar o problema passo a passo: detetar os rostos, detetar os números e juntar tudo. Isto permite ao agente planear, testar e articular código para realizar tarefas mais complexas.

## Demonstração: Fluxos de Trabalho Agentes para Tarefas de IA Visual

Para ilustrar, gostaria de mostrar uma demonstração do trabalho feito por Dan Malone e por mim, juntamente com a equipa H AI, na construção de fluxos de trabalho agentes para tarefas de IA visual. No meu portátil, tenho uma imagem de um jogo de futebol. Vou solicitar ao modelo que conte os jogadores na imagem.

Se não tiveres a certeza de como solicitar, após carregar uma imagem, um pequeno ícone de lâmpada fornece sugestões de prompts que podes usar.

# Vision Agent: Revolucionando o Processamento de Dados Visuais em AI

Vamos explorar como o Vision Agent pode transformar a forma como processamos dados visuais.

## Contagem de Jogadores em Campo

Primeiro, consideremos um cenário em que precisamos contar o número de jogadores num campo de futebol. Este processo envolve a execução de um código que demora alguns minutos a analisar e gerar um resultado preciso. A complexidade surge porque não queremos contar jogadores em segundo plano — apenas os que estão em primeiro plano.

Já executei isto anteriormente, por isso vamos diretos ao resultado. O código selecionou sete jogadores em campo. Vamos verificar: 1, 2, 3, 4, 5, 6, 7. Ao ampliar a saída do modelo, confirmamos que a contagem está correta.

Um dos resultados mais interessantes deste processo é a geração de código Python. Este código pode ser executado repetidamente numa grande coleção de imagens. Esta capacidade é particularmente valiosa para empresas e equipas que têm grandes quantidades de dados visuais de AI armazenados, mas que têm tido dificuldades em extrair insights significativos.

Para muitas pequenas equipas ou grandes empresas com vastos dados visuais, o Vision Agent permite-lhes tirar partido de dados anteriormente armazenados em blob storage e obter valor real deles. Isto representa uma transformação significativa na AI.

## Análise de Vídeos de Jogos de Futebol

Aqui está outro exemplo: dado um vídeo de um jogo de futebol, a tarefa é dividir o vídeo em clips de 5 segundos e identificar o clip em que um golo é marcado. O Vision Agent gera código para avaliar o vídeo e devolve o clip relevante.

Por exemplo, pode identificar um golo marcado por volta dos 10-15 segundos e extrair os frames associados. Isto é incrivelmente útil para processar dados de vídeo de forma eficiente.

## Geração de Metadados para Clips de Vídeo

Outra funcionalidade poderosa é a capacidade de dividir um vídeo em segmentos mais pequenos, descrever cada segmento e armazenar a informação num Pandas DataFrame. Estes metadados podem depois ser armazenados em plataformas como o Snowflake, permitindo o desenvolvimento de outras aplicações sobre eles.

O Vision Agent escreve o código para construir estes metadados, que podem ser usados para indexar uma coleção de vídeos. Por exemplo, se pesquisar por "esquiador no ar", o sistema mostrará clips com alta similaridade, marcados a verde na timeline.

## Aplicações Práticas

Vamos explorar uma aplicação prática. Suponha que tem uma coleção de vídeos e quer indexá-los para uma navegação fácil. Usando o Vision Agent, pode dividir o vídeo em segmentos, armazenar os metadados e depois pesquisar por conteúdo específico. Por exemplo, pesquisar por "lobo cinzento à noite" mostrará clips relevantes, com a timeline a indicar onde o lobo cinzento aparece.

Outro exemplo divertido é a identificação de bagagem. Se tiver muita bagagem preta mas quiser encontrar a que tem uma correia arco-íris, o Vision Agent pode ajudá-lo a localizá-la rapidamente.

## O Futuro da AI: Fluxos de Trabalho Agentes

Em termos de oportunidades de AI, os fluxos de trabalho agentes estão a mudar o stack de AI. Há uma nova camada emergente de orquestração agentes, tornando mais fácil para os developers construírem aplicações. O Vision Agent é uma contribuição para esta camada, simplificando o processo de construção de aplicações de AI visual.

### Tendências Chave de AI a Observar

1. **Velocidade de Geração de Tokens**: Os fluxos de trabalho agentes geram muitos tokens. Esforços para acelerar a geração de tokens, incluindo avanços em semicondutores e software, vão melhorar estes fluxos de trabalho.

2. **Modelos de Linguagem Grandes Otimizados**: Os modelos de linguagem grandes de hoje estão otimizados para responder a perguntas humanas. No entanto, os fluxos de trabalho agentes requerem modelos ajustados especificamente para o uso de ferramentas, o que está a tornar-se cada vez mais comum.

3. **Crescente Importância da Engenharia de Dados**: Com a capacidade de processar dados não estruturados como texto, imagens e vídeo, a engenharia de dados está a tornar-se mais crítica. Gerir dados não estruturados e os seus metadados é um foco principal para muitas empresas.

4. **Revolução no Processamento de Imagens**: Enquanto o processamento de texto já revolucionou muitos campos, o processamento de imagens está nos seus estágios iniciais. À medida que amadurece, as empresas poderão extrair mais valor dos dados visuais, expandindo significativamente o leque de aplicações possíveis.

Em conclusão, o Vision Agent e tecnologias semelhantes estão a tornar mais fácil do que nunca construir aplicações que processam e extraem valor de dados visuais. Este é um momento emocionante para a AI, com inúmeras oportunidades no horizonte.

# Conclusão: O Momento Atual para Desenvolvedores

Este é um momento excelente para ser desenvolvedor. A IA generativa está a permitir-nos aprender e experimentar mais rapidamente do que nunca, expandindo o leque de possibilidades. Existem inúmeras novas aplicações que podemos criar agora, tanto na área de IA visual como noutras áreas, que antes eram impossíveis.

Se estiver interessado em ver as demonstrações de IA visual que apresentei, visite [va.landing.ai](https://va.landing.ai). Lá, poderá experimentar exatamente as mesmas demonstrações que mostrei, obter o código e executá-lo nas suas próprias aplicações.

Com isto, gostaria de agradecer a todos e pedir que se juntem a mim para receber de volta ao palco a Elsa. Muito obrigado!

---
