Lo sviluppo assistito dall’IA richiede ancora giudizio
· 7 min di lettura
Un workflow disciplinato per usare coding agent senza esternalizzare la responsabilità di engineering.
L’accelerazione sposta il collo di bottiglia
L’IA può produrre opzioni di implementazione, test, migrazioni, documentazione e indagini a velocità notevole. Quella velocità sposta il collo di bottiglia dalla digitazione al giudizio. Gli ingegneri devono definire il problema, selezionare i vincoli, riconoscere errori plausibili e decidere se il risultato si adatta al sistema che lo possiederà.
Un cambio generato può essere sintatticamente corretto e architetturalmente sbagliato. Può duplicare un’astrazione esistente, aggirare l’autorizzazione, ignorare i vincoli di deployment o ottimizzare una funzione locale indebolendo il confine di prodotto. La comprensione del repository resta la differenza tra generazione di codice e engineering.
Dai all’agente un esito delimitato
I task forti descrivono l’esito visibile all’utente, i file o moduli rilevanti, gli invarianti che devono restare veri e come verrà verificato il successo. Evitano di prescrittizzare ogni riga impedendo all’agente di espandersi in refactor non correlati.
Prima di modificare, ispeziona le convenzioni locali, la documentazione del framework e le versioni attuali delle dipendenze. I sistemi di IA sono addestrati su pattern storici; i framework in rapido movimento invalidano spesso API familiari. Ancorare il lavoro al repository reale fa parte della correttezza, non della cerimonia.
- Dichiara il comportamento non negoziabile
- Nomina i test e gli ambienti che contano
- Preserva i cambi utente non correlati
- Chiedi alternative quando una decisione è costosa da invertire
Revisiona il diff come un design
Revisiona il lavoro generato a più livelli. Il flusso utente ha senso? Confini e ownership dei dati sono chiari? Gli stati di fallimento sono gestiti? Il codice è leggibile nel linguaggio del repository? Poi ispeziona sicurezza, accessibilità, performance e comportamento operativo.
I diff grandi generati riducono la qualità della review. Preferisci incrementi piccoli e coerenti con verifica tra di essi. Quando un cambio è meccanico, l’automazione può essere ampia; quando contiene giudizio architetturale, tieni la superficie abbastanza compatta perché un umano possa davvero capirla.
La verifica non è opzionale
Esegui analisi statica, type check, test e build di produzione. Per il lavoro di interfaccia, ispeziona il comportamento reale del browser a breakpoint e stati di interazione rilevanti. Per le migrazioni, testa sia l’esecuzione forward sia il recovery. Per le API, verifica autorizzazione e input malformati, non solo il percorso felice.
L’IA può aiutare a progettare questa verifica, ma non può far sparire la responsabilità. Se la suite di test è debole, anche la confidenza generata è debole. Aggiungi il test di alto valore più piccolo che protegge il comportamento in cambio.
Mantieni umana l’ownership
I coding agent sono collaboratori potenti quando l’ingegnere resta responsabile di intento e conseguenze. Registra le decisioni importanti, dichiara le dipendenze generate e evita di inviare segreti o dati di produzione sensibili negli strumenti senza un confine approvato.
Il vantaggio durevole non è produrre più codice. È accorciare il percorso da un problema ben inquadrato a un esito verificato mantenendo la coerenza del sistema.
Pubblicato il 11 dicembre 2024 da Berktug Berke Ates.