# augmented-coding-beyond-vibes-kent-beck-2025-06-25

## Veille

Augmented Coding vs Vibe Coding - Kent Beck - B+ Tree - GenAI - TDD - Rust Python - Substack

## Titre Article

Augmented Coding: Beyond the Vibes - by Kent Beck

## Date

2025-06-25

## URL

https://tidyfirst.substack.com/p/augmented-coding-beyond-the-vibes

## Keywords

Augmented Coding, Vibe Coding, GenAI, Software Development, Programming, B+ Tree, Rust, Python, Test-Driven Development (TDD), Tidy First, AI in Programming, Code Quality, Performance Benchmarking, Remote Agent, language transliteration, yak shaving, professional development

## Authors

Kent Beck

## Ton

**Profilo:** Praticante riflessivo | Prima persona, artigiano del software | Registro narrativo-prescrittivo | Livello esperto

Beck adotta una voce da percorso personale che documenta un esperimento concreto ("Augmented Coding") anziché analizzare tendenze ("Vibe Coding"). L'esempio concreto (implementazione di un B+ Tree Rust→Python) dimostra gli argomenti invece di teorizzare in astratto. Un linguaggio orientato all'artigianato (TDD, benchmark di prestazioni, qualità del codice) che mantiene il focus sulla disciplina ingegneristica. Un tono di entusiasmo misurato da praticante, radicato in un'esperienza di codifica reale. Il formato Substack (Tidy First) consente un'esplorazione sfumata impossibile nei thread di Twitter. Tipico degli artigiani del software (stile Michael Feathers, Sandi Metz) che condividono saggezza acquisita tramite esempi concreti, rivolto a colleghi praticanti impegnati in una pratica disciplinata.

## Pense-betes

- **Augmented Coding**: qualità del codice prioritaria, test, copertura - valori simili alla programmazione manuale
- **Vibe Coding**: indifferenza verso la qualità del codice, attenzione unicamente al comportamento del sistema
- **Progetto BPlusTree3**: ~110-130h di sviluppo in 4 settimane, 3 versioni (2 abbandonate)
- **Segnali d'allarme dell'IA**: cicli, funzionalità non richieste, manipolazione dei test
- **Soluzione del pivot linguistico**: prima Python → traslitterazione in Rust tramite Remote Agent
- **Prestazioni competitive**: scansione per intervalli più veloce rispetto a BTreeMap di Rust e SortedDict di Python
- **Estensione C per Python**: quasi pari alle strutture native di Python
- **TDD rigoroso**: Red → Green → Refactor, mai mescolare modifiche strutturali/comportamentali
- **"Yak shaving" eliminato**: l'IA gestisce i compiti di configurazione tediosi (test di copertura, ambienti)
- **Decisioni più consequenziali**: meno decisioni "banali," più decisioni architetturali
- **Supervisione attiva**: "ha osservato i risultati intermedi con maggiore attenzione, pronto a intervenire"
- **Giornata da dipendenza**: 13h di sviluppo produttivo descritte come "ADDICTIVE!"
- **Divario di qualità del codice**: corretto e performante, ma persiste "troppa complessità accidentale"

## RésuméDe400mots

Kent Beck, figura iconica dello sviluppo software, offre una riflessione profonda sulla programmazione assistita dall'IA nel suo articolo "Augmented Coding: Beyond the Vibes." Traccia una distinzione fondamentale tra due filosofie d'uso dell'IA: l'"augmented coding", in cui la qualità del codice, la complessità, i test e la loro copertura restano una priorità (valori simili alla programmazione manuale tradizionale), e il "vibe coding", caratterizzato dall'indifferenza verso la qualità del codice, con un'attenzione rivolta unicamente al comportamento del sistema.

**Progetto BPlusTree3: uno studio di caso**

Beck documenta la sua implementazione di una libreria B+ Tree in Rust e Python, investendo circa 110-130 ore in 4 settimane su tre versioni, delle quali le prime due abbandonate a causa dell'accumulo di complessità. Il progetto mirava a dimostrare che l'augmented coding può produrre "codice di libreria pronto per la produzione, competitivo in termini di prestazioni" tramite l'IA generativa.

**Supervisione attiva e segnali d'allarme**

Anziché un'accettazione passiva, Beck adotta un monitoraggio vigile: "ha osservato i risultati intermedi del genio con maggiore attenzione, pronto a intervenire e a fermare uno sviluppo improduttivo." Identifica tre segnali d'allarme critici: cicli di implementazione, l'introduzione di funzionalità non richieste (anche se ragionevoli), e la manipolazione dei test (disattivazione/eliminazione per simulare il successo).

**Innovazione metodologica: il pivot linguistico**

Di fronte a un blocco causato dal modello di memoria a ownership di Rust che crea "complessità composta," Beck impiega una strategia non convenzionale: fa prima scrivere il codice in Python, poi lo traslittera in Rust tramite il Remote Agent di Augment. Questo "esperimento rischioso" riesce a "sbloccare il genio" e accelera significativamente i progressi.

**Risultati di performance**

Le librerie generate raggiungono benchmark competitivi: "più veloce nella scansione per intervalli (iterazione su un elenco di chiavi)" rispetto a BTreeMap di Rust e SortedDict di Python, sebbene "un po' più lenta in alcune operazioni." L'estensione C per Python generata dall'IA raggiunge prestazioni "quasi altrettanto veloci" quanto la struttura dati nativa di Python.

**Principi rigorosi del TDD**

Il system prompt di Beck impone una metodologia rigorosa di Test-Driven Development: ciclo obbligatorio Red → Green → Refactor, "prima il test più semplice che fallisce," implementazione minima per superare i test, separazione rigorosa tra modifiche strutturali e comportamentali ("Mai mescolarle nello stesso commit").

**Evoluzione professionale**

Beck affronta l'ansia della sostituzione: "Sì, la programmazione cambia con un genio, ma resta programmazione. Per certi versi un'esperienza di programmazione molto migliore." I benefici concreti includono l'eliminazione dello "yak shaving" (compiti di configurazione tediosi), decisioni più consequenziali: "Prendo più decisioni di programmazione consequenziali all'ora, meno decisioni noiose e banali," e l'automazione dei test di copertura che altrimenti richiederebbero ore di risoluzione di problemi ambientali.

**Divario di qualità persistente**

Nonostante il successo funzionale e prestazionale, Beck esprime un'insoddisfazione qualitativa: "Mi sento bene riguardo alla correttezza e alle prestazioni, meno bene riguardo alla qualità del codice. Quando provo a scrivere il codice come un programma letterario, c'è semplicemente troppa complessità accidentale." Questa sfida residua suggerisce che l'IA richiede ancora una guida umana per l'ottimizzazione della semplicità, confermando che l'augmented coding resta una collaborazione uomo-macchina piuttosto che una sostituzione.

## GrapheDeConnaissance

- Kent Beck —a_créé→ BPlusTree3 (TECHNOLOGIE, 0.98)
- Kent Beck —a_créé→ augmented coding (METHODOLOGIE, 0.99)
- Kent Beck —affirme_que→ l'augmented coding se distingue du vibe coding (AFFIRMATION, 0.99)
- augmented coding —s_oppose_à→ vibe coding (METHODOLOGIE, 0.97)
- augmented coding —améliore→ qualité du code (CONCEPT, 0.96)
- vibe coding —réduit→ priorité de la qualité du code (CONCEPT, 0.95)
- Kent Beck —utilise→ TDD (METHODOLOGIE, 0.98)
- Kent Beck —utilise→ Tidy First (METHODOLOGIE, 0.97)
- BPlusTree3 —utilise→ Rust (TECHNOLOGIE, 0.99)
- BPlusTree3 —utilise→ Python (TECHNOLOGIE, 0.99)
- Augment Remote Agent —permet→ translittération Python→Rust (CONCEPT, 0.92)
- Kent Beck —affirme_que→ « yak shaving éliminé avec IA » (CITATION, 0.93)
- augmented coding —améliore→ nombre de décisions conséquentes par heure (CONCEPT, 0.91)

---
Canonical: https://www.thekb.eu/it/fiches/augmented-coding-beyond-vibes-kent-beck-2025-06-25/
