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?