Perché ho smesso di fare hardcoding delle chiamate alle API di IA

Erano le 23:00. Avevo costruito uno strumento per sviluppatori. OpenAI funzionava. Poi un cliente ha chiesto Claude.

Il mio codice aveva una sola funzione. Chiamava OpenAI direttamente. Per aggiungere Claude, dovevo fare copia e incolla. Questo generava codice scadente.

All'inizio ho usato dei blocchi if-else. Funzionava con due provider. Il terzo provider ha rotto tutto. Il codice è diventato un disastro.

Ho costruito un'interfaccia semplice. Ora l'app richiede un prompt. Non le importa quale IA risponda.

Ecco la logica:

  • Creare una classe base per tutti i provider.
  • Costruire classi separate per OpenAI e Claude.
  • Usare un client per chiamare l'interfaccia.
  • Usare un file di configurazione per passare da un provider all'altro.

Questo approccio ha dei limiti:

  • Non farlo se hai un solo provider.
  • Le funzionalità uniche dell'IA vengono nascoste.
  • Gli errori variano a seconda del provider.

Parti in modo semplice. Scrivi un solo provider. Fai il refactoring quando ne avrai bisogno di un secondo.

Come gestite più provider di IA? Usate degli strumenti o costruite i vostri?

Fonte: https://dev.to/__c1b9e06dc90a7e0a676b/why-i-stopped-hardcoding-ai-api-calls-and-built-a-simple-abstraction-layer-27me