# 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)

# Bem-vindo, Andrew!

[**Aplausos**]

É um ótimo momento para ser um construtor. Estou entusiasmado por estar de volta ao **Snowflake Build**. Hoje, gostaria de partilhar onde vejo as maiores oportunidades da **IA**.

Já me deve ter ouvido dizer que acredito que a **IA é a nova eletricidade**. Isto porque a IA é uma tecnologia de propósito geral, tal como a eletricidade. Se perguntar para que serve a eletricidade, é difícil responder, pois é útil para tantas coisas diferentes. A nova tecnologia de IA está a criar um enorme conjunto de oportunidades para construirmos aplicações que antes não eram possíveis.

Muitas pessoas perguntam-me: "Andrew, onde estão as maiores oportunidades em IA?" É a isto que chamo de **pilha da IA**. No nível mais baixo estão os semicondutores. A seguir, temos a infraestrutura em cloud, incluindo, claro, o **Snowflake**. Acima disso, estão muitos dos modelos base e os seus treinadores.

Acontece que grande parte do hype dos media e do buzz nas redes sociais tem-se concentrado nestas camadas da pilha, especialmente nas novas camadas tecnológicas. Quando surge uma nova tecnologia, como a **IA generativa**, o foco está nestas camadas. E não há nada de errado nisso. Mas, por definição, há outra camada da pilha que precisa funcionar ainda melhor: a **camada de aplicações**. Precisamos que as aplicações gerem ainda mais valor e receita para que possamos pagar os fornecedores de tecnologia abaixo.

Por isso, passo muito tempo a pensar em aplicações de IA e acredito que é aí que estão as melhores oportunidades para construir coisas novas.

## Tendências em Desenvolvimento de IA

Uma das tendências que tem crescido nos últimos anos, em grande parte devido à IA generativa, é o desenvolvimento **rápido e cada vez mais acelerado** de modelos de machine learning. Em particular, a IA generativa permite-nos construir coisas mais rapidamente do que nunca.

Vamos pegar no problema de construir um **classificador de sentimentos**, por exemplo. O objetivo é analisar um texto e determinar se tem uma conotação positiva ou negativa, como em monitorização de reputação. Um fluxo de trabalho típico usando aprendizagem supervisionada poderia levar um mês para recolher dados rotulados, alguns meses para treinar o modelo e mais alguns meses para implementá-lo num serviço em cloud. Durante muito tempo, sistemas de IA valiosos levavam de seis a doze meses para serem construídos por boas equipas de IA.

Não há nada de errado com isto. Muitas pessoas criam sistemas de IA valiosos desta forma. Mas, com a IA generativa, há certas classes de aplicações onde se pode escrever um **prompt** em dias e implementá-lo em questão de dias também. Isto significa que muitas aplicações que antes levavam meses para serem construídas agora podem ser feitas em cerca de dez dias.

Isto abre a oportunidade de experimentar, construir novos protótipos e lançar novos produtos de IA. A **prototipagem rápida** está a tornar-se um caminho mais promissor para a inovação. Antes, se levava seis meses para construir algo, precisávamos estudar, garantir a procura do utilizador, documentar e depois gastar todo esse esforço para construir. Agora, equipas ágeis de IA podem construir 20 protótipos num fim de semana e ver o que funciona. Se 18 deles não derem certo, descartamos e focamo-nos no que funciona.

## Avaliações e Desenvolvimento Paralelo

Uma implicação interessante é que as **avaliações** (ou "evals") estão a tornar-se um gargalo maior no processo de construção. No mundo da aprendizagem supervisionada, se já estava a recolher 10.000 pontos de dados para treinar um modelo, recolher mais 1.000 para testes era um aumento de custo de apenas 10%. Mas, em muitas aplicações baseadas em modelos de linguagem grandes, se não há necessidade de dados de treinamento, recolher 1.000 exemplos de teste pode parecer um grande gargalo.

O novo fluxo de trabalho de desenvolvimento muitas vezes parece que estamos a construir e a recolher dados em paralelo, em vez de sequencialmente. Construímos um protótipo e, à medida que se torna mais importante e a robustez e fiabilidade se tornam críticas, gradualmente construímos o conjunto de testes em paralelo. Ainda vejo muitas inovações emocionantes em como construímos estas avaliações.

## Prototipagem Rápida vs. Produção

A prototipagem de machine learning tornou-se muito mais rápida, mas construir uma aplicação de software envolve muitas etapas: o produto funciona? O design funciona? A integração do software funciona? Há muita "encanação" envolvida. Após a implementação, há **DevOps** e **MLOps**. Algumas destas outras partes estão a tornar-se mais rápidas, mas não na mesma taxa que a modelagem de machine learning.

O que estou a ver é que a prototipagem é realmente rápida, mas levar um protótipo para uma produção robusta e fiável, com guardrails e tudo mais, ainda leva algum tempo. O interessante é que a velocidade da modelagem de machine learning está a pressionar as organizações a acelerar todas estas outras partes também. Isto tem sido um progresso emocionante.

## Mova-se Rápido, mas com Responsabilidade

Acho que o mantra **"mova-se rápido e quebre coisas"** ganhou uma má reputação porque, bem, quebrou coisas. Algumas pessoas interpretam isto como um sinal de que não devemos mover-nos rapidamente, mas discordo. Acredito que o melhor mantra é **"mova-se rápido e seja responsável"**.

Estou a ver muitas equipas capazes de prototipar rapidamente, avaliar e testar de forma robusta, sem lançar nada para o mundo externo que possa causar danos ou prejuízos significativos. Equipas inteligentes estão a conseguir construir e mover-se rapidamente, mas de forma responsável. Acho isto empolgante: pode construir e lançar coisas de forma responsável muito mais rapidamente do que antes.

## O Futuro: Workflows Agênticos de IA

Há muito a acontecer em IA, mas, de todas as tendências técnicas, a que mais me entusiasma são os **workflows agênticos de IA**. Se me perguntar qual é a tecnologia de IA mais importante para prestar atenção, diria que são os **agentes de IA**.

Quando comecei a falar sobre isto no início deste ano, era uma declaração um tanto controversa. Agora, o termo "agentes de IA" tornou-se amplamente utilizado, tanto por pessoas técnicas como não técnicas, e acabou por se tornar um pouco um termo de hype. Então, deixe-me partilhar como vejo os agentes de IA e por que acho que são importantes.

### O que são Workflows Agênticos?

Do ponto de vista técnico, a maioria de nós usa modelos de linguagem grandes hoje com o que chamamos de **prompting zero-shot**. Isto significa que damos um prompt ao modelo, como "escreva um ensaio", e ele gera uma saída do início ao fim, sem usar o backspace, como se estivesse a escrever de uma só vez.

Acontece que nós, humanos, não fazemos a nossa melhor escrita assim. Apesar da dificuldade de escrever desta forma, os modelos de linguagem grandes saem-se relativamente bem. Mas aqui está como um **workflow agêntico** funciona: para gerar um ensaio, pedimos à IA para primeiro criar um esboço. Se necessário, pode fazer pesquisas na web, descarregar páginas e adicionar ao contexto do modelo. A seguir, escreve o primeiro rascunho, revê-o, critica-o e melhora-o.

Esta abordagem agêntica permite que a IA trabalhe de forma mais semelhante à maneira como os humanos criam conteúdo, resultando em saídas mais refinadas e úteis. É por isso que acredito que os **workflows agênticos** são o futuro da IA.

# Fluxos de Trabalho Agentes: Revolucionando o Desempenho da IA

## Introdução aos Fluxos de Trabalho Agentes

Ao rever um rascunho ou realizar tarefas complexas, o fluxo de trabalho envolve frequentemente um processo cíclico de pensar, pesquisar, rever e iterar. Este ciclo, embora demorado, melhora significativamente a qualidade do resultado. Em várias equipas com as quais colaboro, aplicamos este **fluxo de trabalho agente** para lidar com tarefas intrincadas, como o processamento de documentos legais complexos, assistência em diagnósticos de saúde e gestão de documentação de conformidade governamental. Esta abordagem produz consistentemente resultados superiores em comparação com métodos tradicionais.

## O Poder dos Fluxos de Trabalho Agentes

Uma área que me entusiasma particularmente discutir é a **IA visual**, onde os fluxos de trabalho agentes permitem o processamento de dados de imagem e vídeo. Mas antes de mergulharmos nisso, vamos explorar alguns benchmarks que destacam a eficácia dos fluxos de trabalho agentes.

### Insights dos Benchmarks

O **Benchmark HumanEval**, desenvolvido pela OpenAI, mede a capacidade dos grandes modelos de linguagem (LLMs) de resolver puzzles de codificação. A minha equipa recolheu dados sobre este benchmark, e os resultados são impressionantes:

- **GPT-3.5** alcançou uma taxa de sucesso de 48%.
- **GPT-4** mostrou uma melhoria significativa, atingindo 67%.
- No entanto, a melhoria mais dramática ocorreu quando o **GPT-3.5** foi usado com um **fluxo de trabalho agente**, alcançando uma taxa de sucesso de 95%. Da mesma forma, o **GPT-4** com um fluxo de trabalho agente também teve um desempenho muito melhor.

Estes resultados sublinham o potencial transformador dos fluxos de trabalho agentes no aprimoramento do desempenho da IA.

---

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

Para desmistificar os fluxos de trabalho agentes, vamos decompor os quatro padrões de design principais que os desenvolvedores usam para os construir:

### 1. Reflexão
A reflexão envolve solicitar a um LLM que critique e melhore o seu próprio output. Por exemplo:
1. Comece por pedir ao LLM que gere código para uma tarefa específica.
2. Copie o código gerado e peça ao LLM que o critique.
3. Use o feedback para melhorar o código.
4. Opcionalmente, execute testes unitários e alimente os resultados de volta ao LLM para um refinamento adicional.

Este processo iterativo frequentemente eleva o desempenho base para um nível superior. Também serve como base para fluxos de trabalho mais avançados, como a colaboração multiagente.

### 2. Uso de Ferramentas
Neste padrão de design, o LLM é solicitado a gerar pedidos para chamadas de API. Por exemplo, pode decidir quando:
- Pesquisar na web
- Executar código
- Emitir um reembolso ao cliente
- Enviar um email
- Consultar uma entrada de calendário

Esta capacidade de fazer chamadas de função expande significativamente as capacidades dos fluxos de trabalho agentes.

### 3. Planeamento
O planeamento envolve decompor tarefas complexas numa sequência de ações. Por exemplo:
1. Use um modelo open-pose para detetar uma pose numa imagem.
2. Gere uma imagem com base na pose detetada.
3. Descreva a imagem.
4. Use text-to-speech (TTS) para gerar áudio.

Ao planear e executar tarefas passo a passo, os LLMs podem lidar com pedidos mais complexos de forma eficaz.

### 4. Colaboração Multiagente
Neste padrão, um único LLM é solicitado a desempenhar diferentes papéis em diferentes momentos, simulando múltiplos agentes a trabalhar em conjunto. Por exemplo:
- Um agente escreve código.
- Outro critica o código.
- Um terceiro agente executa testes.

Esta abordagem demonstrou melhorar significativamente o desempenho numa variedade de tarefas. É semelhante a executar múltiplos processos numa CPU — cada agente especializa-se numa subtarefa específica, permitindo que o sistema enfrente desafios mais complexos.

---

## A Ascensão dos Fluxos de Trabalho Agentes Multimodais

Embora grande parte do foco tenha sido nos **grandes modelos de linguagem (LLMs)**, estou particularmente entusiasmado com o potencial dos **grandes modelos multimodais (LMMs)**. Estes modelos podem processar não apenas texto, mas também imagens e vídeos.

### Prompting Zero-Shot vs. Fluxos de Trabalho Agentes
Para tarefas simples, o **prompting zero-shot** (pedir ao modelo que olhe para uma imagem e forneça um output) funciona bem. No entanto, para tarefas mais complexas, um **fluxo de trabalho agente** é muito mais eficaz. Por exemplo:
1. Detete rostos numa imagem.
2. Identifique números associados a esses rostos.
3. Combine os dados para gerar um output abrangente.

Ao decompor a tarefa em passos mais pequenos, o modelo pode entregar resultados mais precisos e matizados.

---

## Demonstração: IA Visual em Ação

Para ilustrar o poder dos fluxos de trabalho agentes na IA visual, vamos ver uma demonstração na qual tenho estado a trabalhar com Dan Malone e a equipa HAI. Vamos usar uma imagem de um jogo de futebol e solicitar ao modelo que conte os jogadores.

### Passos:
1. Carregue a imagem.
2. Use os prompts sugeridos (por exemplo, “Conte os jogadores na imagem”).
3. Observe como o modelo processa a imagem passo a passo para fornecer uma contagem precisa.

Esta demonstração mostra como os fluxos de trabalho agentes podem lidar com tarefas visuais complexas com precisão e eficiência.

---

## Conclusão

Os fluxos de trabalho agentes, impulsionados pelos quatro padrões de design de **reflexão**, **uso de ferramentas**, **planeamento** e **colaboração multiagente**, estão a revolucionar o que a IA pode alcançar. Quer seja no processamento de documentos legais, diagnóstico de condições de saúde ou análise de dados visuais, estes fluxos de trabalho estão a permitir avanços que eram inimagináveis há apenas um ano.

À medida que continuamos a explorar o potencial dos **modelos multimodais** e a refinar estes fluxos de trabalho, as possibilidades de inovação são verdadeiramente ilimitadas.

# Vision Agent: Revolucionando as Aplicações de IA Visual

Deixe-me demonstrar como isto funciona. Vamos começar por contar o número de jogadores em campo. Este processo demora alguns minutos, pois o sistema pensa em como escrever código para contar com precisão o número de jogadores visíveis. Isto é mais complexo do que parece, porque não queremos contar jogadores que estejam em segundo plano.

Como já executei isto anteriormente, podemos saltar para o resultado. O código identificou sete jogadores em campo, e após verificação, isso parece correto: 1, 2, 3, 4, 5, 6, 7. Ao ampliar a saída do modelo, confirmamos esta contagem.

O que é entusiasmante é que este processo também gera código Python que pode ser executado repetidamente em grandes coleções de imagens. Isto é particularmente valioso para empresas e equipas com extensos dados de IA visual, incluindo imagens e vídeos armazenados em vários locais. Até agora, extrair valor destes dados tem sido um desafio.

## Transformando o Processamento de Dados Visuais

O Vision Agent permite que as equipas aproveitem dados visuais previamente armazenados e extraiam valor real deles. Isto representa uma transformação significativa nas capacidades da IA. Aqui está outro exemplo: dado um vídeo de um jogo de futebol, o sistema pode dividir o vídeo em clipes de 5 segundos e identificar o clipe onde um golo é marcado, exibindo o frame relevante.

Após executar o código, a saída indica que um golo foi marcado por volta dos 10-15 segundos, e extrai com sucesso os frames associados. Isto é incrivelmente útil para processar dados de vídeo.

## Processamento Avançado de Vídeo

Vejamos mais um exemplo. Pode pedir ao Vision Agent para dividir um vídeo de entrada em segmentos de 6 segundos, descrever cada segmento e armazenar a informação num Pandas DataFrame, juntamente com os nomes dos clipes e timestamps. Estes metadados podem então ser armazenados em plataformas como o Snowflake para construir outras aplicações em cima deles.

A saída inclui os nomes dos clipes, tempos de início e fim, e o código gerado que pode ser executado noutro local. Esta capacidade permite a criação de descrições textuais detalhadas para dados de vídeo.

## Construindo Aplicações com o Vision Agent

Utilizando as capacidades de geração de código do Vision Agent, a minha equipa na Landing AI construiu uma aplicação de demonstração que indexa uma coleção de vídeos. Por exemplo, pesquisar por "esquiador no ar" mostra clipes com alta similaridade, marcados a verde na linha do tempo. Isto facilita a navegação por coleções de vídeos e a descoberta de momentos específicos.

Outro exemplo: pesquisar por "lobo cinzento à noite" destaca as partes relevantes do vídeo. A linha do tempo verde mostra onde o lobo cinzento aparece, e saltar para diferentes partes do vídeo revela outro conteúdo.

## Aplicações Práticas

Aqui está um exemplo divertido: pesquisar por "mala preta com alça arco-íris" entre muitas malas pretas. O sistema identifica com precisão a mala correta, demonstrando as aplicações práticas desta tecnologia.

A conclusão principal é que o esforço necessário para construir tais aplicações é menor do que nunca, graças aos avanços na IA.

## Tendências e Oportunidades em IA

Em termos de oportunidades em IA, os fluxos de trabalho agentes estão a mudar a stack de IA. Há uma nova camada emergente de orquestração agentes, tornando mais fácil para os desenvolvedores construir aplicações. O Vision Agent da Landing AI contribui para isto ao simplificar o processamento de dados de imagem e vídeo.

### Principais Tendências em IA para Observar

1. **Velocidade de Geração de Tokens**: Os fluxos de trabalho agentes geram muitos tokens, e há esforços entusiasmantes para acelerar a geração de tokens, incluindo avanços em semicondutores e software.

2. **Uso de Ferramentas em LLMs**: Os grandes modelos de linguagem estão cada vez mais ajustados para suportar o uso de ferramentas, melhorando as suas capacidades em fluxos de trabalho agentes.

3. **Engenharia de Dados**: A importância da engenharia de dados está a aumentar, especialmente com dados não estruturados. Gerir e implementar dados não estruturados de forma eficaz é crucial para criar valor.

4. **Revolução dos Dados Visuais**: Enquanto o processamento de texto já revolucionou muitos campos, a revolução do processamento de imagens está no horizonte. As empresas poderão em breve extrair muito mais valor dos dados visuais do que nunca.

Estas tendências estão a moldar o futuro da IA, e estou entusiasmado com as novas possibilidades que trazem.

# Um Excelente Momento para Ser um Construtor

A IA generativa está a permitir-nos experimentar mais rapidamente do que nunca. A IA está a expandir o leque de possibilidades, e existem tantas novas aplicações — tanto na IA visual como além — que simplesmente não eram viáveis até agora.

Se estiver interessado em verificar as demonstrações de IA visual que apresentei, por favor visite **[va.landing.ai](va.landing.ai)**. Lá, poderá experimentar as mesmas demonstrações que apresentei online, obter o código e executá-lo nas suas próprias aplicações.

Com isto, gostaria de agradecer a todos muito sinceramente, e por favor juntem-se a mim em dar as boas-vindas de volta à Elsa ao palco. Obrigado!

---
