Meine Finanz-App FinMan VHWorx liest Versorgungszähler, Tankquittungen und Kontoauszüge aus Fotos und Dateien. All das läuft über Vision/Text-LLMs von OpenRouter — und vieles davon über kostenlose Modelle.
Kostenlose Modelle sind großartig, außer für eines: Sie ändern sich ständig. Sie erscheinen, verschwinden, werden umbenannt oder stillschweigend abgelehnt. Kodieren Sie eine Modell-ID, und Ihre Funktion stirbt leise an einem zufälligen Dienstag.
Also hat FinMan aufgehört, Modelle als Konstanten zu behandeln. Modelle sind Daten:
- Ein täglicher Job synchronisiert die Live-Modellliste von OpenRouter. Neue kostenlose Vision-Modelle werden automatisch hinzugefügt; verschwundene werden deaktiviert.
- Bezahlte Rückfalle werden täglich nach Preis neu eingestuft. Die Gemini Flash-Familie sichert die kostenlose Stufe, zuerst die günstigsten — sodass ein Failover die Rechnung niemals überrascht.
- Die Erkennung durchläuft die Prioritätenliste. Wenn ein Modell einen Fehler hat oder verschwunden ist, übernimmt das nächste. Ein totes Modell bricht niemals das Foto eines Benutzers.
- Die App aktualisiert sich selbst. Ein separater Job fixiert das beste Modell von einer öffentlichen Community-Rangliste als Priorität #1 — sodass Textaufgaben leise zu dem wechseln, was derzeit am besten ist.
- Änderungen benachrichtigen mich über Telegram. Keine Dashboards zu überprüfen.
Das Ergebnis nach Monaten in der Produktion: Ich habe seitdem keine Modell-ID mehr berührt. Jede Welle von Veralterungen ging unbemerkt vorbei — von mir und von den Benutzern.
Wenn Sie auf LLMs (insbesondere kostenlose Stufen) aufbauen, ist dies die wirkungsvollste kleine Änderung, die ich kenne: Modelle als Daten, nicht Konstanten. Eine Tabelle, ein täglicher Cron, ein Prioritätenlauf. Das ist der ganze Trick.