Ícone do site Café Codificado

OpenAI lança Apps SDK para ChatGPT: uma nova plataforma de aplicativos

OpenAI lança Apps SDK para ChatGPT: uma nova plataforma de aplicativos

Em seu evento anual DevDay, a OpenAI anunciou diversas iniciativas para desenvolvedores – que agora somam 4 milhões, segundo a empresa. De maior interesse foi o novo SDK de aplicativosque permite que desenvolvedores terceirizados criem aplicativos baseados na web que são executados como componentes interativos dentro de conversas ChatGPT. A OpenAI afirma que “começará a aceitar envios de aplicativos para revisão e publicação” ainda este ano.

Sim, isso mesmo: é uma plataforma de aplicativos para ChatGPT. Isto tem ecos do grande anúncios de plataforma de aplicativos para smartphones de 2008 – iOS e Android. Indiscutivelmente, dada a enorme popularidade da OpenAI e do paradigma de usuário chatbot em que foi pioneira, esta é a primeira plataforma de aplicativos mainstream com uma chance genuína de rivalizar com essas duas lojas de aplicativos para smartphones.

Curiosamente, a característica definidora do Apps SDK é seu modelo de UI baseado na web. Na verdade, é bastante semelhante ao MCP-UI, que analisei em profundidade este ano. Isso o torna fundamentalmente diferente das plataformas de aplicativos iOS e Android, que não são baseadas na web. Mas mesmo que o App SDK da OpenAI esteja em uma camada superior na pilha (o próprio ChatGPT tem versões para iOS, Android e navegador), ele potencialmente tem um enorme poder de atração como plataforma de distribuição de aplicativos.

Vamos ter certeza de que entendemos os detalhes básicos primeiro, antes de nos empolgarmos demais.

SDK de aplicativos: componentes da Web dentro de um sandbox

Basicamente, um componente de aplicativo ChatGPT é uma IU da web executada em um iframe em área restrita dentro de uma conversa ChatGPT. Este é o mesmo paradigma básico sob o qual o MCP-UI opera, exceto que o MCP-UI foi projetado para ser executado dentro de qualquer agente compatível com MCP — é uma especificação de protocolo, não um único produto. O Apps SDK, por outro lado, está fortemente acoplado ao próprio ChatGPT.

Spotify no ChatGPT; via DevDay.

ChatGPT atua como host do aplicativo. Você pode pensar em um aplicativo ChatGPT de terceiros como um “mini aplicativo web” incorporado diretamente na interface do ChatGPT. O desenvolvedor interage com a ponte do componente window.openai que OpenAI injeta no iframe; essa ponte permite que o frontend do aplicativo troque dados com a conversa circundante e com seu servidor MCP. Para criar um aplicativo usando o Apps SDK, você cria código da web comum – HTML, CSS e JavaScript, que pode ser empacotado com uma estrutura moderna como React ou Vue – e o ChatGPT o renderiza como um cartão ou painel interativo dentro do tópico de bate-papo.

Quando SDK de aplicativos anunciadoa OpenAI observou que o sistema é construído no Model Context Protocol (MCP), mas “estende o MCP para que os desenvolvedores possam projetar a lógica e a interface de seus aplicativos”.

Como ele estende o MCP?

Nos bastidores, o Apps SDK usa o mesmo modelo de transporte e registro de ferramentas MCP que agora alimenta servidores de ferramentas externos e aspectos de GPTs personalizados. O MCP se tornou o tecido conjuntivo entre todas as novas camadas de extensibilidade do OpenAI, incluindo o novo Apps SDK.

O servidor MCP do desenvolvedor expõe ferramentas (para lógica do lado do servidor) e recursos (para terminais de dados ou modelos de UI). Cada ferramenta pode fazer referência a um modelo de saída – normalmente um URI apontando para a UI HTML e JavaScript agrupada. Quando um usuário ou modelo aciona essa ferramenta, o ChatGPT hidrata o componente da web com a saída estruturada da ferramenta e quaisquer metadados anexados.

Dentro do iframe, o aplicativo da web acessa esses dados por meio da interface window.openai fornecida pelo host. Isso cria uma divisão clara de trabalho: o modelo raciocina, o servidor executa e a IU é renderizada – uma camada puramente baseada na Web, em área restrita e orientada a eventos que une toda a experiência.

Diretrizes de experiência do usuário

Openai’s documentação inicial enfatiza que os componentes incorporados devem parecer e se comportar como se fossem nativos do ChatGPT. Para conseguir isso, a empresa introduziu um conjunto de diretrizes de UX e restrições de design que abrangem layout, temas de cores, tipografia e acessibilidade. O objetivo é fazer com que todos os aplicativos de terceiros pareçam coesos no ambiente de bate-papo, e não como uma página da Web estrangeira.

Os desenvolvedores são incentivados a respeitar os limites de layout do ChatGPT, uma vez que os componentes aparecem em cartões com margens consistentes, cantos arredondados e reconhecimento de tema claro ou escuro. A acessibilidade também é um requisito fundamental: os aplicativos devem contar com atributos semânticos HTML e ARIA para que o ChatGPT possa manter a navegação pelo teclado e a compatibilidade do leitor de tela.

Existem outras restrições, mas o segredo é que os desenvolvedores construam seus aplicativos com tecnologia web familiar. A ideia é incentivar um ecossistema de cartões interativos pequenos e visualmente consistentes – mapas, calendários, playlists de músicas, visualizadores de documentos e muito mais – que pareçam nativos do ChatGPT. Os usuários podem convocá-los diretamente pelo nome ou encontrá-los como sugestões contextuais geradas pelo modelo. Na prévia atual, parceiros iniciais como Spotify, Canva e Zillow demonstram como são essas experiências web incorporadas na prática.

Comparação: SDK de aplicativos x MCP-UI

Conforme observado anteriormente, MCP-UI é um protocolo que permite aos desenvolvedores integrar visualizações da web em várias plataformas de bate-papo de IA, não apenas no ChatGPT. Em teoria, um desenvolvedor de aplicativos poderia construir um aplicativo independente baseado em navegador e, em seguida, expô-lo via MCP-UI para que qualquer agente compatível – incluindo ChatGPT – pudesse interagir com ele.

Exemplo de aplicativo Coursera dentro do ChatGPT; via DevDay.

As compensações aqui são familiares para qualquer pessoa que acompanhou os debates sobre plataformas no final dos anos 2000. O MCP-UI visa a portabilidade entre hosts, fornecendo uma especificação de componente único que qualquer agente pode renderizar usando seu próprio renderizador do lado do host. O Apps SDK, por outro lado, prioriza a integração estreita com o produto ChatGPT. Os desenvolvedores que desejam uma experiência consistente em vários shells de agentes podem gravitar em torno do MCP-UI, enquanto aqueles focados na vasta base de usuários do ChatGPT – e que desejam polimento primário, como Cartões de pulsoprojetos compartilhados ou Check-out instantâneo — provavelmente escolherá o Apps SDK como o caminho mais curto.

De certa forma, este debate assemelha-se ao do início da era dos smartphones: porquê construir uma aplicação que se destina apenas à plataforma de uma empresa (digamos, o iOS da Apple) quando a própria web deveria ser uma plataforma universal? O Facebook inicialmente ficou do lado da web, construindo um aplicativo da web HTML5 esperava que os usuários do iPhone e do Android adotassem. Mas no final, capitulou e desenvolveu aplicativos nativos separados, porque naquela época a experiência nativa era melhor.

Hoje, o ChatGPT tem uma atração gravitacional semelhante à da Apple e do Google em 2008. Sua enorme base de usuários e a crescente aceitação de interfaces baseadas em bate-papo tornam-no uma plataforma de aplicativos atraente. No entanto, numa curiosa inversão da história, a OpenAI inverteu o paradigma: a nova plataforma de aplicações mais dinâmica não é um sistema operativo móvel nativo, mas um anfitrião de IA que renderiza mini-aplicações construídas com tecnologia web.

Em outras palavras, se você é um desenvolvedor terceirizado que está criando um aplicativo de IA, não precisa necessariamente se preocupar em criar plataformas nativas. Em vez disso, você pode simplesmente construir um aplicativo da web que faça interface por meio do MCP e seja executado dentro do ChatGPT. Certamente é isso que a OpenAI gostaria que você fizesse.

Sair da versão mobile