Microsoft bietet mit/bei Copilot gerade verschiedene “Modi” an.
Grundsätzlich verwendet Copilot ja GPT 5.1, das einen AUTO-Modus hat, aber du kannst auch eine “Tiefere Analyse” auswählen. In der “Preview” stehen auch GPT5.2 und sogar Claude für die Arbeit mit Copilot zur Verfügung.
Ich hab mir das ganze mal genauer am Beispiel der Mathe-Matura - September 2025 - Aufgabe 1 angesehen und doch sehr interessante Unterschiede feststellen können.
<aside>
Löse die folgende Aufgabe:

</aside>

Und hier die unterschiedlichen Ausgaben, die klar zeigen, dass alleine der Sprung von GPT 5.1 auf 5.2 enorme Unterschiede in der Qualität ergibt
<aside>




</aside>
<aside>




import matplotlib.pyplot as plt
from matplotlib.patches import Circle
from matplotlib.lines import Line2D
# German labels
root_label = "Start"
left1_label = "Ass"
right1_label = "kein Ass"
# Probabilities
p_left1 = "4/52"
p_right1 = "48/52"
# Second draw conditional
p_left_left = "3/51"
p_left_right = "48/51"
p_right_left = "4/51"
p_right_right = "47/51"
# Leaf labels
leaf_ll = "Ass"
leaf_lr = "kein Ass"
leaf_rl = "Ass"
leaf_rr = "kein Ass"
# Coordinates for a tidy binary tree
fig, ax = plt.subplots(figsize=(9,5))
ax.set_xlim(-1, 9)
ax.set_ylim(-1, 5)
ax.axis('off')
# Node positions
root = (4,4)
left1 = (2,2.5)
right1 = (6,2.5)
left_left = (1,1)
left_right = (3,1)
right_left = (5,1)
right_right = (7,1)
# Draw edges
edges = [
(root, left1, p_left1),
(root, right1, p_right1),
(left1, left_left, p_left_left),
(left1, left_right, p_left_right),
(right1, right_left, p_right_left),
(right1, right_right, p_right_right)
]
for (p0, p1, lab) in edges:
line = Line2D([p0[0], p1[0]], [p0[1], p1[1]], color='black', lw=1.5)
ax.add_line(line)
# place label roughly midway
mx, my = (p0[0]+p1[0])/2, (p0[1]+p1[1])/2
ax.text(mx, my+0.15, lab, fontsize=12, ha='center', va='bottom')
# Draw nodes (circles) and labels
node_specs = [
(root, root_label),
(left1, left1_label),
(right1, right1_label),
(left_left, leaf_ll),
(left_right, leaf_lr),
(right_left, leaf_rl),
(right_right, leaf_rr)
]
for (pos, label) in node_specs:
circ = Circle(pos, 0.22, edgecolor='black', facecolor='white', lw=1.5)
ax.add_patch(circ)
ax.text(pos[0], pos[1], label, fontsize=12, ha='center', va='center')
plt.tight_layout()
plt.savefig('baumdiagramm_karten.png', dpi=200)
'baumdiagramm_karten.png'


</aside>
<aside>





</aside>
<aside>








</aside>
Für “Insider” ist sogar Copilot mit Claude verfügbar. Da sieht das Ergebnis dann so aus:
<aside>



import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
# Erstelle eine größere Figur für bessere Lesbarkeit
fig, ax = plt.subplots(figsize=(16, 12))
ax.set_xlim(-1, 11)
ax.set_ylim(0, 11)
ax.axis('off')
# Funktion zum Zeichnen einer Box
def draw_box(ax, x, y, text, width=1.5, height=0.6, color='lightblue', fontsize=12):
box = mpatches.FancyBboxPatch(
(x - width/2, y - height/2), width, height,
boxstyle="round,pad=0.1",
edgecolor='black',
facecolor=color,
linewidth=2.5
)
ax.add_patch(box)
ax.text(x, y, text, ha='center', va='center',
fontsize=fontsize, fontweight='bold', family='sans-serif')
# Funktion zum Zeichnen einer Linie mit Wahrscheinlichkeit
def draw_branch(ax, x1, y1, x2, y2, prob_text, text_offset_x=0, text_offset_y=0):
# Zeichne die Linie
ax.plot([x1, x2], [y1, y2], 'k-', linewidth=2.5)
# Position für den Text (leicht versetzt von der Mitte)
text_x = (x1 + x2) / 2 + text_offset_x
text_y = (y1 + y2) / 2 + text_offset_y
# Zeichne den Wahrscheinlichkeitstext mit Hintergrund
ax.text(text_x, text_y, prob_text,
ha='center', va='center',
fontsize=11,
bbox=dict(boxstyle='round,pad=0.4',
facecolor='white',
edgecolor='black',
linewidth=1.5))
# Positionen definieren
# Startpunkt
start_x, start_y = 5, 10
# Erste Stufe
ass1_x, ass1_y = 2.5, 7.5
keinass1_x, keinass1_y = 7.5, 7.5
# Zweite Stufe (von Ass)
ass_ass_x, ass_ass_y = 1, 4.5
ass_keinass_x, ass_keinass_y = 4, 4.5
# Zweite Stufe (von kein Ass)
keinass_ass_x, keinass_ass_y = 6, 4.5
keinass_keinass_x, keinass_keinass_y = 9, 4.5
# Farben
color_start = '#E3F2FD'
color_ass = '#90CAF9'
color_keinass = '#FFCC80'
color_end = '#C8E6C9'
# Titel
ax.text(5, 10.8, 'Baumdiagramm: Ziehen von 2 Karten ohne Zurücklegen',
ha='center', fontsize=16, fontweight='bold', family='sans-serif')
# Untertitel
ax.text(5, 10.3, '(52 Karten, davon 4 Asse)',
ha='center', fontsize=12, style='italic', color='#555')
# Startknoten
draw_box(ax, start_x, start_y, 'Start', width=1.3, height=0.5, color=color_start, fontsize=11)
# Erste Stufe - Knoten
draw_box(ax, ass1_x, ass1_y, 'Ass', width=1.3, height=0.5, color=color_ass, fontsize=12)
draw_box(ax, keinass1_x, keinass1_y, 'kein Ass', width=1.5, height=0.5, color=color_keinass, fontsize=12)
# Zweite Stufe - Knoten (von Ass)
draw_box(ax, ass_ass_x, ass_ass_y, 'Ass', width=1.3, height=0.5, color=color_ass, fontsize=12)
draw_box(ax, ass_keinass_x, ass_keinass_y, 'kein Ass', width=1.5, height=0.5, color=color_keinass, fontsize=12)
# Zweite Stufe - Knoten (von kein Ass)
draw_box(ax, keinass_ass_x, keinass_ass_y, 'Ass', width=1.3, height=0.5, color=color_ass, fontsize=12)
draw_box(ax, keinass_keinass_x, keinass_keinass_y, 'kein Ass', width=1.5, height=0.5, color=color_keinass, fontsize=12)
# Erste Stufe - Äste mit Wahrscheinlichkeiten
draw_branch(ax, start_x, start_y-0.3, ass1_x, ass1_y+0.3, '4/52', text_offset_x=-0.4, text_offset_y=0.2)
draw_branch(ax, start_x, start_y-0.3, keinass1_x, keinass1_y+0.3, '48/52', text_offset_x=0.4, text_offset_y=0.2)
# Zweite Stufe - Äste mit Wahrscheinlichkeiten (von Ass)
draw_branch(ax, ass1_x, ass1_y-0.3, ass_ass_x, ass_ass_y+0.3, '3/51', text_offset_x=-0.3, text_offset_y=0.15)
draw_branch(ax, ass1_x, ass1_y-0.3, ass_keinass_x, ass_keinass_y+0.3, '48/51', text_offset_x=0.3, text_offset_y=0.15)
# Zweite Stufe - Äste mit Wahrscheinlichkeiten (von kein Ass)
draw_branch(ax, keinass1_x, keinass1_y-0.3, keinass_ass_x, keinass_ass_y+0.3, '4/51', text_offset_x=-0.3, text_offset_y=0.15)
draw_branch(ax, keinass1_x, keinass1_y-0.3, keinass_keinass_x, keinass_keinass_y+0.3, '47/51', text_offset_x=0.3, text_offset_y=0.15)
# Beschriftung der Stufen auf der linken Seite
ax.text(-0.3, 7.5, '1. Karte', fontsize=13, fontweight='bold',
rotation=90, va='center', ha='center',
bbox=dict(boxstyle='round,pad=0.5', facecolor='#F5F5F5', edgecolor='black', linewidth=1.5))
ax.text(-0.3, 4.5, '2. Karte', fontsize=13, fontweight='bold',
rotation=90, va='center', ha='center',
bbox=dict(boxstyle='round,pad=0.5', facecolor='#F5F5F5', edgecolor='black', linewidth=1.5))
# Endpunkte mit Gesamtwahrscheinlichkeiten
def draw_endpoint(ax, x, y, outcome, probability):
ax.text(x, y-0.8, outcome, ha='center', va='center',
fontsize=10, fontweight='bold',
bbox=dict(boxstyle='round,pad=0.4', facecolor=color_end,
edgecolor='black', linewidth=1.5))
ax.text(x, y-1.3, probability, ha='center', va='center',
fontsize=9, style='italic', color='#1976D2')
# Berechne und zeige Gesamtwahrscheinlichkeiten
draw_endpoint(ax, ass_ass_x, ass_ass_y, '2 Asse', 'P = 12/2652')
draw_endpoint(ax, ass_keinass_x, ass_keinass_y, '1 Ass', 'P = 192/2652')
draw_endpoint(ax, keinass_ass_x, keinass_ass_y, '1 Ass', 'P = 192/2652')
draw_endpoint(ax, keinass_keinass_x, keinass_keinass_y, '0 Asse', 'P = 2256/2652')
# Fußnote
ax.text(5, 0.5, 'P(mindestens 1 Ass) = 1 - P(0 Asse) = 1 - 188/221 = 33/221 ≈ 14,93%',
ha='center', fontsize=11,
bbox=dict(boxstyle='round,pad=0.6', facecolor='#FFF9C4',
edgecolor='#F57C00', linewidth=2))
plt.tight_layout()
# Speichere die Grafik
plt.savefig('baumdiagramm.png', dpi=300, bbox_inches='tight', facecolor='white')
print("Baumdiagramm wurde erfolgreich erstellt und als 'baumdiagramm.png' gespeichert!")
print("\\nDas Diagramm zeigt:")
print("- 1. Stufe: Erste Karte ist Ass (4/52) oder kein Ass (48/52)")
print("- 2. Stufe: Zweite Karte abhängig von der ersten Ziehung")
print("- Endpunkte: Alle möglichen Ausgänge mit Gesamtwahrscheinlichkeiten")
plt.close()


</aside>