6 lezioni che abbiamo imparato costruendo un motore di ricerca per sviluppatori

6 lezioni che abbiamo imparato costruendo un motore di ricerca per sviluppatori

Esclusione di responsabilità: questo post è stato pubblicato prima degli ultimi progressi dell'intelligenza artificiale di You.com e potrebbe non riflettere le nostre capacità attuali. You.com si è trasformato da motore di ricerca ad assistente AI. Con una base di ricerca e l'esperienza del team nell'IA, You.com era perfettamente posizionato per migliorare i LLM con accesso in tempo reale a Internet per affrontare le questioni relative alle allucinazioni e alla trasparenza. You.com è in grado di svolgere compiti che vanno dalla ricerca online alla scrittura di un saggio, dal debug del codice alla creazione di arte digitale, dalla risoluzione di problemi complessi ad altro ancora. Per saperne di più su come ottenere il massimo da You.com.

You.com offre la sua tecnologia di base anche attraverso una suite di API self-service. Scoprite tutti i dettagli sulle API di YOU.

La ricerca veloce del codice è un superpotere. Ma le ricerche di codici sono difficili e richiedono molto tempo, e spesso richiedono l'85% in più di modifiche alle query rispetto alle ricerche non codificate [1]. Ecco perché abbiamo deciso di costruire un motore di ricerca per sviluppatori. Come ci si può aspettare, sono stati numerosi i problemi che abbiamo affrontato nella costruzione di un complesso motore di ricerca di nicchia; lungo il percorso, abbiamo imparato alcune lezioni.

I prodotti migliori nascono da esperienze dolorose

Gli sviluppatori utilizzano diversi metodi di ricerca per trovare ciò di cui hanno bisogno. Creano nuove query e modificano quelle esistenti, aggiungono siti ai risultati della ricerca, usano filtri, sfogliano la documentazione indicizzata e scambiano i termini di ricerca finché non trovano il tipo di file di cui hanno bisogno. Se persistono in questo ciclo di creazione e modifica delle query, alla fine trovano ciò di cui hanno bisogno. Ogni clic e ogni caricamento del sito è un'inefficienza che sottrae tempo alla soluzione dei problemi di codifica e al completamento delle attività di codifica.

La nostra comunità di sviluppatori che vivevano in questo doloroso ciclo di ricerca del codice ci chiedeva spesso perché non esistesse un motore di ricerca facile da usare che attingesse a tutte le migliori risorse di codifica.

Persino Paul Graham se lo chiedeva già nel 2012 e suggeriva che qualcuno avrebbe dovuto "costruire il motore di ricerca che tutti gli hacker usano[2]".

Ecco un estratto del saggio di Graham del 2012:

Il modo per vincere è costruire il motore di ricerca usato da tutti gli hacker. Un motore di ricerca i cui utenti fossero i primi 10.000 hacker e nessun altro si troverebbe in una posizione molto potente nonostante le sue piccole dimensioni, proprio come lo era Google quando era quel motore di ricerca. E per la prima volta in oltre dieci anni, l'idea di cambiare mi sembra pensabile.

Dal momento che chiunque sia in grado di avviare questa impresa è uno di quei 10.000 hacker, la strada è quantomeno semplice: create il motore di ricerca che volete. Sentitevi liberi di renderlo eccessivamente hacker. Rendetelo davvero ottimo per la ricerca di codici, ad esempio. Volete che le query di ricerca siano complete di Turing? Qualsiasi cosa che vi faccia ottenere quei 10.000 utenti è ipso facto buona.

Poiché abbiamo già iniziato l'ambizioso progetto di cambiare Internet per sempre con You.com, abbiamo deciso di costruire un motore di ricerca per sviluppatori da parte di sviluppatori, partendo da zero.

È così che è nato YouCode, il miglior motore di ricerca per codificatori.

TL;DR - riassunto con l'IA

I motori di ricerca tradizionali non sono ottimizzati per la ricerca di codici, poiché il compito di costruirne uno è complicato e difficile. I siti di codifica di piccole dimensioni non sono indicizzati dai principali motori di ricerca o non hanno un traffico sufficiente a giustificare l'organizzazione e la manutenzione. I grandi archivi di codice contenenti snippet di codice pulito possono essere opprimenti e dolorosi da navigare, rallentando gli sviluppatori che hanno fretta di trovare ciò di cui hanno bisogno.

Abbiamo utilizzato l'intelligenza artificiale e l'elaborazione del linguaggio naturale per analizzare grandi archivi di informazioni in sintesi concise con pannelli laterali che si espandono per rivelare le informazioni più importanti, insieme a frammenti di codice che gli utenti possono copiare/incollare. Abbiamo iterato il design e il layout insieme alla nostra comunità e abbiamo introdotto uno scorrimento orizzontale per ogni app sorgente che riassume le informazioni in base all'argomento, alla popolarità e al soggetto per una più rapida scrematura. Su YouCode, gli sviluppatori possono effettuare ricerche sia in verticale che in orizzontale per coprire più rapidamente un maggior numero di argomenti.

Nei dati confidiamo

Tradizionalmente, gli sviluppatori si affidano a Google per il reperimento del codice. Tuttavia, la prima pagina di Google è un sito a pagamento, dove i risultati sono spesso contenuti SEO fuorvianti, annunci o strumenti che non hanno il giusto livello di approfondimento. Questo è inefficiente per le query a coda lunga in cui l'intento non è così ovvio.

Per risolvere il problema della pertinenza, abbiamo sviluppato un nostro sistema di classificazione. È più sofisticato e si basa sulla nostra elaborazione dei dati e sulla nostra ingegnerizzazione per raccogliere, analizzare e analizzare i dati in modo più preciso e attento, per fornire le informazioni più pertinenti a ogni ricerca.

Intenzione vs. azione prevista

Le query di ricerca degli sviluppatori sono spesso più uniche e più problematiche rispetto alle query generali dei consumatori. Spesso è difficile sapere esattamente quale sia la query giusta per trovare il documento giusto. È abbastanza comune che la risposta completa non esista. Questo è uno dei motivi per cui gli sviluppatori devono spesso ricorrere a tentativi ed errori di riformulazione delle ricerche correlate per far emergere buoni esempi. È una perdita di tempo: ci si lascia prendere dalla comprensione di siti e campioni diversi invece di concentrarsi sul completamento del progetto.

YouCode aggrega 20+ migliori fonti per gli sviluppatori, tra cui StackOverflow, GitHub, TowardsDataScience, Web3 Schools e HuggingFace, presentate come applicazioni che gli sviluppatori possono privilegiare (o omettere) nei risultati della ricerca. Questo permette agli sviluppatori di adattare i risultati della ricerca esattamente a ciò di cui hanno bisogno in un determinato momento e le opzioni di personalizzazione aumenteranno nei prossimi mesi.

Su YouCode non ci sono annunci pubblicitari e non vengono inseriti contenuti SEO di scarsa qualità, per aiutare gli sviluppatori a rimanere concentrati.

Un motore di ricerca che codifica per voi

I coder ci hanno anche detto che a volte sperimentano il blocco dello scrittore quando si trovano di fronte a nuovi framework, linguaggi di codifica o bug che non riescono a risolvere. Per combattere questo problema, abbiamo sviluppato Code Complete, uno strumento di completamento del codice AI che scrive il codice all'interno dei risultati di ricerca, risparmiando tempo e aiutando gli sviluppatori a codificare più velocemente.

Code Complete è un potente strumento di suggerimento del codice che è stato addestrato su miliardi di linee di codice provenienti da migliaia di progetti. È in grado di suggerire il codice in base a richieste in linguaggio naturale derivanti da convenzioni di contesto e di stile e di autocompletare le funzioni in decine di linguaggi di programmazione.

Gli sviluppatori ci hanno anche detto che un altro punto dolente è la cattura degli errori di codifica. Abbiamo aggiunto un validatore della sintassi JSON che aiuta a individuare eventuali errori nello stile e nella formattazione del codice. Ciò consente agli sviluppatori di identificare e correggere gli errori più rapidamente, liberando il loro tempo per risolvere problemi più complessi.

La convenienza è la chiave

Sappiamo che le abitudini sono difficili da rompere e che anche gli strumenti migliori vengono utilizzati solo se sono facilmente accessibili. Ecco perché abbiamo sviluppato un'estensione per Visual Studio Code che consente di cercare il codice evidenziando il termine. Abbiamo anche creato un'estensione Chrome per la ricerca multipla che consente di effettuare ricerche su quattro diversi motori di ricerca con un semplice clic.

YouCode è stato creato da appassionati sviluppatori e imprenditori di You.com per aiutare ogni sviluppatore a dare il meglio di sé. Attraverso questo processo, abbiamo imparato molto.

Costruire un prodotto che ci piace è stato gratificante. Ma creare il futuro della ricerca con le persone che ne trarranno i maggiori benefici - gli utenti - è ancora più soddisfacente.

Evviva, avete letto tutto l'articolo. Se ti è piaciuta questa storia, ti prego di consigliarla 👏 e di condividerla per aiutare gli altri a trovarla!