Vai al contenuto principale
Identificare il caso d’uso giusto per Devin è fondamentale per massimizzare l’efficienza e il ritorno sull’investimento (ROI). Di seguito sono riportate le pratiche consigliate per selezionare un caso d’uso che sia in linea con i punti di forza di Devin.

Casi d’uso Enterprise ideali

Criteri ideali per i casi d’uso
Progetti di grandi dimensioni e ad elevato valore per il business che possono essere suddivisi in sottoattività isolate e ripetitive.
Attività che richiedono meno di 90 minuti di lavoro manuale di ingegneria.
Attività retrocompatibili che possono essere validate e unite in modo indipendente.

Requisiti ideali per Devin

Requisito
Alto volume di sottoattività ripetitive (slices)
Attività con complessità da junior engineer
Attività isolate e incrementali
Sottoattività oggettive e verificabili
(Consigliato) Dipendenze di progetto minime
Se la tua attività soddisfa la maggior parte o tutti questi requisiti, è una candidata ideale per Devin.

Progettare il lavoro di Devin

La scelta del tipo di task giusto è fondamentale per massimizzare l’affidabilità di Devin.
ScenarioConsiderazione sull’affidabilitàTipo di task
Chiedere a Devin di creare nuove funzionalità complesse da zero (anche se ripetitive)Affidabilità inferiore su larga scalaTall & Deep
Assegnare a Devin task semplici e ben definitiAltamente affidabile ed efficaceWide & Shallow

Stretto & profondo vs. ampio & superficiale

Confronto tra stretto-profondo e ampio-superficiale
Un ampio backlog di attività semplici, scalabili orizzontalmente (ad esempio la risoluzione di ticket SonarQube) può generare un ROI significativo quando viene esteso a migliaia di iterazioni. Diagramma delle modifiche orizzontali
Più semplice è lo slice, più l’intero progetto risulta affidabile.

Cosa suddividere in slice

Ottimi candidati per Devin:
  • Migrazioni
  • Refactoring
  • Modernizzazioni
  • Backlog di debito tecnico
Ad esempio, quando si lavora a una migrazione di codice, questa deve essere suddivisa in slice isolate, ciascuna gestita da una singola sessione Devin. Slicing use cases illustration

Verifica

Una slice dovrebbe essere la più piccola unità atomica del progetto.
Esempi di slice
File
Notebook
Modulo
RequisitoDettagli
Time LimitOgni slice deve richiedere meno di 90 minuti di lavoro manuale di sviluppo.
VerificaDeve includere un modo per validare le modifiche al codice, ad esempio:
- Esecuzione dei test
- Build del codice
- Verifiche CI
- Uno script di verifica personalizzato
Devin deve avere un chiaro meccanismo di verifica dell’esito (successo/fallimento).
Evita attività con dipendenze eccessive o sistemi esterni. Devin eccelle nelle attività di programmazione.
Diagramma di retrocompatibilità

Esecuzione parallela

RequisitoDescrizione
IsolamentoOgni slice deve essere indipendente e retrocompatibile.
Esecuzione parallelaSfrutta il parallelismo di Devin per eseguire le slice simultaneamente.
Revisione umanaUna volta completato ciascun slice, deve essere sottoposto a revisione umana prima di effettuare il merge in main.
Visualizzazione dell'esecuzione parallela

Considerazioni sulla scalabilità

Overall model diagram
PrincipioDescrizione
Affidabilità a livello di sliceDevin è ottimizzato per la massima affidabilità a livello di singolo slice.
Considerazione sulla scalabilitàQuando si opera su migliaia di slice, mantenere un’elevata affidabilità è fondamentale.
Impatto degli erroriAnche un tasso di errore ridotto può avere un effetto cumulativo quando si lavora su larga scala.

Best practice per la definizione dei task

RequisitoDescrizione
Dettagli chiari dei passaggiFornisci istruzioni esplicite per ogni slice.
Riferimento end-to-endUna guida dettagliata o un video aiuta a garantire coerenza.
Esempi Before/AfterOffri più esempi di codice before/after (coppie input/output).
Accesso alle dipendenzeAssicurati che Devin abbia tutte le dipendenze necessarie per il task.
Devin eccelle in task continuativi di debito tecnico (ad es. revisioni di PR, automazione dei test QA) quando sono correttamente suddivisi in slice e strutturati.
Migrazioni, modernizzazioni e refactoring sono ottimi casi d’uso se possono essere affrontati in modo incrementale. Ad esempio, una migrazione dell’intero repository che richiede tutte le modifiche in una volta sola non è consigliata.
Caso di studio: Nubank Migration Case Study