Pular para o conteúdo

Programação ao vivo com Wes Bos, Burke Holland, Pierce Boggan e amigos | GitHub Copilot Day

Ver no idioma original →

Autoria: GitHub · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Live Coding with Wes Bos, Burke Holland, Pierce Boggan & Friends | GitHub Copilot Day · Canal: GitHub · 2:07:15 · Assistir no YouTube

Tópicos: Agentes de IA, Automação de tarefas e workflows, Engenharia de software com IA, Modelos de IA

Wes Bos inicia a transmissão criando, com GitHub Copilot, um simulador 3D de um iPhone dobrável e adicionando aplicativos que podem ser exibidos no dispositivo. Em seguida, Burke Holland e Pierce Boggan expandem o projeto com recursos como câmera, fotos, navegador, integração com GitHub e um painel de controle para agents. Enquanto trabalham, eles discutem o uso de modelos, a delegação de tarefas em paralelo, prototipagem e os desafios de validar e integrar muitas mudanças. A conversa também aborda custos, automações, limites de hardware e como o aumento da velocidade de desenvolvimento torna mais importante priorizar o que construir. No encerramento, os participantes recapitulam os destaques do GitHub Copilot Day e agradecem à comunidade.

  • Wes Bos demonstra um simulador 3D de um iPhone dobrável, incluindo visualização explodida, ajustes de interação e aplicativos exibidos nas telas do aparelho.
  • O HTML and canvas é usado para renderizar interfaces de aplicativos diretamente sobre o modelo 3D do dispositivo.
  • Burke e Pierce ampliam o simulador com aplicativos como câmera, fotos, navegador e GitHub, além de explorar uma integração com o GitHub Copilot SDK.
  • A equipe usa worktrees e sessões paralelas para separar o trabalho de vários agents e reduzir conflitos entre mudanças.
  • Os participantes defendem uma prototipagem exploratória, com instruções de alto nível e ajustes interativos, em vez de planejar cada detalhe antes de começar.
  • Modelos diferentes podem ser escolhidos conforme a tarefa, e recursos como auto e Hydro Fusion buscam equilibrar qualidade, custo e velocidade.
  • A validação automática com navegador, capturas de tela e interação com a interface pode reduzir o trabalho manual de testar cada alteração.
  • O aumento da capacidade de produção traz desafios de priorização, revisão, regressões, deriva de arquitetura e sobrecarga de mudanças.
  • Automações e sessões aninhadas podem ajudar a delegar tarefas, acompanhar agents e lidar com grandes volumes de feedback.
  • A transmissão termina com uma apresentação dos destaques do GitHub Copilot Day, incluindo o aplicativo GitHub Copilot, integrações com Slack e trabalho em agents remotos.
Início Capítulo Resumo
00:04 Abertura e desafio de programação Os apresentadores explicam que vão construir algo ao vivo e convidam Wes Bos para iniciar a demonstração.
01:06 Modelo 3D do iPhone dobrável Wes apresenta o modelo 3D do aparelho e propõe criar uma visualização explodida e aplicativos para suas telas.
03:10 Visualização explodida e HTML and canvas Wes pede uma organização dos componentes em grade e explica como pretende renderizar aplicativos no dispositivo com HTML and canvas.
06:54 Ajustes na grade e navegação 3D A demonstração refina a organização das peças e corrige controles de zoom e panorâmica do modelo.
13:02 Primeiros aplicativos no aparelho Wes verifica o aplicativo de calculadora, testa sua exibição no modelo 3D e pede que os próximos apresentadores acrescentem mais aplicativos.
22:33 Clonagem do repo e configuração do ambiente Burke e Pierce tentam executar o projeto, encontram restrições na instalação de pacotes e conversam sobre modelos e seleção automática.
32:23 Câmera, fotos e prototipagem Os apresentadores pedem aplicativos de câmera e fotos e discutem como protótipos e instruções de alto nível ajudam a explorar ideias.
39:34 GitHub app e agents em paralelo Burke propõe transformar o simulador em um painel para agents e os apresentadores iniciam tarefas paralelas em worktrees.
49:59 Aplicativos, navegador e limites do computador A equipe testa os aplicativos gerados, discute o layout para telas dobráveis e observa o impacto de muitos agents sobre o hardware.
1:00:19 Validação automática e revisão adversarial Os apresentadores descrevem testes com navegador e capturas de tela, além de usar revisão adversarial para verificar alterações.
1:10:08 Ativação dos recursos experimentais A equipe investiga por que os aplicativos não aparecem no modelo 3D e tenta habilitar as opções corretas do navegador.
1:20:35 Apps no dispositivo e integração com Copilot Após novos testes com o navegador, os apresentadores exibem aplicativos no aparelho e demonstram um GitHub app e uma integração com Copilot.
1:30:27 Produtividade, custos e priorização A conversa aborda a evolução dos modelos, a velocidade de desenvolvimento e a necessidade de conter regressões e evitar recursos desnecessários.
1:40:17 Copilot SDK e app store sob demanda Wes demonstra o GitHub Copilot SDK no simulador e propõe uma app store capaz de criar aplicativos quando alguém pede para instalá-los.
1:50:13 Automações, sessões aninhadas e encerramento Os participantes discutem automações e delegação de tarefas, recapitulam os destaques do evento e agradecem à comunidade.

Precisamos de alguém para construir uma demo incrível que a gente possa pegar e continuar. — 00:36

Eu sinto que, se eu planejar demais, na verdade obtenho um resultado pior. — 34:25

Acho mesmo que, agora, nosso limite é a criatividade. — 51:34

Dizer não é algo que uma equipe precisa fazer mais. — 1:48:40

  • Wes Bos (pessoa): Desenvolvedor e apresentador que demonstra a criação do simulador 3D e de aplicativos para o dispositivo dobrável.
  • Burke Holland (pessoa): Apresentador que trabalha na expansão do simulador e conversa sobre o uso de agents e modelos.
  • Pierce Boggan (pessoa): Participante da transmissão que colabora na construção e demonstração de aplicativos para o simulador.
  • GitHub (empresa): Empresa responsável pelo evento e pelos produtos apresentados durante a transmissão.
  • GitHub Copilot (ferramenta): Assistente de programação usado para gerar código, executar tarefas e coordenar sessões de trabalho.
  • GitHub Copilot SDK (ferramenta): SDK usado na demonstração para integrar agents do GitHub Copilot ao simulador.
  • Three.js (ferramenta): Biblioteca JavaScript usada para criar e exibir o modelo 3D do dispositivo.
  • HTML and canvas (conceito): Recurso experimental apresentado para desenhar interfaces HTML em uma experiência de canvas 2D ou 3D.
  • Astra (modelo): Modelo usado em várias tarefas de programação e prototipagem durante a sessão.
  • Hydrofusion (ferramenta): Recurso mencionado como forma de obter resultados de modelos com menor custo e menos decisões manuais sobre qual modelo usar.
  • Chrome Canary (ferramenta): Versão do navegador Chrome instalada para testar os recursos experimentais necessários à renderização dos aplicativos no modelo 3D.
  • worktree (conceito): Cópia de trabalho separada usada para que sessões paralelas façam alterações sem colidir diretamente.
  • subagent (conceito): Agent delegado para executar uma tarefa específica, como construir um aplicativo ou investigar uma parte do projeto.
  • agent browser skill (ferramenta): skill mencionada para permitir que agents interajam com o navegador e ajudem a verificar aplicativos.

00:04 Bem-vindos de volta, pessoal. Obrigado, Patrick. Então, pessoal, vamos passar as próximas… quanto tempo temos? Umas duas horas aqui, e vamos construir alguma coisa. Mas o problema é sempre: o que construir? >> É sempre difícil. Lembro da primeira vez que fizemos isso. Pensamos: precisamos ter um conceito maluco, sabe? Vai levar todo esse tempo. Terminamos em uns cinco minutos. >> É, terminamos em cinco minutos. E tem outra coisa: ninguém mais fica impressionado, porque dá para construir qualquer coisa. Então, nós… eu estava… estávamos pensando nisso. Pensamos: bom,

00:36 >> tipo, precisamos de alguém para criar uma demo incrível que a gente possa pegar e depois continuar, porque não temos nenhuma ideia boa nossa. >> Não, não temos. >> Mas conhecemos alguém que tem boas ideias. >> Conhecemos. >> Conhecemos. E, por isso, temos o prazer de trazer Wes Boss, que considero, sem dúvida, o rei das demos. >> Rei das demos, com certeza. É. Quem vai começar? >> Estou animado para começar. Tenho tantas ideias de coisas que quero

01:06 construir e, com todos os modelos mais recentes sendo lançados, há tantas coisas legais que posso fazer. Então, vamos acelerar por uns 20 minutos e depois passo para vocês continuarem de onde paramos. >> Isso. Parece ótimo. >> Certo. Obrigado, pessoal. E aí, gente? Meu nome é Wes. Vou fazer um pouco de vibe coding por uns 20 minutos. Bom, 20 minutos não é tempo suficiente para mim, porque

01:37 eu queria fazer algo realmente legal. Então, ontem, obviamente, o iPhone Duo foi lançado. O que fiz foi reunir todas as informações sobre o iPhone Duo, né? A largura, a altura, todas as especificações e a espessura. Aí peguei o material da Apple, onde anunciaram o aparelho e mostraram algumas fotos dos componentes internos, e passei tudo isso para

02:07 o meu Copilot. Eu disse: “Não pare até ter um modelo 3D do iPhone Fold que seja suficientemente próximo do real — não perfeito, mas muito bom”. E digo uma coisa: ele trabalhou nisso por umas três horas e passou por absolutamente cada peça. Não sei se é mesmo assim por dentro, mas me parece bem convincente. E funciona muito bem. Podemos explodi-lo. Dá para dobrá-lo e desdobrá-lo, obviamente.

02:38 Tem vários recursos para isso. Então, essa foi a base do que eu queria construir, né? Será que consigo um modelo 3D do iPhone Duo rodando em 3JS? E aí pensei que queria fazer algumas coisas. Primeiro, adoro o modo de organização, em que você coloca todas as peças numa grade, né? E esses modelos novos são fantásticos para criar essas experiências imersivas em 3D, com as peças explodidas. Também quero dizer que existe essa

03:10 nova API chamada HTML e canvas. Será que dá para renderizar JavaScript na tela do iPhone Fold? Não sei, mas estou disposto a tentar. Então, vamos começar. O primeiro prompt vai ser: quero adicionar um recurso à visualização explodida, uma opção de organização. Ela vai pegar cada peça do modelo e distribuí-la numa grade, alinhando absolutamente tudo com perfeição.

03:43 E vou deixar isso rodando. Enquanto isso, vamos dar uma olhada em todas as peças diferentes que temos aqui. A tela colorida, o íon de lítio… É impressionante que possamos construir esse tipo de coisa inteiramente em 3JS. Se olharmos o código, é só JavaScript, né? Não há arquivos STL, modelos do Fusion nem nada assim. Tudo está sendo

04:15 inserido, o que é muito legal. Outra coisa que vocês vão notar é que, neste momento, não estou usando o navegador integrado do GitHub Copilot. É porque quero usar um recurso experimental chamado HTML e canvas. O HTML e canvas permite pegar elementos DOM comuns e renderizá-los numa experiência de canvas 2D ou 3D. Então, acho que, quando começarmos

04:46 a trabalhar em alguns dos apps, vamos querer renderizá-los no DOM e depois desenhá-los no próprio dispositivo que temos aqui. Então, o que temos aqui? Estou adicionando um botão para organizar que distribui todos os componentes do modelo sem sobreposições. Certo, deixa isso rodando. Também estou acompanhando o chat. Então, se alguém tiver ideias do que deveríamos adicionar a isso,

05:18 mandem no chat do YouTube, porque também vou incluir as sugestões. Sabe o que vou fazer enquanto isso está rodando? Vou abrir um segundo chat e começar a trabalhar no software. Tenho a skill de HTML e canvas que escrevi. O que fiz foi pegar a documentação, a especificação do HTML e canvas, e transformá-la numa skill. Também criei umas seis ou sete demos nos últimos dois meses e destilei o conteúdo delas para a skill. Então, já tenho a skill aqui. Vou dizer: quero poder executar apps e software de verdade no iPhone Fold. Então, vamos criar uma estrutura com uma tela inicial com ícones de apps, para eu poder abrir cada app. Vamos

05:49 começar com um app simples: a calculadora. Certo, vamos deixar isso rodando. Vamos ver como está indo nossa visualização explodida por aqui. Desculpem, estou lendo o chat. Grade de organização. Certo. Uau! Aí está a grade de organização.

06:22 O que quero é que fique mais parecido com uma grade perfeita. Quero que as peças se encaixem como caixas. A grade de organização é ótima, mas quero que elas fiquem organizadas de um jeito que se encaixem umas nas outras. No momento, temos apenas uma grade perfeita, determinada pela peça maior, e as peças menores ficam meio que ocupando um espaço grande. Elas deveriam usar algum tipo de

06:54 algoritmo de encaixe em caixas para organizá-las direitinho. Sabe o que mais vou fazer? Tenho a skill de navegador para agents instalada globalmente no meu sistema e eu… eu não devia ter feito isso, porque ela sempre tenta verificar as coisas, sabe? Não se preocupem, não precisa usar a skill de navegador para agents para verificar nada. É só executar. Eu testo para ver se funciona. Certo, vamos fazer isso. Vamos

07:24 orientar essa execução. A mensagem já está na fila. Vamos enviá-la agora. Dar uma orientada. Vamos ver como está o HTML e canvas. Não pense em recorrer a coisas que não sejam HTML. Canvas é uma API muito legal para fazer esse tipo de coisa. Vamos voltar à visualização explodida. Aliás,

07:57 se quiser pegar o código, acesse github.comwestbossexlode ou exploding e você pode pegar o código mais recente. Vou publicar isso no fim desta transmissão ao vivo. Vamos ver o que o chat está dizendo. Descubra a cura para o câncer. Wes Boss. Wes Boss é o melhor. Fazer um protótipo do iPhone. Trifold. Ah, um celular com três partes dobráveis. [risos] Será que fazemos isso? Será que adicionamos mais

08:28 coisas?

08:58 dobras? Quantas dobras será que podemos adicionar a esse tipo de coisa? Certo. A grade Nolan está indo com tudo. Vocês vão entender por quê. É por isso que estou muito animado com as coisas tipo Hydro Fusion que vocês estavam mostrando antes, porque quero usar os modelos mais recentes para muitas dessas coisas empolgantes, já que eles são muito bons em fazer 3D. Mas também quero usar alguns dos modelos mais rápidos para coisas simples, como escrever um pouco de JavaScript para um aplicativo de calculadora, certo? Não precisamos gastar US$ 40 para fazer esse tipo de coisa. Certo, substituir a grade uniforme. Vamos dar uma olhada. Ah, cara. Está ótimo. Vamos dar uma… Vamos ampliar. Olhem como isso ficou impressionante, com essas dobradiças. Sabe o que é estranho? Estou tendo dificuldade para aproximar e afastar.

09:31 JavaScript para um aplicativo de calculadora, certo? Não precisamos gastar US$ 40 para fazer esse tipo de coisa. Certo, substituir a grade uniforme. Vamos dar uma olhada. Ah, cara. Está ótimo. Vamos dar uma… Vamos ampliar. Olhem como isso ficou impressionante, com essas dobradiças. Sabe o que é estranho? Estou tendo dificuldade para aproximar e afastar.

10:01 Talvez esse seja um recurso que deveríamos adicionar. É, vamos fazer isso. Estou tendo dificuldade para deslocar a visualização. Consigo aproximar, afastar e movimentar a câmera pelo espaço 3D. Mas, se quero usar o botão do meio do mouse ou segurar a barra de espaço e arrastar para cima e para baixo para deslocar a visualização até diferentes partes, estou tendo problemas. Corrija isso. Manda ver.

10:34 Pentadobra, chat. Quadridobra. [risos] Quantas dobras diferentes podemos adicionar? A Astra está avançando e é o software. Vamos lá. Me dê alguma coisa.

11:14 Ainda está trabalhando nisso. Vamos… Vamos conferir nosso recurso de zoom. Vamos… Pronto. O controle de órbita está um pouco melhor. Rodar Doom nele. Essa é, na verdade, uma ideia fantástica. Gostei muito. Todos esses aplicativos diferentes nele.

11:59 explodir. Certo, corrigiu o deslocamento nos dois visualizadores. Certo, vamos para a visualização explodida. Lindo. Pronto. Agora consigo usar o botão do meio do mouse. Estou me movimentando pela visualização. Aproximar. Vamos chegar bem perto destas imagens da placa-mãe.

12:31 Sistema de alimentação com duas células. Isso é muito legal. Estou curioso para saber se é assim mesmo por dentro. Não acho que colocariam capacitores [risos] em cima de parafusos. Quanto mais perto você chega, menos impressionante fica. Mas, se afastar um pouco ou olhar algumas dessas peças, certo? E então vamos ver a… Vamos testar a dobradiça. Linda.

13:02 grade. Vamos chegar um pouco mais perto. Certo, vamos conferir os aplicativos baseados em canvas nos quais estamos trabalhando aqui. Calculadora de exercícios. Está demorando mais do que eu imaginava. Talvez eu devesse ter usado um modelo menos poderoso. Prefiro velocidade neste caso. Com certeza deveria ter mudado para um modelo diferente.

13:33 Vamos voltar para a visualização explodida. É só iniciar mais agents enquanto espera. Mais alguém tem esse problema de, tipo, ter seis ou sete agents rodando ao mesmo tempo e ficar indo de um para outro, tentando se concentrar neles? É um pouco complicado. Acho que meu limite é uns três ou quatro. [risos]

14:03 Simule o sensor giroscópico quando você girar o dispositivo, para que a imagem da tela gire de acordo com a órbita. Na verdade, não é uma má ideia. Simular um sensor giroscópico. Ou seria legal poder visualizá-lo no nosso telefone, ou usar o telefone como o próprio giroscópio. Então, pegar os dados do telefone, enviá-los para cá e usar isso como uma espécie de controle remoto. Prometi ao Burke que não faria nenhuma coisa maluca de hardware, então não vou fazer isso com ele. Mas talvez ele possa começar a adicionar esse recurso específico. Isso é muito legal. Certo. Sabe o que eu quero? Vamos começar a personalizar a cor dele, certo? Adicione um seletor de cores para personalizar a cor do iPhone e também a opção de mudar o plano de fundo para vários papéis de parede diferentes.

14:33 Ah, cara, está ficando ótimo. Acho que estou executando isso em outra coisa. Qual é a URL desta worktree?

15:10 Esta é uma sessão separada. Certo. Onde… Como vejo os aplicativos? Ah, visualização dos aplicativos. Certo, aqui está. Abra a calculadora. Certo, este é o aplicativo, não é? Parece estar funcionando aqui. Mas como vejo onde ele está? Como faço para vê-lo no próprio dispositivo? Certo. Visualização dos aplicativos. Visualização dos aplicativos para executar esses…

15:44 …no Chrome Canary, use o elemento canvas do draw. Estou no Edge, mas isso está ativado. Certo, ótimo. Vou perguntar aqui: como faço para visualizar os aplicativos no telefone? Não vejo a interface para ativar isso. O papel de parede deveria mudar com base na tela ou no plano de fundo? Ah, o plano de fundo atrás. Não, o papel de parede da tela do iPhone.

16:16 Papel de parede. É disso que preciso. Obrigado. Eu tenho o HTML canvas ativado, não tenho? Deixe-me abrir outro navegador que está com isso ativado. Está aberto. Vamos ver.

16:47 Desenho em canvas. Ah, talvez tenham removido isso. Não, testei isso bem antes de entrarmos ao vivo. Vamos abrir outro navegador.

17:24 Parece que está. Certo, vamos simplesmente dizer a ele. Tenho essas opções ativadas, mas não estou vendo. Talvez você possa abrir um navegador de agent, que tenha… para eu poder ver, porque ele estava nos mostrando capturas de tela disso funcionando, certo? Se voltarmos e olharmos o raciocínio, ele fez isso funcionar. Ah.

18:03 Ah, ele acabou de abrir um navegador para mim. [risos] Pronto. Só vou garantir que isso esteja na tela. Pronto. Certo, temos nossa calculadora. Ih, travou. Pronto. Certo. Ah, cara. Agora, a questão é: consigo girar o dispositivo e ainda…

18:39 …somar 171 + 1? Funciona. Incrível. Espera aí. O aplicativo não aparece na parte da frente. Talvez vocês possam corrigir isso. Mas agora temos a base para fazer os aplicativos funcionarem nesse dispositivo, certo? E dá para girá-lo e fazer isso em 3D. Ah, isso é muito legal. Também estou compartilhando minha tela agora, e está…

19:13 …um pouco lento, mas, quando eu não estava compartilhando a tela, estava bem mais fluido. Oito vezes nove. Certo, isso é legal. Podemos explodi-lo? [risos] [ofegante] Ainda podemos explodir o aplicativo. Então, a tela continua executando o aplicativo, mas podemos percorrer…

19:44 …a visualização explodida em 3D completa. [risos] Isso é absolutamente incrível. Certo, falta um minuto. Estou tentando pensar no que deveríamos adicionar rapidinho. Seria muito legal ter uma webcam. Não sei se vamos conseguir fazer isso a tempo. Vamos começar um novo, mas usar um modelo mais rápido. Vamos usar o Soul. Certo. Adicione um novo aplicativo que seja um aplicativo de notas.

20:17 Certo, vamos deixar isso rodando. Temos 30 segundos. Vamos lá. O chat está dizendo que está bem lento. Sim, esse é o problema de tentar renderizar em 3D enquanto você compartilha a tela numa transmissão. Estava bem mais fluido antes de eu começar a compartilhar a tela. Então, na verdade, funciona muito bem. Você separa tudo em peças. Não é…

20:55 …tanta coisa, certo? É… Vamos entrar aqui. Sim. Um segundo. Ah. Certo, acabou nosso tempo. O que vou fazer é desafiar Burke e Pierce. Vocês conseguem colocar mais alguns aplicativos para rodar nesse dispositivo? Uma câmera usando sua webcam de verdade seria muito legal. Um aplicativo de notas. Um navegador. Não sei se dá para fazer um navegador, porque é um iframe dentro do HTML canvas. Provavelmente não vai funcionar. Mas ativem esta flag no navegador e peguem…

21:28 …a partir daqui. Cara, isso foi incrível. Onde está esse repo? [risos] Está em westboss no GitHub, explode ou exploding. Espera, vou enviar meus commits e já passo a versão mais recente. >> Encontrei. >> Isso mesmo, estamos lá. Sim. >> Certo. Muito obrigado. Vamos fazer o melhor possível aqui. Então, espera. Você quer um aplicativo de câmera, um aplicativo de notas e…

22:02 daqui. Cara, isso foi incrível. Onde está esse repo? [risos] Ah, está no GitHub, em westboss, explode ou exploding. Espera, deixa eu enviar meus commits aqui e te passo a versão mais recente. >> Encontrei. >> Isso, estamos lá. Sim. Certo. >> Certo. Muito obrigado. Vamos dar o nosso melhor aqui. Então, espera. Você quer um app de câmera, quer um app de notas e

22:33 Você queria, quer, quer que a gente construa um navegador da web do zero. E mais alguma coisa? [risos] >> Parece bem simples. >> Talvez começar pelo app de notas. >> Está bem. >> Faça isso funcionar. Certifique-se de que a flag de HTML e canvas esteja ativada no navegador, para que ele realmente renderize dentro da dobra. Está bem. >> E aí, app de notas é fácil, certo? E o difícil, o difícil é construir um app de câmera, tipo aquele que permite tirar fotos de verdade.

23:05 com ele. >> Dá mesmo para tirar fotos. Está bem, vamos cuidar disso. Wes, muito obrigado. Vamos começar agora mesmo. Tenha um ótimo dia. Certo. Bom, caramba. [risos] >> Certo. >> Não posso dizer que esperava que começássemos por aí. >> Não, nem um pouco. Eu esperava algo como um site de portfólio pessoal, algo bem fácil. Está bem. Então, por onde você quer começar?

23:35 >> Bom, eu só estava tentando, sabe, começar clonando algumas coisas. Essa é sempre uma boa maneira de começar. >> Eu estava fazendo a mesma coisa. >> Então vamos fazer isso. Wes Bos. E como ele chamou isso? >> Chama-se Exploding. >> Exploding. >> Acho que podemos simplesmente colocar isso para funcionar. >> Sim. É que havia uma flag do navegador que também precisávamos… >> É o canvas. >> Isso é no Edge, por sermos baseados no Chromium, ou temos que ir até…

24:05 e… >> Não, deveríamos conseguir… >> Bem, pesquisei HTML canvas no Google e não encontrei nada. Então… >> Fica nas configurações, mas seria… >> Fica nas configurações do Edge. Não, é em Configurações? Não, talvez seja em Experimentos. Vamos ver. >> É que, sabe, é engraçado: meu maior desafio é deixar minha máquina no estado certo para fazer o que quero, instalando as ferramentas certas.

24:36 Quando chegarmos lá, acho que vamos voar. >> Acabei de perguntar à Luna como… Você consegue executar isso? Vou tentar. E o canvas integrado ao app. E o canvas do navegador… >> Configurações do Edge, configurações do sistema, desempenho do sistema, ativar aceleração gráfica quando disponível. Isso já está ativado para mim. Reinicie. Está bem, deve estar tudo certo.

25:07 >> Então, você só precisa deixar essa opção ativada e deve funcionar. >> Deve. >> Está bem. >> Vou… É npm install. Tudo, npm run dev. Nada muda. >> É muito interessante que você entre no app imediatamente e use o terminal, certo? Vamos para a tela do Burke. Porque eu já nem faço mais isso. Só digo: “Você pode executar isso, por favor?”. É mais ou menos assim que faço muitas coisas. Eu até… >> É só pedir ao agent para executar. >> É só pedir ao agent para fazer isso, certo? Eu…

25:39 nem me dou ao trabalho, porque, que tipo de… Sim. Você nem sabe que comando executar aqui, certo? O interessante é que estamos recebendo o redirecionamento do proxy da Microsoft. >> Ah. >> Então agora precisamos contornar isso. >> O pesadelo de todo desenvolvedor: um ID. >> É, somos como vocês. Temos restrições. Basicamente, funciona assim… >> Como funciona? >> Quando tentamos instalar pacotes, eles redirecionam para um sistema interno que verifica se o pacote é seguro.

26:11 Certo. >> Então, se for um pacote mais novo, ele não está lá. Acho que há uma janela de sete dias. Então temos que ver se conseguimos resolver isso e contornar o problema. Caramba, já batemos num obstáculo logo de cara. Valeu, Wes. [risos] >> Então, nada relacionado ao projeto em si. >> Não sei que pacote é esse. Esse 3106. >> Bem, ele disse que estava usando 3JS. Deve ser algo relacionado ao 3JS. Deveria estar lá. >> Deveria. Sim, vamos ver se a Luna consegue… Na verdade, eu provavelmente deveria ter escolhido um modelo maior para isso, mas…

26:41 Vou usar… Vamos maximizar isso. O que devo usar? >> Vamos para Astra. >> Astra, certo? Vou executar isso. Então, é só fazer. Vou entrar no modo piloto automático. Eu já estava no modo de aprovação. Vamos colocar isso para funcionar. Enquanto isso, também quero explorar o que é essa coisa. >> É um vap.

27:12 O que tem em package.json? Então, sim, é o 3JS. >> Aposto que é só Hyperscript e V. Só isso. >> Acho que provavelmente é só a versão do 3JS. Vamos ter que voltar uma versão. >> Isso. >> Astra está cuidando disso. Não se preocupe. Já que estamos falando de modelos, qual modelo você costuma usar para trabalhar hoje em dia? Sei que isso muda toda semana, surge algo novo que muda a forma como trabalhamos.

27:42 Então, como você está pensando em todos esses modelos e em quais usar? >> É. Nossa, sou fã do Opus há muito tempo, desde o quatro ou cinco, sabe? Mas, quando os modelos Soul saíram, ou… É. Soul, Luna, Terra, os modelos 56… Como a Luna é tão barata — é quase de graça —, uso bastante a Luna nos Macs. >> Isso. >> E ela consegue fazer bastante coisa.

28:15 E uma das coisas de que falamos antes é que, trabalhando na Microsoft, temos tokens ilimitados. Então não vivemos exatamente no mundo real. >> É. >> E aí, quando você tem isso, se tem um modelo como o Fable, que é incrível… >> Sim. >> Certo. Então eu usaria o Fable. Mas, recentemente, temos o Astra. Tenho usado bastante o Astra, e agora temos o novo Hydro Fusion. Tenho… É, fico alternando muito. Qual você diria que é o seu modelo preferido? >> Em geral, a variante mais recente da OpenAI.

28:45 A variante mais recente da Anthropic. E sempre tenho um modelo rápido à mão para esse tipo de interação de vai e vem que o Wes estava fazendo. E olha, consegui executar. >> O que você fez? Usou o canvas do navegador? Só disse para executar a coisa. Estou dizendo, cara, saia do terminal. É só dizer ao agent o que você quer. Quero que isso seja executado no navegador, dentro do GitHub Copilot. Também consegui executar. >> Está bem. Certo. Aí está. Não sei, gosto muito de usar o Astra. Provavelmente é o meu modelo do dia a dia.

29:17 Tenho usado mais o Hydro Fusion, e o James mencionou isso na palestra principal, mas também recebemos bastante feedback sobre o modo automático. Certo. Principalmente, que ele precisa melhorar. E a equipe fez um trabalho incrível ao considerar todo o feedback que vocês nos deram. Vamos lançar um novo modo automático nos próximos dias. E eu já tinha dado uma prévia disso aqui no seletor. Você pode clicar em Automático e otimizar para… sabe, pode escolher se quer otimizar o custo, porque está em um ambiente com poucos tokens. Você…

29:49 só quer o melhor resultado possível? Ou prefere uma combinação dos dois? Você pode ajustar os controles exatamente como quiser. Sim, o Burke está mostrando isso na tela dele. Antes, era basicamente um modo de eficiência. Agora temos mais opções, para você não precisar quebrar a cabeça tentando decidir qual modelo usar para cada tarefa, certo? Nossa equipe de ML literalmente criou modelos de roteamento personalizados nos bastidores para oferecer essa experiência e, com sorte, indicar o melhor modelo para cada tarefa. E agora, com coisas como

30:20 HydroFusion, como a Julia mostrou antes, faz você precisar pensar ainda menos, certo? Porque aí o HydroFusion vai dar o melhor resultado com um custo bem menor, certo? Não preciso pensar em todos os modelos que aparecem toda semana, em tudo aquilo de “o que esse benchmark diz?”, “o que aquele benchmark diz?”, “uso este para aquilo?”, “ele é ruim nisso?”, “é ruim naquilo?”, certo? Isso acaba com a sua cabeça, cara. >> É mesmo. E aí você sente que está jogando dinheiro fora se usar o modelo errado, porque ou você usa inteligência demais e paga a mais, ou não usa o suficiente e

30:50 acaba desperdiçando um monte de tokens, porque termina recorrendo a um modelo mais inteligente. >> Isso mesmo. E, na verdade, trabalho bastante com a nossa equipe na Microsoft, onde temos mais de 80 mil engenheiros, e o interessante é que, quando você analisa os dados, a maioria dos engenheiros escolhe um modelo e usa esse mesmo modelo para tudo. Certo? E, mesmo que você esteja otimizando para inteligência, isso pode ser frustrante, certo? Se você estiver usando o Fable Max o dia inteiro, esse modelo vai levar um tempo. Então, se estiver fazendo algo em que quer um ciclo rápido de interação e feedback,

31:21 mesmo que, em teoria, você tenha tokens ilimitados, talvez esse não seja o modelo certo para aquela situação específica. E, como vimos isso na Microsoft, onde temos 80 mil engenheiros, eles simplesmente escolhem um modelo e ficam com ele. E talvez isso não seja bom, ou talvez seja, certo? Foi isso que nos levou a criar coisas como Auto e HydroFusion, porque estávamos passando por esse problema nós mesmos. Sim. E acho que, quer dizer, de novo, como temos tokens ilimitados, costumo escolher… simplesmente escolho o Astra e fico com ele, certo? É como fazer stage e

31:53 commit. Astra. [risos] >> Isso. Mas a maioria das pessoas simplesmente não pode fazer isso. Seria bom se pudéssemos chegar a um mundo em que todo mundo tivesse esse nível de inteligência o tempo todo. Muito barato, muito rápido. Certo. Adicionei uma… Você não disse para adicionar um app de notas? Ele disse que já tem um app de notas. O simulador já inclui um app de notas. >> Certo. Então, como você abre? >> Telefone. >> Coloque essa belezinha em tela cheia. Dá para colocar a tela do simulador em tela cheia. Não, não esse botão. O que fica ao lado. >> Este aqui. Isso. Certo. Então,

32:23 diz para ir em Apps, Notas. Ah, porque ele adicionou. Foi a última coisa que ele fez e a mudança entrou. Certo. Então já tem. >> Então, temos um app de notas. Aliás, é loucura ele simplesmente dizer: “Vou adicionar apps a essa coisa”. E não só funciona, como também é exatamente igual ao app de notas. >> É mesmo. >> Ele fez isso em 20 minutos. É absurdo. >> Preciso… queria poder diminuir minha… Pronto, pronto.

32:54 >> Desculpa, aumentei sua fonte absurdamente quando você… quando eu estava fora. Certo, então temos um app de notas. E… certo, já fizemos… Bem, ele fez isso. >> Ele fez isso. >> Agora precisamos adicionar uma câmera. Ele disse para adicionar um app de câmera. Então vamos voltar aqui. Vamos fazer isso. >> O que você acha que eu deveria fazer? Se você vai adicionar uma câmera, sabe… >> Acho que você deveria fazer o navegador. >> Certo. Nada de tarefa pequena. Vamos incluir o Chromium nessa coisa.

33:24 >> O que poderia dar errado? Certo. E depois, em algum momento, vamos colocar um jogo AAA aqui. >> Claro. >> Adicione um app de câmera a este simulador de telefone que use a câmera física aqui no meu laptop. Vai dar tudo certo. E precisamos conseguir salvar fotos. Então, já que está nisso, pode adicionar também um app de fotos. Não pode ser tão fácil assim. É só pedir. Agora, vale dizer que estou usando o Astra

33:55 aqui. Não estou usando nenhum tipo de skill, servidor MCP ou coisa do tipo. >> Não estou planejando. >> Isso. >> Estamos só improvisando. >> Estávamos falando sobre… Quer dizer, certamente depende do tipo de projeto em que você está trabalhando, certo? Mas outro dia vi seu tuíte, em que você dizia que, na verdade, não planeja tanto explicitamente hoje em dia. >> Isso mesmo. >> Por que é assim? Você acha que os modelos estão simplesmente bons o suficiente? >> Porque eles me dão o que eu quero. São muito inteligentes. Tipo… >> É. >> Chat, se você contratasse um desenvolvedor sênior, alguém muito caro e muito bom,

34:25 você esperaria não ter que dizer a essa pessoa cada coisinha que ela precisa fazer. Você simplesmente apontaria a direção certa. E, na minha opinião, esses modelos mais novos são bem assim, certo? Na verdade, sinto que, se planejo demais, o resultado fica pior. É melhor deixar o modelo preencher as lacunas e pensar: “Bom, fiz isso aqui”. Aí eu fico: “Nossa, bem… >> Não pensei em fazer isso, mas queria ter pensado. Acho que já estou assim há algumas gerações de modelos também, desde

34:56 talvez o GPT-5.5, e com certeza com o GPT-5.6. Percebi que faço muito menos isso. De um jeito estranho, eu ainda planejo, mas é mais uma coisa interativa. Eu digo: “Sabe, faço o que você fez: uso a voz”. Digo: “Olha, mais ou menos este é o formato do que quero fazer e de como quero que funcione. Desenvolva isso”, certo? Aí ele volta com algo que é mais ou menos o que quero, mas não totalmente, e vocês vão conversando um pouco. Então, fico no modo interativo, não no modo oficial de planejamento, mas continuo no modo interativo no app do GitHub Copilot.

35:27 E, quando fico satisfeito com o resultado, digo: “Certo, vamos mudar essa belezinha para o piloto automático. Vá em frente”. Literalmente, se você tiver uma tarefa muito difícil — alguns dos projetos em que estamos trabalhando agora no app do Copilot se encaixam nessa categoria —, ela pode ficar rodando por três, quatro, cinco, seis horas. >> É mesmo. >> E eu vou dormir. Vou me certificar de que… sinto que não estou aproveitando meu tempo ao máximo se não disser: “Ei, preciso que você faça coisas enquanto eu durmo”, o que talvez seja algo interessante para nós

35:58 considerarmos como sociedade. Mas, sim, é basicamente assim que trabalho agora. E estou agrupando tarefas, certo? Porque sou gerente de produto, você trabalha em DevRel, estamos pulando de reunião em reunião, temos coisas de clientes, certo? Então, nem sempre ficamos sentados olhando para o computador e programando oito horas por dia. Por isso, tento agrupar tarefas. >> É. >> Sabe, digo: “Certo, vou iniciar umas cinco coisas”. Talvez eu precise orientar um pouco no começo e depois é só…

36:29 vou voltar para conferir isso mais tarde. Também descobri que, cognitivamente, isso é mais fácil para mim, porque assim você não fica naquela situação de ter que gerenciar 15 conversas o tempo todo. Dá para trabalhar em paralelo, mas, na hora de revisar, você volta e analisa cada uma de forma síncrona. >> Certo. E o que está acontecendo aqui? Já terminou? >> Sim, já está pronto. Então vamos para a câmera. >> Não acredito, cara. Vamos ver. >> Diz que a câmera está desligada. Ative a câmera. Aguardando… >> Meu Deus. Isso vai ser…

37:00 Esperem. >> Meu Deus. [suspiros e risadas] Ah, uma selfie. Espera aí. Certo. Foi para o app Fotos? Vamos abrir o Fotos. Ah, Fotos da tela inicial. Não tem nenhuma foto. Nenhuma foto foi salva. Certo. >> Certo. Mas, ainda assim, foi bem legal para o primeiro prompt. >> Nada mal. Certo. Então, e agora? O que você vai fazer? Ah, eu estava… na verdade, estava meio que mandando um prompt, sabe, só…

37:30 um segundo atrás. Eu estava pensando: como é que essa coisa funciona, né? Ah, porque não conheço essa base de código. Então, estava tentando entender, em linhas gerais, como isso é renderizado e como os apps funcionam dentro do telefone. Tem um shell.ts, tem um software.ts, certo? E estou tentando entender mais ou menos a arquitetura disso, considerando que, em teoria, estou dando a ele uma tarefa bem difícil: adicionar um navegador da web a essa coisa. >> Então, você está fazendo planejamento? >> Não, vou direto ao ponto.

38:01 >> Não, vou direto ao ponto mesmo. E o interessante com uma tarefa desse tipo é que ela é muito exploratória, de prototipagem. Eu diria que, em um projeto de verdade, como quando trabalho no app do GitHub Copilot, uma coisa que posso fazer é criar vários protótipos descartáveis. E, de um jeito meio estranho, o protótipo é o seu plano, certo? Depois, quando você pensa: “Certo, preciso fazer isso de verdade, e isso precisa ser código de produção, bem testado, com uma boa arquitetura e bom desempenho”, aí você pode pedir ao agent: “Olhe para minha…

38:32 branch com esse protótipo, extraia a essência do que eu quero e vamos descobrir como fazer isso do jeito certo, entre aspas”, e então fazemos o deploy. Mas, assim, você se dá a liberdade de explorar com um protótipo, sem precisar se preocupar com essas coisas. Você só comprova que funciona. >> Sim. Não, sinto exatamente a mesma coisa: agora estou trabalhando com o resultado, com o que foi produzido. O interessante aqui é que eu disse ao agent: “As fotos não estão sendo salvas”. Agora ele está controlando o canvas. Está tentando tirar fotos e testar. Ah, diz que corrigiu.

39:03 Bom, ainda não tem fotos ali. Vamos ver. Ativar câmera. Certo, vamos voltar para a tela inicial. Fotos. Lá estão elas. Certo, o app da câmera está funcionando. Foi fácil demais. Precisamos de mais desafios aqui. Certo, vamos ver no que você está trabalhando. >> É engraçado como começamos dizendo: “O último desafio foi fácil demais”. E o Wes fala: “Ei, criei um emulador para isso. Você pode adicionar mais apps a ele?” E, com um único prompt, você conseguiu fazer isso. >> Certo. Ah, chat, vocês vão… Então,

39:34 vamos ver o que o Pierce está fazendo. Vou conferir o chat e depois acho que vamos precisar da ajuda do chat aqui para… >> Sim. >> Ah… >> nos dar ideias. >> Sim, deem ideias. Precisamos das ideias de vocês. >> Vamos ver. O que mais podemos fazer aqui? >> Deixa eu silenciar isso aqui. Certo, chat. Vamos ver. Estou olhando o chat. Mandem suas ideias. Que apps devemos adicionar aqui?

40:06 >> Estou adicionando um app do GitHub, porque acho que isso é essencial para essa experiência. Essa coisa foi feita para executar meus agents, cara. Então, quero ver se consigo fazer meus agents rodarem nisso. O Copilot SDK, tudo. Vamos transformar isso de verdade em um formato em que eu possa iniciar agents nesse simulador. >> Ele está rodando no dispositivo mesmo. >> Sim. Certo. E aí… Não, vou usar a voz. Ei. Então, basicamente quero transformar este dispositivo

40:37 em uma forma de gerenciar meus coding agents com o GitHub Copilot. Temos o GitHub Copilot SDK. Basicamente, quero ter um plano de controle para meus agents neste simulador, poder iniciá-los. Devemos usar todos os recursos incríveis disponíveis neste dispositivo. Ele tem várias dobras. Tem uma parte da frente e outra de trás. Devemos descobrir alguns padrões de interação realmente legais que tornem incrível trabalhar com agents dentro deste simulador. Então, vamos explorar isso com o GitHub Copilot SDK.

41:07 Legal. Também estou percebendo que vamos acabar… Será que todos vamos acabar falando por cima uns dos outros, porque você está… Eu preciso esperar o Burke terminar de falar com o agent dele para poder falar rapidinho com o meu agent aqui. >> Ah, usando a voz. Vou digitar. Sim, estou digitando. Então, o Wes disse… disseram: “Inicie 50 subagents para replicar todos os apps do iPhone. Faça isso”. Foi o que fiz. >> Vamos ver. Que apps… Certo. O interessante é que não sei se é o app do Copilot fazendo isso ou o Astra, mas, mesmo quando não estou no modo de planejamento, ele ainda me faz perguntas…

41:39 >> Isso acontece porque deram ao agent uma ferramenta para fazer perguntas. E acho que parte disso depende do modelo, certo? O harness dá a ferramenta ao modelo, mas o modelo precisa decidir: “Na verdade, quero perguntar ao usuário”. Sim. Certo. E acho que o Astra tem uma tendência, especialmente no começo de algo assim, de tentar esclarecer seus requisitos. >> Ah, certo. Então, apps integrados do iPhone com compatibilidade com navegador, funcionalidades compatíveis com os apps integrados, além de apps opcionais da Apple, como Pages…

42:09 Numbers e GarageBand. Qual devo recomendar? >> GarageBand nessa belezinha. Vai ser… >> simulações claramente identificadas, já que iCloud, Apple Pay, hardware nativo e APIs não estão disponíveis. Vamos com tudo, cara. Por que não? Certo. E você vai me matar, mas fui ao banheiro bem antes de isso começar e preciso ir… >> Certo, tranquilo.

42:40 >> Já volto. Você assume, chat. Já volto. >> Vamos para tela cheia. Basicamente, Coca-Cola Zero. >> Abastecido de Coca-Cola Zero. Ei, pode me trazer uma bebida também, já que vai? Uma limonada ou algo assim. Então, enquanto o Burke estava falando, o que fiz aqui foi… Uma das coisas que adoro no app do GitHub Copilot é que posso iniciar várias tarefas ao mesmo tempo com muita facilidade. Então, claro, começamos aqui e esse era nosso experimento com Chromium. Ele já está rodando em uma tarefa. Mas, enquanto vocês nos mandam mais ideias no chat, eu…

43:11 vou iniciando essas tarefas. Na verdade, quando o Burke voltar, vou pedir que ele abra o chat de novo e vou iniciar três ou quatro ideias com base no que vimos no chat. Mas dá para ver que estou executando três agents ao mesmo tempo. Basicamente, no app do GitHub Copilot, cada sessão funciona assim: por padrão, quando abro essa opção de nova sessão, dá para ver que tenho várias opções, certo? Posso criar uma nova worktree, usar um repositório local ou a nuvem. A nova worktree basicamente cria uma branch deste repo explosivo em uma pasta separada, para que meus agents…

43:42 não entrem em conflito enquanto trabalham. Essa é a configuração padrão no app do GitHub Copilot, porque ele foi criado para trabalho paralelo, fazendo avançar várias tarefas ao mesmo tempo. E esse é o padrão aqui. Mas, claro, também posso executá-lo no diretório que eu quiser — ou, melhor, na branch que estiver selecionada para este app. Então, posso escolher um repositório local. Costumo fazer isso para outras coisas em que uso o app do GitHub Copilot, como consultar telemetria e criar apresentações, quando é útil ter o escopo do repo e todas as skills e coisas assim que estão…

44:13 no repo, mas não estou realmente fazendo alterações no código. Não estou preocupado com conflitos, então quero escolher essa opção. Também temos esta opção na nuvem, que vai iniciar essa tarefa no agent da nuvem. É claro que posso orientá-lo e acompanhar o que está acontecendo inteiramente pelo aplicativo do GitHub Copilot. Então, quando tivermos algumas dessas ideias, talvez eu inicie algumas tarefas na nuvem, além das que tenho localmente. Estamos trabalhando bastante nesse paradigma de agents remotos, porque acho que vocês vão perceber que, além da possibilidade de executar coisas localmente, logo vão esbarrar em

44:46 limitações do dispositivo, certo? E não é tanto por causa do próprio agent; é que agora nossos agents estão, obviamente, criando aquilo em que estamos trabalhando. No caso de um aplicativo do GitHub Copilot, isso é Rust, certo? Então, tentem iniciar várias compilações de Rust. Vocês vão ter problemas até mesmo em uma máquina muito potente. Então, vão encontrar problemas aí. E também há a verificação, certo? O Wes estava mostrando como faz algumas verificações na entrada do agent. Mas, se vocês não estiverem apenas compilando o aplicativo e estiverem executando cada um deles em sua própria worktree, ele vai iniciar o aplicativo. Vai

45:16 executar muitas tarefas. Vai controlar a interface. Isso exige bastante poder computacional da sua máquina. Então, eventualmente, vocês chegarão ao ponto em que serão obrigados a transferir essas coisas para um workspace remoto. Estamos trabalhando bastante nisso e estamos animados para mostrar a vocês, no GitHub Universe, no próximo mês, como esse negócio de agents remotos funciona. Vocês podem usar uma dev box, um Codespace, uma VM do Azure ou qualquer ambiente remoto para basicamente configurar um lugar onde esses agents remotos possam ser executados. E, claro, depois que fizerem isso,

45:47 qualquer cliente do GitHub Copilot poderia, em teoria, se comunicar com esse ambiente. Então, vocês poderiam iniciar algo no aplicativo móvel do GitHub e continuar no aplicativo desktop do GitHub. Há todo tipo de coisa divertida que é possível fazer. Estou muito animado com essa ideia de execução remota e de tirar mais coisas da minha máquina. Então, vamos ver como estão algumas dessas tarefas. Parece que ele está adicionando algumas coisas do Chromium. Também posso entrar aqui, e vocês podem ver que, no aplicativo do GitHub Copilot, ele está iniciando vários sub

46:19 agents e coisas assim. Aqui está um que está trabalhando na implementação do backend do Chromium. Aqui está outro que está construindo alguma coisa. O que mais está acontecendo? Se eu voltar para… qual era mesmo? O aplicativo do GitHub. Ele está adicionando isso. Eu pedi que fizesse o aplicativo real do GitHub. Ele me fez uma pergunta sobre isso, e eu respondi: “Não, não quero dados simulados. Quero que você se comunique de verdade com o GitHub.” Por enquanto, isso vai usar o GH CLI e o token OAuth dele para consultar os dados, assim não preciso configurar

46:50 OAuth nem toda aquela parte divertida para o simulador, o que me parece uma escolha razoável. E agora vamos ver como está aquela tarefa que eu tinha sobre usar o SDK do GitHub Copilot. Uma coisa em que talvez eu e o Burke não tenhamos nos aprofundado muito é que vocês podem ver como costumávamos ser tão meticulosos com nossos prompts, certo? Era tipo: “Ah, preciso formular o prompt de um jeito muito específico. Preciso evitar qualquer contradição. Preciso ser muito preciso na maneira como trabalho com os modelos.” E

47:22 acho que, à medida que a capacidade aumentou cada vez mais, fazer algo como simplesmente despejar meu prompt no aplicativo do GitHub Copilot — obrigado — se tornou possível. O modelo é tão capaz que você não precisa mais ter o prompt mais perfeito e bem elaborado. Pode simplesmente conversar com ele, e as coisas acontecem. Ah, cara, estou vendo o Burke. Vamos ver o que ele está fazendo. Ele está usando subagents. Ele já me eliminou. >> Então, esta sessão aqui iniciou todos estes, um para cada aplicativo. Temos o iMovie.

47:53 >> Certo. >> GarageBand, Keynote, Freeform, Measure, Numbers, Pages, Journal, Stocks, >> FaceTime. >> Cara, FaceTime vai ser incrível se conseguirmos fazer isso funcionar. Magnifier, Passwords, Find My. Não tem como todas essas coisas realmente funcionarem. >> Estou um pouco preocupado que sua máquina possa explodir durante esta transmissão ao vivo. >> TV, app, Reminders, Podcasts. Alguns já terminaram. Files terminou. Settings terminou. >> Espera, >> a App Store terminou. Como a App Store

48:25 pode ter terminado? >> Vamos abrir a App Store. Quero ver o que o modelo preparou para isso. >> Bom, eles não estão aqui. >> Ah, porque estão em worktrees diferentes. Vou ter que trazer isso de volta para… >> hum… >> Ah, qual é a melhor maneira de fazer isso? >> Cada um desses é uma worktree. >> Sim. >> O que significa que meu disco rígido também está no limite. >> Então, cada um desses é uma worktree. Como fazemos para trazer isso de volta e testar na sessão principal? Eu poderia pedir para ele mesclar cada worktree de volta. >> Sim. Então, basicamente, nesta sessão principal

48:57 você pode… O aplicativo do GitHub Copilot pode controlar o próprio aplicativo do GitHub Copilot. Então, você pode dizer algo como: “Quando terminar, traga de volta para esta sessão.” Basicamente, o que o aplicativo do GitHub Copilot vai fazer é usar as ferramentas que permitem criar sessões, como fez aqui. Ele também pode monitorar essas sessões. Quando monitora uma sessão e ela termina, o subagent pode enviar uma mensagem de volta para esta sessão e dizer: “Terminei.” Ele vai responder: “Mensagem recebida.” E então este agent vai integrar as alterações. Então, o aplicativo consegue fazer isso totalmente sozinho. Você

49:28 só precisa pedir. >> Vamos ver aqui. Sim, fiz isso bem aqui: “Quando terminar, traga os aplicativos de volta para cá e para esta worktree.” Então, ele deve mesclá-los de volta. Na verdade, quero dizer: “À medida que os aplicativos terminarem.” Vamos ver. Copie isto. “À medida que os aplicativos terminarem…” Isso é com um S, não com dois S, em “as apps”

49:59 “à medida que os aplicativos terminarem, traga-os de volta e mescle-os nesta worktree aqui.” Sim, pronto. >> Certo, certo. Quando… >> Como faço para abrir os aplicativos de novo? >> Fica ali embaixo da prévia. Tem uma prévia dos aplicativos. É aquele bem pequenininho… Isso, aí está. Certo. >> O navegador. >> Vamos tentar. Não consigo clicar. Então, não está muito bom. O Chromium Companion não está

50:30 em execução. Certo, estamos fazendo algum progresso. Não sei por que criei dois painéis aqui. [risos] >> Ah, porque é um celular dobrável. Então, a interface é diferente. >> Cara, vou ter que repensar totalmente o que quero fazer. >> É. >> Isso é meio estranho. Então, deveríamos renderizar, tipo… >> a parte acima da dobra à esquerda e a parte abaixo da dobra, tipo… E agora tenho duas dobras. O que devo fazer para aproveitar ao máximo o espaço disponível? >> Será que a página deveria continuar do lado direito? >> É o que estou tentando decidir. Ou isso seria um desperdício? Não sei se, como usuário, eu realmente gostaria disso. Mas aí…

51:03 se você estiver rolando a página, vai ficar estranho. Ela vai rolar de um lado para o outro. Ou talvez funcione. Na verdade, isso poderia funcionar, cara. >> Quer dizer, você teria que ver funcionando para conseguir avaliar. >> Tenta. Acho que isso vai dar um nó na minha cabeça, para ser sincero. É sempre divertido quando esses novos formatos de dispositivo aparecem, porque você precisa repensar como realmente vai criar software para eles. Certo. O que está acontecendo com o nosso navegador de compilação aqui? Certo.

51:34 Ainda estou aqui, trabalhando sem parar no app de casa, no app de atalhos, no app de livros, no app de números, números. Vai criar um app de planilhas na hora. >> Que época boa para estar vivo, cara. >> É mesmo. É mesmo, de verdade. É muito divertido. Dá para literalmente… Eu realmente acredito que nosso limite agora é a nossa criatividade. E isso é uma coisa bem clichê, meio vaga, de dizer, mas o fato de você estar vendo tudo isso ganhar vida… pessoas que são

52:05 extremamente ambiciosas e criativas vão se dar muito bem neste novo mundo. Acredito mesmo nisso. >> Sim. Sim. E, quer dizer, é… porque eu estava pensando nisso antes: a skill “grill me”, do Matt, mudou tudo mesmo. E o interessante é que ela é bem simples. Acho que, como ele disse, são umas quatro frases. Nunca cheguei a olhar, mas é bem simples. É só uma ideia. E a ideia é fazer o agent >> continuar fazendo perguntas a você >> e isso simplesmente funciona. Certo? Então, acho que são essas ideias simples que agora

52:36 >> Isso. >> têm muito impacto. Isso. >> Certo. >> Sim. Eu… >> O Google deve ser talvez… talvez os caras das ideias. É a era das ideias. >> É… >> Sim, não, isso é muito interessante. Sim, essa coisa de skill também me lembra… Eu estava falando disso enquanto você estava fora. Lembro que faço muitos encontros e conversas com diferentes desenvolvedores para ver como trabalham, e aprendo um monte de coisas legais. Mas uma coisa que vejo, e que acho que é uma espécie de antipadrão, é que cada vez mais eu

53:07 vejo pessoas basicamente dizendo: “Preciso passar, sei lá, um mês otimizando perfeitamente meu sistema de agents, com todas essas skills e servidores MCP”. E você pensa: “Tá, mas o que você está fazendo?”. E aí, na verdade, fica meio difícil para as pessoas explicarem o que tudo isso faz. Mas acho que a skill do Matt PCO é um ótimo exemplo. É como se >> você não precisasse ter aquele arquivo markdown de 50 mil linhas explicando como a equipe trabalha e tudo mais. Agora, esses modelos são tão capazes. É mais uma questão de comunicar sua intenção, e você não

53:38 precisa fazer isso com muitas palavras. >> Sim. >> É só corrigir algumas coisas. >> E, especialmente, esses modelos mais novos são muito bons. Quer dizer, antes você precisava dar ao modelo essas salvaguardas, mas sinto que agora, >> quanto mais salvaguardas eu dou, mais estou impondo a ele os meus próprios >> erros, suas próprias crenças limitantes. Sim, você está limitando o agent. E é meio… mas, de um jeito estranho, muitas coisas que eram antipadrões na engenharia de software talvez sejam agora a maneira como você

54:08 deveria trabalhar, certo? Porque as restrições sempre foram boas ao desenvolver software. >> Sim. >> E, de certa forma, como você disse, quando você dá ao modelo um plano pouco especificado, se estiver na fase de prototipagem, de um jeito interessante, ele tem criatividade, porque essas coisas não são determinísticas. Então, se você executar cinco deles, vai obter cinco resultados diferentes. E, de um jeito estranho, ter um plano especificado demais, dizendo que precisa trabalhar exatamente desta maneira, não permite que o modelo realmente expresse sua… >> não determinismo na solução,

54:39 certo? >> Sim. As pessoas vão gostar disso. Você está limitando o desenvolvedor melhor na conversa ao seu… >> Bem, o jeito como vejo isso é meio como uma equipe, certo? Quer dizer, sim, algumas ideias são melhores do que outras, mas, numa equipe, cada pessoa traz uma perspectiva diferente, e isso melhora aquilo que vocês estão construindo. Então, é meio natural quando se trabalha com agents, especialmente usando modelos diferentes. Se você prototipa algo três ou quatro vezes com três ou quatro modelos diferentes, obtém perspectivas diferentes, certo? E é

55:09 verdade que, se você especificar demais o plano, vai reduzir a criatividade porque está adicionando restrições, certo? >> Com certeza. >> Então, é um recurso e um defeito. >> Vamos ver, podemos mostrar minha tela? Matt, se puder, para a gente ver. Ah, não. Bem na hora que faço isso, desaparece. Estava aqui. Temos alguns apps. Eu vi. >> O agent está trabalhando de novo. >> Estou ouvindo… o microfone dele está bem aqui, mas estou ouvindo essa ventoinha. >> Nossa, está

55:40 >> Vai esquentar aqui. Ainda temos uma hora pela frente. >> Vai ficar parecendo a Flórida quando a gente sair daqui. Ah, sim, essa coisa está sofrendo, cara. >> Bem, enquanto você estava fora, eu estava falando sobre como, se você consegue fazer coisas como o que acabou de fazer, sua máquina local vira o gargalo, certo? Porque não é só você estar executando 50 agents; cada agent está desenvolvendo, compilando e executando seu app, além de validar se funciona. >> Sim. Olha isso. Olha todos esses agents em execução. Olha só, cara. São muitos. E o negócio é que este é um M5 Mac Pro.

56:12 >> O melhor que existe. Eu compro meu próprio hardware porque quero ter acesso ao melhor, e, da mesma forma, estou usando o que há de melhor em tudo na minha casa. Tenho um Mac Studio topo de linha e, mesmo assim, com a memória unificada e tudo mais, você está levando essa máquina ao limite. >> Eu sei. Bem, estou vendo uma página em branco. Tenta no navegador. Vamos ver. Burke, ative a flag HTML in canvas no seu navegador. Não

56:43 sei onde fica. >> Alguém no chat vai ter que descobrir como fazemos isso nas configurações do Edge. >> Sim. >> Ou podemos instalar o Chrome, se precisarmos. Mas… >> Como? >> Olha, eu… Como ativo… >> Ative a flag do modo de desenvolvedor no Edge, por favor. >> Vamos pedir para a Luna fazer isso. >> Tenho algo que não deveria mostrar, mas vou mostrar, sabe? Gostamos de nos divertir por aqui. Estamos entre amigos na transmissão e… >> O que você tem aí? Já estava aberto, então

57:14 não estou revelando algo que não estivesse aberto, mas, falando em novidades que estão a caminho… Se eu passar para cá, olhem essas chamadas de ferramentas. >> Ah, computador. >> Seria ótimo se o GitHub Copilot tivesse esse recurso, não é? Então, sempre tem novidades sendo preparadas, coisas no horizonte, por parte da equipe do GitHub Copilot. Eu estava com o modo de transmissão ativado, então não esperava que isso ficasse oculto, mas é isso. Então, sempre tem uma

57:46 surpresinha para quem está acompanhando a transmissão. Sabe o que é interessante? Estou percebendo que, apesar de estar executando três coisas, sua estratégia mais agressiva, de “vou usar 50 subagents”, provavelmente tem mais chances de produzir um resultado demonstrável do que o que estou fazendo. Acredito mesmo nisso. >> Você acha? >> Acho, sim. >> Certo, espera aí. Se diz que no Edge dá para… Não, já fizemos isso. Abro o Edge e… Sim, não estou vendo

58:16 isso. HTML in canvas. Talvez eu precise… >> É só instalar o Chrome. >> O Edge. Talvez eu precise do Edge Canary. >> Não sei se isso é uma novidade do Chromium; se for, entendo que possa ser um problema. >> O que eu preciso? Onde fica isso? >> Não sabemos como… não sabemos usar isso. Estou desenvolvendo um navegador, mas não sei o que preciso fazer. >> Edge Canary. Edge Canary. >> É… >> Baixa aí. Vamos tentar o Canary. Se não funcionar…

58:47 Então, sabe, outra coisa que é realmente poderosa nesses agents que estou vendo na minha tela agora é que não só o GitHub Copilot vai lá, escreve o código e garante que ele compile e tudo mais, como também vimos na demonstração do Wes: ele vai lá e executa a coisa, basicamente criando os próprios testes de aceitação e usando ciclos de feedback — neste caso, capturas de tela — para verificar se faz o que deveria. Isso me poupa muito tempo, porque eu…

59:17 Lembro que chamei a era da IA 1.0 de era Uno: ao trabalhar com agents, a maior parte do seu tempo era tipo: “Beleza, npm install e npm run dev. Vamos iniciar isso.” Aí você clicava por tudo e pensava: “Você nem fez o básico.” E então: “Beleza, de volta à estaca zero.” >> É, provavelmente é a mesma coisa agora. Se você não quiser fazer parte desse ciclo inicial de validação básica, não precisa. >> É. É, ótimo, porque temos esse recurso compartilhado aqui, no aplicativo do GitHub Copilot, e também no VS Code. O…

59:48 navegador integrado às nossas ferramentas basicamente disponibiliza ferramentas para o agent, para que ele possa fazer coisas como navegar, tirar capturas de tela e clicar em elementos, certo? Se você compartilhou sua sessão do navegador com o agent — o que, neste caso, fiz no aplicativo do GitHub Copilot —, isso libera possibilidades incríveis. Mas isso me faz pensar: claro que há coisas como o uso do computador no horizonte, mas esse é mais um motivo pelo qual acho que a web stack está vencendo: todas essas coisas já estão lá. Os blocos de construção de que você precisa para o seu agent.

1:00:19 Você não precisa criar nada. >> É. >> Quer dizer, isso já se apoia nos ombros de gigantes, em coisas que aconteceram na tecnologia web nos últimos 15 anos, certo? >> Sim. Concordo totalmente. Quer dizer… >> E outras stacks menos acessíveis a agents para esse tipo de coisa vão ter dificuldades. Acredito muito nisso. >> Mas estou tentando instalar o Edge Canary agora. Espera aí. >> Não consigo fazer duas coisas ao mesmo tempo. Edge Canary. Aqui está. >> Isso me deixa nervoso. Instalando software durante… >> Arrastei para lá. Ah.

1:00:50 >> Certo. Então, outra coisa que também faço meus agents fazerem bastante é conversar com o pato de borracha. >> Sim. >> Basicamente, pedir uma segunda opinião a um modelo de outra família. Estou usando Astra; talvez use Opus ou algo assim. Eu incluo isso no prompt com bastante frequência: quando eu mando algo, quero que você valide por conta própria, mas também sempre peço uma revisão adversarial do código, porque percebi que eu acabava voltando à minha sessão…

1:01:21 e pensando: “Não quero passar vergonha ao enviar este PR para a equipe. Preciso conversar com o pato de borracha rapidinho.” Mesmo que… >> Antes que alguém diga: “Ei…” >> Antes que alguém, sabe, uma pessoa de verdade diga: “Esse código lixo vai bagunçar nossa base de código. Preciso fazer uma revisão com o pato de borracha rapidinho.” Mas, se você perceber que vive pensando: “Certo, preciso executar este comando”, >> esse é o momento em que você pensa: “Isso precisa mesmo fazer parte do meu workflow como uma instrução.” Certo? Sim. Então, literalmente, no fim de cada turno, peço que você faça uma revisão com o pato de borracha.

1:01:52 Isso reduz a interatividade, porque acrescento mais duração ao turno, mas também significa que estou me poupando de ter que voltar e apertar Enter manualmente nesse prompt. >> Sim. >> Simplesmente vai acontecer. >> Não acho que isso… Não, ah, ele está tentando instalar todas as minhas extensões. Não acho que isso esteja mesmo no Edge. Certo. O Chrome está me obrigando a baixar…

1:02:23 navegadores que não quero. Eu já tenho um navegador. >> Isso me deixa muito… preciso dizer que fico muito nervoso instalando software ao vivo em uma transmissão ao vivo. >> Quer dizer, o que poderia dar errado? >> Vou dizer que a Megan mostrou a integração com o Slack mais cedo, o que é muito legal. É sempre divertido demonstrar aquilo. Fiz uma demonstração para um cliente na semana passada e você pensa: “Provavelmente não deveria mostrar meu Slack”, mas acaba mostrando, porque a demonstração funciona melhor no seu ambiente de trabalho de verdade. >> Sim, essa é a questão: você precisa…

1:02:53 mostrar, você precisa… >> Se você não tiver todo o contexto de como trabalha normalmente, fica meio artificial, certo? Então precisa ser de verdade. >> Quer dizer, sempre fico um pouco apavorado quando estou demonstrando qualquer coisa. Você e eu gostamos de viver no limite, o que deixa nervosas as pessoas muito polidas da nossa empresa, que gostam de mensagens bem cuidadas, mas nós gostamos de manter as coisas reais por aqui. >> É, é só isso que temos. Sim, >> é só isso que temos. Certo, vamos tentar este navegador. Vou voltar ao YouTube e ver se o chat consegue nos ajudar. Acho que…

1:03:24 o chat sabe como resolver isso. >> Certo, espera. Está dizendo que meu simulador do GitHub talvez esteja pronto. Então vamos consertar. >> Certo. Preciso conectar minha CLI do GitHub Copilot. Olha só. Temos um aplicativo do GitHub. Certo. Então, aqui está… O que é isso? Certo. Estes são meus… Estes são meus repos. Estou meio nervoso para abrir algum deles. Tem o monólito do GitHub. É. Alguns desses são repos privados. Vamos…

1:03:54 para um repo público. Qual seria um bom repo público? Eu queria o do Wes Bos. Dá para abrir? Não. A busca não está funcionando muito bem aqui. >> É. Agora estamos vendo o chat. Desculpa, chat. Está pedindo para reiniciar o navegador. Qual navegador? Edge Canary. >> Certo. Acabei de instalar. >> Olha só. Temos um aplicativo do GitHub funcionando mais ou menos. Olha só, cara. Temos isso. Está usando meu… meu O…

1:04:27 token da CLI do GitHub, sabe, e preenchendo os dados por meio dela. E temos aqui uma seção recolhível. Quando eu integrar meu agent do Copilot nessa coisa, quero poder iniciar isso como… como alguma coisa, certo? Por exemplo, para uma dessas issues, eu deveria poder simplesmente, no aplicativo do GitHub Copilot, dizer: “Nova sessão a partir desta issue”. >> Certo. Agora que estou pensando nisso, acho que quero simplesmente portar o aplicativo do GitHub Copilot para este simulador. >> Aponte para o aplicativo do GitHub Copilot.

1:04:58 >> É, dê um repo para ele e diga literalmente: “Porte isto para o simulador.” >> Quer dizer, por que não? Ainda estou tentando… ter um backend em Rust com Tauri, e aí temos um frontend que usa a web stack típica. >> Isso é conhecido? >> Sim. >> A arquitetura é conhecida. >> Sim. >> Sim. Isso é muito interessante com… >> Estão me dando bronca no chat. >> Ah, não. Pelo quê? >> Porque continuo tentando fazer isso no Edge, e o Wes diz… As pessoas estão dizendo que isso existe no Edge há muito tempo. O Wes diz que não está no Edge…

1:05:28 em letras maiúsculas. Certo. Vou conseguir. Espera. >> Firebutts está aqui. Também estou interessado no que está acontecendo aqui. Estou… finalmente entrando em contato. Estou fazendo o melhor que posso. Não sou bom em fazer várias coisas ao mesmo tempo. Meu Deus. Ficar desconectado, por favor. Só… só quero executar a coisa. >> Preciso ver com que tipo de código estamos trabalhando aqui. Quero dar uma olhada por baixo do capô. Estou no VS Code. >> Ah, meu computador mal está funcionando.

1:06:00 >> Eu gosto literalmente… Está ficando quente aqui. >> Aí está. Está bem ali. Certo. >> Foi incrível. Espera, foi mesmo? Ah, este Chrome. >> Não, este é o Chrome. Então, reinicie. Certo. Qualquer Chrome. Consegui. Consegui. Obrigado, Wes. Hum, sinto que o Wes está gritando comigo. Hum, certo. Agora, agora, agora, agora. Para onde foi? Então, vamos pegar isto aqui. O quê? Não entendo para que preciso disto. Estava funcionando muito bem.

1:06:31 O quê? Acho que… não sei. Wes pode nos dizer no chat qual é o propósito específico. Acho que não estávamos conseguindo renderizar tudo em 3D. >> É isso? >> Mas não tenho certeza. >> Olha só. >> É bonito. >> Está bem fluido, na verdade. >> Ativamos a ocultação neste ponto. >> Hum, ativar a ocultação. >> Pronto. >> Certo. >> Coloque esse bichinho em tela cheia. >> Então, hum, certo. Pronto, aí está o 3D.

1:07:01 Vamos descer até aqui, até nosso pedacinho de queijo, aqui nos apps. Prévia do app. Meu Deus, temos tantos. Temos livros. Temos um calendário. O calendário funciona. Espera, quando é que isso vai sair? É tipo 16 de outubro ou algo assim. >> Sabe, eu não conseguia decidir se ia pedir um, mas acho que agora vou. >> Vai mesmo? >> Sem pré-venda. >> Você vai pedir um. >> Pré-venda. Talvez

1:07:32 começar evento. Salvar evento. Temos um. >> Meu Deus. Certo, então esse é o calendário. Hum, clipes. O que são clipes? >> Não faço ideia. Tem coisas pré-instaladas. Ah, não sei o que elas fazem. >> Espera, o diálogo do chat está me matando. Então, faça o chat aparecer no telefone. Ah, certo. Hum, como… nem sei o que pedir nesse caso. Espera. Hum, como… como eu… isto é interessante

1:08:03 porque o chat está no YouTube. Então, deixa eu fazer assim. Sim, eu faria assim. Estamos fazendo uma transmissão ao vivo e tem um chat que preciso ficar destacando em uma janela separada. Hum, está na transmissão ao vivo do GitHub. O canal é youtube.com/github. Está ao vivo agora. Você pode me ajudar a colocar esse chat aqui neste app, para podermos ter o chat conosco no app, em vez de deixá-lo na janela separada?

1:08:34 >> Espera, Burke, vamos… vamos mudar para a minha tela. Espera, vou conseguir… Não, não vai mostrar os comentários. Ah, não. >> Não, espera. Vai mostrar os comentários? Está um pouco lento. Não sei se gosto muito de como estamos renderizando isto, aliás. Certo. É, não vai me deixar abrir… Preciso entrar na minha conta? É por isso que não consigo abrir o chat ao vivo? Porque meu navegador Chromium agora… >> Sim, você precisa entrar na sua conta. Não dá para falar no chat sem estar conectado. >> Vou fazer isso rapidinho. Provavelmente deveria tirar minha tela da transmissão ao vivo, mas temos… temos nosso navegador Chromium

1:09:04 agora. Então talvez eu possa realmente contornar esse problema, porque temos o Chromium funcionando neste simulador Duo. Ainda não entendo para que precisamos do Chrome. Funciona bem aqui. >> O que estamos fazendo? Por que preciso disso? Certo. O que mais temos? Temos a bússola. >> Ela está mesmo funcionando como bússola? >> Tem um manual. >> Bem, existe uma API do navegador para bússola,

1:09:36 não existe? Chat, onde fica a API do navegador para bússola? Deixa eu ver. Hum, eu reiniciei o Chrome, não foi? Reiniciei. Ele me perguntou. Não entendo o que deveria estar funcionando e não está. Para mim, parece que está funcionando. A tela dividida. O quê?

1:10:08 Abra de novo. O canvas HTML mantém os apps no modelo 3D. Ah, é assim que deveria funcionar? Tipo, eles deveriam ser renderizados aqui. >> É, acho que é isso que ele está dizendo. Tipo… >> Ah, então dá para vê-los. >> Espera, então abra um desses apps. Quero… quero ver isso. >> Bem, qual app? Como abro um app? >> Espera, você ainda não tem o botão de apps

1:10:38 agora? >> Tenho, mas ele nos leva para cá, para a prévia. >> Mas eu vi o Wes fazendo isso. Tem que haver um jeito. Certo, Wes. Vamos pedir ajuda a um amigo de novo. Wes, o que eu faço? >> O que eu faço? >> O Wes só deveria ficar aqui por 20 minutos. Queremos que eles apareçam. Sim. Certo. Mostrar apps diretamente no dispositivo. Sim. Sim. Sim. Certo. Perfeito. Por que isso não está funcionando? Está bem aqui, cara.

1:11:09 Não sei como voltar para o dispositivo depois que o Chrome foi redefinido. Não. Exibição ligada. Desligada. Ligada. Frontal, traseira, perspectiva. Atualizar. Pronto, voltou. Hum, não sei. Ainda está tentando implementar todos esses malditos apps. Então vou fazer isto. Espera. Para. Para. Para e descarta. Certo. Já temos apps suficientes. Isso é

1:11:43 [risos] app suficiente, cara. Agora temos apps demais. >> Por favor, pare. Em vez disso, você pode garantir que os apps sejam renderizados no modelo 3D? O Wes disse para ativar o HTML no canvas, e eu fiz isso, mas… não consigo. Não sei. Certo. Hum, talvez o chat tenha acabado. Deslize.

1:12:14 Sinceramente, pessoal, não faço ideia. Tipo, não, isso simplesmente… >> Não, porque, se você deslizar, só muda o… >> E também não está aparecendo aqui. Imagino que isto seja um esquema. Nem dá para criar um novo ponto de vista. D. Não está aqui do outro lado, está? >> Ah, não, não, não, não. >> Como faço para executar apps no modo 3D, e não no modo de prévia do app?

1:12:46 Ah, a Astra está cuidando disso. Não se preocupe. As abas do simulador. Ah, Google Chrome. Vou parar de adicionar apps e me concentrar na exibição em 3D. Ah, sim. Uso do computador. Ele vai tentar… vai olhar para o meu… Basicamente, lembrem-se de que aquilo era um esquete. Lembram do esquete antigo, em que tinha… talvez eu esteja entregando a idade, mas era um antigo… o suporte técnico aparecia e eu

1:13:18 acho que era no SNL, e a pessoa ficava sentada no computador, com alguém em pé atrás dela, olhando por cima do ombro, sabe? E ela dizia: “Estou tentando imprimir, mas não imprime.” Aí ele dizia… ele se afastava e, sabe, a pessoa saía da frente e ele se sentava. Sinto que o agent é assim: “Saia da frente.” >> [risos] >> Hum, então meu agent está dizendo: “Se você… está vendo? Use apps, tipo, ponto, control F. Use apps. Você deveria ver isto nesta visualização.” >> Control F. >> Command F. Desculpa. >> Tipo, pesquisar. >> Sim, estamos procurando literalmente a interface. Certo, você não tem isso.

1:13:49 Interessante. Muito interessante. >> Tem uma prévia dos apps. >> Não, está escrito… está escrito: confirme que o botão diz “Usar apps”, não “Prévia dos apps”. O app detecta automaticamente se o navegador expõe as APIs experimentais de HTML e canvas. Quando elas não estão disponíveis, aparece “Usar apps”. Talvez você precisasse reiniciar o Chrome depois de ativar essa configuração. Você fez isso? >> Vim aqui. Fiz isto. Desenhar elemento no canvas. Isso é outra coisa.

1:14:19 Espera. >> Bem, isso explicaria por que… porque o app basicamente não está mostrando a opção, já que não ativamos a configuração correta. >> Espera. Vamos conseguir. Podemos descobrir. Somos inteligentes. Temos IA ilimitada. Está ativado. Diz que está ativado. >> Certo, reinicie o Chrome. >> Já reiniciei o Chrome umas quatro vezes. >> Quero dizer, esse é meu conselho típico como colega desenvolvedor. Reinicie de novo. >> Reiniciar sempre. Hum, certo. Vamos…

1:14:50 >> usar o Chrome Canary com a flag ativada. Agora, quando… Agora preciso… preciso baixar mais um navegador. O modelo 3D está sendo exibido. Leia o topo da tela, onde aparecem os apps. Ah, certo. Espera, chat. Abra o Chrome. Hum,

1:15:20 vamos pegar nossa URL, colá-la, copiar e colar. Então, do meu lado, onde estou? O app do GitHub… acabei de dizer a ele que quero que o tema realmente reflita o GitHub. Ah, então estamos trabalhando nisso. Isso não parece nem um pouco com o Spiring. Ah, acabei de ver isso pelo canto do olho. Hum… >> cara… >> meu… meu Copilot está construindo um plano de controle de agent do Copilot para isto

1:15:52 A coisa está sendo processada há 33 minutos sem nenhuma intervenção minha. Então, >> o que ela está fazendo >> ah, do meu lado ou do seu? >> Do seu lado. Isso é… estou recebendo… é isso que está acontecendo. >> Ela foi, conseguiu o Copilot SDK. Construiu uma interface em torno dele. Ah, imagino que tenha descoberto como obter meu token do Copilot e, ah, e é, vamos ver se consigo realmente iniciar agents a partir dessa coisa.

1:16:24 >> É, não entendi. Não entendo o que deveríamos estar fazendo. Não entendo a tarefa. Posso mudar a cor do plano de fundo. Hum, certo. Fizemos isso. Certo. Agora, agora a tela de apps está piscando bastante no Chrome. Vou enviar isso daqui. >> Então, todos os seus subagents terminaram agora ou você simplesmente os encerrou? >> Eu os encerrei. Quer dizer, ela fez isso. É…

1:16:56 …mentou. Diz que implementou todas essas coisas. Meu palpite é que implementou uma interface mínima para tudo isso. Ah, desculpa. Mais pilhas para o microfone. Certo. Vamos ver aqui. É, meu palpite… Ah, vou rastrear o tempo de renderização e as atualizações de textura. Atualmente, o app desenha tanto pelo loop de animação quanto pelos eventos de pintura do HTML e do canvas. Então, tirou uma captura de tela.

1:17:28 Ah, isso é uso do computador. Sim. >> É, está usando o Chrome. Certo. Interessante. Tudo bem. Vou simplesmente deixar que ele [risos] faça o que tem que fazer. Você precisa do carregador de pilhas. >> É. Do meu lado, ah, sabe, o navegador compartilhado integrado aqui, ah, e o agent está passando por tudo e tentando validar. Eu estava tentando abrir a página de login do YouTube, mas aparentemente, do jeito que implementamos essa coisa, o Google

1:17:59 acha que o navegador não é seguro. Então, preciso… estamos trabalhando numa técnica de mitigação. Hum, então, por enquanto, vamos ter que voltar ao navegador de verdade. Ah, mas depois devo conseguir abrir o chat nessa coisa. Então… >> O que há de errado com o seu? >> O navegador funciona. Estamos usando Chromium, mas, para entrar nos apps, ele diz que isso é malicioso porque acho que estou simplesmente executando o Chromium sem mais nada, sabe, algo que ele não reconhece. Então, ele sinaliza quando tento fazer login. E, basicamente, eu queria

1:18:31 abrir o chat, como alguém no chat disse, mas não consigo porque não posso fazer login, e não dá para ver o chat sem fazer login. Então, agora vou ver… abrir um navegador. Certo. Sim. GitHub Copilot. >> Cara, está escrevendo código. O que está fazendo? >> O que está fazendo? Está escrevendo código no console

1:19:02 para testar o que está acontecendo aqui. Muito interessante. Hum, o que eu estava tentando fazer? >> Quer dizer, detesto ser hiperbólico, mas às vezes realmente sinto que isso é AGI. É como se eu… eu nem estivesse fazendo nada agora. Está simplesmente controlando o navegador. >> Isso. >> O que devo fazer? >> Espera, este… Não, este é o do GitHub. Eu quero… não quero isso. Quero… >> Qual é exatamente o meu trabalho? Encontrei. O Chrome está usando a visualização de apps alternativa, e essa janela está travada durante um redimensionamento. Certo,

1:19:32 perfeito. Vou estabilizar isso. Certo. A única coisa que, sabe, ainda costuma confundir os agents é quando você executa várias coisas ao mesmo tempo, como as portas e tudo mais. Às vezes eles se confundem com isso porque, quando clico em abrir no navegador a partir da minha sessão aqui, ele realmente abre o navegador no simulador, mas é o simulador em execução de outra árvore de trabalho. Então,

1:20:02 embora eu tenha o isolamento do meu código, às vezes os processos acabam ficando meio misturados. Tem outro recurso que não ativei. E alguém no chat disse: “Cara, leia o começo. Está bem aqui. Diz literalmente aqui para garantir que esses dois recursos estejam ativados e depois reiniciar o Chrome.” Certo, acho que ativei os dois. >> Somos desenvolvedores, cara. A gente não lê. >> É, a gente não lê. >> Bem, nunca vou ler sua documentação. >> Certo, estamos ouvindo vocês. Estamos fazendo o melhor que podemos.

1:20:35 Hum, ataque ao Hugging Face em andamento. [risos] Certo. Ah, agora vai funcionar. Estou com confiança média para baixa. Vamos lá. Copiar link. Poxa, ainda não está funcionando. Era para estar aqui. Não era para estar bem aqui? O que deveria estar onde?

1:21:06 >> Os apps. Onde deveriam aparecer? >> Não deveria aparecer a visualização de apps. Hum… >> Eles deveriam estar aqui no telefone. >> Sim. >> Certo. Então, eu fiz… fiz este? Desenhar elemento e… >> Certo. >> Recursos experimentais da plataforma web. Deixa eu verificar este. Sim, está ativado. O outro também está ativado. Bem aqui. Isso deve verificar. Não, eu…

1:21:37 não quero corrigir a ortografia dessa palavra. Agora, os dois estão ativados. E agora, chat? Hum, na verdade, não está funcionando no meu… só no Chrome Canary. >> [risos] >> Eu falei logo no começo: “A parte mais difícil vai ser ativar essa coisa.” E eu não estava brincando. [risos] Falei muito sério quando

1:22:08 disse isso. >> Baixei dois navegadores nos últimos 25 minutos. [risos] Alguém pode me atualizar sobre o que está acontecendo? Não, ninguém sabe. Esse é o problema. Precisamos instalar outros navegadores. Certo, esperem aí. >> Então, é, se vocês acabaram de chegar, o Wes nos deu uma tarefa. Ele tem esse simulador de iPhone Duo que construiu e nos desafiou a preencher essa coisa com alguns apps. Aí o Burke pediu ao app do GitHub Copilot para

1:22:39 basicamente iniciar 50 subagents e fazer o trabalho. Hum, estou trabalhando em algumas coisas, como o navegador, um app do GitHub e também um app do GitHub Copilot para esse dispositivo Duo. E, agora, estou tendo dificuldade com o padrão de interação em geral dessa experiência de Chromium que temos aqui. Como podem ver, ela não é muito fluida. >> Mas esse é um problema difícil de resolver. >> É um problema muito, muito difícil de resolver. >> Bem, é só perguntar à IA como deveria ser o layout.

1:23:10 >> Não é só o layout. Quer dizer, vou perguntar sobre o desempenho e dizer que ele não está muito bom. Precisa melhorar as características de desempenho. Mas não é só isso. Há todo tipo de coisa estranha acontecendo aqui com contas e coisas assim. Então, preciso voltar e… Não, não o Edge Canary. Chrome Canary. Wes, agora tenho uns 30 navegadores no computador. Canary. Não consigo… não consigo soletrar.

1:23:42 Aí está. Parar. Meu Deus. Certo, esse é o Edge Canary. Vou conferir o seu… Ah. Hum, então… >> Não tenho nada no meu telefone. >> Do que ele está falando? >> Confira o Slack, cara. Teams,

1:24:12 >> Espera, estou entrando… >> Estou entrando no Chrome Canary aqui. Google Chrome Canary. Certo, vamos fazer isso funcionar. Onde você está? O que está fazendo? O que está fazendo? >> Hum, então, eu estou… Estamos aqui. Deixa eu colocar em tela cheia. Hum, estou trabalhando em alguns apps agora. Então, onde está aquela visualização de apps? Hum, visualização de apps. GitHub. Então, temos aqui uma espécie de visualizador do GitHub. Como podem ver, remodelamos o visual para ficar

1:24:44 parecido com github.com em termos de estilo. Temos um modo escuro aqui. Hum, posso entrar aqui e navegar pelos repositórios. Vamos ver se tenho algum interessante no pi bogan e se funciona. Pier coloring book. Gosto do meu app de livro de colorir. Vou clicar nele e ver: tenho todos os meus issues aqui. Então, tenho alguns bugs que preciso resolver. Parece que o Markdown não está sendo renderizado nos issues. Vamos pedir ao agent para corrigir isso. Mas está ficando muito bom. Tenho um GitHub de verdade.

1:25:14 o app rodando neste dispositivo Duo aqui. Posso entrar, navegar pelos repos, ver todas as minhas issues. Temos algum pull request ativo? Sim, temos alguns pull requests ativos aqui. Dá para ver que temos alguns bem acionáveis, como “oi”. E, então, sim, o app do GitHub está avançando. Quero ver… Vamos ver que outras coisas tínhamos aqui. Acho que o do navegador está me dando problema. Quero olhar esse plano de controle do agent. Ah, meu Deus. Parece que este aqui está…

1:25:45 começando a tomar forma também. Então, vamos ver… Rolando para baixo. Parece que estamos tentando fazer algumas coisas com… A propósito, olha só: o meu está sendo exibido no dispositivo dobrável. Olha isso no canvas do navegador. Está vendo? >> Bom, como você fez isso? Eu… >> Não sei o que fiz. Não estava funcionando. Não estava funcionando no outro. Espera. Tem algo aparecendo na parte da frente? >> Sim. >> Sim. Aí está. >> O que está acontecendo? Por que isso é tão difícil

1:26:16 para mim? Espera. >> Eu não fiz nada especial. Não sei por quê, mas está certo. Certo. Interessante. Para ser sincero, não sei como cheguei aqui. Mas parece que tenho alguns problemas com o O. Então, estou recebendo um monte de verificações de conexão. >> Certo, acho que consegui. >> Certo. Tudo bem. Então, vamos voltar para você. >> Estou reiniciando o Chrome. >> O que você fez? Você ativou outras configurações ou…

1:26:47 >> Não, são só as mesmas duas configurações, mas desta vez no Chrome Canary. >> Ah, você precisava do certificado. [risos] >> Estão funcionando. Certo. Tudo bem. Certo. Nossa. Estou animado com isso. >> Acho que tem apps demais nele, porém. Tipo, não dá… Sim, eu nem consigo… >> Espera, a busca na tela inicial funciona para encontrar apps e ver o que tem? >> Clipes. >> Funciona. Isso é muito legal. >> Uau, que legal. Certo. Então, se a gente procurar

1:27:19 livros, tem um livro. Posso virar o celular? Por que isso continua acontecendo? >> Está vendo? Isso não está acontecendo comigo. Nem sequer tenho essa configuração ativada. Acabei de perder o celular inteiro. [risos] >> Não é mais Duo. É um… Como se diz? Qual é o contrário de “duo”? Não sei que palavra estou procurando. Ah, pronto. Aí está. Certo. Então, como eu… Ah, aqui está. Certo. >> Ah… >> Posso fechar? Como é que fecha? Não dá para fechar. >> Sim, não dá para fechar. Mas espera, acho que seus apps estão aproveitando… >> Pronto. >> Eles não estão aproveitando esse

1:27:49 espaço, porém. >> Como assim? Estão, sim. >> Ah, isso é tipo o equivalente à tela de bloqueio nesse novo paradigma de UX quando está fechado? Quer dizer, se você tem… O que é isso? Que app é esse, biblioteca? >> A biblioteca também deveria conseguir acessar a tela da frente, porque, na verdade, são três. Sim. >> Mas não consegue no momento. >> Não. Certo. Então, precisamos… o quê? Dizer a ele que todos esses apps precisam conseguir… >> Sim, acho que sim. >> O tenant, virar. Certo. Tudo bem. Só precisamos avisá-lo, tipo… Certo. Certo, entendi. Vou cuidar disso.

1:28:22 Certo. Diga “certo”. Certo. Todos esses apps precisam funcionar no modo livro. Quais são os modos diferentes? Livro, fechado, livro e plano. Livro fechado, plano e modo de tent. Você vai ter que descobrir… >> E você estava na sessão principal… >> otimizar a interface para cada um desses

1:28:54 formatos. Certo. Sim, estou na sessão principal, nesta sessão principal que controlava todos os… >> Ela vai propagar esta mensagem para… >> Imagino que vá voltar para cada um desses e começar a enviar mensagens de novo. Vamos ver. >> Mas acho que alguns dos apps estavam funcionando na tela da frente. Talvez eu esteja lembrando errado. Mas… >> Isto é um graph? Estou fazendo um graph agora? Isto é um chat com graphs? >> Sim, loops e graphs. Você não estava fazendo loops e graphs. O que está

1:29:25 fazendo? Você está mesmo fazendo engenharia em 2026? Então… Sim, o objetivo é ver as loucuras que eles vão programar usando o poder do GitHub Copilot. Você acertou em cheio. >> Esse era exatamente o objetivo quando idealizamos esta sessão. >> Isso. Tentando fazer este simulador funcionar. Sim. E conseguimos. Sucesso. Vou fazer o shell compartilhado do app se adaptar à postura do celular, para que todos os apps mantenham o estado quando você o dobrar. Primeiro, estou verificando a tela externa e a orientação de tent.

1:29:56 Essas telas precisam de uma navegação utilizável em uma única tela, não só de um layout de duas telas reduzido. Entendi. Sim, cara. Eu estava pensando: você percebe que, há um ano, nesta mesma época, não tínhamos o Opus 4.5? >> Eu sei. >> O que tínhamos? Era o Sonnet 3.5? É isso? A gente já estava mais avançado? Talvez fosse o Sonnet 4, mais ou menos nessa época. Não, porque o Opus… O negócio do Opus foi em dezembro, certo? Mas espera. O Opus já existia antes do 4.5,

1:30:27 >> mas não era o Opus como as pessoas… >> conhecem, certo? Era tipo… Bom, essa foi a época em que era assim: “Temos modelos de raciocínio”. >> Sim. >> “E temos modelos de programação.” E não estava claro se eu deveria usar o 01 para programar ou o Opus para programar, ou se isso seria um uso inadequado daquele modelo. E agora é como se todo modelo fosse, antes de mais nada, um modelo de programação. Bom, porque toda tarefa é uma tarefa de programação. Tipo, se você está analisando dados, claro, pode fazer isso no Excel, mas também pode usar Python, certo? Então…

1:30:59 no fim das contas, fazer com que toda tarefa possa ser realizada por meio de programação é muito importante se você está tentando alcançar a AGI, porque com programação literalmente dá para criar qualquer coisa, como estamos vendo hoje. Mas, sim, você tem razão. A gente acompanha esta métrica no GitHub chamada, digamos, código retido do agent. É, basicamente, uma das formas de dizer o quanto nosso agent é bom com um determinado modelo. E, acho que com o GPT-4.1, quando o agent mode e o VS Code foram lançados, estávamos em cerca de 50, 52% de código retido do agent, o que, aliás,

1:31:31 é muito legal, porque antes era 0%. Sim, você literalmente usava linguagem natural e recebia 50% do código gerado. Certo. E agora, com os modelos mais recentes e o harness do GitHub Copilot, estamos vendo mais de 90% de código retido do agent. E isso muda bastante a forma como você trabalha em parceria com essa ferramenta. Lembro da primeira vez que começamos a fazer transmissões ao vivo. Ainda não confiávamos muito nos modelos. Supervisionávamos cada comando de ferramenta. Observávamos o agent atentamente, de forma síncrona, a cada

1:32:02 comando. Então, conforme os modelos foram melhorando, o que isso possibilitou? Certo, agora posso executar três deles, porque não preciso supervisionar de perto cada um individualmente, né? E, assim, nossa parceria mudou à medida que os modelos melhoraram. E isso foi só há um ano. Então, dá para se perguntar: quero dizer, sem falar em daqui a um ano, onde estaremos daqui a um, dois ou três meses, certo? As coisas estão mudando muito rápido, com certeza. Mas é muito divertido. Dá para ter uma mentalidade bem assustada em relação a isso, pensando que a mudança

1:32:32 é difícil e que estou nervoso. Na verdade, acho muito empolgante poder construir coisas assim e literalmente fazer software surgir do nada, com a ponta dos dedos ou com a voz. >> Mas aí vem a pergunta, e estou curioso. Vou perguntar ao chat sobre isso, porque uma das reclamações do chat é que estamos usando esses modelos enormes e caros porque temos tokens ilimitados, e eles não têm. Certo? E essa é uma reclamação válida. Mas, com certeza, no futuro chegaremos

1:33:04 em um lugar e em um momento em que todo mundo tem acesso basicamente ilimitado a esse nível de inteligência. Não há dúvida. Certo. E, bom, você vê que a próxima geração de modelos… Claro, sempre haverá os modelos de ponta, mas, muito rapidamente, os modelos rápidos, capazes e mais baratos passam a ter a mesma capacidade que os modelos poderosos de uma geração atrás. >> Exatamente. E então esse tipo de inteligência vai chegar às…

1:33:36 próximas versões equivalentes ao Flash em algum momento, que serão destiladas, e aí o custo dessas coisas será muito mais acessível. Acho que, na vida real, também é assim, certo? Não vou simplesmente escolher a garrafa mais cara para toda tarefa, certo? Vou ser um pouco mais criterioso. Vou usar coisas como Auto. Vou usar Hydrofusion, certo? Mas, para esta demonstração divertida, faz sentido… >> Sim, porque temos pouco tempo. Sim. Exatamente. Mas eu…

1:34:06 acho que o motivo de eu mencionar isso é que, se você pensar… Alguém me disse uma vez que, quando você ouve alguém de um grande laboratório de modelos falar sobre alguma coisa, essa é uma coisa que você verá daqui a 6 a 12 meses. Certo? Então, o que eles estão usando hoje é o que você estará usando daqui a 12 meses. E acho que, de certa forma, o que vocês nos veem fazendo aqui hoje provavelmente estará ao seu alcance de alguma forma daqui a 12 meses. Vocês terão esse nível de inteligência a um… Isso não é uma promessa, é só a maneira geral como vejo…

1:34:37 isso se desenrolar. Então, a pergunta passa a ser: o que vamos fazer? Para onde isso vai, como desenvolvedores? Há esse grande debate sobre se devemos ler o código, se deveríamos estar lendo o código, qual é a maneira certa de trabalhar, quais são os workflows e quais são as skills de que precisamos. E, à medida que esses modelos ficam cada vez mais inteligentes, o que percebo é que você não precisa dessas coisas. Não precisa de todos os workflows que montamos para tentar fazer a IA agir corretamente. Não precisa mais. E isso me deixa pensando…

1:35:08 O que vamos estar fazendo daqui a 12 meses, então? Será que é literalmente só pedir coisas ao agent? Será que é só chegar ao replicador de comida de Star Trek, digitar o que você quer e receber um cheeseburger, e pronto? E aí vamos ficar andando por aí dizendo: “Ei, pedi isso e aquilo ao agent. Deixa eu mostrar o que o agent fez.” Na verdade, acho que o desafio que vejo na prática para muitas equipes que estão na fronteira da IA — mesmo que tenham, digamos, acesso ilimitado…

1:35:39 e possam executar fábula, o que essas equipes enfrentam não é construir a coisa, é tudo o mais, certo? >> Sim. >> Quando há tanta vazão no seu codebase, mesmo com um modelo muito capaz, você vai introduzir regressões. Vai haver desvios arquiteturais estranhos ao longo do tempo. E você vai ter cada vez mais problemas para priorizar as coisas certas. Você não quer que seu produto vire um monte de controles aleatórios, e você…

1:36:11 sempre foi aconselhado a não fazer isso, porque dá trabalho de verdade. E, como essas coisas agora levam menos tempo, você precisa ser mais criterioso com o que faz. Muitas equipes com quem converso — e fiz uma palestra na Build sobre a abordagem da equipe do VS Code para isso — dizem: “Ei, estamos vendo o número de issues disparar. Estamos vendo nossos PRs abertos dispararem, mesmo com coisas como agent merge e o aplicativo GitHub Copilot.” Você começa a se perguntar: como garantir que o produto não esteja se afastando do que realmente queremos que ele seja? E, de um jeito estranho, eu…

1:36:42 na verdade, sou muito otimista em relação ao GitHub Copilot por um dos motivos: acho que temos um harness incrível, um ótimo produto e acesso a todos os modelos. Mas também acho mesmo que muita coisa vai voltar a depender da qualidade do seu sistema de engenharia. Claro, você pode produzir código a rodo, mas estamos entregando coisas de verdade, certo? Coisas que precisam ter qualidade de produção. E, com toda essa velocidade, os sistemas de engenharia típicos já são ruins desde o começo e não foram feitos para esse nível de vazão, certo? Então, acho mesmo que vamos passar muito mais tempo com problemas relacionados a sistemas de engenharia do que passamos hoje…

1:37:13 >> Certo? Mas não vai ser revisando código, porque não acho que essa ideia de que você deveria ser a pessoa a olhar o código antes de ele ser integrado — e que, então, aquele código é seu — funcione. Seu trabalho é garantir que os agents escrevam código de qualidade. Mas o problema é que você só empurrou o gargalo para mais adiante. Na verdade, você não está avançando mais rápido do que antes se estiver revisando código. Acho que essa é uma perspectiva irrealista. Vai ser uma tentação em toda equipe e em toda organização dizer: “Esta IA é muito…

1:37:44 poderosa, você consegue fazer mais”, certo? Então você vai fazer mais. E acho muito fácil dizer: “Bem, você deveria ser responsável por revisar cada linha de código.” Na prática, isso não vai acontecer, certo? As pessoas não vão fazer isso. E, se essa for a inércia humana — tipo, “certo, não vamos mais olhar para essa coisa; é algum tipo de artefato” —, aliás, acho que é assim que a programação sempre funcionou. Fomos evoluindo continuamente, certo? Já não estou escrevendo instruções em Assembly. Depois vieram linguagens de programação um pouco mais modernas, depois linguagens de programação um pouco mais modernas, e talvez…

1:38:15 esta seja apenas a próxima abstração. Então, não é algo incomum. Mas, se você pensa: “Preciso revisar cada linha de código”, e estão pedindo que você entregue num ritmo muito mais rápido, isso simplesmente não é prático, certo? >> Sim. >> Você será o gargalo que impede sua equipe de avançar. E, se não é você quem escreve o código, acho que há uma… É cognitivamente mais difícil entrar em um PR e entender a arquitetura de outra pessoa do que quando você mesmo criou aquele código. Certo? >> Ah, é horrível. >> E, então, nem sei se você será um bom revisor do seu…

1:38:46 próprio código, porque você não o escreve da maneira como escrevia antes. >> Você nem escreveu. >> Certo. >> Sim. E aí ninguém tem envolvimento emocional com ele. Então, você nem se importa muito se o PR é integrado ou não. Sabe o que quero dizer? Existe um elemento humano. Enfim, alguém disse que talvez cheguemos a um ponto de saturação, como os velocistas olímpicos, que conseguiam melhorar rapidamente seus tempos até chegar a 10 segundos nos 100 metros. Então, isso seria como a lei de Moore — falando de uma lei de Moore em termos de… Mas do que estamos falando aqui? Você está falando de custo ou…

1:39:16 desempenho? Porque continuo pensando nesses modelos: o que você ganha? >> Acabei de fazer o aplicativo GitHub Copilot funcionar neste duo. Este é o GitHub Copilot SDK de verdade. Eu só disse “olá”, certo? Vamos fazer outro. Olá, chat. O modelo padrão. Estou um pouco nervoso para abrir o seletor de modelos. Às vezes, aparecem coisas que eu não deveria mostrar. E… pronto, o agent está em execução e recebi uma resposta. E então…

1:39:47 É, tipo, na verdade, eu tenho um visualizador de diff aqui. Posso criar uma página HTML simples para divulgar a transmissão ao vivo com Burke e Pierce no GitHub Copilot Day. Isso está usando o SDK real do Copilot e a minha assinatura real do GitHub Copilot. Ah, preciso adicionar o modo YOLO a isso. Olha, tenho que aprovar o uso das ferramentas. Vou permitir uma. >> Ah, as aprovações de ferramentas também estão aparecendo. Como? Espera, o SDK está enviando tudo… >> É, este é o SDK rodando em

1:40:17 este simulador do Duo, e parece que… Certo, agora temos… Vamos ver. Estou recebendo alterações? Não, ele ainda não criou a página. Vamos ver se conseguimos receber as alterações e, para deixar tudo ainda mais metalinguístico, já temos um navegador. Preciso de uma prévia no navegador do meu simulador do Duo para renderizar este site. Certo, ele renderizou, criou. Olha, quero dizer, não é a coisa mais bonita, mas temos um visualizador de diff aqui. Ele

1:40:50 está mesmo mostrando o conteúdo. Como posso abrir isso no navegador? Qual é o caminho? Isso é muito legal. Então, adicionamos um navegador. Temos um app real do GitHub. Temos um app real do GitHub Copilot para o Duo. >> Sim, temos uma câmera. Temos… Na verdade, temos todos esses apps, mas muitos deles não funcionam. Então, vamos olhar o clima. Que app de previsão do tempo temos aqui? Não acho que esteja fazendo 18 graus em San Francisco. Vou me arriscar e dizer

1:41:20 que talvez esteja. Talvez esteja, se isso estiver em… >> Unidades imperiais ou não. >> É, não sei. Ah, certo. Então, temos todos esses apps diferentes aqui, mas acho que muitos provavelmente simplesmente não funcionam. >> Eu esperaria isso. Qual era o app? A loja de apps? Chegamos a testar esse? E até… >> Loja de apps. >> Porque dizia que havia uma loja de apps integrada. >> É. Vamos colocar na horizontal. Assim, podemos realmente usar o Paper Orbit. >> Certo. Isso são só dados fictícios? O que acontece se você tentar instalar isso? >> Adicionar à biblioteca simulada? Certo. >> Certo. Agora volte. O que era? >> Ele estava mesmo lá? Ah, Paper Orbit. >> Certo. Pesquise se está lá ou não. >> Estou supondo que não. >> Uau. Uau. Orbit. >> Não. >> É, porque ele não existe de verdade. >> Quer dizer, eu imaginei que fosse esse o caso. >> Sabe o que seria muito legal? Se tivéssemos uma loja de apps que imaginasse apps e, quando eu instalasse um, ela simplesmente o criasse na hora. >> É, vamos fazer isso. Gostei da ideia.

1:41:50 na verdade gosto de Paper Orbit. >> Certo. Isso são só dados simulados? O que acontece se você tentar instalar? >> Adicionar à biblioteca simulada? Certo. >> Certo. Agora, volte. O que foi que… >> Ele estava lá mesmo? Ah, Paper Orbit. >> Certo. Pesquise… >> se está ou não. >> Estou supondo que não. >> Uau. Uau. Orbit. >> Não. >> É, porque ele não existe de verdade. >> Quer dizer, eu imaginei que fosse esse o caso. >> Sabe o que seria muito legal? Se tivéssemos uma loja de apps que imaginasse aplicativos e, quando eu instalasse um, simplesmente o criasse na hora. >> Sim, vamos fazer isso. Gostei da ideia.

1:42:22 Criação de loja de apps sob demanda. Dê a sua ideia, e nós a construímos. >> Preciso mandar parar o que está fazendo. Certo. Pare o que está fazendo. Certo, vamos mudar um pouco de direção. Em vez de ter todos esses outros apps, vamos ter uma loja de apps. Quero que você imagine vários apps diferentes que poderiam estar nessa loja. Você não precisa criá-los de verdade, apenas imaginá-los. E, quando eu clicar em um para instalá-lo, quero que você mostre uma animação de instalação. Mas, enquanto ele estiver sendo instalado, o app deve ser criado.

1:42:54 Preciso que você… preciso que você o construa e depois o adicione de verdade ao simulador. Certo. Agora, o que é interessante aqui, Pierce, é que, como o canvas não está sendo exibido e não tem aceleração 3D, tenho que fazer isso no navegador. Como o agent vai interagir com esse navegador? Exatamente. Provavelmente vai usar computer use. Se estivesse no app, poderia interagir com ele

1:43:24 diretamente. >> Playwright. Talvez… >> pudesse usar o Playwright. Certo. De novo, é uma daquelas coisas em que, antes, você teria que dizer: quantas linhas de código escrevemos? >> 20 mil. Vocês querem ver quantos créditos de IA acham que usamos aqui? >> Não faço ideia. >> Vocês querem ver, chat? Querem ver quantos créditos de IA? >> Também escrevi bastante código aqui. >> Espera, vou descer. Ah, espere. Use minha CLI local do Copilot, usando a API… CLI local do Copilot. >> 2.642 créditos de IA. Então, US$ 2.642. >> Não é ruim pelo que criamos

1:43:56 aqui. Vamos lá. >> E isso tudo foi com Astra, certo? >> Isso tudo foi com Astra. >> Astra no médio. >> Isso mesmo. >> Acho que também existe essa tentação de as pessoas pensarem: preciso sempre usar esforço de raciocínio alto, extra alto, máximo. E simplesmente não acho que isso seja necessário. Além disso, acrescenta muito tempo à trajetória, o que deixa a interação bem mais lenta. Em geral… >> Acho que, se você passar de alto, pelo menos pelo que entendo, para a maioria desses modelos, o retorno é decrescente. Você consegue um pouco mais de desempenho, mas a um custo muito

1:44:27 maior. >> Um custo extremamente maior. E, no caso de… Quer dizer, reconheço que as avaliações offline não representam o quadro completo, e é por isso que também temos dados online. Mas vimos que, com alguns modelos no VS Code, níveis mais altos de esforço de raciocínio na verdade pioraram o desempenho no benchmark. Não foi que o resultado ficou igual e custou mais. O desempenho realmente caiu, o que foi interessante. >> Interessante. É, então, só porque o nível de raciocínio é mais alto, isso não quer dizer que ele seja mais inteligente. O que significa, então? >> Ele só está gastando… basicamente, antes de

1:44:59 responder, ele está refletindo e pensando: “O que preciso fazer?”, e está gerando mais cadeia de pensamento, essencialmente. Em teoria, essa cadeia de pensamento ajuda a orientar o agent na próxima etapa, porque ele tem mais instruções sobre qual ferramenta chamar como parte do ciclo do agent, certo? Então, em teoria, ao antecipar mais raciocínio, o agent pensa mais sobre o que realmente precisa ser feito. O restante da trajetória fica mais eficiente, e ele usa as ferramentas certas, certo? Tudo. Não fica dando tantas voltas. Na realidade, nem sempre é assim. Às vezes, ele tenta

1:45:30 ser esperto demais para o próprio bem. >> Então, se ele raciocinar mais, se pensar por mais tempo, pode chegar a uma resposta melhor ou pensar demais. >> Isso. É como uma pessoa, certo? >> Você pode complicar demais uma solução como engenheiro, usando todo o seu intelecto, e talvez a resposta seja: “Ei, você devia ter escolhido algo bem mais simples.” Eu pensei demais nisso, certo? >> É. Isso acontece comigo o tempo todo, ou eu penso: “Estou complicando demais isso.” >> Exatamente. É, estou tentando…

1:46:04 Estou tentando descobrir o que devo fazer a seguir com esse simulador do Duo que está funcionando aqui. Temos agents rodando de verdade, certo? Então estou tentando decidir o que fazer agora. >> Você definitivamente deveria criá-lo a partir do app do Copilot no simulador. Vamos ver o que o chat diz. “Usei US$ 30 para criar a interface do celular ontem à noite.” É. Então, US$ 30, US$ 20 mil. US$ 30. US$ 26. Não é tão caro, mas, sabe, se você fizer isso durante todo esse tempo… estamos aqui há uma hora. Então, US$ 25 em

1:46:35 uma hora. Imagine se você fizesse isso o dia inteiro. Justo. E só… Bem, acionei vários agents em paralelo, mas você poderia gastar, sei lá, algumas centenas de dólares por dia, US$ 200 por dia, cinco dias por semana. Isso vai se acumulando. >> Verdade. Mas também, se eu tivesse passado isso para você como uma tarefa real de engenharia, quanto tempo você teria gastado? >> Não. Isso teria… Bom, sim, mas digamos que não fosse uma experiência artificial. Fazer algo assim provavelmente levaria um mês, ou pelo menos algumas semanas. Então…

1:47:08 funciona. >> Quer dizer, isso é muito verdade. Hum, >> existe uma troca. Seu tempo também tem valor, certo? >> Certo. >> Você nunca faria isso com o seu próprio dinheiro, certo? Você não entraria aqui e construiria um iPhone. Você não ficaria brincando assim. Mas vou dar um exemplo: o app do GitHub Copilot, certo? Ele surgiu ao longo de literalmente alguns meses, com uma equipe de umas cinco pessoas. É. Cinco a sete pessoas. >> E isso nunca teria sido possível. Lembro que, certo, tínhamos o VS Code, tínhamos o modo agent, certo? Agora precisamos do Copilot CLI. Aí nós

1:47:38 precisamos do Copilot CLI. Isso levou alguns meses, certo? Hum, certo, agora precisamos fazer um app. Isso é ainda mais condensado. Acho que coisas assim seriam, tipo: “Ah, sabe, na Microsoft ou em qualquer grande empresa, precisamos contratar uma equipe e montar essa equipe, e precisamos escrever 15 documentos sobre o que esse produto vai ser; isso vai levar seis meses e, antes que alguém escreva uma linha de código, finalmente teremos pessoas contratadas. Agora precisamos fazer isso.” Na Microsoft de antigamente, esse app teria levado uns dois anos para ser lançado. >> É. >> E conseguimos colocá-lo no mercado em mais ou menos um mês

1:48:08 e meio, dois meses. Mas agora parece que estamos nos movendo muito mais rápido >> e há mais recursos do que qualquer pessoa consegue acompanhar, certo? Você não consegue acompanhar a saída, nem mesmo sendo alguém que só recebe >> o resultado final. Você não consegue acompanhar nem os resultados. Então estamos dizendo: não dá para acompanhar os PRs, foque só no resultado. Mas parece que você também não consegue acompanhar os resultados. Então, >> é por isso que acho que um dos grandes desafios — e, de novo, não quero fazer propaganda da minha palestra, mas nós

1:48:40 conversamos sobre isso; falei disso com Josh no Build — é que um dos desafios para muitas equipes agora é a tentação de fazer tudo. Na verdade, como equipe, vocês precisam dizer “não” com mais frequência, porque, se simplesmente adicionarem um milhão de controles ao produto, isso não vai resultar em um bom produto. Sim, claro, seu agent pode executar 50 subagents e adicionar todas essas coisas, mas isso é mesmo uma boa ideia, certo? Então, como engenheiros, vocês precisam pensar muito mais no produto, certo? Porque cada vez mais seu trabalho será dizer “não”, já que a

1:49:10 tentação vai ser simplesmente fazer mais. >> E parte do problema, acho, é que, com esses agents, se o agent estiver trabalhando, você pensa: “Certo, vou fazer outra coisa enquanto esse agent trabalha. Vou fazer uma segunda coisa. Vou fazer uma terceira coisa.” Isso. >> E não sei se você viu, a Gwen publicou no X: “Por que você não lê enquanto o agent trabalha?” Ela estava com um livro, e tive uma epifania quando li aquilo: “Ah, você não precisa continuar trabalhando só porque o agent está trabalhando.” Você não precisa fazer isso. Acho que nós, humanos, somos meio que programados para pensar: “Bem,

1:49:42 devo estar trabalhando. Preciso fazer outra coisa.” Mas aí ficamos espalhando porcaria por toda parte. Há coisas demais acontecendo. Você não consegue acompanhar. Então, sim, leia enquanto o agent trabalha. >> Falando em leitura, vou voltar aos comentários. Tenho uma pergunta: dá para trabalhar no mesmo repo em que o app está sendo executado? Sim, temos isolamento. Cada um desses agents está sendo executado na própria worktree e, quando executam algo como npm run dev, se a porta já estiver sendo usada por outro agent, simplesmente usam uma nova porta. Então dá para executar vários processos de vários agents ao

1:50:13 mesmo tempo. >> “É um app canadense”, diz Wes no chat. Então, usamos unidades canadenses, >> não unidades da liberdade. >> É um app canadense. >> Então, é isso. >> Bem, precisamos corrigir isso. >> Sim. [risos] >> Esse é o pior bug que temos. >> Tirem o canadense e voltem para Fahrenheit o quanto antes. E vamos ver onde estamos. Ainda não chegamos à nossa loja dinâmica de apps, que vai simplesmente nos deixar imaginar apps na hora,

1:50:45 >> mas estamos perto. >> Estamos, estamos perto. Na verdade, estamos fazendo isso há, sei lá, uma hora e meia, mais ou menos, e fiquei um pouco nervoso porque demoramos um pouco para instalar o Chrome Canary, mas sinto que avançamos bastante. >> Avançamos. É, superamos o problema do navegador. Acho que eu devia ter simplesmente entrado no chat e dito: “Ei, usem o navegador do agent para encontrar o navegador certo e fazer tudo funcionar.” Por que perdi tempo fazendo isso em casa? Eu

1:51:16 >> penso nisso o tempo todo. Passo uma hora fazendo alguma coisa e penso: por que desperdicei uma hora com isso? Devia simplesmente ter delegado. >> Não sei. Mas faço isso o tempo todo. Outro dia aconteceu comigo o seguinte: esta máquina aqui foi apagada e configurada de novo antes de eu vir para cá. Quando estava configurando, tentei executar npm install e apareceu que o Node não estava instalado. Pensei: “Ah, droga, tenho que configurar tudo isso.” Aí pensei: “Espera aí, por que não peço ao Copilot para configurar tudo?” Então perguntei: “O que está faltando nesta máquina?” Ele respondeu: “Não sei. Você provavelmente precisa do Homebrew, rip, grab, pm, uvo, Rust, OpenJDK, Docker Desktop, Docker CLI”, e eu disse: “Certo, instale tudo.”

1:51:47 [risos] >> E ele foi lá e fez. Instalou primeiro o Homebrew e configurou a máquina inteira. Como desenvolvedor, como ser humano, tenho que pensar toda vez que faço alguma coisa: será que eu devia ter pedido para a IA fazer isso? >> Talvez. >> Não sei. A resposta provavelmente é sempre sim. >> Então, uma pergunta do Martin aqui no chat. Obrigado por estar com a gente,

1:52:18 Martin. Hum, quando eu crio sessões aninhadas no app? Posso dar minha resposta. Talvez você tenha a sua também. Então, sessões aninhadas: você pode voltar à tela e mostrar…? Certo, esta é uma sessão aninhada, não é? Temos uma sessão principal e sessões filhas. Há dois cenários em que uso isso principalmente no app. >> Um é quando tenho uma tarefa específica e consigo separar claramente o trabalho que quero organizar em diferentes threads que posso acompanhar. Sim, dá para fazer isso com subagents que não são sessões, mas eu simplesmente acho que, do ponto de vista da experiência do usuário, às vezes a visibilidade não é tão boa com subagents. E essas separações são bem claras; cada thread é um app, certo? Esse é um cenário. O outro é um padrão que uso o tempo todo no app. Chamo de padrão do chefe de gabinete, em que tenho uma sessão na qual basicamente coordeno o trabalho. Então, com muita frequência, digo algo como: “Quais são os cinco principais bugs do Sentry que temos nos últimos sete dias no GitHub”

1:52:48 sessões, mas eu só acho que, do ponto de vista de UX, às vezes a visibilidade não é tão boa com subagents. E estas são separações bem claras: cada thread é um app, certo? Então, esse é um cenário. O outro é que eu uso esse padrão no app o tempo todo. Eu o chamo de padrão do chefe de gabinete, em que tenho uma sessão na qual basicamente comando o trabalho. Então, com bastante frequência, digo algo como: quais são os cinco principais bugs do século, sabe, que temos nos últimos sete dias no GitHub

1:53:19 o app do Copilot, e aí ele volta e diz: “Estas são as cinco”. E, em vez de eu copiar e colar, vou dizer: “Crie cinco sessões”. É só criar as cinco sessões, certo? Certo. E, nesse caso, elas ficam isoladas, certo? Então, sim, existe a questão do isolamento, como no primeiro cenário, mas também consigo evitar ter que gerenciar mentalmente essas cinco sessões. Só digo: “Mantenha-me atualizado sobre o progresso na conversa principal”, e isso realmente funciona como um chefe de gabinete. Você pensa: “Se surgir qualquer coisa, me avise; fora isso, confio que você vai fazer o seu trabalho”.

1:53:49 Então, em vez de gerenciar cinco conversas, gerencio uma só. Esse é mais ou menos o meu modelo de parceria, porque, quando você começa mesmo a apostar nessa paralelização, seu cérebro não foi feito para lidar com 50 coisas ao mesmo tempo, certo? Então você precisa criar estruturas como essa de sessões aninhadas e o modelo de chefe de gabinete para conseguir fazer isso. Outra coisa é o canvas. Você tem usado canvases no app do GitHub Copilot? >> Ah, sim. >> Sim. E se houvesse uma representação visual do que você está tentando fazer? Então eu…

1:54:19 acho que, quando as pessoas ouvem “canvas”, pensam: “Ah, certo, é só um arquivo HTML na lateral”. Mas um canvas no app do GitHub Copilot é algo que consegue interagir com o app e controlá-lo. Por exemplo, temos um canvas do Sentry, voltando ao exemplo do Sentry. >> Sim. >> Eu abro aquilo em tela cheia na reunião diária. Certo, estes são os cinco principais issues do Sentry. Em vez de simplesmente copiar e colar esse contexto de volta no app, posso dizer: “Certo, crie uma sessão, crie uma sessão, crie uma sessão, crie uma sessão”, certo? E aí fico nesse canvas, e ele me traz as atualizações. Então é…

1:54:49 mais uma maneira de elevar o nível da sua parceria à medida que você se divide em tarefas paralelas. Essa palavra é tão difícil: “paralelo”. >> Paralelizar. Eu sei. Estou melhorando, porque, sabe, faz parte da apresentação sobre o app, mas é uma palavra difícil de dizer, acho. Penso nisso da mesma maneira, mas é como trabalhar com pessoas. Se você contrata uma pessoa, trabalha com ela. Se contrata duas, trabalha com duas pessoas e interage com elas. Isso. E funciona bem, mas, a certa altura, se você tem 20 pessoas trabalhando para você, tem um problema sério. Tudo o que você faz é se reunir com as pessoas. Então, para mim, quando…

1:55:21 passa de dois ou três agents, começo a delegar. Preciso de um agent para gerenciar os outros agents. Não quero falar com esses agents. >> Preciso de alguém para gerenciar isso. Esse paradigma é extremamente útil para mim. Por exemplo, aqui está um app para iPhone em que venho trabalhando e que tem vários issues. Sim, e pedi a um subagent para distribuir o trabalho, decidir quais issues transformar em PRs, criar os PRs, testá-los e depois voltar para me dizer: “Sabe, todos os testes passaram. Podemos seguir? Está tudo certo?” Aí eu posso…

1:55:52 entrar. Não quero saber nada sobre esses outros agents. Então é assim que penso nisso. Certo, onde estamos? A execução das assistências ainda está carregando. Vou fazer uma instalação de verdade para confirmar a geração. Mal posso esperar. Não, ainda não, continua quebrado. Estamos numa situação quebrada. Certo, chat. >> Enquanto você faz isso, outra pergunta no chat. BY… Então, isso é compatível com o VS Code, o app, o Copilot CLI… Todos os…

1:56:23 principais clientes do Copilot já são compatíveis com BY. O comentário era especificamente sobre usar sua própria chave para sugestões de código. O interessante é que exploramos essa possibilidade a fundo quando recebemos muitos comentários sobre as sugestões e o nosso modelo de sugestões. E o interessante é que, se você olhar não só para o GitHub Copilot, mas para qualquer um dos principais provedores, verá que, nesse caso, os modelos de conclusão de código são todos personalizados, e há uma razão para isso: a maioria desses modelos é muito ruim no que se chama “fill in the middle”,

1:56:54 em que você tem um trecho de código, depois outro trecho, e precisa que eu insira algo no meio. Por isso, há uma razão para todos esses provedores terem criado seus próprios modelos, inclusive nós, para coisas como conclusão de código e sugestões de próxima edição: a maioria dos modelos prontos, mesmo que você usasse o Astra, que seria superlento, provavelmente não se sairia tão bem quanto você imagina nessa tarefa. Então, modelos desenvolvidos especificamente para isso funcionam muito bem. E, embora pudéssemos adicionar a opção de usar sua própria chave para sugestões de código, quando testamos isso com alguns modelos prontos, vimos que não funcionava de verdade. Por isso…

1:57:26 isso não foi priorizado no nosso roadmap. >> Interessante. Eu não sabia disso. Então eles são melhores em completar do que em descobrir o que entra no meio. >> Eles são melhores em gerar coisas novas, certo? Do que em lidar com a bagunça de um contexto muito limitado do seu código, com algumas linhas acima e algumas linhas abaixo, certo? Certo. Então, o que você está mostrando aqui? >> Então, este é o nosso app. Agora temos uma loja de apps. Só isso. Instalados. Explorar todas as categorias. Ah, espera, aqui tem uma barra de rolagem. Shelf Light.

1:57:57 Shape Path. Loop Studio. Crie seu próprio ritmo. Word Window. Uma nova palavra. Um mundo mais amplo. O que são estes? Pocket Tides. Um quebra-cabeça com espaço para respirar. Certo. >> Certo. Então, quando clicarmos em “Instalar” aqui, supostamente o app será criado para nós na hora. >> Supostamente. >> Certo. >> Instalar. >> Certo. >> O carregador do app requer “npm rundev”. A premissa estática não consegue criar apps. O quê? [risos] >> Bem, para ser justo, ainda não está…

1:58:27 pronto. >> Ainda está em execução. >> Estamos chegando lá. >> Vou entrar. Sim. Mal posso esperar. Preciso disso agora. Preciso disso agora. Não posso esperar. Também estou vendo algumas outras coisas neste app. Tem automações. Você tem alguma automação configurada? >> Então… >> Você usa poucas? >> Não, porque apaguei as deste app, mas uma das que tenho é esta, chamada “remoção de código morto”. Eu a uso todos os dias, e ela percorre meus repos e remove código morto.

1:58:59 Remove o código morto e envia um PR. Mas isso aqui é um problema, porque, se você pedir a um LLM para remover código morto, ele vai encontrar código morto toda vez e, com o tempo, vai começar a remover tipos. >> Certo? E você não quer isso. Então, o que faço é pedir para remover o código morto e, no chat, acrescento: “Depois, confira com o Opus e veja se o código realmente precisava…

1:59:32 ser removido ou se você está inventando trabalho”. O motivo de isso funcionar é que o primeiro modelo tem a tarefa de encontrar código morto. Ele vai encontrar alguma coisa toda vez. A tarefa do segundo modelo é apenas determinar se isso é trabalho inventado ou se tem valor de verdade e, então, dizer: “Faça o que o Opus decidir”, certo? Algo assim. E isso roda todos os dias, por volta das 9h, percorrendo meus repos e removendo código morto. É só um exemplo. É…

2:00:03 um exemplo bem simples de uma automação que você pode usar. E isso seria considerado um loop. >> Eu gosto desse exemplo. Tenho alguns que não são tanto de engenharia e que, sabe, me ajudam a me preparar para o dia. Ele passa pelo Work IQ, por todas as minhas reuniões, busca contexto no Slack, no Teams etc. Tenho uma para triagem de mensagens no Slack e no Teams porque acordo com centenas de DMs não lidas, e até mesmo só dar uma olhada nelas vai levar tempo demais.

2:00:33 Então tenho um prompt preparado: se Martin ou Burker, sabe, me mandar uma mensagem, devemos priorizar mostrar isso; as outras pessoas, talvez não. Não, estou brincando. E tenho várias para telemetria e triagem de feedback no app do GitHub Copilot. Temos um canal enorme, com milhares de pessoas internamente no GitHub, onde as pessoas entram e dão feedback sobre o app. Eu tinha uma automação que basicamente passava por tudo aquilo. Ela investigava

2:01:05 os problemas. Ela me dizia se algum deles era real. Propunha correções se fossem relativamente independentes. Mas agora, para esse fluxo, estou usando a nova integração do Slack. Estou dizendo: sempre que alguém postar neste canal interno do GitHub, vá investigar, porque as pessoas postam capturas de tela, vídeos, logs, certo? >> Ah, sim. E, em vez de eu baixar, copiar e colar no app, seja lá o que for, ou até mesmo mandar um agent fazer isso, eu só digo: “No GitHub, descubra o que está acontecendo.”

2:01:35 >> É. Está ficando difícil demais acompanhar. Simplesmente não dá, né? E às vezes tenho um feedback e fico pensando: “Onde é que eu vou?” E você diz: “Neste canal do Slack.” Aí entro lá e tem… >> Sei lá, cara. Tem uns 600 >> É… >> posts da última hora. >> Você poderia passar o dia inteiro respondendo a isso e não faria nenhum trabalho, certo? Então é disso que estou falando quando digo que o desafio para muitas equipes é gerenciar isso. >> É um nível de volume de trabalho totalmente diferente de tudo com que você já teve de lidar em termos de feedback e mudanças.

2:02:07 >> Certo, temos isso. Parece que está funcionando. Diz que seu app é a versão local. Então, está compilando o app e, com sorte, vai instalá-lo aqui. Mas… >> Estou muito animado para ver o resultado. Espero que a gente consiga chegar lá. >> Quer dizer, vocês acham que vamos chegar a um mundo, chat, em que essa é a realidade: você está no celular e pensa: “Nossa, eu queria muito um app que fizesse isso”, vai até o… e simplesmente diz isso, e alguns minutos depois o app aparece? Quer dizer, por que não? Por que não daria? >> Eu não acho que sim. Não porque o agent seja… Bem, porque… >> Dois anos atrás, todo mundo dizia: “Ah,”},{

2:02:38 todas essas empresas de SaaS estão mortas. Qualquer um consegue reproduzir o software delas em cinco minutos.” E isso é verdade para o caso mais básico do software, mas existe todo esse software que perdura há décadas. E não estou totalmente convencido de que, só porque você consegue fazer vibe coding de algo que parece mais ou menos igual, isso vá substituí-lo. Acontece que, se você está fazendo, tipo, >> sabe, pagamentos ou coisas assim, você não quer algo que seja só, tipo, >> sabe, alguma coisa que alguém montou, sem que ninguém seja responsável por ela, certo? Então, embora seja possível, na verdade, do ponto de vista da natureza humana, não estou

2:03:09 convencido de que esse será o futuro. Mas é legal que isso seja sequer algo que possamos discutir como… Olha só. Tela frontal. >> Aí está. >> Seja lá como eu devo me referir a isso. >> Construindo. Nem sei se isso está realmente sendo construído. Acho que é a tela frontal. >> Quer dizer, não deveria demorar tanto, a menos que estivéssemos instalando uns pacotes npm absurdos. >> Quer dizer, ainda não terminou. Continua processando aqui. >> Continua processando. Está testando. Adoro esses novos modelos, como o Astra e os outros. Eles simplesmente testam. Não precisam… Você não precisa dizer a eles que existe uma tela de trabalho. Não precisa dizer para executarem testes. Eles simplesmente

2:03:39 >> descobrem sozinhos. Certo, estamos chegando aos últimos minutos. O que precisamos… O que as pessoas precisam levar do GitHub Copilot Day? >> Nossa, há tantas coisas legais. Acho que a intenção deste evento é, como você disse, as coisas mudam muito rápido, certo? E sempre surgem novidades, então queríamos ter um momento para refletir sobre como nosso jeito de trabalhar mudou com as novidades mais recentes do GitHub Copilot e quais são algumas das mais importantes. Então, falamos do novo app do GitHub Copilot,

2:04:10 certo? Fizemos várias demonstrações dele nesta sessão. Você pode baixá-lo em gh.app. Experimente. Tem sido muito legal ver como as pessoas estão adotando e usando o app, não só para tarefas de engenharia, mas para todo tipo de trabalho. E também falamos de novos padrões de interação, como o que a Megan mostrou sobre o Slack. Mencionei o cenário de como estamos usando o Slack no GitHub: “corrija este bug”, indo até onde o contexto já está. As pessoas que relataram o bug participam e constroem a solução com você. Isso é muito legal. Também falamos sobre

2:04:41 algumas das melhorias nos nossos modelos e no harness, como o HydroFusion. O Patrick veio falar sobre como nossa stack está evoluindo com o protocolo Agent Host. Sim. Para que ela não seja capaz de rodar só na sua máquina local, mas em qualquer ambiente remoto. Então, fique de olho nos anúncios entre agora e o Universe. Vamos continuar desenvolvendo essa experiência com agents remotos na sua própria infraestrutura. Esses são só alguns exemplos. Há sempre tantas coisas para acompanhar no nosso mundo, mas queríamos compartilhar algumas novidades em que estamos trabalhando e que mudaram a forma como trabalhamos aqui

2:05:11 no GitHub, e estamos animados para que você experimente. >> Sim, concordo totalmente. E acho que, para mim, o que percebo é que muita gente… porque o GitHub Copilot existe há tanto tempo. Foi o original. >> Sim. >> E continuamos aqui, e tanta coisa mudou que até eu, assistindo à apresentação principal, pensei: “Uau, não sabia que tinha uma tela de trabalho para dispositivos móveis. Não fazia ideia.” E aí, sabendo do app do GitHub Copilot, as pessoas me perguntam o tempo todo: “Estou usando o Visual Studio Code” ou “Estou usando isto ou aquilo; o que é isso?” E espero que as pessoas tenham visto,

2:05:43 sabe, e tenham uma boa… tenham entendido bem o que é o app do GitHub Copilot, >> o que ele pode fazer. E acho muito empolgante ver coisas como o HydroFusion e saber que ele é 60% mais barato. Acho que todo mundo quer ouvir isso agora. Eu quero ouvir isso também. É… >> pode continuar. >> Mas, antes de tudo, obrigado a todos por se juntarem a nós. Estamos muito… muito obrigado por estarem aqui conosco. Mas

2:06:14 também tem sido uma jornada e tanto chegar até aqui, e temos anúncios ainda maiores chegando no Universe, que acontece daqui a… é daqui a um mês, certo? Então, >> se você gostou disso e pensou: “Nossa, eu não sabia que tudo isso existia”, ainda não viu nada. >> Ah, ainda tem muita coisa por vir. >> Então, vamos deixar vocês com isso. Muito obrigado por estarem com a gente. E assim encerramos o primeiro GitHub

2:06:44 Copilot Day. Estamos aqui. >> Você é fundador por definição do evento. [risos] >> Adoramos. Sim. Tipo, nós realmente adoramos a comunidade que temos em torno do GitHub, do GitHub Copilot, do VS Code. Tem sido incrível ver como, nos últimos dois anos, vocês moldaram esses produtos e o que eles se tornaram. Então, obrigado por se juntarem a nós hoje, para conhecer as novidades e ver todas as coisas legais. Estamos muito animados para curtir com vocês no Universe daqui a um mês. >> Ah, não. Acho que eles vão jogar… >> Ah, temos algo acontecendo aqui. >> Sim, temos. >> Vamos encerrar.

2:07:15 >> Este evento não seria um evento como este se não tivéssemos uma surpresa especial. >> Tcharam. [risos] Haha. Tem um no meu refrigerante. >> Ah, não. Obrigado a todos por se juntarem a nós. Agradecemos muito. >> Tchau. >> Encerrando.

Transcrição original

[00:04] Welcome back, folks. Thank you, Patrick. Uh, so y’all, we’re gonna spend the next uh what do we have like two hours here and we’re gonna we’re going to build something. But the trouble with this is always like what do you build? >> It’s always hard. I remember the first time we did this, we were like, we need to have this, you know, crazy concept. It’s going to take us all this time. We were done in like five minutes. >> Yeah, we finished it in five minutes. So, and then the other thing is is that no one’s impressed anymore because you can just build anything. And so, we I was we were thinking through this. We were like, well,

[00:36] >> like we need someone to build a killer demo that then we could pick up and then build because we don’t have any good ideas of our own. >> No, we don’t. >> But we know someone with good ideas. >> We do. >> We do. And so, we’re pleased to uh to bring Wes Boss, who I widely consider to be the king of demos. >> King of demos, for sure. Yeah. Who’s gonna get us kicked off here? >> Uh excited to to get going. I’ve been I have so many ideas of things that I want

[01:06] to build and uh with all the latest models releasing. There’s so many cool things that that I can go. So, we’re going to rip for what about 20 minutes and then uh and then we’re uh I’ll pass it off to you guys to sort of pick it up and and keep going. >> Yep. Sounds great. >> All right. Thanks, guys. What’s up everybody? My name is Wes. I am going to be doing some vibe coding for about 20 minutes here. Um, and 20 minutes not long enough for me because

[01:37] like I wanted to do something that was really cool. So yesterday obviously the iPhone Duo was released. Um, and what I did is I collected all of the information about the iPhone Duo, right? like the width and the height and all the specs and um how thick it was. And then I I took the uh Apple uh where they announced it and they had a couple photos of the internals and I took all of that and I I plugged it into

[02:07] my co-pilot and I said like do not stop until you have a close enough or not perfect but very good 3D model of the iPhone Fold. And let me tell you, it this thing ripped for like like 3 hours and it went through like absolutely every single piece. And I don’t know if this is actually what it looks like inside, but I it’s pretty convincing to me. And it works really well. Um, we can explode it. You can obviously fold it

[02:38] open and closed. Uh, lots of features to that. So that was like my base of like what I wanted to build, right? Can I get a uh 3D model of the iPhone Duo running in 3JS? Um, and then I thought like like I I want to do a couple things. First of all, I love noling where it’s like where you put all the parts in like on like a grid, right? And these new models are just fantastic at creating these 3D immersive exploded experiences. Um, and then I I want to say like there’s this

[03:10] new API um called HTML and canvas is like can we then render JavaScript on the screen of the iPhone fold? I don’t know but I’m willing to try. So let’s get into it. So uh first prompt will be uh I want to add a feature to the null to the exploded view and I want to have a nulling setting. This is we’ll take every single piece of the model and lay it out in a grid and perfectly align absolutely everything.

[03:43] And then going to go ahead and let that rip on there. While that’s going, let’s take a look at um kind of all the different pieces that we have here. All the different color display lithium ion. That’s that’s very impressive that you can we can build this type of thing entirely in 3JS. If we take a look at the code, um it’s just JavaScript on here, right? There’s there’s no like uh STLs or or fusion models or anything like that. It’s all just kind of being

[04:15] uh piped in, which is really cool. Um the other thing you’ll notice that I’m not using the built-in browser uh to GitHub Copilot right now. Um, and that’s because I want to use a an experimental feature which is uh HTML and canvas. And HTML and canvas, what that allows you to do is you can take regular DOM elements and render them into a 2D or 3D canvas experience. So I think when we start

[04:46] working on some of the apps, what we want to do is have those rendered out to the DOM and then paint them into the actual device that we have here. So what do we got here? I’m adding a nulling toggle that lays out all model components and is non-over overlapping. Okay, let that sucker run. I’m also watching the chat here. So, if anybody has ideas of things that we should add to this,

[05:18] definitely add them into the YouTube chat because I’ll be popping those in there as well. Um, you know what I’m going to do while this is running? Let’s just open up a second chat here and let’s go ahead and let’s start working on the software. Right. Um, I have the HTML and canvas skill that I wrote. So what I did is I took the documentation, the specification for the HTML and canvas spec and I had that

[05:49] converted into a skill and then I also have built like six or seven demos over the last couple months and I’ve taken those demos and distilled them down into the skill. So I’ve got the skill there. I’m going to say um I want to be able to run actual apps and software on the iPhone fold. So, let’s build some sort of structure where we can have a home screen with app icons and then I can open individual apps. Uh

[06:22] let’s start with a simple app which is the calculator. All right, let’s let’s this sucker rip. See how our explode view is going over here. Sorry, just reading the chat here. Noling grid. All right. Oh, baby. We’ve got the nulling grid there.

[06:54] Um, what I want to do is I want this more to be like this is just like a perfect grid. I want them to sort of box fit into each other. The nulling grid is great, but I want them to be organized in a way that they sort of fit into each other. Right now, we’re just on a perfect grid, which is determined by the largest piece, and then the small pieces are sort of just hanging out in a a large spot. They should use some sort of

[07:24] box fitting algorithm to nicely organize them. You know what I’m also going to do is I have the agent browser skill globally installed on my system and I I I don’t I don’t I shouldn’t have done that because it it always just like let me verify that, you know. Um don’t worry don’t worry about using the agent browser skill to verify things. Just run it. I’ll test if it works. Right. We’re we’re going to do that for um we’re

[07:57] going to steer that. Wh got our message queued up. Let’s send it now. Do some steering. Let’s see how we’re doing on the HTML and canvas. Don’t consider to fall back to things that are not HTML. Canvas is such a a cool API to do this type of thing. Let’s go back to our explode. By the way, um

[08:28] if you want to grab the code for this, you go to github.comwestbossexlode or exploding and uh you can grab the latest code. I’ll push this up at the end of this live stream. Let’s see what the chat’s saying here. Find the cure for cancer. West boss. West boss is the goat. Prototype the iPhone. Trifold. Oh, trifold. [laughter] Should we do that? Should we add more

[08:58] folds? How many folds can we possibly add to this type of thing? All right. Nolan grid is ripping. You’ll see why. This is why I’m really excited for the like uh Hydro Fusion stuff you guys were showing earlier because I want to use the latest models for a lot of this exciting stuff because it’s really good at doing 3D, but I I also want to use some of the faster models for simple things like um writing some some

[09:31] JavaScript that a calculator app, right? We don’t need to be spending $40 to do that type of thing. All right, replace uniform grid. Let’s take a look at Oh, baby. This looks good. Let’s take a Let’s zoom in on it. Look at how impressive this actually is with these hinge things. You know what is a weird thing? Having trouble zooming in and out of it.

[10:01] Maybe that’s that’s a feature we should be adding. Um, yeah, let’s do that. I’m having trouble panning around. I can zoom in and out and pan around it in 3D space. But if I want to use my middle click button or hold space and drag up and down so I can pan in on different parts, I’m having issues with that. Fix it. Let that sucker go.

[10:34] Pentafold chat. Quad fold. [laughter] How many possible folds can we add to it? Astra is going and it’s the software. Come on. Give me some.

[11:14] Still going on there. Let’s Let’s take a look at our Zoom thing. Let’s There we go. It’s looking a little bit better on the orbit control. Run Doom on it. That’s actually a a fantastic idea. I really like that. All these different apps on it.

[11:59] explode. All right, fixed panning in both viewers. All right, let’s go to the exploding view. Beautiful. There we go. Now I can I can use my middle click button. I’m zooming around into it. Zoom in. Let’s get really close in on these on the motherboard shots here.

[12:31] Dual cell power system. That is so sick. I’m I’m curious if this is actually what it looks like inside. I don’t think that they’d be putting capacitors [laughter] on top of on top of screws. Um, the closer you get, it’s it’s not as impressive. But if you zoom out a little bit or look at some of these pieces, right? And then let’s go and get the Let’s try the hinge. Beautiful

[13:02] grid. Let’s go a little bit closer. All right, let’s check in on the canvas based apps that we’re working on here. Exercise calculator. It’s taking a little longer than I had thought. Maybe I should have used a a less powerful model. Um I prefer speed in this case. I definitely should have

[13:33] bumped it down to a different model. Uh let’s go back to the exploding view here. Just start more agents while you wait. Does here’s Does anybody have that problem where like Yeah, you got six or seven agents running at once and you’re you’re running in between them uh trying to focus on them. That’s a a little bit tricky. I I think I think I I I max out about maybe three or four. [laughter]

[14:03] Simulate the gyro sensor when you rotate it. So the screen image will rotate according to the orbit. That’s actually not a bad idea. Simulating a gy gyros sensor. Or what would be cool is if we could view it on our phone or use our phone as the actual gyro. So take the data from the phone, pipe it into here, and then you could use this as a sort of like a remote control. I promised Burke I wouldn’t do any crazy hardware stuff, so I’m not going to do that to him. Um, but

[14:33] we’ll uh maybe he can he can start adding that specific one. This is really cool. All right. Um, you know what I want is let’s start customizing the color of it, right? um add a color picker for being able to customize the color of the iPhone and also add the ability to change the background to several different wallpapers.

[15:10] Oh, baby, this is looking good. Um I think I am running this on different thing. What is the URL for this work tree?

[15:44] This is a separate session. Okay. Where is how do I how do I see the apps? Oh, apps preview. Okay, here we go. Open up the calculator. Okay, so this is the app, right? It seems to be working here. But how do I see where it is? How do I see it on the actual device itself? Right. Apps preview. Apps preview to run these

[16:16] on use chrome canary draw canvas element. I am I’m on Edge, but I have that turned on. Okay, good. Uh, let’s ask you here. How do I preview the applications on the phone? I don’t see the UI to turn that on. Should the wallpaper changes based on the screen or the background? Ooh, background behind. No, iPhone screen

[16:47] wallpaper. That’s what I need. Thank you. I do have HTML canvas turned on, do I not? Let me open up my another browser that has it turned on. That’s up. Let’s see.

[17:24] Canvas draw. Oh, maybe they took it out. No, I I tested this right before we came on here. Let’s open up another browser. Um

[18:03] seems to be. All right, we’ll just tell it. I do have those things turned on, but I’m not seeing it. Perhaps you could open up an agent browser that is headed so I can see it because it was showing us screenshots of it working, right? If you look at go back and look at our thinking, it got that working on. Oh.

[18:39] Oh, it just opened up a browser for me. [laughter] There we go. Um, just make sure I’ve got this on screen. There we go. Okay, got our calculator. Uhoh. Beach balling. There we go. Okay. Oh, baby. Okay. Now, the question is is can I spin the device around and still

[19:13] add 171 + 1? It works. Amazing. Hold on. It doesn’t show the app on the front. So maybe that’s something that you guys can fix. But now we have the base for having apps working on this thing, right? And you can spin it around and and do it in in 3D. Oh, that is really cool. I’m also sharing my screen right now and it is

[19:44] feeling a little laggy but when I was not sharing my screen it was not it was uh quite a bit buttery. Eight times nine. All right. That is cool. Can we explode it? [laughter] [gasps] We can still explode the app. So, the screen is still running the application, but we can we can go

[20:17] through the full 3D exploded view for this. [laughter] It’s absolutely awesome. All right, we got one minute left. I’m wondering what we should add really quickly. What would be really cool is webcam. I don’t know if we’re going to get that done in time. Um, let’s start a new, but let’s go to a faster model. Uh, let’s do soul. Okay. Add a new app that is a notes app.

[20:55] All right, we’re going to let that go. We got 30 seconds. Come on. a lot le the chat is saying a lot laggy. Yes, this is the the problem with uh trying to render 3D while you’re you’re sharing your screen on a stream. Um it was significantly buttery before I started sharing my screen. So, it actually works pretty well. Um you break it down into all the pieces. It’s not

[21:28] that much, right? It’s it Let’s get in here. Yeah. One second. Ah. All right. We are out of time. What I’m doing is I’m going to be challenging Burke and Pierce. Can you get a couple more apps running on this thing? Camera using your actual webcam would be really cool. Notes app. Web browser. I don’t know if you could do web browser or not because it’s an iframe inside of HTML canvas. Probably won’t work. But make sure you flip this flag on um in your browser and and pick

[22:02] it up from here. Dude, that was awesome. Where is this repo at? [laughter] Uh, it’s at westboss on GitHub explode or exploding. Hold on, let me push up my commits here and I’ll uh give you the latest. >> I found it. >> Yep, we’re there. Yes. All right. >> All right. Thank you so much. We will do our best here to So, wait. You want a camera app, you want a notes app, and

[22:33] you wanted you want you want us to build a web browser from scratch. And any [laughter] anything else? >> Seems pretty simple. >> Maybe start with the notes app. >> Okay. >> Uh get that working. Um make sure that you have the HTML and canvas flag turned on in your browser so it will actually render inside the fold. Okay. >> Um and then notes app easy, right? And then hard hard is like build like a like like the photo the camera app that you can actually take photos

[23:05] with. It >> can actually take photos. Okay, we’re on it. Wes, thank you so much. We’re gonna get right on that. Have a great day. All right. Well, shoot. [laughter] >> Um, all right. >> Can’t say I was expecting that was where we were going to start. >> No, not at all. I was hoping for like a a personal portfolio website or something quite easy. Uh, okay. So, uh, where do you want to start?

[23:35] >> Uh, well, I was I was just trying to, you know, start with cloning some stuff. Uh, that’s always a good place to start. Um, >> I was doing the same thing. >> So, let’s go ahead and do that. West boss. Um, and what did he call it? >> It’s called exploding. >> Exploding. >> So, I think we can just get this thing up and running. >> Yeah. It’s just like and there there was a a browser flag that we needed to also >> it’s the canvas. >> Is this is this an edge cuz we’re Chromium based or do we have to go to go

[24:05] and >> No, we should we should be able to uh >> well I googled HTML canvas and see nothing. So >> in settings but it would be >> it’s in edge settings. No, is it settings? No, it would be experiments maybe. Um, let’s see. >> Um, >> this I, you know, it’s kind of funny like my biggest challenge is getting my machine into the the right state to do what I want to do, installing the right

[24:36] tools. Once we get there, I think we’re flying. Um, >> I just asked Luna turning how >> um, can you run this? I’m going to try it. and the built-in canvas inside the app. Uh, and the browser canvas and >> edge settings system settings system performance system turn on use graphics acceleration when available. That’s already on for me. Restart it. Okay, we should be good.

[25:07] >> So, what are your So, you just have to have that toggle enabled and it should work. >> It should. >> Okay. >> So, I’m going to So, it’s npm install. all npm rundev. Nothing changes. >> So, it’s so interesting that you like immediately jump into the app and you’re using the terminal, right? Jump to Burke’s screen here. Um because my my approach is like I don’t even do that anymore. I just like run the can you please run this? Like I I have that is kind of where I’m at with a lot of things. Like I’ve even >> just ask the agent to run >> just ask the agent to do it, right? I

[25:39] don’t even bother because because like what what sort of Yeah. You don’t even know what command to run here, right? So what’s what’s interesting is because so we’re getting the Microsoft proxy redirect. >> Ah >> so now we have to work around this. Um >> every developer’s worst nightmare ID. Uh >> yeah so we’re we’re just like you folks. We have restrictions. Essentially the way it works is that there’s >> how does it how does it work? >> They when we try to install packages they redirect to an internal thing that just internal makes sure that it’s safe.

[26:11] Y. >> So, if it’s a newer package, it’s not there. I think is like a seven-day window. So, we have to see if we can resolve this and work around it. Man, we hit a wall right out of the gate. Thanks, Wes. [laughter] >> So, nothing relating to the actual project itself. >> I don’t know what this package is. This 3106. >> Well, he was saying he was using 3JS. So, some sort of 3JS related. It should be there. >> It should be. Yeah, we’ll see if Luna can I’m actually I should have probably should have picked a bigger model for

[26:41] this, but >> I’m going to go and I’m going to use Let’s just like max out. I’m going to use What should I use? >> Let’s go to Astra. >> Astra, right? Um and I’m going to go ahead and run that. Um so just do it. Um and I’m going to go into autopilot. I was already in approval. Just go ahead and get this running. And while this is happening, I also just kind of want to explore what this thing is. >> It’s a vap.

[27:12] Um, what is in package.json? So, yeah, it’s three. It’s 3JS. Um, >> I bet it’s just hyperscript and V. That’s it. >> I think it’s probably just the version of 3JS. We’re just going to have to go back a version. >> Yep. >> Um, Astra’s on the on the job. Don’t you worry about it. Um, so you know, speaking of models, like what do you what is your model that you tend to cook with these days? I know it changes like every week we have a new thing that has been launched into the

[27:42] ether that changes how we work. And so, you know, how are you thinking about all these models and what you use? >> Yeah. Oh man, I mean, I’ve been a big fan of Opus for a very long time, you know, since four or five. But when the Soul models came out or the Yeah. Soul Luna Terra the 56 models uh because Luna is so cheap. I mean it’s just it’s almost free. I do a lot of Luna on Macs. >> Yep. >> And it can actually do a lot. Um

[28:15] and one of the things that we talk we talked about before is that working at Microsoft we have unlimited >> tokens. So we don’t really live in the real world. Yeah. >> Uh and so when you have that then if you have a model like Fable which is an amazing model. >> Yeah. Right. Then then I would use Fable. But then recently we have Astra. I’ve been using a lot of Astra and then we’ve got the new Hydro Fusion. I’ve been Yep. I mean I bounce around so much. I don’t know what what would you say your go-to is? >> I mean generally like latest open AI

[28:45] latest anthropic variant and then I always have like a fast model in my back pocket for like like Wes was doing some back and forth interaction and oh look I got it running. >> What’ you do browser canvas? I just said run the thing. I’m telling you, man. Get out of the terminal. Just tell you tell the agent what you want. I want this to run in the browser uh inside of the GitHub comp. I’ve got it running, too. >> Okay. All right. There we go. Um I don’t know like I like using I like a Astra a lot. I that’s probably my daily driver.

[29:17] I I have been using more hydrofusion and uh James kind of mentioned in the keynote, but we also we got a lot of feedback about auto mode. Right. Right. um mostly that it needs to be better. And so the team did a really like awesome job taking all that feedback that you have given us and uh we’re rolling out a new auto in the coming days. Um and so basically I already kind of like teased that in the picker here. You can click auto and then you can optimize for um you know you can say do I want to optimize for cost because I’m in a token constrained environment. Do I

[29:49] just want the best possible result? Uh do I kind of want a mix of both? And you can kind of change the knobs to be exactly what you want. Yeah, Burke’s showing it on his screen here. Um, which like before it was just kind of, you know, efficiency mode essentially. And so now we have more toggles so that you don’t have to like big brain what model do I use for this task, right? >> Our our ML team has literally went and built like custom routing models behind the scenes to power this experience to hopefully give you the best model for a task. And then now with things like

[30:20] hydrofusion like uh Julia showed us earlier like you have to think even less right because then hydrofusion is going to give you like the best result way less cost right I don’t have to think about all the models that are happening every week all the you know what what what does this benchmark say what does that benchmark say do I use this for that is it bad at this is it bad at that right it just hurts your brain man >> it does and then you feel like you’re ripping yourself off if you use the wrong model because yeah e either you use too much intelligence and you’re overpaying or you don’t use enough and

[30:50] then you’ve wasted a bunch of tokens because you end up going to the higher intelligence. >> That’s that’s correct. And like actually you know I work a lot with our team at Microsoft which we have 80,000 plus engineers here and the the interesting thing is you dig through the data is most engineers will pick a model and they just sit on that model for everything. Right? And even if you’re optimizing for intelligence that can be frustrating, right? Like if you’re if you’re running fable fable maxing all day, that model’s going to take some time. So if you’re doing something where you want like fast interaction feedback

[31:21] loop, even if in theory you have unlimited tokens, that that may not be the right model, right, for that particular situation. And so given that we saw at Microsoft, we have 80,000 engineers, they’re not they’re just picking one model and sticking on it. And that may not they may be good or may be bad, right? Um like that was what led us to create things like auto and hydrofusion because we were experiencing this problem for ourselves. Yeah. And I think I mean again because we have unlimited tokens I do tend to pick like I’ll just pick Astra and hang out there, right? It’s like stage and

[31:53] commit. Astraax. [laughter] >> Yep. But but most people most folks just can’t do that. I I it would be nice if we could get to a world though where everyone gets that level of intelligence all the time. Super cheap, super fast. All right. I’ve added a not Didn’t you say add a notes app? It said it already has a notes app. The simulator already includes a notes app. >> All right. Well, how do you open it up then? >> Phone. >> Full screen this puppy. You can full screen the canvas. No, not that button. The one next to it. >> This one right here. Yeah. Okay. So, it

[32:23] says go to apps notes. Oh, because he added it. That was the last thing he did and it got pushed. Okay. So, there already is. >> So, we have we have a notes app. It’s, by the way, it is crazy that he’s just like, I’m gonna add, you know, apps to this thing. And it it not only is functional, but also looks exactly like the notes app. >> It does. >> He He just did that in 20 minutes. That’s insane. >> I need to wish I could decrease my There we go. There we go.

[32:54] >> Sorry, I bumped up your font like ridiculously when you were not when I was gone. Okay, so we have a notes app. Um, and so Okay, so we’ve already done Well, he did that. >> He did that. >> So now we need to add a camera. He said add a camera app. So, let’s let’s go back here. So, let’s do this. >> What do you think I should do? If you’re going to add camera, you know, >> I think you should do the web browser. >> Okay. Just no no small task. Let’s let’s bundle up some Chromium in this thing.

[33:24] >> How hard could it be? All right. And then, uh we’ll put like a AAA game on here at some point. Um >> boom. Naturally, >> add a camera app to this phone simulator that uses the hardware camera here on my laptop. We’ll be fine. And we need to be able to save photos. So, while you’re at it, I guess just go ahead and add a photos app, too. It can’t be that easy. Just just ask. Now, we should point out I’m using Astra

[33:55] here. I’m not do I’m not using any sort of skills or NCP servers or anything. Yeah, >> I’m not planning. >> Yeah, >> I’m just we’re just yellowing. >> We We were talking about I mean it certainly depends what sort of project you’re working on, right? Um but like we were I saw your tweet the other day and you were like I don’t really actually plan that much anymore as an explicit thing. >> Correct. >> Why is that the case? Do you think the models are just in good enough shape? >> Because they because they give me what I want. So they’re so intelligent. Like, >> yeah, >> Chad, if you hired a senior dev, right,

[34:25] somebody who was a really expensive, a really good person, you would expect not to have to tell them every single thing that they have to do. You would just point them in the right direction. And these newer models, in my opinion, are very much in that vein, right? And actually, I feel like if I over plan, I actually get a worse result. It’s better to let the model actually fill in and be like, well, I did this here and then I’m like, wow, well, >> I didn’t think to do that, but I wish I had. I think I’ve been there for a couple generations too um of models where

[34:56] maybe since like 55 GBD 55 and definitely with 56 I found myself doing a lot less of that and like I would say I in a weird way I actually still plan but it would it’s more of like an interactive thing. I’m like, “Hey, you know, I do what you did. I go to voice.” I’m like, “Hey, this is kind of roughly the shape of what I want to do, how I want it to work. Spire that off, right?” And then it’s going to come back with something, you know, that’s kind of what I want, but not and you’re kind of going back and forth a little bit. And so, I will kind of stay in interactive mode, not official plan mode, but I’ll stay in interactive mode in the GitHub copot

[35:27] app. And when I feel pretty good about it, like then I’ll just be like, “All right, let’s switch this puppy over and autopilot. Go do your thing.” I’ve literally like if you have like a very difficult task, some of the projects we’re working on in the Copod app now fall into this category. I will it will literally run sometimes three, four, five, six hours. Oh, yeah. Right. And I just go to bed. I’ll I’ll make sure I like I feel like I’m not maximizing my time if I’m not like, hey, I need to give while you’re sleeping stuff while I’m sleeping, which is maybe like a interesting, you know, thing for us to

[35:58] consider as society. But, uh, yeah, like I I that’s basically how I work now. And then I am like batching tasks, right? Because you know I’m a PM, you’re in Devril, like we’re jumping around meetings, we got customer stuff, right? And so like you’re not always just sitting staring at, you know, your computer doing, you know, coding eight hours a day anymore. So like I find myself trying to batch stuff together. >> Yeah. >> You know, where I’ll be like, okay, I’m going to kick off like five things. Maybe I need to steer it a little bit at the beginning and then it’s just kind of

[36:29] I’ll check back in on this later. And also I found like cognitively that’s easier for me as well because then you’re not in the like constant I need to be managing 15 threads and like you can do the parallel work but like in terms of how you’re actually approaching reviewing it. You’re jumping back in and actually reviewing each synchronously. >> All right. So what’s happening here? Are you already done? >> Yeah, it’s already ready. So we go to camera. >> There’s no way, dude. All right. Let’s see. >> Says camera is off. Enable camera. Waiting for >> Oh my goodness. This is This is gonna be

[37:00] Wait for it. >> Oh my gosh. [gasps and laughter] Oh, selfie. Hold on. Okay. Did it go to the photos app? Let’s go to photos. Uh, home photos. There’s no photos. Zero photos were saved. Okay. >> Okay. So, but it’s still pretty good for first prompt. >> Not bad. Okay. So, uh, what now? What are you doing? Uh I was I actually was kind of sending a you know a prompt just

[37:30] a second ago. I was just like how does this thing even work right? Uh because this is not a codebase I’m familiar with. So I was just kind of trying to understand at a high level how like this is rendered how the apps work inside the phone. Um there’s a shell ts there’s a software.ts right? Um, and so I’m mostly just trying to have some semblance of understanding of the architecture of this thing considering in theory I’m giving it a very difficult task to go add a web browser to this thing. Um, >> so are you doing planning? >> No, I’m just going to go straight in.

[38:01] >> No, I’m just I’m just straight going in. Um, and like the interesting thing with this sort of task like this is a very exploratory prototyping task. So I would say like in a real project like when I work on the GitHub copilot app something I might do is like we build so many throwaway prototypes and like in a weird way the prototype is your plan right and then once you’re like okay I need to do this for real Z’s and this needs to be production code that’s well tested that’s well architected that’s performant then what you can ask the agent to do is basically hey look at my

[38:32] branch with this prototype extract the essence of what I want let’s figure out how to do this the right way quote unquote and then we ship the But then you give yourself the freedom to explore with a prototype where where you don’t have to actually worry about those things. You just prove it works. >> Yeah. No, I I I feel the exact same way that I’m just working with output now and working with outcome. What’s interesting here is that so I told the agent I was like the photos aren’t saving. It’s now driving >> the canvas. It’s trying to take pictures and test. Oh, it says it’s fixed.

[39:03] Well, there’s still no photos there. Let’s see. Enable camera. Okay, let’s go back home. Photos. There they are. Okay, so the camera app is working. That was way too easy. Need some more challenges here. All right, let’s see what you’re working. >> It’s funny how we kick this off by being like, “The last challenge was too easy.” And Wes is like, “Hey, I built an emulator for this thing. Could you add more apps to it?” And in one prompt, you managed to do it. >> All right. Uh chat, you’re going to So,

[39:34] let’s see what Pierce is doing. I’m going to go over check with chat and then we’ll I think we’re going to need some help from chat here just to actually >> Yeah. >> Um >> give us ideas. >> Yeah, give us ideas. We need your ideas. >> Um let’s see. Um what else do what else can we do here? Um >> let me mute this here. All right, chat. Let’s see. I’m looking at chat. Chat, get your ideas in. What apps should we add here?

[40:06] >> I’m adding a GitHub app. Um, because I feel like that’s necessary for this experience. Like this thing was made to run my agents, man. So, I want to see if I can get my agents running on this thing. Copilot SDK, everything. Let’s like actually turn it into a form factor where I’m kicking off agents on this simulator. >> It’s actually running on the device. >> Yes. Okay. Yes. And then uh so like uh No, I’m going to use voice. Hey. Um, so I basically want to turn this device

[40:37] into a way that I manage my coding agents with GitHub Copilot. We have the GitHub Copilot SDK. I essentially want to have a control plane for my agents in this uh in this simulator, be able to kick things off. We should use all the awesome features that are available in this device. It has multiple folds. It has a front, a back. We should figure out some really cool interaction patterns that make it super awesome to partner with agents inside of this simulator. So, let’s go explore that with the GitHub copilot SDK.

[41:07] Cool. Also, I’m realizing like we’re going to end up are we going to all end up in phone boost because you’re try I I’m like I need to wait for Burke to finish talking to his agent so I can talk to my agent real quick right here. >> Oh, with the voice. I’ll type Yeah, I’m typing. So Wes said Wes said they said um spin up 50 sub agents to replicate all the apps on the iPhone. Do it. That’s what I did. >> Uh let’s see what should all app. Okay. So the interesting like I don’t know if if this is co-pilot’s um app doing this or Astra doing this, but even when I’m

[41:39] not in plan mode, it still will ask me questions >> that it is because the agent is given an ask question tool. And I I think like some of it is the model, right? So like the harness does give the model the tool, but the model has to decide I actually want to go back to the user. Yeah. Right. And so I do think Astra has like a tendency especially the beginning of something like this to really try and clarify your requirements. >> Uh okay. So built-in iPhone apps with browser compatibility compatible functionality built-in apps plus optional Apple apps such as pages

[42:09] numbers and GarageBand which should I recommend >> Garage Band in this puppy. That’s going to be >> clearly labeled simulations where so iCloud, Apple Pay, native hardware and APIs aren’t available. We’re just going to go all in, man. Why not? Okay. And uh you’re going to kill me, but uh I used the restroom right before this thing started and I have to use >> Okay, that’s cool.

[42:40] >> I’ll be right back. You drive, chat. I’ll be right back. >> Let’s go full screen. pretty much Coke Zero. >> Uh Coke Zeroed up. Hey, can you give me a drink while you’re at it? Like a lemonade or something. Um so, so while Burke was talking, what I’ve done here is, you know, one of the things I love about the GitHub copilot app is I can very easily fire off multiple tasks at the same time. So, of course, we started over here and this was our Chromium uh experiment. And so, that’s gone ahead and that’s running in one thing. But, as you’re giving us more ideas in chat, I’m

[43:11] going and firing these things off. I’m actually when Burke gets back I’m going to have him pull back up the chat and I’ll kick off three or four ideas based off what we’ve seen in the chat. But you can see I’m running three agents here at the same time. And basically how this works in the GitHub copilot app is each session by default when I go to this new session thing you can see I have I have several options here right I have new workree local repository and cloud. So new work tree is basically creating a branch of this exploding uh repo in a separate folder and so my agents will

[43:42] not collide as they work. That is the default inside the GitHub copilot app because it’s built for parallel work moving multiple SAS forward at once. And so that’s that’s our default here. But of course I can also just run it against like whatever directory or sorry whatever branch I have checked out for this app. So I could pick local repository. So I will often do this for you know other things that I’m using the GitHub copod app for like you know querying telemetry building presentations where you know it’s helpful to have the repo scope and all the skills and things like that that are

[44:13] in the repo but I’m not really making code changes. I’m not worried about collisions so I want to pick that. We also have this cloud option and that’s actually going to kick this task off to the cloud agent. I can of course steer it and see what’s going on entirely from uh entirely from the GitHub copod app. So once we get some of those ideas, I may kick off a couple cloud tasks in addition to the ones I have locally. Um, we’re actually working a lot on kind of this remote agent paradigm because I think you’ll find like separate from the ability to run things locally like you will quickly run into

[44:46] device constraints, right? And it’s not so much from the agent itself, it’s that our agents are now going they’re obviously building the thing that we’re working on. In the case of a GitHub cop app, that’s Rust, right? So try to try to fire up several Rust builds. You’re going to run into trouble on even a very OP machine. Um so you’re going to run into problems there. Uh then also verification, right? Uh Wes was showing us like how he does some agent intake verification. But if you’re not only just building the app, you’re running each of these in their own work tree. It’s going it’s booting the app. It’s

[45:16] running through a ton of tasks. It’s driving the UI. Those are very compute intensive on your machine. And so you’ll eventually get to the point that like you will be forced to push these things onto a remote workspace. And so there’s a lot of work going on that we’re excited to show you at GitHub Universe uh next month in terms of like how this remote agent stuff works. You you know you could use a dev box, you could use um you know a code space, you could use an Azure VM, you could use any arbitrary remote to basically set up uh a place where you want these remote agents to run. And of course then once you do that

[45:47] any GitHub co-pilot client could in theory, you know, talk to that thing. So you could start something in the GitHub mobile app, pick it up in the GitHub desktop app. So, there’s all kinds of fun stuff that’s possible. And so, I’m super excited about kind of this remote execution thing and getting more things off of my machine. Um, so yeah, let’s check in on what some of these things are doing. So, um, it looks like it’s going through and adding some of the Chromium stuff. Uh, I can also come in here and you can see like in the GitHub cop app, this thing is firing off like a ton of sub

[46:19] aents and things like that. So, here’s one that’s running around implementing the Chromium backend. Here’s one that is actually going and building something. What else do we have going on? Um, if I jump over to which one was this? The GitHub app. It’s going ahead and adding that. Now, I asked it to do the real GitHub app. It did ask me a question about that. I was like, “No, I don’t want mock data. I want you to actually talk to GitHub.” For now, this is going to use the GH CLI and the O token from that to kind of query the data so I don’t have to go and, you know, set up

[46:50] OOTH and all that fun stuff for the simulator, which I think is a reasonable choice. Um, and then let’s check in on this one I had around uh using the GitHub copod SDK. And one thing maybe Burke and I didn’t like go super into is you can see like we used to be so particular about our prompts, right? It was like, oh, I need to um, you know, prompt in this very specific way. I need to avoid any contradictions. I need to uh be very precise in basically how I’m partnering with with the models. And I

[47:22] think as the capability has increased increasingly, right, like doing something like I’m just going to word vomit my prompt into thank you into the GitHub copilot app. The model is capable to the point that you don’t have to have like the most perfect well-crafted prompt anymore. You can just talk to this thing and things will happen. Oh man, I see Burke. Let’s jump over to Burke. He’s got he’s got sub agents going. He’s got me eliminated. >> So, this session right here spawned all of these one for each app. So, we have an in iMovie.

[47:53] >> Okay. >> GarageBand, Keynote, Free Form, Measure, Numbers, Pages, Journal, Stocks, >> FaceTime. >> Dude, FaceTime is going to be crazy if we can get that working. magnifier, passwords, find my There’s no way all this stuff’s gonna actually work, though. >> I’m a bit worried your machine may explode during the the course of this live stream here. >> TV, app, reminders, podcast. Some of these are already done. Files is done. Settings is done. >> Wait, >> app store is done. How can the app store

[48:25] be done? >> Let’s go into the app store. I want to see what what what the model has cooked up for this. >> Well, they’re not there. >> Oh, because they’re different work trees. going to have to get it back into >> um >> oh how is what is the best way to do this? >> So each one of these is a work tree. >> Yes, >> which means my hard drive is is also maxed out. >> So each one of these work tree. How do we get it back to test in the main session? I could have it merge each work tree back. >> Yeah. So basically in this in this main

[48:57] one you can so the GitHub copilot app can control the GitHub copilot app. So you could say something like when you’re done, bring it back, bring it back to this session and and so basically then what the GitHub cobot app will do, it’s given tools that can create sessions like it did here. It can also monitor those sessions. And so when it monitors and it’s done, the sub agent can send a message back to this and say I’m done, it will say message received. And then this agent will actually go and integrate the changes. So that’s totally something the app can do on its own. You

[49:28] just got to ask. >> So let’s see here. Yeah, I did it right here. When you’re done, bring the apps back here and into this work tree. So, it should merge them back. Actually, I want to say as the apps finish. Let’s see here. Copy this. As the apps finish as That’s one S. It’s not two S’s on on as as the apps

[49:59] as the apps finish bring them back and merge into this work tree here. Uh yeah, there we go. >> All right. All right. When >> how do how do you get into the apps again? >> Uh it’s right. It’s below the preview. There’s an apps preview. It’s like the teeny tiny There you go. Yeah. All right, >> the browser. >> Let’s try. Okay, I can’t click in. So, not great. Chromium companion is not

[50:30] running. Okay, so we’re, you know, we’re we’re making some progress. I don’t know why I built two [laughter] pains here. >> Ah, because it’s a foldable phone. So, the UI is different. >> Dude, I’m going have to totally rethink how I want to. >> Yeah, >> that’s a bit weird. So, then should we render like >> the above the fold on the left and the below the fold on the like? And now I have two folds. How what should I do in terms of like maximizing the surface area? >> Should you like have the page continue on the right hand side? >> That’s what I’m wondering. Or is that like just wasteful and like

[51:03] I don’t know that I actually want that as a user. But then >> then if you’re scrolling that’s just going to be weird. It’s going to scroll from one side to the other side. Or it could work. That actually could work, >> dude. >> I mean you’d have to see it work in order to narrow. >> Try it. I think that’s going to hurt my brain a little bit. I got to be honest. Um, it’s always fun when these new form factors come out because you have to kind of rethink how you actually build software for it. Um, all right. What’s going on with our build build browser compion here? Okay.

[51:34] I am still going here cranking away on the home app, the shortcuts app, the books app, the numbers app, numbers. It’s going to create a spreadsheet app just on the fly. >> What a time to be alive, man. >> It is. It is actually. It’s super fun. You can literally I really do believe like our our limit is now like our creativity. And that’s like a very cliche like handwavy thing to say, but like the fact that all you’re seeing all this come to life, like people who are

[52:05] just extremely ambitious and creative are going to do really well in this new world. I really believe that. >> Yeah. Yeah. And it’s I mean it’s uh it’s so because I was thinking about this before like the grill me skill from Matt really changed everything. And the thing about it is it’s really simple. I think it’s like he said it’s like four sentences. I’ve never actually looked at it but it’s really simple. It’s just an idea. And the idea is to just have the agent >> persistently ask you questions >> and that just works. Right. So like it’s these simple ideas I think now

[52:36] >> Yep. >> have a lot of impact. Yep. >> Right. >> Yeah. I >> Google who has to be maybe maybe the idea guys it is the era of the idea >> um >> yeah no that’s that’s it’s very interesting yeah like the the skill thing also reminds me like I was talking about it while you were gone like I remember I I do a lot of like you know meet and greets with different developers seeing how they work and I learned a ton of cool stuff but like one thing that like I see that I think is kind of an anti-attern is increasingly I

[53:07] see people basically like I need to spend, you know, a month perfectly optimizing my agentic system with all these skills and MCP servers and you’re like, “Yeah, but what are you doing?” And like then it’s actually kind of hard for people to explain like what that all does. But I think the like the Matt PCO like skill is like such a great example. It’s like >> you don’t have to have this like you know 50,000 line markdown file of here is how our team works and everything. You can now now these models are so capable. You It’s more about communicating your intent and you don’t

[53:38] have to do that in a lot of words. >> Yeah. >> Just fix a couple. >> And especially these newer models, they’re so good. I mean, in the past, you had to give the model these guard rails, but I feel like now >> the more guard rails I give it, the more I’m like inflicting my own >> errors, your own limiting You’re limiting beliefs. Yes. You’re limiting the agent. And it’s it’s kind of but in a weird way it’s like and like a lot of things that were like uh anti-atterns for software engineering are now like perhaps how you

[54:08] should work right like constraint has always been good when building software. >> Yeah. >> And in a way like to your point the model when you actually give it an underspecified plan if you’re in the prototyping stage in a kind of interesting way it has creativity because these things are non-deterministic. And so if you spin five of these things you’re going to get five different results. And like in a weird way having an oversp specified plan of you have to work exactly in this way, you’re not allowing the model to really express it’s like >> it’s non-determinism on the solution,

[54:39] right? >> Yeah. You’re limiting the people are going to like this. You’re limiting the better developer in the conversation to your >> Well, it’s it’s it’s the way I view it is kind of like a team, right? like you know um yes like some ideas are better than others but like on a team everyone brings a different perspective and that makes the thing you’re building better and so it’s just kind of natural when partnering with agents especially using different models like if you prototype the thing three or four times with three or four different models you’re getting different perspectives right and it is

[55:09] true that if you oversp specify your plan then you’re reducing the creativity because you’re adding constraint right >> 100% >> so it’s a feature and a bug >> uh let’s see can we bring my screen Uh, Matt, if you could so we can see. Oh, no. Just as I do that, my it goes away. It was here. We have some apps. I saw them. >> The agent’s cooking again. >> I I hear like the mic is his mic is right here, but like the fan I hear this thing going. >> Oh man, it is

[55:40] >> It’s going to get hot in here. We still got an hour to go. >> It’s gonna be like Florida by the time we get out of here. Oh yeah, this thing is it’s struggling, man. >> Well, while you were gone, I was talking about like how I feel like if you can do things like what you just did, your local machine becomes the constraint, right? Because it’s not even just you’re running 50 agents is that each agent is building, compiling, running your app, validating it works. >> Yeah. Look at this. Look at all these agents running. Look at this, dude. There’s so many. And the thing is like this is an M5 Mac Pro.

[56:12] >> Top of the line. I I I buy I buy my own hardware because I want access to the best and like same thing like I’m running top-of-the-line everything at my house. I have top-of-the-line Mac Studio and even that, you know, unified memory and everything. You’re pushing the boundary of what that thing can do. >> I know it. Well, um I wonder got a blank page here. Try in the browser. Let’s see here. Burke, enable the HTML in canvas flag on your browser. I don’t

[56:43] know where that is. >> Someone’s gonna have to in the in chat. Can someone figure out in Edge settings how we do that? >> Yeah. >> Or we can go install Chrome if we need to. But >> how? >> Look, I How do I enable I >> enable the gard flag in Edge, please. >> Let’s have Luna do it. >> I I have something I’m not supposed to show, but I’m gonna, you know, we like to have fun here. were amongst friends on the stream and um >> what do you got? I it was already up so

[57:14] I’m not revealing something that wasn’t already up but like there speaking of new things in the pipeline. Um if I jump over here look at look at these tool calls h >> oh computer >> that that would be great if GitHub copilot had that feature wouldn’t it? Um so always new things cooking things on the horizon uh from the GitHub copilot team. So, I did have streamer mode on, so I wasn’t expecting that that would be hidden, but here we are. So, always a

[57:46] fun nugget for folks on the stream. Um, you know what’s interesting is like I’m realizing that like despite running three things, like you’re more aggressive strategy of I’m going to do 50 sub agents is probably actually more likely to produce like a demoable result than what I’m doing. I really believe that. >> You think so? Yes, I do. >> All right, hold on. If it says in Edge can No, we already did this. I open edge can. Yeah, I don’t I don’t actually see

[58:16] it. HTML in canvas. Maybe we need I need >> just install Chrome. >> Edge. Maybe I need Edge Canary. >> Don’t know if it if it is a new like Chromium thing, then yeah, like I could see that being a deal. >> What do I need? Where is this? >> We don’t know how we don’t know how to work. I’m building a browser, but I don’t know what I need to do. >> Edge Canary. Edge Canary. >> Um, >> pull it in. We’ll try Canary. That doesn’t work.

[58:47] So, you know, one other thing that the is really powerful with these agents that I’m seeing on my screen right now is um you know, not only are you know, is GitHub co-pilot going and writing the code and making sure it compiles and all that, but like we also saw it in Wes’s demo like it’s going and actually like running the thing basically creating its own acceptance tests like using feedback loops like you know in this case screenshots to say does it do the thing that saves me so much time because I

[59:17] remember like I call like AI 1.0 Uno era like with the partnering with agents like most of your time was like all right like you know mpm install n mpm rundev like all right let’s boot this up and then you like click through and you’re like you didn’t even do the most basic thing and then you’re like all right back to the drawing board. >> Yeah probably the same now you’re to you totally if you do not want to be part of that initial just basic validation loop you do not have to be. >> Yeah. Yeah, super because we have this shared thing right here >> in the GitHub copilot app and we also have this in VS Code. Um the built-in

[59:48] browser in our tools uh basically uh exposes tools back to the agent so that uh it can do things like navigate, take screenshots, click elements, right? Um if you shared your browser session with the agent, which in this case I have inside the GitHub copod app. And so that’s like a super powerful unlock. But it does make me wonder like of course there’s things like computer use on the horizon, but it does make it’s like yet another reason the web stack I think is winning because like it just like all of these things are already there. The building blocks you need for your agent.

[1:00:19] You don’t have to go build anything. >> Yeah. >> Like I don’t this is already just like building on you the shoulders of giants of things that have happened in web tech over the past 15 years, right? >> Yeah. I totally agree. I mean, >> and then other stacks that are less agent accessible like for this sort of thing are going to struggle. I really believe that. >> But I’m trying to install Edge Canary at the moment. Hold on. >> I can’t multitask. Edge Canary. Here we go. >> Makes me nervous. Installing software while we’re >> I drug it in. Uh

[1:00:50] >> okay. So, uh the other thing that I also aggressively have my agents do is you know rubber duck. >> Yes. >> Like basically second opinion with a a call from a different family. I’m using Astra, I might use Opus or something like that. Um, I pretty aggressively prompt as part of this like I don’t like when I fire something off, I want you to self validate, but I also always ask it to do adversarial code review always because that I found myself doing this thing where I would jump back into my session

[1:01:21] and I’m like, I don’t want to embarrass myself sending this PR to the team. I need to rubber duck this thing right quick. Even though >> before somebody is like, “Hey, >> before someone, you know, a real slop is like like your slop is gonna mess up our codebase. I need to run a rubber duck real quick.” But if you find yourself just constantly being like, “All right, I need to run this command.” >> Like that’s the moment in time when you’re like, “This thing does actually have to become part of my workflow as an instruction.” Right? Yes. So I actually have like literally at the end of every turn, I want you to run a rubber duck.

[1:01:52] Now, that does reduce the interactivity because I’m adding additional length to the turn, but it also means that I’m getting like I’m basically saving myself having to come in and manually hit enter on that prompt. >> Yeah, >> it’s just going to happen. >> I don’t think this is I don’t Oh, it’s trying to install all of my extensions. I don’t think this is actually in Edge. All right. Um, Chrome Wes forcing me forcing me to download

[1:02:23] browsers that I don’t want. I have a browser. >> It makes me really I I must say it does make me really nervous installing software live on a live stream. >> I mean, what could go wrong? >> I I will say, you know, Megan demoed the Slack integration earlier, which is super cool. Um, that thing is always fun demoing. Like I had a customer demo showing that thing off last week and you’re like I probably shouldn’t show my Slack, but I’m going to show my Slack. Uh because you know it it demos best in your actual work environment. >> Yeah, that’s the thing is you got to

[1:02:53] show you have to >> if you don’t have all the context of how you’re normally working then it it’s kind of a little contrived, right? So you kind of need it to be real. >> I mean I’m always somewhat terrified whenever I’m demoing anything. You you and me both kind of like to live on the edge, which I think makes pe you know the very polished people at our our company who like very well manicured messages nervous, but like we we just like to keep it real here. >> That’s that’s that’s all we’ve got. Yeah, >> that’s all we’ve got. All right, we’re going to try this browser. Let me go back over to YouTube and see if we got chat can help us out here. Feel like

[1:03:24] chat knows how to fix this. >> All right, hold on. It’s saying my GitHub simulator might be ready. So, we’re gonna fix it. >> Okay. I have to connect my GitHub coat CLI. Look at this. We got a GitHub app. All right. So, here’s his What is this? Okay. These are my These are my repos. I’m a little nervous to click into these. Um, there’s the GitHub monolith. Yeah. Um, some of these are private repos. Let’s

[1:03:54] go to a public repo. Um, what is a good public repo? I wanted the West Boss one. Can I go to that? No. So, the search isn’t working great here. >> Yeah. So, we’re seeing the chat now. Sorry. Sorry, chat. Where requires a browser restart. Which browser? Edge Canary. >> Okay. I just installed. >> Look at this. I We have a somewhat working GitHub app. Look at this, dude. We got We got this. It’s using my my O

[1:04:27] token from, you know, the GitHub CLI and populating data via that. And we have a little foldable here. I need to once I get my my co-pilot agent integration in this puppy, I want to be able to like fire this off as a as a something, right, for the like one of these issues, I should be able to just like in the GitHub copilot app be like new session from this issue. >> Okay. Um, I actually, you know, now that I’m thinking about it, I kind of just want it to port the GitHub copilot app into into this simulator. >> Point it at the GitHub copilot app.

[1:04:58] >> Yeah, give it a repo and say literally port port this to the to the simulator. >> I mean, why not? I’m still trying to >> have a rust rust backend uh with Tori and then we have a front end that’s like typical web stack. >> Is that known? >> Yep. >> The architecture is known. >> Yeah. >> Yeah. I’m so like that is a very interesting thing with uh >> I’m getting yelled at in the chat. >> Oh no. What are you getting yelled at about? >> Uh because I keep trying to do it in Edge and Wes is like it’s people are like it’s in Edge. It’s been there for a long time. Wes is like it’s not on Edge

[1:05:28] in all caps. All right. Gonna make it. Hold on. >> Fire butts here. So, I’m also interested in what’s going on here. I’m >> finally reaching out. I’m doing the best I can. I’m not the best multitasker. Oh my gosh. Stay signed out, please. Just just just I just want to run the thing. >> I got to see what kind of code we’re working with here. I need to look under the hood. I’m in VS Code. >> Oh, my computer’s just barely running.

[1:06:00] >> I like literally It’s getting hot in here. >> There it is. It’s right there. Okay. >> It was lit. Wait, it was it? Oh, this Chrome. >> No, this is Chrome. So, relaunch. All right. Any Chrome. I got it. I got it. Thank you, Wes. Um, I feel like Wes is yelling at me. Um, okay. Now, now, now, now. Where did it go? So, let’s grab this here. What? I don’t understand what I need this for. It was working just fine.

[1:06:31] What? I think it it I don’t know. Wes can tell us in the chat the specific purpose. I think we weren’t getting full 3D rendering. >> Is that what it is? >> But I’m not sure. >> Look at that. >> It’s pretty. >> That’s actually pretty smooth. >> We turn on hiding in this dot. >> Um, turn hiding. >> There we go. >> All right. >> Full screen that puppy. >> So, um, all right. So, there we go for 3D.

[1:07:01] Scroll down here to our little bit of cheese here to the apps. app preview. Oh my gosh, we have so many. We have books. We have a calendar. The calendar works. Wait, when is this thing come out? It’s like October the 16th or something. >> You know, I couldn’t decide if I was going to order one, but I think I am now. >> Are you? >> No pre-order. >> You’re going to order one. >> Pre-order. Maybe

[1:07:32] start event. Save event. We’ve got one. >> Oh my goodness. Okay, so that’s calendar. Um, clips. What is clips? >> I have no idea. There’s pre-installed things. Oh, I don’t know what they do. >> Wait, the chat dialogue is killing me. So, make the chat show on the phone. Oh, okay. Um, how I don’t even know what to ask for there. Hold on. Um, how would how would I how would me this is interesting

[1:08:03] because the chat is in YouTube. So, let me just do it like this. Yeah, I would do it like this. We’re doing a live stream and there is a chat that I keep having to pop out. Um, it’s on the GitHub liveream. The channel is youtube.com/github. It’s a live it’s live right now. Can you help me get that chat just here in this application so we can have the chat in the application with us instead of the the popped out chat?

[1:08:34] >> Wait, Burke, my let’s let’s swap over to me. Wait, am I going to be able to No, it’s not going to show the comments. Oh, no. >> No, wait. Will it show the comments? It’s a little laggy. I’m not sure I’m in love with this how we’re rendering this, by the way. Okay. Yeah, it’s not gonna let me open Do I have to sign in? Is that why I can’t open the live chat? because my my Chromium browser has now. >> Yeah, you do need to sign in. Can’t shout if you’re not signed in. >> I’ll do that real quick. Probably should take my screen off the live stream, but we have we have our Chromium browser

[1:09:04] now. So, maybe I can actually be the workaround for this because we have Chromium working in this Duo simulator. I still don’t understand what we need Chrome for. It works fine right here. >> What are we doing? Why do I need that? All right. What else do we have? We have the compass. >> Is it Is it actually compassing? >> There’s like a manual. >> Well, there’s a browser API for Compass,

[1:09:36] isn’t there? Chat, where’s the browser API for Compass? Let me see here. Um, I did, didn’t I restart Chrome? I did. It asked me. I don’t understand what’s I don’t understand what’s supposed to be working that’s not working. It looks like it’s working to me. The split screen. What?

[1:10:08] Bring it back up. HTML canvas remembers the apps on the 3D model. Oh, is that that’s how it’s supposed to work? Like they’re it’s supposed to render here. >> Uh yeah, I think that’s what he’s saying. Like it >> Oh, so you can see them. >> So wait, so pull up one of these apps. I want to I want to see this. >> Well, which app? How do I pull up an app? >> Wait, do you not have the app button

[1:10:38] still now? >> Yeah, but that takes us over here to the preview. >> That’s But I saw Wes doing it. There has to be. All right, Wes. Phone a friend again. Wes, what do I do? >> What do I do? >> Wes was only supposed to be here for 20 minutes. We We want those appear. Yes. Okay. Showing apps on the device directly. Yes. Yes. Yes. Okay. Perfect. Why is that not working? It’s right here, man.

[1:11:09] I don’t know how to get back to the device with the Chrome reset. No. Display on. Off. On. Front, rear, perspective. Refresh. There we go. It’s back. Um, I don’t know. It’s still trying to implement all these freaking apps. So, I’m going to do this. Hold. Stop. Just stop. Stop and discard. Okay. Got It’s enough app. That’s

[1:11:43] [laughter] enough apps, bro. Too many apps now. >> Please stop. Uh, instead, can you make sure that the apps render on the 3D model? Uh, Wes said to turn on the HTML in canvas, which I did, but uh, I can’t. I don’t know. Okay. Um, maybe chat’s over. Swipe.

[1:12:14] Honestly, y’all, I have no clue. Like, no, this just >> No, because if you swipe, it’s just changing the >> And there it’s not showing here either. I assume this is a schematic. That’s not even build a new point of view. D. It’s not over here, is it? >> Uh, no, no, no, no. >> How can I run apps in the 3D mode, not the app preview mode?

[1:12:46] Uh, Astra’s on the case. Don’t you worry about it. The simulator tabs. Uh, Google Chrome. I’ll stop adding apps and focus on the 3D display. Oh, yeah. Computer use. It’s gonna try to It’s going to look at my It basically it just remember that what was there was a skit. Remember the old skid chat where there was like a maybe I’m dating myself here, but there’s this old like tech support would come in I

[1:13:18] think it was SNL and they’d be the person would be sitting at the community like standing over their shoulder, you know, and they’d be like, “Well, like I’m trying to print. I won’t print.” He’d be like he’d go move and then, you know, they’d move out of the way and get in. I feel like that’s the agent’s like, “Move.” >> [laughter] >> Um, so it’s my Asian is saying if you do you see a use apps like dot control f use apps you should see this on this view. >> Control f >> command f. Sorry >> as in like search. >> Yeah, we’re looking for literally the UI. Okay, you don’t have it.

[1:13:49] Interesting. Very interesting. >> There’s an apps preview. >> No, it says it says confirm the button reads use apps, not apps preview. the app. Okay. The app autod detects whether your browser exposes the experimental HTML and canvas APIs. When they’re not present, it shows use apps. Maybe you needed to restart your Chrome after you enabled that setting. Did you do that? >> I went here. I did this. Did canvas draw element. This that’s a different one.

[1:14:19] Hold on. >> Well, that would explain why we’re because because the app is basically not presenting the option because we we haven’t enabled the right setting. >> Hold on. We got this. We can figure this out. We’re smart. We have unlimited AI. Enabled. It says enabled. >> Okay, just reboot Chrome. >> I’ve rebooted Chrome like four times. >> I mean, that’s my typical advice as a fellow developer. Reboot it again. >> Always be rebooting. Um, all right. Let’s

[1:14:50] >> use Chrome Canary with the flag enabled. Now, once it Now I got to I have to download yet another browser. Currently 3D model displays. Read the top of the screen where you see the apps. Oh, okay. Hold on chat. Pull up Chrome. Um,

[1:15:20] let’s grab our URL, paste it in, copy paste. So on on my side, where am I at? So the the GitHub app, I’ve just told it that I want the theming to actually reflect GitHub. Uh so we’re working on that. That doesn’t look like Spiring at all. Uh I just saw that out of the corner of my eye. Um >> uh bro >> my my my co-pilot like building a co-pilot agent control plane for this

[1:15:52] thing has been cooking for 33 minutes without my intervention. So >> what is it doing >> uh on my side or your side? >> On your side. This is I’m getting this is what it is. >> It went it got copilot SDK. It built a UI around it. Uh, I assume it’s figured out how to like get my co-pilot token and uh and yeah, like we’ll see if I can actually kick off agents from that from that thing.

[1:16:24] >> Yeah, I don’t get it. I don’t understand what we’re supposed to be doing. I don’t understand the assignment. I can change the background color. Um, okay. We did this. Okay. Now, now the apps screen is flickering pretty bad in Chrome. Send that off here. >> So, are all of your sub agents done now or you you just killed them? >> I killed them. I mean, it did. It’s

[1:16:56] imple It says it’s implemented all these things. My guess is it’s implemented like a minimal UI for all these things. Oh, sorry. More batteries for the mic. Okay. Let’s see here. Yeah, my guess. Oh, I’ll trace the render timing and texture updates. The app currently draws from both the animation loop and the HTML and canvas paint events. So, it took a screenshot.

[1:17:28] Oh, this is computer use. Yes. >> Yeah, it’s using Chrome. Okay. Interesting. All right. Well, I’m just going to let it [laughter] do it thing. You need the the battery pack. >> Yeah. On my side, uh you know, the built-in uh shared browser over here, uh and the agent is actually going through and it’s trying to validate. I was trying to pull up the uh the signin uh on YouTube, but apparently the way that we’ve implemented this thing, uh Google

[1:17:59] thinks the browser is not secure. So I need to we’re working on a mitigation technique. Um so we we’ll have to kick back to the real browser for now. Uh but then I should be able to get chat onto this thing. So >> So what’s wrong with yours? >> So the the browser actually works. We’re using Chromium, but signing into apps, it’s like this is a malicious thing because I guess I’m just running Chromium with with, you know, nothing else that doesn’t recognize it. And so it’s getting flagged when I try to log in. And so, um, basically like I wanted

[1:18:31] to pull up the chat like someone in chat said, uh, but I can’t do that because I can’t log in and you can’t see the chat unless you log in. And so now I’m going to see like open a browser. Okay. Yes. GitHub copot. >> Oh, dude, it’s writing code. What What is it doing? >> What What’s it doing? It’s writing code in the console >> to test what’s going on here. Very interesting. Um, what was I trying to do?

[1:19:02] >> I mean, I do I hate to be hyperbolic, but I do sometimes feel like this is AGI. It’s like I I’m I’m not even doing anything now. It’s just driving the browser. >> Yep. >> What am I supposed to do? >> Wait, this No, this is the GitHub one. I want to be I don’t want that. I want >> What is my job exactly? Found it. Chrome is using the fallback apps preview and that dialog is stuck in a resize. Okay,

[1:19:32] perfect. I’ll stabilize it. Okay. The only thing that I, you know, the agents do still kind of get tripped up on is like if you’re running multiple things at once, like the ports and all that, like it it does sometimes get tripped up on that because when I open in browser from my from my session here, it actually opens it does open the browser to the simulator, but it’s the running simulator from a different work tree. So,

[1:20:02] while I get the isolation of my code, the processes do tend to get a little garbled up sometimes. There’s another one I didn’t enable. And whoever in the chats was like, “Dude, read the top of the It says right here. It literally says right here, make sure that you have these two features enabled and then restart Chrome.” Okay, I think I’ve got both of those. >> We’re developers, man. We don’t read. >> Yeah, we don’t read. >> Well, I will never read your docs. >> All right, we are listening to you. We’re doing the best we can.

[1:20:35] Um, hugging face attack in progress. [laughter] All right. Uh, it’s gonna work now. I’m I have medium to low confidence. Here we go. Copy link. Gosh, it’s still not working. It’s supposed to be here. Isn’t it just supposed to be right here? is what’s supposed to be where

[1:21:06] >> the apps. Where are they supposed to show up? >> Not supposed to show apps preview. Um >> they should just be here on the phone. >> Yes. >> All right. So, I did did I do this one? Draw element and >> Okay. >> Experimental web platform features. Let me check this one. Yes, that’s enabled. The other one’s enabled. right here. This should check. No, I

[1:21:37] don’t want to spell check that word. Both of these these are both enabled now. Now what chat? Um actually it’s not working in my it’s only Chrome Canary. >> [laughter] >> I made it off the top. I said, “The hardest part is going to be getting this thing enabled.” And I wasn’t kidding. [laughter] I was very serious when I

[1:22:08] said that. >> I’ve downloaded two browsers in the last 25 minutes. [laughter] Can someone catch me up on what’s going on? No, no one knows. That’s the problem. We need to install other browsers. All right, hold on. >> So, yeah, if you’re if you are just jumping in, we have been given a task by Wes. um he has this uh iPhone Duo simulator thing he’s built and he’s challenged us to populate this thing with some apps and so Burke went and asked uh asked GitHub copilot app to go

[1:22:39] in basically spin up 50 sub agents and go do the thing. Um I have a couple things like the browser, a GitHub app and also like a a GitHub copilot app for this Duo device that I’m working on. Um, and right now I’m struggling with like in general the interaction pattern of you know this Chromium experience that we have here. It’s as you can see not very buttery smooth. Um, >> that’s a hard problem to solve though. >> It is a very very hard problem to solve. >> Well, you just ask the AI what the layout should be.

[1:23:10] >> It’s not even just the layout. It’s like I I mean I’m going to ask it about the performance and say the performance is not very good. You need to you need to make the performance characteristics better. But it’s not even just that. It’s like there’s all kinds of weirdness going on here with like accounts and things like that. So, I need to go back and uh No, not Edge Canary. Chrome Canary. Wes, there’s like 30 browsers on my computer now. Canary. I can’t I can’t spell.

[1:23:42] There we go. Stop. Oh my gosh. All right, that’s Edge Canary. I’ll check your Oh. Um, so, um, >> I don’t have anything on my phone. >> What’s he talking about? >> Check your Slack, man. Teams,

[1:24:12] >> hold on. I’m going into >> I’m going into Chrome Canary here. Google Chrome Canary. Okay, here we go. Get this working. Where are you at? What are you doing? What are you doing? >> Um, so I am We are here. Let me go full screen here. Um, so I am I’m working on a couple apps right now. So where’s that apps preview thing? Um, apps preview. GitHub. So, uh, we kind of have a GitHub viewer here on, as you can see here, we’ve reskinned this to basically be

[1:24:44] similar to github.com in terms of its steaming. We got a little dark mode here. Um, so I can come in here. I can browse repositories. Let’s see if I have any fun one on pi bogan and see if that works. Pier coloring book. I like my coloring book app. Click on that and see I got all my issues here. So, got some bugs I need to go address. Looks like the markdown’s not rendering any issues. So, let’s let’s have the agent fix that. But this is looking pretty good. I got a an actual GitHub

[1:25:14] app running on this Duo device right here. Um, I can come in, I can browse repos, I can look at all my issues. Do we have any active pull requests? Yeah, we get a couple active pull requests here. You can see we have very actionable ones like hi. Um, and so, uh, yeah, the GitHub app is coming along. I want to look at the let’s see what other things we had here. The browser one I think is is giving me problem. I want to look at this agent control plane. Oh goodness. It it looks like it this one’s

[1:25:45] starting to come together too. Um so we have let’s see scrolling down. Looks like we’re trying to do some things with By the way, look mine is rendering in the foldable thing. Look at this in the browser canvas. See? >> Well, how did you do that? I >> I don’t know what I did. It wasn’t working. It wasn’t working in the other one. Um, wait. Does something show in the front? >> Yeah. >> Yeah. There we go. >> What is going on? Why is this so hard

[1:26:16] for me? Wait. >> I I didn’t do anything special. I don’t know why, but it’s right. Okay. So, interesting. I don’t know how I got here. I got to be honest. Um, but it looks like it looks like I have some O issues. So, I’m getting tons of connection checks. >> Okay, I think I’ve got it. >> Okay. All right. Let’s jump back to you then. >> I’m rebooting Chrome. >> What did you do? Were you Did you go enable other settings or did

[1:26:47] >> No, it’s just the same two settings, but this time on Chrome Canary. >> Oh, you needed certificate. [laughter] >> They’re working. Okay. All right. All right. Okay. Oh my gosh. All right, I’m excited about this. >> I think there’s too many apps on it, though. Like, it can’t Yeah, I can’t even >> Wait, does search work on the home screen for apps to see like what there is? >> Uh, clips. >> It does. That’s super cool. >> Wow, that’s nice. Okay. Um, so if we do

[1:27:19] books, there’s a book. Can I turn the phone around? Why does that keep happening? >> See, that’s not happening for me. I don’t even have that setting enabled. I just lost the whole phone. [laughter] >> It’s no longer duo. It’s a What’s What’s a single? I don’t know what word I’m looking for there. Oh, there we go. Oh, there we go. Okay. So, like, how do I Oh, here we go. Okay. >> Oh, >> can I close it? How do you close it? You do not close it. >> Yeah, it cannot be closed. But wait, I feel like your apps are taking advantage. >> Boom. >> They’re not taking advantage of that

[1:27:49] real estate, though. >> What do you mean? Yeah, they are. >> Oh, is is that like the equivalent of your lock screen in this new UX paradigm when you have it closed? Like shouldn’t if you have what is it? What app is this library? >> Should the library be also able to access the front because there’s actually three. Yeah, >> but it’s not right now. >> No. Okay. So, we need to what? Tell it that all these apps need to be able to >> Yeah, I guess so. >> The tenant turn spin around. Okay. All right. So, we just need to let it know like Okay. Okay. I got it. I’m on it.

[1:28:22] Okay. Say okay. Okay. All of these apps need to work in book. What are the different the modes are? Book, closed, book, and flat. Closed book, flat, and flat intent modes. Um, you’re going to have to figure out >> and so you were in the the main session, >> optimize the UI for each of these.

[1:28:54] um form factors. Okay. Yes, I’m in the main I’m in this main one which was controlling all of the >> it’s going to cascade this message to >> I assume it’s just going to like go back to each one of these and start sending messages out again. We’ll see. >> But I feel like some of the apps did have the front screen working. I might be misremembering. But >> is this a graph? Am I doing a graph right now? Is this graph chat? >> Um yeah, loops and graphs. You weren’t doing loose and graphs. What are you

[1:29:25] doing? Are you even doing engineering in 2026? Um, >> so >> yeah, the goal is to watch them code crazy shenanigans using the power of GitHub code. You’re exactly right. >> That that is exactly the goal when we idiated this session. >> Yep. Trying to get this simulator to work. Yes. And we did. Success. Yeah. I’ll make the share I’ll make the shared app shell adapt to the phone’s posture so all the apps keep their state when you folded. I’m checking the cover display and tent orientation first.

[1:29:56] Those need usable single screen navigation, not just a scaled down two-screen layout. Got it. Yeah, man. I was thinking like you do realize chat that a year ago at this time we did not have Opus 45. >> I know. >> What did we have? Was it Son at 35? Is that what every we were further along? It might be Sonet 4 around this time. No, because Opus Opus the Opus thing was like December, right? Uh >> but wait a minute. Opus was Opus was around before 45,

[1:30:27] >> but it wasn’t like Opus as people >> know it, right? It was like Well, this was in the time when it was like, well, we have these like we have reasoning models. >> Yeah. >> And then we have coding models. And it wasn’t it wasn’t sure like well should I use 01 to code or should I use opus to code or no is that a misuse of that model and now it’s like every model is a coding model first and foremost. Well, because every task is a coding task. Like if you are analyzing data, sure, you can do that in Excel, but you can also use Python, right? Um, so like

[1:30:59] you know, it turns out making every task workable with coding is actually very important for if you’re trying to achieve AGI because with coding you can literally create anything as we’re seeing today. But yeah, I mean you’re right like um so we track this metric at at GitHub called uh like retained code from agent and it’s essentially one way that we are able to say like how good is it is our agent with a particular model and with I think GBD41 right when agent mode and BS code shipped we were at like 50 52% retain code from agent which by

[1:31:31] the way is is super cool like it was 0% before yeah like you literally were using natural language and you were getting 50% of the code capped Right. And now with these with the the latest models and the GitHub cop harness, we are seeing like upwards of 90 and above percent retain code from Ajet. And so that does drastically change how you partner with this thing. Like I remember the first time we started doing live streams. Our trust in the models wasn’t quite there. We were supervising every single tool command. We’re watching the agent intently like synchronously every single

[1:32:02] one. So as the models got better, what makes it what becomes possible? Okay, now I can run three of these because I don’t need to closely supervise each individual one, right? And so like our partnership has changed as the models got better. And that was just one year ago. And so it does make you wonder like I mean let alone one year like where are we going to be in a month or two or three, right? Um so things things are definitely changing very fast. Um that’s for sure. But it’s super fun. Like you can have like a very like scared mindset about that of like change

[1:32:32] is hard and like I’m I’m nervous. Like I actually find it very exhilarating that like we’re able to go and build things like this and we can literally ideulate software into existence like at the tips of our fingertips or voice. >> But then the question becomes and I’m curious. I’m going to ask Chad about this because one of the things that Chad’s complaining about is that we’re using these huge expensive models because we have unlimited tokens and and they do not. Okay. Right. And that’s a valid complaint. But certainly in the future we will arrive

[1:33:04] at a place and point in time when everyone has basically unmetered access to this level of intelligence. There’s no doubt. Right. Well, and and like you see that the you know the next generation of models like sure there’s always going to be the frontier ones but like very quickly like the you know fast capable cheaper models do have the same capability as like the powerful models of a generation ago. >> Exactly. And so like this sort of intelligence will roll down into the

[1:33:36] next like you know flash equivalents at some point in time here that will be distilled and then the cost point for these sorts of things will be much more accessible. I think like also in real life right like not every task I’m going to just put the most expensive bottle on, right? Um I’m going to be a little bit more discerning. I’m going to use things like auto. I’m going to use hydrofusion, right? Um, but like for for the purposes of this fun demo, it makes sense to >> Yeah. because we only have a limited amount of time. Yeah. Exactly. But I I I

[1:34:06] think I the reason why I bring that up is because if you think if you like someone once told me when you listen to someone from a big model lab talk about something, they’re talking about something that you’re going to see 6 to 12 months down the road. Right? So what they’re working with today is what you will be working with in 12 months. And I think in some sense like what you see us doing here today you will probably have access to in some form or fashion in 12 months right you’ll have that level of intelligence at a at a c this is not a promise but just generally how I see

[1:34:37] this shake out. So then the question becomes what are we do like where does this go as developers like there’s this big debate about do we read the code should we be reading the code like what’s the right way to work what are the workflows what are the skills we need and as these models get smarter and smarter what I find is you don’t need that stuff you don’t need all of the workflows that we’ve assembled to try to make the AI do things correctly you don’t need anymore and then it just leaves me wondering

[1:35:08] Like what are what are we going to be doing 12 months from now then? Like is it ju is it literally just asking the agent for things? Is it just walking up to the Star Trek food replicator and punching in what you want and getting a cheeseburger and that’s it? And then we’re just going to be walking around being like, “Hey, I asked the agent for such and such. Let me show you what the agent did.” I actually think the the challenge that I see in practice for a lot of teams living at the the frontier of AI even who have un say you have unlimited

[1:35:39] access you can run fable everything that the challenges that those teams struggle with is not building the thing it’s everything else right so >> yes >> um when you have so much throughput in your codebase even with a very capable model you will regress things there will be weird architectural drift that happens over time. Um the uh like you will have increasingly problems prioritizing the right like you don’t just want your product to become you know a ton of random knobs and you were

[1:36:11] always encouraged not to do that because it costs real time to do and with the cost of these things taking less time now you have to be more discerning about what you do. So every a lot of teams I talk to and I I gave a talk on the vS Code team’s approach at build about this of like hey we’re seeing our issue count skyrocket. We’re seeing our open PRs even with things like agent merge and the GitHub coat app skyrocket. Um you start to ask like how are you making sure that like the product is not drifting away from what we actually want it to be. And so in a weird way like I

[1:36:42] actually am like one of the reasons I’m very optimistic about GitHub Copilot besides I think we have an awesome harness, we have a great product, we have access to all the models is I really do actually think like a lot of this is going to come back to how good is your engineering system because sure you can sling code but you really we’re ship we’re shipping real things right that have to be production grade and as you have all this velocity like typical engineering systems are bad to begin with and they were not made for this level of throughput right and so I actually think like we’ll spend a lot more time on engineering systems type of

[1:37:13] problems than we do today, >> right? But it’s not going to be reviewing code because I don’t think today this whole like well the you know you should be the one looking at the code before it gets merged and then that’s your code, right? You’re you’re thing is making sure that agents are writing quality code. But the problem is then you’ve just shifted the bottleneck down the road. You’re not really moving any faster than you were before if you’re actually reviewing code. I think that is an unrealistic perspective like um it will be a temptation in every single team and every single organization to say this AI is very

[1:37:44] powerful you can do more right so then you’ll do more and I think it’s very easy to say like well you should have responsibility for reviewing every single line of code in practice that will not happen right people are not going to do that um and so then if that’s what the human inertia is of like okay we’re not going to look at this thing anymore it’s some sort of artifact which by the way I think is how programming has always worked. We’ve up continuously upleveled, right? Like I’m not in assembly instructions anymore and then we got like somewhat more modern programming languages and somewhat more modern programming languages and maybe

[1:38:15] this is just the next abstraction. So it’s it’s not uncommon, but like if you’re like I’m I have to review every line of code if you’re being asked to deliver like at a much faster pace that’s just not practical, right? >> Yeah. >> You will be the bottleneck for your team’s ability to move forward. And if you’re not writing the code, I do think there is like a >> it is cognitively more difficult to jump into a PR and understand someone else’s architecture than it is if you like when you artically crafted that code. Right. >> Oh, it’s the worst. >> And so like I don’t even actually know that you will be a good reviewer of your

[1:38:46] own code because you don’t write it in the way you used to before. >> You didn’t write it at all. >> Right. >> Yes. And and then nobody’s emotionally invested in it. So like you don’t really care if the PR gets merged or not. Do you know what I mean? There’s a human element. Anyway, somebody had said they said we will reach a saturation point maybe like Olympic level sprinters >> being able to improve their times rapidly until 10 seconds for 100 meters. So this would be like Moore’s law talking about a Moore’s law in ter but what are we talking about here? So are you saying that like in terms of cost or

[1:39:16] performance like I keep thinking these models what’ you get? >> I just got the GitHub copilot app working in this duo. So this is real GitHub copilot SDK. I I just said hello, right? Let’s do another one. Hello chat. Um default model. I’m a little nervous to open the model picker. Sometimes implied things that I should not show. Um and okay, I got agent is running and I got back a response. Um and so uh

[1:39:47] yeah, like this is actually I got a diff viewer here. Like I can actually go and build a simple HTML page to promote the live stream with Burke and Pierce at GitHub Copilot day. So this is actually using real copilot SDK my real GitHub copilot subscription. Oh, I need to add YOLO mode to this. Look, I have to do tool approvals. Um, so I’m gonna allow one. >> Oh, it’s the tool approvals are coming through too. How? Wait, the SDK is pushing all the >> Yeah, the this is the SDK running in

[1:40:17] this simulator of the Duo and it looks like um Okay, so now like we have Let’s see. Am I getting changes coming in? No, it hasn’t created the page yet. Um so we’re going to see if we can get changes and then to get extremely meta, we already have a browser. I need a browser preview in my Duo simulator browser um to actually render this website. Um okay, so it render it created. Look, I mean it’s not the prettiest thing, but we got we got a diff viewer here. It’s

[1:40:50] actually showing the thing. Um how can I open this in the browser? What’s the path? That is super cool. So we added we got a browser. We got a real GitHub app. We got a real GitHub co-pilot app for the duo. >> Yes, we have a camera. We have We actually have all these apps, but a lot of them don’t work. So, like uh like let’s look at weather. What weather app do we get here? Like I don’t think it’s 18 degrees in San Francisco. I’m going

[1:41:20] to go out on a limb. Um maybe it is. Maybe if that’s got to be cinned >> freedom freedom units or not. >> Yeah, I don’t know. Uh oh. Okay. So, we have but we have all these different apps here, but I think a lot of them just probably just don’t work. >> I would expect that. That would be What was the app store? Did we ever try that one? And even >> app store >> because it said a built-in app store. >> Yeah. Um, let’s put it flat. So, we can

[1:41:50] actually like paper orbit. >> All right. Is this just like mock data? What happens if you try to install this >> add to simulated library? Okay. >> Okay. Now, go back. What was >> it actually there? Uh, paper orbit. >> All right. Search >> whether or not. >> I’m assuming it’s not. >> Whoa. Whoa. Orbit. >> Nope. >> Yeah, because it doesn’t actually exist. >> I mean, I assumed that that was the case. >> You know what would be really cool though is if we had an app store where it imagines apps and then when I install one, then just like create it on the fly. >> Yeah, let’s do that. I like that idea.

[1:42:22] On demand app store creation. Take your idea and we build it on. >> I got to tell it to stop what you’re doing. Okay. Stop what you’re doing. Um, okay. Bit of a pivot here. Instead of having all these other apps, let’s have an app store. And I want you to just imagine a ton of different apps that can be in that app store. You don’t actually have to create them, just imagine them. And then when I click on one to install it, I want you to show an installing uh animation. But then while you’re installing, the app is being installed.

[1:42:54] I need it to I need you to build it and then actually add it to the simulator. Okay. Now, what’s what’s interesting here, Pierce, is that because because the canvas is not showing, doesn’t have the 3D acceleration. I’m having to do it in the browser. How is the agent going to talk to this browser? Exactly. It’s probably going to do computer use. If it was in the app, it could just talk to it

[1:43:24] directly. >> Playright. Potentially >> could use playright. Okay. We’ll just again this is one of those things where you would before you would have to say how many lines of code have we written >> 20,000. Y’all want to see how many how many AI credits do you think we’ve used here? >> I have no idea. >> Y’all want to see Chad? You want to see how many how many AI credits? >> I’ve written a lot of code over here too. >> Hold on. I’m going to go down. Oh, wait. Use my local copilot CLI using API local copilot CLI. >> 2,642 AI credits. So $2642. >> That’s not bad for what we cooked up

[1:43:56] here. Come on. >> And this was all Astra, right? >> This is all Astra. >> Astra on medium. >> Yep. >> I do I do feel like there’s also this temptation from people of like I need to always be running high extra high max reasoning and I just really don’t think that that’s necessary and also it it adds so much like time to the trajectory that it makes the interaction speed so much slower. Generally >> I think that if anything beyond as I understand it for most of these models once you move beyond high there’s diminishing return. So you’re getting a little bit more performance but at a lot

[1:44:27] more cost >> extremely more cost and in the case of I mean admittedly offline evaluations are not representative of the full story and that’s why we have online data too but like we saw with some models in VS Code the higher reasoning efforts actually degraded benchmark performance. It wasn’t that they stayed the same and cost more. It actually like our performance went down which was interesting. >> Interesting. Yeah. So like just because the so a higher reasoning level doesn’t it’s not smarter that just means what then >> it’s just spending so basically before

[1:44:59] it responds it’s introspecting and saying what do I need to do and it’s generating more chain of thought essentially which in theory that chain of thought helps to guide the agent when it does its next turn because it has more instructions on what tool to call as part of the agent loop right and so in theory by frontloading more thinking right the agent reasons more about what actually needs to be done. It’s more efficient the rest of the trajectory and does the right tools, right? Everything. It doesn’t like pro around quite as much. In reality, that isn’t always actually the case. Sometimes it it tries

[1:45:30] to be too smart for its own good. >> So then so then it could if it’s reasoning more then it could if it thinks longer it could think to a better answer or it could overthink. >> Yes. It’s just like a person, right? >> Like you can over like you can big brain a solution as an engineer and it may just be like hey you should have just picked something way simpler. I overthought that. Right. >> Yeah. Oh that happens to me all the time or I was like this is I’m way over complicating this. >> Exactly. Um yeah I am I am trying to uh

[1:46:04] I’m trying to figure out what I should do next on this on this duo simulator I got rocking over here. Um, because we got we got agents actually going, right? So, I’m trying to figure out like what I should do next. >> You should definitely build it from the co-pilot app on the simulator. Let’s see what chat says. I used $30 to build the phone UI last night. Yeah. So, $30, $20,000. $30. $26. It’s not that expensive, but you know, if you’re doing this all, we’ve been here for an hour. So, $25 in

[1:46:35] an hour. Imagine you just did that all day. Fair. And we’re only r Well, I did fan out to a bunch of agents, but you could spend what a couple hundred bucks a day, $200 a day, five days a week. It’s going to add up. >> True. But but also like how if you had if I had given you this as a real engineering task, how much time would you have spent on it? >> No. This would have t Well, yes, but like say this was not a contrived experience like doing something like this would have taken you like a month probably or a couple weeks at least. So, and it just

[1:47:08] works. >> I mean, that is very true. Um, >> like there’s a there is a trade-off. Your time also has value, right? >> Right. >> Like, you would never do this with your own money, right? You wouldn’t go in here and build an iPhone. You’re not you’re not toying around like that. But like I’ll give an example like the GitHub copilot app, right? That came into existence over the course of literally a couple months from a team of like five people. Yeah. Five to seven people. >> And uh like that would have never been possible. Like I remember, okay, we had VS Code, we had agent mode, okay, now we

[1:47:38] need Copaile CLI. That took a couple months, right? Um, okay, now we need to do app. Like that’s even more condensed. And like so like I think like things like that that would have been like, oh, you know, at Microsoft or any big company, we need to go hire a team and boot this team and hire and we need to write 15 docs on what this thing’s going to be and that’s going to take six months and before anyone writes a line of code, okay, finally we have people hired, now we need to go do that. Like that app in like old Microsoft time would have taken us like two years to ship. >> Yeah. >> And we got it to market in like a month

[1:48:08] and a half, two months. So like but now it does feel like though that now that we’re moving so much quicker >> that there’s more features than anyone can even keep up with, right? Like you can’t you can’t keep up with the out even as someone who’s just getting >> the final output. You can’t even keep up with the output. So we’re saying like you can’t keep up with PRs, just focus on the output. But it looks like you’re not be able to keep up with the output either. So >> but that’s why that’s why I actually think one of the big challenges and we I again not to plug my talking but we

[1:48:40] talked about I talked about this with Josh at build is like one of the challenges often for many teams now the temptation will be to do everything. It’s actually saying no is like what you need to do more of as a team because yeah like if you just add a million knobs to your product like that is not going to result in a good product. Yeah, sure your agent could do 50 sub agents and add all these things, but like is that actually a good idea, right? So like as engineers, you have to do like a lot more product thinking, right? Because your your job will be increasingly to say no because the

[1:49:10] temptation will just be to do more. >> Well, and part of the problem is I think with these agents, if the agent is working, then you’re like, okay, I’m going to go do something else while this agent I’m going to do a second thing. I’m going to do a third thing. Yep. >> And I don’t know if you saw um Gwen had posted on X and she said, “Why don’t you read while the agent works?” She had like a book and I I had this epiphany when I read that that like, “Oh, you don’t need to just keep working just because the agent’s working.” You don’t need to do that. I think as humans, we’re kind of wired to like, well, I’m

[1:49:42] supposed to be working. I need to do something else. But then we’re just like flinging slop everywhere. There’s too many things going on. You can’t keep up. So yeah, read read while the agent. >> Speaking of reading, I’m going back through the comments. I got a question. Can you work in the same repo you’re running the app in? Yes, we have isolation. So each of these um each of these agents is running in their own work tree and when they’re running something like npm rundev, if the port is taken by another agent, it will just use a new port. So you can run multiple processes from multiple agents at the

[1:50:13] same time. >> It’s a Canadian app, Wes is saying in the chat. So, it was Canadian units, >> not freedom units. >> It’s a Canadian app. >> Um, so there’s that. Um, >> well, we need to fix that. >> Yes. [laughter] >> This is the worst bug we have. >> Remove the Canadian back into Fahrenheit ASAP. Um, and see where we are here. We’re not quite to our dynamic app store that’s just going to like let us imagine apps on the fly,

[1:50:45] >> but we’re close. >> We’re We are close. I I’m actually like we’ve been doing this what like an hour and a hour, hour and a halfish, and like we we actually like I was a little nervous because it took us a while to get Canary uh Chrome installed, but like I feel like, you know, we’ve made a lot of progress here. >> We did. Yeah, we got so we got past the browser issue, which I feel like I should have just gone into the chat and been like, “Hey, use the agent browser to get the right browser and get this whole thing working.” Like, why did I spend any time doing that at home? I

[1:51:16] >> I think about that all the time. I spend like an hour doing something. Why did I just waste an hour doing that? I should have just like deferred that. >> I don’t know. But I do it all the time. I had I did this the other day where So, this machine right here, I was wiped and set up new before coming out here. And when I was setting it up, I I tried to run npm install and it’s like, well, you know, node’s not installed. I was like, oh crap, I got to set all this stuff up. And I was like, wait a minute, why don’t I just ask C-Pilot to set it all up? So, I just said, what is missing from this machine? It’s like, I don’t know. You probably need uh homebrew, rip, grab,

[1:51:47] pm, uvo, rust, open JDK, docker desktop, docker cli, and I was like, okay, install all of it. [laughter] >> And it just went and did it. It installed homebrew first and like just set up the whole machine. It’s like as a developer, as a human, I have to just think every single time I do something. Should I just have asked AI to do this? >> Maybe. >> I don’t know. The answer’s probably always yes. >> So, question from Martin here in the chat. Thanks for hanging out with us,

[1:52:18] Martin. Uh, when do I create nested sessions in the app? So, I can give my answer. Maybe you have your own. So nested sessions, do you mind going back to the thing and showing like Okay, so this is a nested session, right? We have we have a parent session and we have child sessions. So there’s two scenarios where I primarily use this in the app. >> One is like uh when I have like a particular task and I very clearly have clean separation of work that I want to set set this up into different threads that I can follow. Yes, you can do this with sub agents that are not necess

[1:52:48] sessions, but the I I just feel like from a UX perspective, the visibility isn’t as good with sub agents sometimes. And these are pretty clean separation like each thread is an app, right? So that’s one scenario. The other one is like I use this pattern in the app all the time. I call it like the chief of staff pattern where I like will have one session where I’m basically commanding the work. So like I will very frequently say like what are the top five century you know uh bugs that we have right in the last seven days in the GitHub

[1:53:19] copilot app and like it’ll come back and I’ll say these are the five and like rather than me going copy paste I’m going to go you know create five sessions I just like create the five sessions right right >> and so like in that case they are isolated right and so yes there’s the isolation thing like the first scenario but it’s also that I am able to mentally not have to go and manage those five I just say keep me updated on progress in the main thread and it really is like a chief of staff. You’re like if anything comes up like let me know basically otherwise I trust you to do your thing

[1:53:49] and so then rather than me managing five chats I’m managing one chat and so that’s kind of my partnership model because when you really start leaning into this parallelization thing your brain is not made to handle like 50 things at once, right? And so you kind of have to come up with these like constructs like this nested sessions thing to actually and the chief of staff model to actually be able to achieve that. The other one is like canvas, have you been have you been using canvases at all in the GitHub copilot app? >> Oh yeah. >> Yeah. So like the other like what if there was just a visual representation of what you’re trying to do and so I

[1:54:19] think when people hear canvas they’re like just okay there’s an HTML file in the side right but like a canvas in GitHub copilot app land is something they can actually reach back into the app and control it. So like we have a century canvas going back to the century example. >> Y >> I boot that thing up in standup full screen that puppy. Okay, these are the top five century issues. >> Rather than me just copy pasting that, right, that context back into the app, I can just say, “All right, >> create session, create session, create session, create session, right?” And then I just stay in that canvas and it’ll report back to me. And so it’s

[1:54:49] like yet another way you can kind of uplevel your partnership as you parallelize yourself more. That’s such a hard word, parallel. >> Parallelize. I know it. I I’ve gotten better at it because I, you know, it’s part of the talk track on the app, but it is a hard word to say, >> I think. So, I think of it the same way, but it’s like um it’s almost like with working with people. So, if you hire one person, then you work with that person. If you hire two people, then you’re working with two people and you’re interfacing with those people. Yep. And this this works well, but at some point, if you have 20 people working for you, you have a real problem. All you do is meet with people. And so, for me, once

[1:55:21] it gets past like two or three agents, I’m now delegating. I need an agent to manage the other agents. I don’t want to talk to those agents. >> I need someone to manage that. So, that paradigm for me is extremely helpful. So, like here’s an example of like an an iPhone app that I’ve been working on where there’s a bunch of different issues. Y and I had one sub agent fan out, >> decide which ones to turn into PRs, turn them into PRs, test them, then come back and tell me, you know, all the tests are passed. Are we good to go? Does everything look good? So then I can go

[1:55:52] in. I don’t want to know anything about these other agents. So that’s I guess that’s how I would think about it. All right, where where where are we? Run assistance still loading. I’ll run a real install to confirm the generation. I can’t wait. It’s just No, still not still broken. We’re in a broken state. All right, chat. >> So while you do that, another question in the chat. BY uh so that’s supported in BS code app uh copilot CLI uh all the

[1:56:23] major copilot clients support BY now the comment was specifically about bring your own key for code completions though and uh the interesting thing about that is we actually did very deeply explore that scenario um when we were getting a lot of feedback about completions and our completions model and the interesting thing is like if you go look not just in GitHub copilot but any of the major providers in this case their code completion models are all custom models and there’s a reason for that like most of these models are very bad at what’s called fill in the middle

[1:56:54] where you have like a code snippet and a code snippet and I need you to insert something in the middle and so there is a reason that all of these providers have gone and built their own models us included for things like code completion and nextedit suggestions because most of the off-the-shelf models even if you put Astra on it which would be super slow but it would it would probably actually not do as good a job as you think on that sort of task um and So like purpose-built models really work for it. And so while we could add bring your own key for code completions, we just found that when we actually tried this with like some off-the-shelf models, it did not actually work. And so that’s why it

[1:57:26] hasn’t been prioritized as part of our road map. >> Interesting. I did not know that. I So they’re better at completing than they are finding out what’s in the middle. >> So they’re better at generating new things, right? Than dealing with the messiness of a very limited context of your code and a couple lines above and a couple lines below, right? All right. Okay. So, what are you what are you showing here? >> Um, so this is our app. So, now we just have an app store. That’s it. Installed. Discover all categories. Oh, wait. Here’s a scroll bar. Shelf light.

[1:57:57] Shape path. Loop studio. Build a rhythm of your own. Word window. One new word. A wider world. What are these? Pocket tides. A puzzle with room to breathe. Okay. >> Okay. So when when we actually click install on this allegedly what will happen is this app is going to be built for us on the fly. >> Allegedly. >> Okay. >> Install. >> All right. >> The app loader requires npm rundev. Static premise cannot build apps. What? [laughter] >> Well, it’s not in all fairness. It’s not

[1:58:27] done. >> It’s still running. >> We’re we’re coming. >> I’m jumping in. Yeah. I can’t wait. I need it right now. I need it right now. I can’t wait. So, I I also see a couple other things in this app. There’s automations. Do you have any automations configured? >> Um, >> are you pretty light on that? >> No, because I wiped this one, but one of the ones I have um is this one is one called dead code removal >> that I use and this one runs every single day and it just goes across my repos and it just removes dead code.

[1:58:59] Remove dead code and submit a PR. But then this right here is a problem because if you tell an an LLM to remove dead code, it’s gonna find dead code every single time and it eventually will just start removing types, >> right? Which you don’t want. So what I do is say remove dead code and then chat I say and then check with um uh you know opus and see whether or not the code needed

[1:59:32] to be removed or are if you are inventing work. Now the reason why this works is because the first model’s job is to find dead code. It’s going to find it every time. The second model’s job is just to determine whether or not that is invented work or actually valuable and then say um do whatever opus decides, right? Something like this and then >> this and this runs every day like 9:00 a.m. just across my repos just removing dead code. So it’s just an example. It’s

[2:00:03] a very simple example of an automation you can use. Uh and this would be considered a loop. I >> I have I I like that example. I have like some like non-engineeringy ones that I have like you know help me prepare for my day. So it goes through work IQ all my meetings pull stuff context from Slack uh you know teams etc. I have one unfortunately for message triage on Slack and Teams because I wake up I have hundreds of unread DMs and it’s like just even you

[2:00:33] know doing the cursory clickthrough is going to take too long and so I have like a prompt built up of like if Martin or Burker you know is messaging me we should really prioritize like surfacing that these other people maybe not. No, I’m just kidding. Um and then uh like a ton for like telemetry for feedback triage on the GitHub copilot app. We have like a massive uh channel with like thousands of people internally at GitHub where people just come in and give feedback about the app. I did have an automation that was basically going through there. It would like investigate

[2:01:05] their issues. It would tell me if any of them are real. Um it would propose fixes if they’re relatively self-contained. But now like actually for that flow I’m using the new Slack integration. Um, and I’m just like saying like, you know, anytime anyone is posting in this internal channel like at GitHub, like go go investigate this because people post like a screenshot, a video, their logs, right? Oh, yeah. >> And like rather than me like downloading, copy pasting it over into the app, whatever, right? Even having an agent go do that. I’m just like, oh, at GitHub, like figure it out.

[2:01:35] >> Yeah. It’s become it’s too much to keep up with. Like you just can’t, right? And even sometimes I’ll like I’ll have feedback and I’m like, where do I go? And you’re like this Slack channel. And I go in there and there’s like >> I don’t know, man. There’s like 600 >> y >> uh posts from the last hour. >> Like you could spend all of your time just responding to that and you get no work done, right? And so like that is what I mean when I say the challenge for a lot of teams is managing that. >> Like that is a different level of throughput than you’ve ever had to deal with in terms of feedback and changes.

[2:02:07] >> Okay, so we have this. It looks like this is actually working. It says your app is the local build. So, it’s building the app and then hopefully it will install it here. But >> I’m so excited for the payoff here. I hope we can get there. >> I mean, do you think we get to a world, chat, where like this is the world we live in where like you’re on your phone, you’re like, man, I’d really like to have an app that does this and you go to the and you just say that and then it just appears a few minutes later. I mean, why not? Why can’t >> I don’t I don’t actually think so. Not because the agent is Well, because >> I two years ago, everyone was like, “Oh,

[2:02:38] all these SAS companies are dead. Anyone can replicate their software in five minutes.” And that’s true for the extremely base case of the software, but like then there’s all this software that has endured for decades. And I’m not entirely convinced that just because you can vibe code something that kind of looks like the same thing that it’s going to replace it. It turns out if you’re doing like, >> you know, payments or you’re you’re doing things like that, you you do not want something that’s just like, >> you know, some something that someone pulled together that no one owns, right? And so, while possible, I actually just from human nature perspective, I’m not

[2:03:09] confident that that will be the future. But it’s cool that that’s like even something you can discuss as Oh, look at that. Front screen. >> There it is. >> However, however I’m supposed to reference this. >> Building. I don’t even know if this is actually building. Uh I think it’s front screen. >> I mean, it shouldn’t take this long unless we were installing some ridiculous mpm packages. >> I mean, it still isn’t done. It’s It’s still cooking over here. >> It’s still cooking. It’s testing. I love these new models like Astra and the others. They just test. They don’t need to You don’t need to tell them there’s a canvas. You don’t need to tell them to run test. They just

[2:03:39] >> figure it out on their own. All right, we’re coming down to the last few minutes here. What What do we need to What do people need to take away from GitHub Copilot Day? >> Oh man, there’s there’s so many cool things. Like I I think like our intention with this event is like to your point like things are changing so fast, right? And there’s always new things introduced and so we just wanted to have a moment of reflection of like how has you know how we work changed with the latest things in the GitHub copilot space and what are some of the most notable things and so you know we talked about the new GitHub copilot app,

[2:04:10] right? We’ve we’ve demoed that extensively in this session. You can get that from gh.app. Give that a try. Um it’s been super awesome to see like how people are adopting that and using it not just for engineering tasks but like all work. Um and then uh also like new interaction patterns like the Slack stuff Megan showed off. I referenced the scenario of how we’re going into Slack at GitHub, you know, fix this bug going where your context already is. Having people who are reporting the bug actually join in and building the solution with you. That’s super cool. Um, we talked about

[2:04:41] some of our model and harness improvement work like hydrofusion. Um, Patrick came and talked about uh kind of how our stack is evolving with agent host protocol. Yeah. To be not just, you know, capable of running on your local machine, but any arbitrary remote. And so, you know, keep an eye on announcements between now and universe. We’ll keep making this like remote agent story more of a thing on your own compute. And so just a couple of the things like there’s always so many things to keep up with in our world, but we just wanted to share like a a couple new things that we have been working on that have changed how we’re working here

[2:05:11] at GitHub and we’re excited for you to give it a try. >> Yeah, I totally agree. And I think that you know for me what I noticed is a lot of people Mino because GitHub copilot has been around for so long. It was the original. >> Yes. >> And uh and we’re still going and so much has changed that even for me watching the keynote I was like whoa I didn’t realize it was a mobile canvas. I had no idea. Uh and so and and then knowing about the GitHub Copilot app and people ask me all the time, you know, they’re like, I’m using Visual Studio Code or I’m using this or that, you know, what is this? And hopefully people have seen,

[2:05:43] you know, and you got a good um you got a good feel for what the GitHub Copilot app is, >> what it can do. And um yeah, I think it’s super exciting to see things like hydrofusion and to hear where it’s like 60% cheaper. I think everybody wants to hear that right now. I want to even I want to hear that. Y >> um go ahead and continue here. >> But yeah, it’s been first of all, thank everybody for joining us. You know, we’re so thank you so much for being here with us. But

[2:06:14] also, it’s been it’s just been a wild ride to get to this point and we have even bigger announcements coming at Universe, which is in is it in it’s just in about a month, right? So, >> like if you enjoyed this and you’re like, “Wow, I didn’t know all this stuff was there.” Uh, you haven’t seen anything yet. >> Oh, there’s a lot there’s a lot more to come. >> So, yeah, we’ll leave you with that. Um, thank you so much for being with us. That’s a wrap on the first ever GitHub

[2:06:44] Copilot Day. We’re here. >> You are a founder by definition for the event. [laughter] >> We love it. Yeah. Like we we we seriously love the the community we have around GitHub. GitHub Copilot, VS Code, like it’s it’s been awesome to see like how over the past couple years you’ve shaped what these products have become. And so, thanks for joining us today, learning what’s new, seeing all the cool stuff, and we’re super excited to party with you guys at Universe in a month. >> Oh, no. I think they’re going to throw >> Oh, we got something happening here. >> Yeah, we have. >> We’re going to end it.

[2:07:15] >> It would not be a an event like this unless we had a special surprise. >> Tada. [laughter] Haha. One’s in my soda. >> Oh no. Thanks for joining everybody. We really appreciate it. >> Bye. >> Signing off.