Migration von Magistral
Auf dieser Seite
Lektion am 2. November 2026 überarbeitet. Diese Lektion beschrieb ursprünglich die „immer an”–Funktionalität von Magistral. Da alle Magistral-Modelle am 31. Juli 2026 zurückgezogen wurden, behandelt sie nun die Migration zu
reasoning_effort. Quellen: Modelle – veraltete und entfernte Modelle · Nachdenken · Natives Nachdenken (veraltet).
Wo steht Ihr Code?
Die neuesten Versionen von Magistral, Small 1.2 und Medium 1.2 (-2509), wurden im Frühjahr 2026 als veraltet gekennzeichnet und am 31. Juli 2026 zurückgezogen; Versionen 1.0 und 1.1 waren bereits am 30. November 2025 zurückgezogen. Jeder Code, der weiterhin magistral-small-latest, magistral-medium-latest oder ein datiertes Kennzeichen aus dieser Familie aufruft, adressiert ein Modell, das nicht mehr existiert. Die Migration ist keine Aufgabe mehr, die geplant werden muss – sie muss jetzt erledigt werden.
Die Zuordnungstabelle
| Sie haben verwendet | Das von Mistral vorgesehene Ersatzmodell | Unsere heutige Empfehlung |
|---|---|---|
| Magistral Small (1.0, 1.1, 1.2) | Mistral Small 4 | mistral-small-2603 mit reasoning_effort="high" |
| Magistral Medium (1.0, 1.1, 1.2) | Mistral Medium 3.5 | Small 4, falls die Qualität ausreicht, sonst mistral-large-4-0 mit reasoning_effort="high" |
Warum folgen wir der von Mistral für Magistral Medium vorgesehene Ersatz nicht buchstäblich? Denn Mistral Medium 3.5 ist selbst ab dem 31. Oktober 2026 als veraltet gekennzeichnet, mit einem geplanten Rückzug am 30. April 2027, und Large 4 ist sein Nachfolger. Eine Migration zu diesem Modell bedeutet, sich eine zweite Migration in sechs Monaten vorzuschreiben. Large 4 befindet sich in der öffentlichen Vorschau: Wenn dieses Reifegradniveau für Ihre Produktionsumgebung nicht geeignet ist, bleibt Medium 3.5 ein möglicher Zwischenschritt, sofern Sie den nächsten Wechsel jetzt planen.
Was ändert sich im Code
Magistral hat immer nachgedacht; aktuelle Modelle nachdenken nur, wenn Sie sie dazu auffordern. Das natürliche Äquivalent zu „immer an” ist daher reasoning_effort="high".
# Vorher: Magistral (zurückgezogen)
response = client.chat.complete(
model="magistral-medium-latest",
messages=[
{"role": "system", "content": "Sie sind ein strenger Analyst."},
{"role": "user", "content": question},
],
prompt_mode=None, # Magistral-Standard-Systemprompt deaktiviert
)
# Nachher: Mistral Large 4 mit explizitem Nachdenken
response = client.chat.complete(
model="mistral-large-4-0",
messages=[
{"role": "system", "content": "Sie sind ein strenger Analyst."},
{"role": "user", "content": question},
],
reasoning_effort="high",
)
Vier Punkte müssen dabei bearbeitet werden:
- Modellkennungen: Suchen Sie nach
magistralin Ihrem Code, Konfigurationsdateien und Umgebungsvariablen. prompt_mode: Die Dokumentation zum Nachdenken erwähnt dies nicht mehr; entfernen Sie es von Ihren Aufrufen.- Systemprompts: Löschen Sie das magistral-spezifische Nachdenktemplate (den
thinking-Fragment, das in die Systemnachricht eingefügt wurde) und behalten Sie nur die Anweisungen zu Methode und Format (Lektion 6). - Lesen von Antworten: Die Struktur von Magistral 25.07 und 25.09 (
ThinkChunkgefolgt vonTextChunk) entspricht den aktuellen Modellen, sodass Ihr Lesecode weiterhin gültig ist. Fügen Sie lediglich die Handhabung für den einfachen String-Fall hinzu, den Small 4 und Medium 3.5 zurückgeben, wennreasoning_effort="none"gesetzt ist. Wenn Ihr Code von Magistral 25.06 stammt und nach<think>-Tags im Text suchte, ersetzen Sie dies durch dieseparer-Funktion aus Lektion 3.
Validierung der Migration
Wechseln Sie nicht blind. Spielen Sie eine Auswahl Ihrer echten Fälle mit ihren Referenzantworten nach und vergleichen Sie drei Metriken: Qualität (Genauigkeit, Formatkonformität), verbrauchte Tokens (usage.completion_tokens) und Latenz. Ein einfaches Skript erledigt die Arbeit:
import time
def comparer(client, cas, configs):
"""cas: Liste von (Frage, Verifizierer); configs: Liste von (Modell, Niveau)."""
for modell, niveau in configs:
richtige = tokens = 0
start = time.perf_counter()
for frage, verifizierer in cas:
r = client.chat.complete(
model=modell,
messages=[{"role": "user", "content": frage}],
reasoning_effort=niveau,
)
_, antwort = separer(r.choices[0].message.content)
richtige += bool(verifizierer(antwort))
tokens += r.usage.completion_tokens
dauer = time.perf_counter() - start
print(f"{modell} ({niveau}) : {richtige}/{len(cas)} korrekt, {tokens} Tokens, {dauer:.0f} s")
comparer(client, mes_cas, [
("mistral-small-2603", "high"),
("mistral-large-4-0", "medium"),
("mistral-large-4-0", "high"),
])
Die verifizierer-Funktion hängt von Ihrem Bereich ab: Vergleich mit einem erwarteten Wert, Vorhandensein erforderlicher Elemente oder JSON-Validierung. Dies verwandelt einen Eindruck in eine Entscheidung.
Maximale Nutzung der Migration
Da Sie ohnehin jeden Modellaufruf betreffen, nutzen Sie diese Gelegenheit, um in der Produktion datierte Kennungen zu verwenden (mistral-small-2603 statt mistral-small-latest) und die Auswahl des Modells sowie des Nachdenkniveaus in einer einzigen Konfiguration zu zentralisieren. Der nächste Rückzug – und es wird einen geben – wird dann eine Zeile Code sein.
Kernaussagen
- Magistral wurde am 31. Juli 2026 zurückgezogen: Jeder verbleibende Aufruf adressiert ein nicht verfügbares Modell.
- Magistral Small → Small 4; Magistral Medium → Small 4 oder Large 4 statt Medium 3.5, das selbst als veraltet gekennzeichnet ist.
- „Immer an” übersetzt sich zu
reasoning_effort="high". - Entfernen Sie
prompt_modeund das Nachdenktemplate aus den Systemprompts. - Validieren Sie an Ihren echten Fällen (Qualität, Tokens, Latenz), bevor Sie datierte Kennungen festlegen.