Come uso l'IA per rilasciare codice

Smetti di cercare di scrivere prompt ingegnosi. Inizia a progettare il contesto.

La maggior parte delle persone usa l'IA nel modo sbagliato. Chiedono una funzionalità in una sola frase. L'IA restituisce codice che utilizza le librerie sbagliate, viola le convenzioni di denominazione e reintroduce vecchi bug. Ti ritrovi a passare il pomeriggio a sistemare il disastro.

Un'IA senza contesto è come un junior developer che non ha mai letto il tuo codebase. Dimentica tutto quello che è successo ieri. Non daresti mai a un nuovo assunto un ticket di una sola riga aspettandoti un codice perfetto. Gli daresti un documento di onboarding.

Uso un file di memoria del progetto nel mio repo. Questo file funge da documento di onboarding che l'IA legge ogni volta. Contiene regole specifiche del progetto che un estraneo non conoscerebbe:

• Non negoziabili: come devono apparire gli URL e come gli slug devono corrispondere alla produzione. • Regole logiche: derivare i valori dalle configurazioni invece di inserire numeri hardcoded. • Casi limite (edge cases): impostazioni CDN specifiche o percorsi di file che prevengono interruzioni silenziose.

Ogni errore che commetto diventa una riga in questo file. Questo trasforma il file in un asset che cresce nel tempo. La qualità dell'output dell'IA migliora col tempo perché smetto di ripetermi.

Il mio flusso di lavoro segue questi passaggi:

  • Bootstrap del contesto: chiedi all'IA di bozzare il file di memoria dal tuo codice, poi modificalo tu.
  • Riformula il compito: chiedi all'IA di riassumere l'obiettivo prima di scrivere il codice. Questo permette di individuare gli errori precocemente.
  • Migliora il prompt: chiedi all'IA cosa c'è di ambiguo nella tua richiesta.

Usa l'IA per questi compiti:

  • Scrivere boilerplate e scaffolding.
  • Refactoring basati su pattern esistenti.
  • Spiegare codice sconosciuto.
  • Scansioni meccaniche attraverso un repo.
  • Scrivere test e fixture.

Evita di usare l'IA per questi compiti:

  • Prendere decisioni architettoniche innovative.
  • Prendere decisioni di gusto o di prodotto.
  • Qualsiasi cosa in cui sbagliare sia costoso.
  • Progettazione critica per la sicurezza.
  • La revisione finale prima del rilascio.

La disciplina è semplice:

  • Definisci ambiti piccoli. Non dire "costruisci questa funzionalità". Di' "esegui questa specifica modifica".
  • Fornisci il contesto fin dall'inizio.
  • Verifica ogni output. Esegui la build e leggi il diff.
  • Revisionalo come se fosse la PR di un junior developer. Non fare mai il commit di codice senza che un essere umano lo abbia letto.
  • Inserisci le lezioni apprese nel tuo file di contesto.

La leva non è nel prompt. La leva è nel contesto che mantieni.

Source: https://dev.to/faizahmedfarooqui/how-i-actually-use-ai-to-ship-code-context-engineering-over-clever-prompts-il8

Optional learning community: https://t.me/GyaanSetuAi