Come ho costruito una scala di qualità dei contenuti a tre livelli

Scalare siti web programmatici è difficile. Se ti affidi esclusivamente all'IA per scrivere i tuoi contenuti, il tuo sito smette di funzionare quando l'API va giù.

Ho lanciato tre siti di directory: Top AI Tools, Find Games Like e Open Alternative To. Utilizzo una scala di qualità dei contenuti a tre livelli per garantire che mostrino sempre informazioni, anche senza una connessione IA attiva.

Il sistema utilizza una singola colonna nel database chiamata model_used. Monitora tre livelli di qualità:

  • seeded-from-json: Dati di base provenienti da un file. Sono strutturati ma scarni.
  • fallback-template: Un template standard utilizzato se l'IA fallisce o se manca la chiave API. È tecnicamente corretto ma privo di personalità.
  • claude-haiku-4-5: Lo stato target. Fornisce riassunti editoriali di alta qualità e dettagli sfumati.

Utilizzo una specifica query SQL per gestire gli aggiornamenti. Lo script cerca due cose:

  1. Nuove voci che non hanno ancora contenuti.
  2. Voci esistenti che hanno solo contenuti di bassa qualità (seeded o fallback).

Lo script le ordina per popolarità. Aggiorna per prime le pagine più visitate. Questo assicura che le tue pagine con il traffico più alto ricevano immediatamente i migliori contenuti.

Il processo è completamente automatizzato e idempotente. Utilizzo un pattern di upsert. Se un aggiornamento ha successo, il database sovrascrive il vecchio contenuto di fallback con il nuovo contenuto generato dall'IA. La colonna model_used si aggiorna automaticamente.

Utilizzo anche il prompt caching di Anthropic. Questo fa risparmiare molti soldi e token. Poiché i miei system prompt sono gli stessi per ogni voce, la prima chiamata prepara la cache. Le successive 99 chiamate in un batch leggono da quella cache a un costo inferiore.

Scelte architettoniche chiave:

  • Gestione degli errori: Se Claude fallisce, il sistema non va in crash. Scrive semplicemente il template di fallback e passa all'elemento successivo.
  • Sicurezza SEO: Se una pagina non ha alcun contenuto utile, utilizzo un tag noindex. Questo evita che Google indicizzi pagine vuote.
  • Build statiche: Esporto il database in file JSON per Astro. Ciò significa che il mio sito rimane online anche se il database o l'API dell'IA subiscono un'interruzione.

Questa configurazione mi permette di costruire velocemente senza rischiare la stabilità del sito.

Fonte: https://dev.to/morinaga/how-i-built-a-three-tier-content-quality-ladder-for-programmatic-directory-etl-483