Router: Namensraum auto/ mit acht Profilen auf drei Achsen (42i/intern#1252)
Der Preisfinder waehlte bisher ueber EINE Zahl. Ein Modell kann generalistisch gut aussehen und agentisch durchfallen -- gemini-3.8-flash hat Coding 76,3 und Agentic 41,2 und traegt den Werkzeug-Rundlauf nicht. - openrouter-auswahl: billigsterUeberSchwelle reicht minCoding/minAgentic an klasseFiltern durch (nahm es bereits entgegen, wurde nur nie gefuettert) - config: art "schwelle" hat jetzt index, coding und agentic, jede optional; "fest" kennt ausweich - resolver: Beschreibung nennt die geforderten Achsen - server: ein festes Ziel weicht bei Upstream-Ausfall EINMAL auf den konfigurierten Alias aus. Ohne das haengt mit dem lokalen Knoten jede Titelzeile jedes Agenten, weil auto/mass ueberall als small_model haengt. - acht Profile, Rollen darauf umgehaengt, 42i/marvin-2609:* bleiben als Namen Aufgeloest (ohne Last-Probe, alle Ziele laufen bereits ueber bestehende Aliasse): coding:junior und leader:junior -> glm-5.3-flash, coding:senior -> grok-4.6:high, leader:senior -> glm-5.3:max (15,66 statt 26 gewichtet -- die Regel findet etwas Billigeres als die Schaetzung im Ticket), mass:fast -> ling. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+79
-21
@@ -150,32 +150,90 @@
|
||||
}
|
||||
},
|
||||
"_doku": "Test-Hirn fuer Inka (2026-09-06): Qwen 3.8 27B OHNE Denkstufe und mit festen Providern (fp8, Cache-Treffer $0,05/1M, Uptime >99,6 %), damit der Prompt-Cache ueber die Zuege traegt. Erster Qwen-Anruf ohne das: 5,2 s je Zug, 700 Reasoning-Token, Cache in 3 von 8 Zuegen."
|
||||
},
|
||||
"auto/mass": {
|
||||
"art": "fest",
|
||||
"upstream": "qwen",
|
||||
"model": "qwen36:35b",
|
||||
"body": {
|
||||
"chat_template_kwargs": {
|
||||
"enable_thinking": true
|
||||
}
|
||||
},
|
||||
"ausweich": "auto/mass:fast",
|
||||
"_doku": "Massenarbeit ohne Latenzanspruch: Mail-Ingest, Triage, Zusammenfassungen, opencodes small_model. Laeuft auf der eigenen Karte und kostet nichts. Steht der Knoten oder ist die Karte belegt, weicht der Router einmal auf auto/mass:fast aus -- ohne das haengt sonst jede Titelzeile jedes Agenten (42i/intern#1252)."
|
||||
},
|
||||
"auto/mass:fast": {
|
||||
"art": "schwelle",
|
||||
"index": 25,
|
||||
"minContext": 256000,
|
||||
"_doku": "Wie auto/mass, aber wenn es schnell gehen muss: billigstes Cloud-Modell ueber der Mindestschwelle. Andreas 2026-09-06: 'bei masse ist halt: brauchst du es schnell, nimm ling, ist geschwindigkeit nicht wichtig, nimm core'."
|
||||
},
|
||||
"auto/allround:junior": {
|
||||
"art": "schwelle",
|
||||
"index": 40,
|
||||
"minContext": 256000,
|
||||
"_doku": "Standard fuer alles ohne besondere Achse: Text, Service, Assistenz, Doku."
|
||||
},
|
||||
"auto/allround:senior": {
|
||||
"art": "schwelle",
|
||||
"index": 49,
|
||||
"minContext": 256000,
|
||||
"_doku": "Wie allround, aber wenn der generalistische Index zaehlt -- begutachten und entwerfen statt Werkzeugschleife."
|
||||
},
|
||||
"auto/coding:junior": {
|
||||
"art": "schwelle",
|
||||
"coding": 68,
|
||||
"agentic": 45,
|
||||
"minContext": 256000,
|
||||
"_doku": "Code schreiben und pruefen. Agentic als Untergrenze, weil der Werkzeug-Rundlauf (lesen, patchen, testen, Fehler deuten) sonst nicht traegt."
|
||||
},
|
||||
"auto/coding:senior": {
|
||||
"art": "schwelle",
|
||||
"coding": 76,
|
||||
"agentic": 50,
|
||||
"minContext": 256000,
|
||||
"_doku": "Schwerere Code-Aufgaben. Ausdruecklich anfordern (/model auto/coding:senior); keine Rolle zeigt von sich aus hierher."
|
||||
},
|
||||
"auto/leader:junior": {
|
||||
"art": "schwelle",
|
||||
"index": 45,
|
||||
"agentic": 50,
|
||||
"minContext": 256000,
|
||||
"_doku": "Fuehren und koordinieren: lange Schleifen ueber fremde Tickets, Subagenten ansetzen, fremde Fehler erkennen. Latte 50 (Andreas 2026-09-06): tiefer zu gehen laesst nur Schlechteres zu, nichts Billigeres."
|
||||
},
|
||||
"auto/leader:senior": {
|
||||
"art": "schwelle",
|
||||
"coding": 74,
|
||||
"agentic": 53,
|
||||
"minContext": 256000,
|
||||
"_doku": "Die teure Stufe. Latte 53 statt 55 (Andreas 2026-09-06): damit erfuellt grok-4.6 das Profil, Opus 5 bleibt erreichbar, wird aber nicht mehr automatisch gewaehlt. Stand 2026-09-07 zeigt KEINE Rolle hierher."
|
||||
}
|
||||
},
|
||||
"_stufen_doku": "Stufen als Index-Schwelle (Artificial-Analysis-Intelligence-Index, 0-100) mit Mindestkontext (Andreas 2026-09-05): low 25/256k, medium 45/256k, high 49/500k, max 53/500k. Die Art \"alternative\" mit Referenzmodell (z.B. anthropic/claude-opus-5:medium) bleibt möglich. Namen versioniert wie bei LiteLLM (2608): 42i/marvin-2609:*.",
|
||||
"_fallback_entfernt": "Bis 2026-09-07 gingen unbekannte Modellnamen (die 2608-Reihe) an LiteLLM durch. Mit der Abschaltung von LiteLLM ist der Weg weg: unbekannte Namen sind jetzt ein Fehler statt einer stillen Weiterleitung. Das ist Absicht -- eine Weiterleitung an einen toten Dienst waere ein Timeout ohne Hinweis, und seit Caddy auf :4000 auf den Router zeigt, waere es sogar eine Schleife auf sich selbst.",
|
||||
"_rollen_doku": "Rollen entkoppeln Agenten von Modellnamen: ein Agent ruft role/worker, welches Modell dahintersteht, stellt man HIER um -- aus der Ferne, ohne Container-Deploy. Ziele: 42i/*-Alias, openrouter/<id>[:effort] (1:1) oder alt/<id>[:effort] (guenstigste Alternative). Vorbelegung 2026-09-05 (Elton): Fuehrungsrollen high, Rest medium. Feinjustierung Andreas 2026-09-07: teamleader, lead UND xo auf medium (= leader:junior nach 42i/intern#1252). Der xo kam am selben Tag von Claude Code/Max-Abo auf opencode ueber den Router -- ausdruecklich als Versuch, hochstufen ist eine Zeile hier. Damit steht KEINE Rolle mehr auf high: architect folgte am selben Tag (Andreas). Alle 21 Rollen liegen auf der guenstigen Stufe; hochgestuft wird einzeln und mit Anlass. role/inka (2026-09-06): Inkas Telefon-Hirn = Luna (Cloud-Optimum: 1,8 s/Zug, Cache greift). Getestet und verworfen: Qwen 3.8 27B via OpenRouter (mit Denken 5,2 s/Zug; ohne Denken 1,4 s, aber kein Cache-Treffer bei AkashML -> 3-4x Kosten) und lokales qwen36:35b auf der B70 (Prefill 7,5 s, Decode 19 s). Alias 42i/inka-qwen bleibt fuer weitere Tests.",
|
||||
"_rollen_doku": "Rollen entkoppeln Agenten von Modellnamen: ein Agent ruft role/worker, welches Modell dahintersteht, stellt man HIER um -- aus der Ferne, ohne Container-Deploy. Seit 2026-09-07 zeigen die Rollen auf auto/-Profile (42i/intern#1252) statt direkt auf eine Index-Stufe: die Wahl haengt jetzt an der Achse, die zur Aufgabe passt. xo, teamleader und lead auf auto/leader:junior (Andreas 2026-09-07: keine Rolle mehr auf der teuren Stufe); worker, engineer, qa und perf auf auto/coding:junior; alles uebrige auf auto/allround:junior. role/inka bleibt fest auf Luna (Telefon-Hirn, Cache-Verhalten gemessen). Die 42i/marvin-2609:*-Stufen bleiben als eigene Namen bestehen, damit direkte Aufrufe weiter gehen.",
|
||||
"rollen": {
|
||||
"xo": "42i/marvin-2609:medium",
|
||||
"architect": "42i/marvin-2609:medium",
|
||||
"teamleader": "42i/marvin-2609:medium",
|
||||
"lead": "42i/marvin-2609:medium",
|
||||
"worker": "42i/marvin-2609:medium",
|
||||
"engineer": "42i/marvin-2609:medium",
|
||||
"po": "42i/marvin-2609:medium",
|
||||
"speaker": "42i/marvin-2609:medium",
|
||||
"support": "42i/marvin-2609:medium",
|
||||
"assistant": "42i/marvin-2609:medium",
|
||||
"privacy": "42i/marvin-2609:medium",
|
||||
"service": "42i/marvin-2609:medium",
|
||||
"ops": "42i/marvin-2609:medium",
|
||||
"marketing": "42i/marvin-2609:medium",
|
||||
"qa": "42i/marvin-2609:medium",
|
||||
"perf": "42i/marvin-2609:medium",
|
||||
"i18n": "42i/marvin-2609:medium",
|
||||
"docs": "42i/marvin-2609:medium",
|
||||
"ar": "42i/marvin-2609:medium",
|
||||
"archivist": "42i/marvin-2609:medium",
|
||||
"xo": "auto/leader:junior",
|
||||
"architect": "auto/allround:junior",
|
||||
"teamleader": "auto/leader:junior",
|
||||
"lead": "auto/leader:junior",
|
||||
"worker": "auto/coding:junior",
|
||||
"engineer": "auto/coding:junior",
|
||||
"po": "auto/allround:junior",
|
||||
"speaker": "auto/allround:junior",
|
||||
"support": "auto/allround:junior",
|
||||
"assistant": "auto/allround:junior",
|
||||
"privacy": "auto/allround:junior",
|
||||
"service": "auto/allround:junior",
|
||||
"ops": "auto/allround:junior",
|
||||
"marketing": "auto/allround:junior",
|
||||
"qa": "auto/coding:junior",
|
||||
"perf": "auto/coding:junior",
|
||||
"i18n": "auto/allround:junior",
|
||||
"docs": "auto/allround:junior",
|
||||
"ar": "auto/allround:junior",
|
||||
"archivist": "auto/allround:junior",
|
||||
"inka": "openrouter/openai/gpt-5.6-luna"
|
||||
},
|
||||
"_namen_doku": "Namensraeume: 42i/* = konfigurierte Aliasse (aliases); deizo/* = Modelle im Prod-RZ deizo (kira, fest); openrouter/<id>[:effort] = 1:1 an OpenRouter, Effort als reasoning.effort; alt/<id>[:effort] = guenstigste Alternative derselben Klasse (Intelligence, Coding, Agentic je >= 95 % der Referenz, Kontext >= 90 %, billiger), aufgeloest bei der ersten Anfrage und im 12h-Takt erneuert, OHNE Last-Probe; role/<name> = Rolle (rollen). Alles andere -> fallback (LiteLLM).",
|
||||
|
||||
Reference in New Issue
Block a user