Créer une application à partir du langage naturel… Voici notre plat à emporter

Dec 03 2022
OpenAI a récemment lancé son Codex Javascript Sandbox, qui transforme le langage naturel en code. Nous étions curieux de connaître les limites de l'IA générative de pointe et avons décidé d'essayer de créer une application.

OpenAI a récemment lancé son Codex Javascript Sandbox, qui transforme le langage naturel en code. Nous étions curieux de connaître les limites de l'IA générative de pointe et avons décidé d'essayer de créer une application. Si vous le souhaitez, vous pouvez l'essayer par vous-même dans le Codex Sandbox d'OpenAi.

Pour commencer, nous avions besoin d'un problème du monde réel… mais quel problème ? Nous avons commencé à réfléchir aux défis qu'une main-d'œuvre à distance induite par une pandémie a apportés aux entreprises et, plus important encore, à sa chaîne de valeur.

L'un des plus grands défis pour nous a été de nous adapter à la nouvelle norme de communication. Il y a quelques années à peine, nous avions l'habitude de nous rassembler dans une salle de réunion et de dessiner des idées sur un tableau blanc. Nous ne quittions pas la salle tant que la séance de remue-méninges n'était pas terminée. Aujourd'hui, tout cela se passe sur des applications comme Zoom, Slack, Miro et nos tableaux Jira les plus appréciés.

Nous devions encore affiner notre problème, alors nous avons parlé avec un ancien commercial qui était nos yeux et nos oreilles sur le marché. Nous avons commencé à raconter nos défis en travaillant ensemble et nous nous sommes souvenus qu'il était extrêmement difficile de traduire une vision de produit d'un appel Zoom de 30 minutes en spécifications techniques pour les ingénieurs. Trop souvent, le différentiel entre les spécifications et la terre promise ressemblait à ceci :

Nous avons pensé que si nous pouvions rendre le produit final clair avant même de transformer Figma et XD en filaire? Et si nous pouvions permettre aux personnes qui ont le pouls du marché de montrer aux ingénieurs le produit dont ils ont besoin pour réussir ? (et si nous pouvions demander à nos clients de nous montrer ce qu'ils voulaient ?)

Énoncé du problème : En s'adaptant à un nouveau mode de travail à distance, l'ampleur des problèmes de communication augmente à chaque saut. En d'autres termes, plus il y a de personnes impliquées dans la compréhension et la communication d'un produit souhaité, plus le produit final est éloigné de la terre promise.

Hypothèse : Si nous déplaçons la rédaction des spécifications d'un produit au début du cycle de vie du produit (pendant l'idéation), alors le résultat d'un produit sera plus étroitement aligné sur la vision initiale.

Avec notre problème et notre hypothèse prêts à être testés, nous avons ouvert la Sandbox d'OpenAI et commencé le jeu de rôle. Nous avons supposé qu'un client souhaitait créer une application pouvant imiter un navigateur Web, de sorte que :

  1. Si les utilisateurs saisissent une adresse Web, une version miniature du site Web leur sera présentée dans l'application.
  2. L'application doit avoir une apparence d'application SaaS traditionnelle (c'est-à-dire UI/UX)

Nous avons essentiellement économisé :

  • 1 journée de wireframing
  • 1 jour de validation du design
  • 1 jour de redessiner la conception
  • 1 jour de rédaction des spécifications techniques
  • et 2 jours de chasse aux horaires

Alors que l'environnement sandbox ne permettait pas les connexions à des sites externes, la capacité à produire du code fonctionnel était impressionnante.

Voici nos 5 meilleurs plats à emporter.

  1. Le codex d'OpenAI est conçu pour suivre des instructions explicites et directes. Lorsque vous fournissez des spécifications en langage naturel, les éléments que vous essayez de créer doivent être décrits les uns par rapport aux autres et dans la même commande. Sinon, tout élément supplémentaire que vous créerez sera indépendant de ce qui a été codé. Par exemple, si vous souhaitez créer une application avec une barre de navigation en haut et à gauche et un conteneur contenant des éléments supplémentaires, vous devez spécifier sa position l'une par rapport à l'autre dans la même commande.
  2. Il n'y a pas d'annulation, seulement des modifications. Le codex est excellent pour créer des extraits de code qui peuvent être ctrl + c/v dans votre base de code, mais si vous espérez vous fier uniquement à cette solution, vous feriez mieux d'avoir vos spécifications techniques claires comme le jour. Essayer de modifier un ensemble complexe de relations et d'interactions est difficile à annuler et peut parfois entraîner l'IA dans une boucle infinie (référence circulaire ?). Assurez-vous de limiter les appels ou d'avoir un coupe-circuit, sinon vous serez choqué par votre facture.
  3. 101 compétences en codage sont requises. Vous avez besoin d'une certaine familiarité avec la pensée conceptuelle d'un ingénieur, mais vous n'avez pas nécessairement besoin de pouvoir résoudre un problème Leetcode pour utiliser Codex. Cela réduit essentiellement la courbe d'apprentissage pour créer une application et supprime le besoin d'apprendre la grammaire et la syntaxe d'un nouveau langage.
  4. Le style est extrêmement facile. Au lieu d'avoir à connaître CSS pour calculer les pixels ou connaître la différence entre un flexbox et un élément flottant, vous pouvez simplement décrire la position par rapport aux autres éléments. Si vous le souhaitez, vous pouvez également modifier le style de n'importe quel élément individuel aussi prescriptif que vous le souhaitez - n'oubliez pas de lui donner un nom unique.
  5. Itérations plus rapides sur les interactions. L'une des choses les plus difficiles à traduire pour les ingénieurs sont les interactions et les résultats attendus. Tout gâcher pourrait mettre vos sprints en danger et retarder la sortie de votre produit. C'est un investissement qui demande beaucoup de temps, de la création des éléments front-end à la création du comportement attendu sur le back-end. C'est pourquoi les maquettes fidèles sont extrêmement précieuses pour éliminer les problèmes de communication, mais également l'une des étapes les plus gourmandes en ressources et en temps dans la chaîne de valeur d'un produit. Codex est excellent pour vous aider à itérer sur les interactions jusqu'à ce que vous obteniez une UX de type Apple.

Alors que la PNL commence à passer des premiers utilisateurs à la première majorité du marché, elle doit surmonter le gouffre. Cela ne sera possible qu'avec plus de cas d'utilisation réels qui seront adoptés. Nous avons tous vu ce que le battage médiatique fait à un marché. Ne répétons pas l'histoire.