6 leçons que nous avons apprises en construisant un moteur de recherche pour les développeurs

6 leçons apprises lors de la création d'un moteur de recherche pour les développeurs

Clause de non-responsabilité : Ce billet de blog a été publié avant les dernières avancées de You.com en matière d'IA et peut ne pas refléter nos capacités actuelles. You.com est passé d'un moteur de recherche à un assistant d'IA. Avec une base dans la recherche et l'expertise de l'équipe en matière d'IA, You.com était parfaitement positionné pour améliorer les LLM avec un accès en direct à l'Internet afin d'aborder les questions relatives aux hallucinations et à la transparence. Ainsi, You.com est capable d'effectuer des tâches allant de la recherche en ligne à la rédaction d'un essai, en passant par le débogage de code, la création d'œuvres d'art numériques, la résolution de problèmes complexes, etc. En savoir plus sur la façon de tirer le meilleur parti de You.com.

You.com propose également sa technologie de base par le biais d'une série d'API en libre-service. Obtenez tous les détails sur l'API YOU.

La recherche rapide de code est un super pouvoir. Mais les recherches de codes sont difficiles et prennent beaucoup de temps, nécessitant souvent 85 % d'éditions de requêtes en plus que les recherches non codantes [1]. C'est pourquoi nous avons décidé de créer un moteur de recherche pour les développeurs. Comme vous pouvez vous en douter, nous avons dû faire face à de nombreux problèmes lors de la construction d'un moteur de recherche de niche complexe ; en cours de route, nous avons tiré quelques leçons.

Les meilleurs produits naissent d'expériences douloureuses

Les développeurs utilisent de nombreuses méthodes de recherche pour trouver ce dont ils ont besoin. Ils créent de nouvelles requêtes et modifient les requêtes existantes, ajoutent des sites aux résultats de recherche, utilisent des filtres, parcourent la documentation indexée et échangent des termes de recherche jusqu'à ce qu'ils trouvent le type de fichier dont ils ont besoin. S'ils persistent dans ce cycle de création et de modification de requêtes, ils finissent par trouver ce dont ils ont besoin. Chaque clic et chaque chargement de site est une inefficacité qui fait perdre du temps à la résolution des problèmes de codage et à l'accomplissement des tâches de codage.

Notre communauté de développeurs qui vivait dans ce cycle douloureux de recherche de code se demandait souvent pourquoi il n'existait pas un moteur de recherche facile à utiliser, puisant dans toutes les meilleures ressources en matière de codage.

Même Paul Graham s'est interrogé à ce sujet en 2012 et a suggéré que quelqu'un devrait "construire le moteur de recherche que tous les hackers utilisent[2]".

Voici un extrait de l'essai de Graham de 2012 :

Le moyen de gagner ici est de construire le moteur de recherche que tous les pirates utilisent. Un moteur de recherche dont les utilisateurs seraient les 10 000 premiers hackers et personne d'autre serait en position de force malgré sa petite taille, tout comme l'était Google lorsqu'il était ce moteur de recherche. Et pour la première fois depuis plus d'une décennie, l'idée de changer de moteur de recherche me semble envisageable.

Étant donné que toute personne capable de créer cette entreprise est l'un de ces 10 000 hackers, la voie à suivre est au moins simple : créez le moteur de recherche que vous voulez vous-même. N'hésitez pas à le rendre excessivement hacker. Rendez-le très performant pour la recherche de code, par exemple. Souhaitez-vous que les requêtes de recherche soient complètes au sens de Turing ? Tout ce qui vous permet d'obtenir ces 10 000 utilisateurs est ipso facto bon.

Puisque nous avons déjà entamé une quête ambitieuse pour changer l'internet pour toujours avec You.com, nous avons décidé de construire un moteur de recherche pour les développeurs, par les développeurs - à partir de zéro.

C'est ainsi qu'est né YouCode, le meilleur moteur de recherche pour les codeurs.

TL;DR - résumer avec l'IA

Les principaux moteurs de recherche ne sont pas optimisés pour la recherche de codes, car la construction d'un code est une tâche compliquée et difficile. Les petits sites de codage ne sont pas indexés par les principaux moteurs de recherche ou n'ont pas un trafic suffisant pour justifier une organisation et une maintenance. Les grands référentiels de codage contenant des extraits de code propres peuvent être écrasants et difficiles à parcourir, ce qui ralentit les développeurs qui sont pressés de trouver ce dont ils ont besoin.

Nous avons utilisé l'intelligence artificielle et le traitement du langage naturel pour analyser de vastes répertoires d'informations et en faire des résumés concis avec des panneaux latéraux qui s'agrandissent pour révéler les informations les plus importantes, ainsi que des extraits de code que les utilisateurs peuvent copier/coller. Nous avons itéré sur la conception et la mise en page avec notre communauté et introduit un défilement horizontal pour chaque application source qui résume l'information par thème, popularité et sujet pour un survol plus rapide. Sur YouCode, les développeurs peuvent effectuer des recherches verticales et horizontales pour couvrir plus de terrain plus rapidement.

Nous faisons confiance aux données

Traditionnellement, les développeurs s'appuient sur Google pour retrouver leur code. Cependant, la première page de Google est un espace payant, où les résultats sont souvent des contenus SEO trompeurs, des publicités ou des outils qui n'ont pas le bon niveau de profondeur. Cette méthode est inefficace pour les requêtes à longue traîne dont l'intention n'est pas évidente.

Pour résoudre ce problème de pertinence, nous avons mis au point notre propre système de classement. Il est plus sophistiqué et s'appuie sur notre propre traitement des données et notre ingénierie pour explorer, rassembler et analyser les données de manière plus précise et plus minutieuse afin de fournir les informations les plus pertinentes lors de chaque recherche.

Intention vs. l'action envisagée

Les requêtes de recherche des développeurs sont souvent plus uniques et plus problématiques que les requêtes des consommateurs en général. Il est souvent difficile de savoir exactement quelle est la bonne requête pour trouver le bon document. Il est assez fréquent que la réponse complète n'existe même pas. C'est en partie pour cette raison que les développeurs doivent souvent procéder par essais et erreurs en reformulant des recherches connexes pour trouver de bons exemples. C'est une perte de temps : il faut se concentrer sur la compréhension des différents sites et échantillons au lieu de se concentrer sur l'achèvement du projet.

YouCode regroupe plus de 20 meilleures sources pour les développeurs, dont StackOverflow, GitHub, TowardsDataScience, Web3 Schools et HuggingFace, présentées sous forme d'applications que les développeurs peuvent classer par ordre de priorité (ou omettre) dans leurs résultats de recherche. Cela permet aux développeurs d'adapter leurs résultats de recherche à ce dont ils ont exactement besoin à un moment donné, et les options de personnalisation s'étofferont dans les mois à venir.

Il n'y a pas de publicité sur YouCode, et nous ne crawlons pas de contenu mal référencé, afin d'aider les développeurs à rester concentrés.

Un moteur de recherche qui code pour vous

Les codeurs nous ont également dit qu'ils étaient parfois bloqués lorsqu'ils étaient confrontés à de nouveaux cadres, langages de codage ou à des bogues qu'ils ne pouvaient pas corriger. Pour remédier à ce problème, nous avons développé Code Complete, un outil de complétion de code par IA qui écrit le code dans les résultats de recherche, ce qui permet de gagner du temps et d'aider les développeurs à coder plus rapidement.

Code Complete est un puissant outil de suggestion de code qui a été formé sur des milliards de lignes de code provenant de milliers de projets. Il peut suggérer du code en langage naturel à partir du contexte et des conventions de style et peut compléter automatiquement des fonctions dans des dizaines de langages de programmation.

Les développeurs nous ont également fait part d'un autre problème majeur, à savoir la détection des erreurs de codage. Nous avons ajouté un validateur de syntaxe JSON qui permet de détecter les erreurs de style et de formatage du code. Il permet aux développeurs d'identifier et de corriger les erreurs plus rapidement, ce qui leur permet de consacrer plus de temps à la résolution de problèmes plus complexes.

La commodité est la clé

Nous savons que les habitudes sont difficiles à perdre et que même les meilleurs outils ne seront utilisés que s'ils sont facilement accessibles. C'est pourquoi nous avons développé une extension Visual Studio Code qui vous permet de rechercher du code en surlignant le terme. Nous avons également créé une extension Chrome multi-recherche qui vous permet d'effectuer des recherches dans quatre moteurs de recherche différents en un seul clic.

YouCode a été créé par des développeurs et des entrepreneurs passionnés de You.com pour aider chaque développeur à donner le meilleur de lui-même. Tout au long de ce processus, nous avons beaucoup appris.

Construire un produit que nous aimons a été gratifiant. Mais créer l'avenir de la recherche avec les personnes qui en bénéficieront le plus - les utilisateurs - est encore plus satisfaisant.

Youpi, vous avez lu l'article en entier. Si vous avez aimé cette histoire, merci de recommander 👏 et de partager pour aider les autres à la trouver !