← Blog

Preise sollten keinen Engineer brauchen

Den größten Teil dieses Projekts hieß eine Preisänderung: JSON editieren, Merge Request öffnen, auf CI warten, Deploy-Job anstoßen. Vollkommen sicher. Vollkommen falsch.

Der Preis ist die schnellstlebige Zahl in einem Marktplatz. Wenn eine Messung zeigt, dass Hosts weniger verdienen als ihr Strom kostet, muss der Preis sich noch am selben Nachmittag bewegen — nicht nach einem Release-Fenster.

Zwei Schichten, mit Absicht

Das ausgelieferte Preisbuch gibt es weiterhin. Es ist das, womit eine frische Umgebung startet, was die Kohärenztests lesen und was ein Deployment trägt. Neu ist, dass ein Operator-Override es jetzt schlägt — gesetzt im Dashboard, angewendet auf den allernächsten Job.

Neben jedem überschriebenen Preis steht ein Reset. Der Ausweg aus einer schlechten Änderung ist ein Klick zurück zum Ausgelieferten — und genau diese Eigenschaft macht das Editieren von Preisen in einem Webformular überhaupt akzeptabel.

Die Leitplanken sind der interessante Teil

Ein Preisformular, das alles akzeptiert, ist ein Risiko. Dieselben Invarianten, die unsere Build-Tests erzwingen, werden beim Schreiben erneut erzwungen, weil dieser Weg an der Datei vorbeiführt:

  • Ein Modell, das nicht existiert, kann keinen Preis bekommen. Eine ID ohne Katalogeintrag ist ein Modell, das Kunden aufrufen können und kein Host bedienen kann — genau diesen Bug haben wir einmal ausgeliefert, und deswegen gibt es die Tests.
  • Output kann nie billiger sein als Input. Fast immer ein Tippfehler, und ein teurer.
  • Nichts ist gratis. Eine Null würde Hosts umsonst arbeiten lassen.
  • Der versprochene Kontext kann nicht größer sein als das, was der schwächste Build bedient. Ein Kunde kann sich nicht aussuchen, welcher Host ihm antwortet — das Versprechen muss also auf dem kleinsten halten.

Das Formular zeigt diese Grenzen, statt sie entdecken zu lassen: Jede Zeile nennt die Größe des Modells, die kleinste Karte, die es bedienen kann, und die Kontextobergrenze, die der schwächste Build erzwingt. Es zeigt außerdem in einer Vorschau, was ein Host mit gemessenen 60 Token pro Sekunde zum gerade eingetippten Preis verdienen würde — denn das ist die Zahl, die entscheidet, ob es überhaupt jemand bedient.

Und es steht geschrieben, wer es war

Jede Änderung hält Operator und Zeitstempel fest. Preise bewegen Geld zwischen uns und den Hosts; „wer hat 0,75 gesetzt, und wann" muss eine Antwort haben.

Und wenn die Datenbank nicht erreichbar ist, bedienen die ausgelieferten Preise weiter. Ein Preis-Lookup darf nie der Grund sein, warum ein Job scheitert.

Was Sie zahlen, und warum es sich bewegt · Aktuelle Preise · Was das einem Host zahlt

Read next

a GPU died mid-sentence. the sentence finished.

Consumer hardware disappears without notice — someone sits down at their PC, a breaker trips, Wi-Fi drops. Our streams now survive that: another machine picks the answer up mid-word, and the dead segment is billed to nobody.

one model, every card: how a 27b runs on 8 gb

Qwen3.8 27B ships in five builds, from Q5_K_M on a 24 GB card down to IQ2_XXS on 8 GB. Why we split models from builds, what quantization actually costs, and how a quantized KV cache doubled our context overnight.

Model catalogue · Knowledge base · Run a GPU