Die KI findet bei mir auch in brandneuem Kernelcode während des Reviews brandneue Bugs. Die sind dann durchaus auch mal von der Sorte „unheimliche Race Condition zwischen neuem Code und altem Code ganz woanders“. Deren Erkennung bedarf dann sowohl Untersuchung des neuen Codes, als auch tiefes „Wissen“ und „Verständnis“ der existierenden Code-Basis und Specs.
Das finde ich also gar nicht so unähnlich. Aber du hast Recht, das dauert schon auch noch Minuten (wenn auch wenige). In welchem Verhältnis Spielgeschehnisse stehen, ob diese mehr, ähnlich, oder weniger komplex sind, vermag ich nicht einzuschätzen.
Allerdings wird der Kram auch immer besser und schneller. Das neue Qwen3.8-27B Modell, das problemlos sehr schnell auf einer einzigen RTX 5090 funktioniert, hat bei mir z.B. das hier geleistet: (Ausklappbar, weil viele langweilige Details und eigentlich Thread-fremd)
Zusammenfassung
Ich hab eine DEC Alpha von 1995. Das ist eine längst eingedampfte CPU-Architektur, die Qwen nachweislich nicht gut kennt (zu selten und unwichtig geworden als dass es viel trainieren hätte können). Bei meiner speziellen Alpha kann man die Firmware (also quasi das BIOS) Netz-booten, und das ist in meinem Fall auch nützlich: Für Windows NT und UNIX (Tru64) braucht man jeweils verschiedene Firmwares, und der Flash-Chip meiner Alpha ist zu klein um beide zu halten. Ich habe also die UNIX-Firmware im Flash, und netboote die NT-Firmware wenn ich NT booten will (das ganz normal auf der Platte installiert ist).
Leider hat die NT-Firmware im Gegensatz zur UNIX-Firmware ein Problem: Sie glaubt, das Jahr 2026 sei nicht plausibel (die Ingenieure dachten wohl, niemand benutzt das Ding 25 Jahre später), und weigert sich, damit weiterzubooten. Windows NT selbst hat allerdings gar kein Problem mit dem Jahr 2026, also ist das ziemlich überflüssig und nervig.
Ich habe Qwen nur das netzbootbarte Firmware-File und einen Alpha-Disassembler gegeben (alternativ hab ich’s mir nur dem Firmware-File und der Alpha-Spec probiert, geht auch). Qwen hat selbsttätig, und übrigens völlig ohne Internet:
- Das unbekannte (auch im Netz, konnte also nicht trainiert werden) MOP-Dateiformat analysiert, und festgestellt dass es eine Stelle gab, die wie Code aussah, und eine Stelle, die komprimiert oder verschlüsselt aussieht (hohe Entropie).
- Festgestellt, dass der vorhandene Code ein Stub ist, der den Bereich mit hoher Entropie entkomprimiert und dann dahin springt.
- Analysiert, dass die Kompression das DEFLATE-Verfahren ist. Es gibt in der Datei absolut keine Signaturen, Magic Numbers, bekannte Header-Strukturen, oder auch nur menschenlesbare Strings. Das Modell hat das nur durch Analyse des Codes selbst herausgefunden (Huffman-Tabellen gefunden usw.)
- Den komprimierten Payload entpackt.
- Festgestellt, dass im Payload nun Strings sind, aber nichts, was dem Datumscheck entspricht. Der neue Code enthält PALCode (Code der unter dem Kernel läuft, eine Alpha-Eigenart), und ansonsten einen weiteren Stub der einen weiteren komprimierten Payload dekomprimiert. Der Header dieses Payloads ist aus unerfindlichen Gründen ähnlich aber leicht anders, was auch erstmal irreführend ist.
- Den nun endlich dekomprimierten tatsächlichen Firmware-Code analysiert, den Datumscheck gefunden (nicht trivial in dem Fall), und gepatcht.
- Den gepatchten Code wieder komprimiert und festgestellt: Uh-oh, der komprimierte Payload ist jetzt größer, entweder weil er nicht so gut komprimiert, oder weil der verwendete Compressor (das Modell hat die python standard library benutzt) nicht gut genug ist.
- Je nach Lauf (ich hab’s mehrmals probiert als Benchmark) anders gepatcht, oder mit den Parametern des Compressors gespielt.
- Die innere schicht komprimierten Payloads eingepatcht, Header angepasst.
- Das ganze nochmal komprimiert und die jetzt äußere Schicht des Payloads eingepatcht, Header angepasst.
- Mir als Ergebnis die neue netzbootbare Firmware-Datei zurückgegeben, diesmal ohne Datums-Check.
Einfach so: Ursprüngliche mehrfach verschachtelte Firmware-Datei und lose Beschreibung des Problems eingegeben, Firmware-Datei mir Problem behoben rausgegeben. Selbsttätig.
Es gibt dabei echt gar keine Infos. Im Internet findet man nichts, und der Code ist dichtes Alpha-Assembly ohne jegliche Symbole oder Strings.
Das ist krass. Fable macht das ganze oben übrigens sehr schnell (2 Minuten? Weiß nicht mehr), Qwen auf meiner GPU braucht schon noch eine halbe Stunde, aber es macht doch auch einiges binnen weniger Sekunden.
Wer weiß, ob wir in 5 Jahren nicht Teile der GPU für sehr solide „echte“ Gegner-KI abzwacken werden. (Die kann ja nach der Natur der GPUs dann parallel zum Rest laufen.)
Ja, total. Der Begriff hat selbst einen Wandel durchlaufen, bedeutete abei bei Spielen zumindest die meiste Zeit eh noch eher was anderes, nämlich sowas wie „die Algorithmen die die Gegner steuern“.