Künstliche Intelligenz
Durchaus beeindruckend: ChatGPT Agent im Test
KI-Agenten hypen zurzeit – kein Wunder, schließlich simulieren sie das Handeln echter Menschen. ChatGPT Agent, wohl das bislang meist beachtete Agenten-Produkt, erschien Mitte Juli. c’t 3003 hat die Software ausführlich getestet.
Transkript des Videos
(Hinweis: Dieses Transkript ist für Menschen gedacht, die das Video oben nicht schauen können oder wollen. Der Text gibt nicht alle Informationen der Bildspur wieder.)
Guck mal hier, ich tippe hier ein: Ey, ich brauche Merch für unseren YouTube-Kanal. Hier hast du unser Logo. Hol mal Preise ein für 500 T-Shirts. Gerne so Fairtrade und Bio-Baumwolle und so. Und wenn ich das bestätigt habe, einfach direkt zum Verlag in die Karl-Wiechert-Allee 10 in Hannover bestellen.
Ja, das ist krass, denn das macht der dann wirklich, der ChatGPT Agent. Okay, der hat natürlich keinen Zugriff auf meine Konten. Das heißt, er kann nicht selbst bezahlen, aber die ganze Vorrecherche hat er übernommen und auch den Großteil des Bestellprozesses. Ich muss dann hier nur noch meine Bezahldaten angeben und kann selbst auf „Bestellen“ klicken.
Ist das hier schon wieder die große KI-Revolution, die alles verändern wird? Nein, so einfach ist das nicht, denn Agents und vor allem der ChatGPT Agent, die haben aktuell noch große Probleme.
Das hier ist zum Beispiel der Ballermann-Hit „Serverparty in Palma“, den der Agent für mich geschrieben hat.
In diesem Video zeige ich euch, was schon geht – und das ist auch wirklich beeindruckend –, was noch nicht geht und wo auch unklar ist, ob es jemals gehen wird. Bleibt dran.
Liebe Hackerinnen, liebe Internet-Surfer, herzlich willkommen hier bei …
Was ist überhaupt ein KI-Agent?
Ja, also ChatGPT Agent. Aber lass uns erst mal definieren, was überhaupt so ein Agent ist. Denn der Begriff ist ja, sag ich mal, ziemlich unkonkret. Aber man hört zurzeit immer häufiger davon. Gerade neulich bei der Meldung, dass der Softbank-Manager Masayoshi Son gesagt hat, seine Firma werde Billionen von KI-Agenten einstellen, um echte Menschen rauswerfen zu können. Und Softbank ist laut Forbes immerhin die 130. größte Firma der Welt.
Ja, aber Agenten – ja, was ist das? Also man kann erst mal sagen, dass KI-Agenten Software sind, die mit vorhandenen großen Sprachmodellen arbeiten. Also z. B. der ChatGPT Agent mit GPT-4o. GPT-4o ist einfach das, was voreingestellt ist, wenn ihr ganz normal ChatGPT verwendet.
Und ihr kennt das ja wahrscheinlich, dass sich ChatGPT oder auch Claude oder Grok oder DeepSeek oder LLaMA sich weigern, Dinge wirklich durchzuziehen, also konkrete Dinge zu tun, z. B. irgendwie eine direkte, ausführbare Datei von eurem Programmierprojekt zu erstellen. Die sagen dann immer nur: „Ich kann dir Tipps geben, wie du das hinbekommst.“ Aber das war’s dann halt auch.
Mit Agenten ist das nun anders. Die sollen nämlich einmal die Autonomie von LLMs steigern – also dass die Sachen selbstständig machen und entscheiden können –, aber auch die Fähigkeiten ganz konkret verbessern.
Und wenn ihr jetzt sagt: „Ja, wieso, ChatGPT kann aber doch jetzt schon Python-Code ausführen oder auch Bildgenerierung anschmeißen, wenn ChatGPT das für sinnvoll hält?“ Ja, das stimmt. Das ist auch tatsächlich schon agentenähnliches Verhalten – also dass ChatGPT sich selbst überlegt, was es für Tools verwenden kann. Aber ein richtiger Agent ist nochmal autonomer unterwegs, und vor allem geht das dann auch über mehrere Schritte.
Also, wenn ich zu einem KI-Agenten sage: „Plan mir mal meinen Urlaub, dann und dann, da und da“, dann fängt der an zu überlegen: Wie kommt man denn da jetzt überhaupt hin? Muss ich da irgendwie einen Flug buchen oder einen Zug, Hotels buchen und so weiter? Und Stichwort „buchen“ – der bucht das dann auch wirklich. Zumindest Stand heute: anfangen, die Websites aufzurufen und da meine Daten einzutragen.
Wenn ich im normalen ChatGPT sage: „Plan mir mal meinen Urlaub“, dann gibt er mir halt einfach nur so eine Tagesablaufliste raus, was ich so machen kann. Ums Buchen muss ich mich dann selbst kümmern.
Zusammengefasst: Ein KI-Agent – und in dem Fall ganz konkret ChatGPT Agent – versucht, sich wie ein Mensch zu verhalten. Also eine Person, die mitdenkt und versucht, Entscheidungen in meinem Sinne selbst zu treffen.
Die etwas technischere Erklärung
Also, das war jetzt die nicht-technische Erklärung. Ich als Nerd finde das oft ein bisschen anschaulicher, wenn man das nochmal technisch erklärt. Der ChatGPT Agent hat Zugriff auf seinen eigenen Linux-Rechner. Also, ist natürlich ein virtueller Rechner, klar, aber darauf kann er halt Dinge tun. Also zum Beispiel ein Terminal oder einen Browser ausführen oder einfach ein Bildanzeige-Programm. Er kann dann einfach direkt mit Dateien arbeiten, die ich ihm schicke, oder er kann Dateien generieren, die er mir schickt.
Aber vor allem der Browser macht das Ding natürlich supermächtig, weil ja sehr vieles in einem Browser gemacht werden kann – zum Beispiel T-Shirts bestellen, also ein Beispiel vom Anfang.
Praxisbeispiel 1: Coding
Ja, das war jetzt die Theorie. Kommen wir jetzt endlich zur Praxis. Erst mal mit dem Positivbeispiel, was ich wirklich extrem beeindruckend fand. Ich habe nämlich einfach gesagt: Ich möchte ein Spiel programmiert haben, was richtig doll Spaß macht, aber auch beeindruckend gut aussieht. Bitte frag mich nichts, denk dir einfach irgendwas aus. Ich möchte gleich einfach ein wirklich tolles Spiel spielen. Okay, lass dir so lange Zeit, wie du willst.
Ja, und dann hat es vier Minuten gedauert, und ich habe eine ZIP-Datei bekommen. Und die habe ich ausgepackt und das gestartet, und das lief auf Anhieb. Und ich habe ja schon viel mit Vibe-Coding und irgendwelchen Coding-Tools rumhantiert, aber so ein One-Shot – also dass das wirklich alles auf Anhieb funktioniert, auch wirklich alles, ohne irgendwelche Fehler oder so –, das habe ich, glaube ich, wirklich noch nie gehabt.
Also ich musste immer erst mal: funktioniert nicht, bisschen hin und her. Aber so, zack – das habe ich wirklich noch nicht gesehen. Das Spiel war halt nur ein bisschen langweilig. Ich habe dann gesagt: Kannst du noch ein bisschen Sound und vielleicht so Extra-Waffen dazu bauen oder so? Bisschen simpel alles gerade. Das hat dann nochmal neun Minuten gedauert – also war offenbar schwieriger, als das Grundspiel zu bauen. Aber das hat dann auch auf Anhieb funktioniert, und das hatte dann Sound und es hatte Extra-Waffen und hatte aufsammelbare Extras, und Spaß hat das vielleicht für eine Minute gemacht. Aber immerhin: hat Spaß gemacht für eine Minute.
Aber gerade bei solchen Extrawünschen, nachdem das Ganze fertig ist, da haben laut meiner Erfahrung bisherige Coding-Tools immer gerne zusätzliche Fehler eingebaut. Hier halt nicht.
Und dann dachte ich mir: War das jetzt einfach Glück? Und dann habe ich mir noch einen Minesweeper-Klon mit c’t-3003-Grafik rausgelassen. Vielleicht erinnert sich noch jemand: Minesweeper war bei fast allen Windows bis Windows 8 vorinstalliert. Ja, und hier hat der erste Versuch dann zu einer Fehlermeldung geführt. Ich habe dann einfach die Fehlermeldung weitergegeben – also Screenshot gemacht, hingeschickt, „hier, Fehlermeldung“ – und kurz darauf hat es dann geklappt. Das Titelbild war ein bisschen kaputt, aber das Spiel hat funktioniert. Und ich sag mal: Die Sound-Effekt-Auswahl, die ist … interessant.
Ja, ich habe zwar gesagt, die Soundeffekte dürfen ruhig lustig sein – also so „oh nein, ein Bombe“ –, aber das Sample, was er da ausgesucht hat, ist dann doch unangenehm.
Praxisbeispiel 2: Manipulieren von Dateien
Und dann wollte ich mal gucken, wie der Agent so mit Dateien umgehen kann, zum Beispiel mit Bildern. Weil ich habe das schon ziemlich oft gehabt, dass ich ganz viele falsch gedrehte Bilder richtig drehen musste. Und das war dann immer ziemlich frickelig und ein großer manueller Aufwand. Deshalb habe ich jetzt einfach mal ein paar unterschiedlich gedrehte Bilder in eine ZIP-Datei geschmissen und gesagt: „Dreh mir die mal korrekt hin und benenne mir die direkt irgendwie sinnvoll.“ Und das Benennen hat gut funktioniert, aber das Drehen nur bei vier von sechs Bildern. Und genau diese kleinen Fehler, die sind ein großes Problem.
Praxisbeispiel 3: Übertragen von Informationen aus einem Video in eine Tabelle
Guck mal hier: Ich habe den Agenten zum Beispiel gebeten, die Linux-Gaming-Benchmark-Ergebnisse aus diesem YouTube-Video hier in eine Tabelle reinzuschreiben – einfach, weil ich das Video interessant finde und alle Ergebnisse gerne mal an einem Ort sehen wollte, statt mich so durch das Video skippen zu müssen.
Ja, und das hat auch erst mal funktioniert – also nachdem der Agent erst mal daran gescheitert ist, das Video auf YouTube überhaupt aufzurufen und dann Dinge gemacht hat, die ziemlich sicher gegen die YouTube-Nutzungsbedingungen verstoßen, was ich auch deshalb hier nicht im Detail zeigen will, weil mir YouTube sonst womöglich das Video sperrt. Das sollen OpenAI und Google mal schön unter sich ausmachen. Da habe ich nichts mit zu tun.
Am Ende hat der Agent es jedenfalls irgendwie hinbekommen, die Benchmark-Daten aus dem Video zu extrahieren. Aber da waren dann einfach stumpf Fehler drin. Ich vermute, dass der da intern mit einer zu geringen Auflösung gearbeitet hat und deshalb die Texterkennung hier einmal 8 als 3 erkannt hat. Dass ich das gemerkt habe bei den ganzen Zahlen in der Tabelle, die größtenteils richtig waren – das war eher so Glückssache.
Aber sowas kann natürlich doll ins Auge gehen, wenn man sich darauf verlässt und das für wichtige Dinge verwendet.
Beim anderen YouTube-Video mit Zahlen drin hat der Agent einfach den größten Teil ausgelassen, ohne mir das von sich aus mitzuteilen. Also er hat zwar gesagt, dass einige Zahlen schwer zu lesen waren – was nicht stimmt, also zumindest meine Mensch-Augen konnten die sehr gut lesen –, aber er hat halt einfach einen Großteil überhaupt ausgelassen der Informationen.
Und darauf habe ich dann den Agent angesprochen, und er hat dann so ein bisschen wie ein Schüler reagiert, der die Hausaufgaben nicht gemacht hat. Ja, nee, da war halt irgendwie so viel. Also O-Ton, was der Agent geantwortet hat: „Für eine vollständige Tabelle müssten alle Benchmark-Screenshots manuell und in Ruhe ausgewertet werden, was in dieser Umgebung leider nicht machbar ist.“ Also so irgendwie zu laut oder so. Ich weiß nicht, hat mich nicht überzeugt. Die Ausrede auf jeden Fall.
Praxisbeispiel 4: Recherche und Präsentation
Vielleicht klappt es ja besser mit Business-Sachen. Ich habe dann gesagt: „Mach mir mal eine Präsentation, womit ich die heise-Geschäftsführung beeindrucken kann, wie doll c’t 3003 ist.“ Ja, und was da dann rauskam – das ist halt wirklich, kann’s nicht anders sagen: Das ist so total generische KI-Plörre. Also etwas, was die meisten Leute, die schon mal mit KI gearbeitet haben, auch als KI-generiert erkennen würden.
Also schon dieses hässliche Bild hier. Da hätte man ja auch einfach das Logo nehmen können. Das findet man ja im Netz.
Dann hier die Kurve mit dem Abo-Wachstum. Ja, okay, die Zahlen stimmen. Aber die Legende hier rechts, das ist schon ziemlich Larifari. Und es sind da halt auch Fehler drin. Also pro Video bis zu 200K. Ich habe gerade mal geguckt, wir hatten schon 37 Videos, die deutlich über 200K lagen. Das ging hoch bis 800.000 oder so.
Und wenn ich sage, ich will mit einer Präsentation Leute beeindrucken, dann sollte man solche Sachen vielleicht richtig machen. Also gerade, wenn es um hohe Zahlen geht. Und dann halt so random Zeug wie: 67 % wollen Hintergründe verstehen. Ja klar, wollt ihr da draußen Hintergründe verstehen. Für mich jetzt nicht so eine interessante Information. Und 82 % waren gestern schon auf YouTube. Okay, ja, ist das wichtig in dieser Präsentation?
Ja, und dieses Balkendiagramm hier ergibt irgendwie gar keinen Sinn. Da sind dann auch nochmal richtige Fehler drin. Denn c’t 3003 hat keinen WhatsApp-Kanal. Und auch hier steht wieder die völlig weirde Info, dass 82 % der Leute, die c’t 3003 gucken, auch schon gestern auf YouTube waren.
Ja, und dann zum Schluss so stumpf: Unterstützt c’t 3003. Und dann aber auch am Ende nochmal viel zu doll in die Superlativ-Kiste gegriffen. Wir sind sicherlich nicht Europas führender Tech-Channel. Das wäre auch ziemlich peinlich, wenn ich das sagen würde zu irgendwem.
Also ich kann aus dieser Präsentation, weiß nicht, vielleicht 20 % verwenden, wenn ich die wirklich vor Leuten halten würde. Der Rest ist Schund. Und ganz ehrlich: Wenn mir so eine Präsentation gezeigt werden würde, mit diesen Quatschfolien und den offensichtlichen Fehlern, und wo man auch deutlich erkennen kann, dass das KI-generiert ist – also diese Person würde bei mir jetzt nicht unbedingt Pluspunkte sammeln.
Praxisbeispiel 5: Einen Hit produzieren
Und als Letztes wollte ich nochmal wissen, wie der Agent eigentlich Websites bedient, die ein Login brauchen – wie so gut wie alle Musikgenerierungsdienste.
Ich habe also den Agenten gefragt, dass er mir drei Ballermann-Party-Songs mit Technikthemen machen soll. Was mit UDIO oder ZUNO – hatten wir schon mal ein Video dazu gemacht – und wie die alle heißen, ziemlich unproblematisch klappt. Hat der Agent aber nicht gemacht, sondern irgendwelche anderen komischen Dienste verwendet.
Und ja, dann kamen dann die drei Songs: „Techno auf Mallorca“, „Serverparty in Palma“, „Schaltkreis im Strand“ und darunter dann: „Dieses Lied erzählt von einem Schaltkreis, der am Strand zwischen Liegestühlen zur Partydeko wird.“ Das ist schon ziemlich schlimm, aber das klingt noch viel schlimmer. Möchte ich eigentlich gar nichts zu sagen.
Ja, ich habe dann aber auf jeden Fall zum Agenten gesagt, er soll ZUNO oder UDIO verwenden. Ja, und dann hat er gesagt: Ja, ich habe ja keinen Account. Ich übergebe dir mal das Browser-Fenster und du kannst dich einloggen. Und da steht auch: OpenAI kann nicht mitlesen, wenn du hier Logins eingibst und so.
Ich rate euch aber ganz deutlich davon ab, irgendwelche wichtigen Logins oder womöglich sogar Geldsachen in dieses ChatGPT Agent-Browser-Fenster einzugeben, das auf irgendeiner virtuellen Maschine sonst wo läuft und niemand so richtig weiß, was damit eigentlich passiert. Also das nur kurz als Warnung.
Ich habe das mit einem wertlosen Test-Account versucht, der keinerlei persönliche Daten verknüpft hat. Aber das ging auch gar nicht, weil Google beim Login direkt sagt: Dieser Browser ist nicht sicher. Das könnte noch ein größeres Problem für den ChatGPT Agent werden, wenn nämlich Webdienste ihn erkennen und direkt ausschließen.
Wie kommt man an den ChatGPT Agent?
Ja, und ganz wichtig natürlich noch: Wie kommt man denn überhaupt an den ChatGPT Agent? Ja, dafür braucht man bislang einen der kostenpflichtigen ChatGPT-Tarife, also Plus, Pro oder Team. Ich habe es mit einem Plus-Account getestet und hatte damit 40 Agent-Benutzungen drin – wurde mir zumindest angezeigt. Letztendlich war mein Kontingent aber schon nach weniger als der Hälfte der Benutzung leer. Das ist also ziemlich intransparent und womöglich auch buggy.
Ich hatte das nämlich im Test mehrfach, dass der Agent sich in einer Aufgabe deaktiviert hat und er dann mit dem normalen ChatGPT-Modus weitergemacht hat. Also da ist auf jeden Fall noch Verbesserungspotenzial.
Fazit
Also ihr werdet jetzt nicht von mir hören: KI-Agenten werden alles verändern! Rette sich, wer kann! Milliarden Menschen werden arbeitslos! Auf jeden Fall werden mit dieser Version des ChatGPT Agent wenig bis gar keine Menschen arbeitslos, weil es dafür noch nicht gut genug funktioniert.
Also ich fand einige Dinge beeindruckend, wie gesagt – also diese One-Shot-Programmiersachen oder auch, dass so Bestell-Websites schon ganz gut bedient werden konnten. Man sieht aber deutlich, wenn man dem Agent da so zuguckt, was er so macht: Das ist alles sehr, sehr umständlich und sehr, sehr Brute-Force-mäßig. Und der Agent auch einfach oft daneben klickt und überhaupt nicht richtig versteht, was er da tut.
Mich hat das ein bisschen an diese Infinite-Monkey-Theorie erinnert, also dass ein Affe, der irgendwas auf einer Tastatur tippt, irgendwann jeden beliebigen Text geschrieben haben wird. Also so schlimm ist es natürlich nicht, aber es ist halt nicht elegant, sagen wir mal so, sondern sehr Trial-and-Error. Aber das wird mit der Zeit sicherlich besser werden, da bin ich mir einigermaßen sicher.
Aber das große Problem mit den Fehlern – also den Halluzinationen, die halt bei LLMs immer auftreten –, das kann wohl niemand Seriöses voraussehen, wann und vor allem, ob dieses Problem behoben wird. Stand heute tauchen jedenfalls beim ChatGPT Agent bei meinen Tests regelmäßig solche Fehler auf – also falsch erkannte Zahlen oder dass c’t 3000 ein WhatsApp-Kanal hat und alles so einfach halluzinierte Dinge.
Und das habe ich dann davon, wenn ich die Ergebnisse dann fummelig und mühselig selbst überprüfen muss. Da habe ich dann nicht wirklich viel Zeit gespart.
Also ich werde jetzt auch nicht den KI-Super-Pessimisten spielen, denn da ist schon ein großes Potenzial zu spüren. Es ist auch wirklich deutlich besser als die Agenten, die ich bisher gesehen habe. Aber es wäre unseriös zu sagen: Das wird sich so und so entwickeln und bis dahin sind die und die Probleme gelöst.
Und ich weiß halt auch nicht, was passieren würde, wenn die Probleme gelöst werden und KI-Agenten tatsächlich einen Großteil der berufstätigen Menschen ersetzen, wenn diese Agenten fehlerfrei arbeiten würden und das alles noch ein bisschen besser hinbekommen würden. Dann ist da auf jeden Fall das Potenzial, viele Stellen zu ersetzen.
Was ich auf jeden Fall sicher weiß: Dass der ChatGPT Agent aktuell oft mit sehr hohem Energieeinsatz, sprich Serverlast, irgendwelche Dinge versucht, mit Gewalt zu lösen – also viel Energie reinsteckt, um einen Mausklick oder so hinzubekommen. Also Dinge, die Menschen mit deutlich weniger Energie bewerkstelligen können.
Ja, was meint ihr? Wie geht das weiter mit den KI-Agenten? Gerne in die Kommentare schreiben. Ich lese wirklich alles und beantworte auch eure Fragen, zumindest an den ersten Tagen nach der Veröffentlichung. Tschüss!
c’t 3003 ist der YouTube-Channel von c’t. Die Videos auf c’t 3003 sind eigenständige Inhalte und unabhängig von den Artikeln im c’t Magazin. Die Redakteure Jan-Keno Janssen, Lukas Rumpler, Sahin Erengil und Pascal Schewe veröffentlichen jede Woche ein Video.
(jkj)
Künstliche Intelligenz
„Die Sonne wacht langsam auf“: Sonnenaktivität steigt seit 2008 überraschend an
Die Sonnenaktivität ist seit 17 Jahren kontinuierlich gestiegen, sollte dieser Trend anhalten, könnten Sonnenstürme und Sonneneruptionen unabhängig vom jeweiligen Sonnenzyklus häufiger werden. Das haben zwei Forscher der NASA ermittelt, die verschiedene Entwicklungen beim Verhalten unserer Sonne ausgewertet haben. Demnach hat ein in den 1980er-Jahren begonnener Trend der abnehmenden Sonnenaktivität 2008 geendet, aber das damals erwartete Verharren auf diesem niedrigen Niveau sei nicht eingetreten. Stattdessen habe die Sonne den Kurs gewechselt und sei immer aktiver geworden. Das könnte künftig nicht nur Folgen für die Raumfahrt haben.
Dass die Sonne bei ihrer Aktivität einen ungefähr elfjährigen Zyklus durchläuft, ist seit mehr als 200 Jahren bekannt. Die wurden von dem Schweizer Astronomen Rudolf Wolf im 18. Jahrhundert bis zum Jahr 1749 zurückgerechnet, dem Maximum des sogenannten 0. Zyklus. Inzwischen wurde der Elfjahreszyklus anhand von Baumringen sogar lückenlos für die vergangenen 1000 Jahre bestätigt und bis ins Jahr 969 zurückverfolgt. Gleichzeitig durchläuft die Sonne aber langfristigere Veränderungen, die dafür sorgen, dass die Aktivität unabhängig von den Zyklen zu- oder abnimmt. Am inaktivsten war die Sonne beispielsweise aus bislang ungeklärten Gründen im 17. Jahrhundert und dann noch einmal am Anfang des 19. Jahrhunderts. Am Beginn des Raumfahrtzeitalters war sie dann so aktiv wie lange nicht mehr.
Sonnenaktivität mit konkreten Folgen auf der Erde
Dass der aktuelle 25. Sonnenzyklus stärker ausgefallen ist als erwartet, war bereits bekannt. Auch sein Maximum hat er früher erreicht. Die beiden NASA-Forscher haben nun aber bestätigt, dass das Teil eines größeren Trends ist: „Die Sonne wacht langsam auf“, meint Studienleiter Jamie Jasinski vom Jet Propulsion Laboratory der NASA. Insgesamt sei das eine Überraschung gewesen, denn eigentlich habe alles darauf hingedeutet, dass die Sonne in eine längere Phase geringer Aktivität eingetreten ist. Dass dem nicht so ist, hat er mit Marco Velli unter anderem anhand von Daten zum Sonnenwind und zum Magnetfeld ermittelt. Ihre Forschungsarbeit haben sie in den Astrophysical Journal Letters veröffentlicht.
Die kontinuierliche Beobachtung und Vorhersage der Sonnenaktivität sind nicht nur für die Erforschung unserer Sonne von Belang, Phasen besonders hoher Aktivität können ganz konkrete Folgen auf der Erde haben. Schlimmstenfalls kann eine besonders aktive Sonne – also eine mit vielen Sonnenflecken und großen Ausbrüchen auf der Oberfläche – technische Systeme wie etwa Satelliten beschädigen oder gar zur Gefahr für Astronauten werden. Eine besonders starke Sonneneruption könnte sogar eine „Internet-Apokalypse“ auslösen. Zudem hat erst vor wenigen Monaten ein Forschungsteam herausgefunden, dass sogenannte Superflares unserer Sonne viel häufiger sind als angenommen. Dabei handelt es sich um gigantische Eruptionen auf der Sonne mit potenziell verheerenden Folgen für moderne Infrastruktur.
(mho)
Künstliche Intelligenz
Steam-Spiele tauchen jetzt in der Xbox-App auf
Microsoft macht die Xbox-App zur zentralen Anlaufstelle für alle installierten PC-Spiele. Aktuell verteilt Microsoft ein Update für die Xbox-App, nach dessen Installation auch Spiele in der Xbox-Bibliothek auftauchen, die über andere Plattformen installiert wurden. Zu den unterstützten Stores gehören Steam, GOG und der Epic Games Store.
Angekündigt hat Microsoft diese Neuerung schon im Juni, seitdem wurden die neuen Features getestet. Nun wurde die überarbeitete Xbox-App für alle Nutzer veröffentlicht. Das Update kann auch in Deutschland bereits heruntergeladen werden. Dazu klickt man in der Xbox-App auf die Glocke und stößt den Download der neuen Version an – insofern sie nicht schon automatisch heruntergeladen wurde.
Nach dem Update braucht die App einen kurzen Moment, um alle auf dem PC installierten Spiele aus den unterschiedlichen Stores zu erfassen. Dieser Schritt erfolgt automatisch. Die zuletzt gespielten Titel tauchen in der linken Leiste auf, eine Komplettübersicht bekommt man über den Bibliotheks-Reiter.
Aktuell nicht installierte Spiele, die in anderen Stores erworben wurden, können über die Xbox-App nicht verwaltet werden. Die Integration installierter Spiele beschränkt sich vorrangig auf das Starten der Titel – für alles andere muss man in die App der jeweiligen Plattform wechseln.
Entwickelt für Xbox Ally
Standardmäßig indiziert die Xbox-App Spiele aus allen unterstützten Apps. Wer einzelne Apps abschalten oder das Feature komplett deaktivieren möchte, muss aktiv werden: Über den Klick auf den Benutzernamen und „Einstellungen“ kann man zu „Bibliothek und Erweiterungen“ navigieren. Dort kann man die Einbindung für jede einzelne Plattform aktivieren oder deaktivieren.
Das Feature wurde vorrangig für den Xbox Ally entwickelt: Nutzer des kommenden Handhelds von Asus und Microsoft bekommen eine neue, um die Xbox-App aufgebaute Oberfläche, die viele fürs Gaming weniger wichtige Funktionen in den Hintergrund rückt. Damit Handheld-User nicht ständig zwischen verschiedenen Apps hin- und herwechseln müssen, hat Microsoft an einer Einbindung der Spiele aus anderen Stores gearbeitet. Davon profitieren nun auch alle anderen PC-Systeme.
(dahe)
Künstliche Intelligenz
Cross-Plattform-Applikationen mit Rust 1: Langlebig und flexibel
Viele Benutzeroberflächen entstehen auf Basis von Webtechnologien. Dennoch sind native Applikationen weiterhin für viele Anwendungsfälle der bessere Ansatz oder sogar alternativlos. Sowohl Desktopprogramme mit Hardwareanbindungen als auch mobile Apps fordern die Entwicklung für ein bestimmtes Betriebssystem.
Marcel Koch berät mit seinem siebenköpfigen Team kleine und mittelständische Unternehmen und entwickelt branchenübergreifend Cross-Platform-Apps für Desktop und Mobile sowie Webapplikationen – bevorzugt mit TypeScript, Rust, Flutter oder Java, gestützt auf CI/CD und IaC. Dabei setzt er auf pragmatische, passgenaue Lösungen, denn Software ist kein Selbstzweck. Neben soliden technischen Kenntnissen schult er in Gewaltfreier Kommunikation, Transaktionsanalyse sowie Agilität und fördert einen kritischen Blick auf Cloud Hypes. Marcel ist Speaker, Autor von Fachartikeln und Büchern und regelmäßig in Podcasts zu hören.
Native Applikationen haben Vorteile wie gute Performance, natives Look and Feel und direkten Zugriff auf angeschlossene Hardware. Zu den Nachteilen gehören spezifische Codebasen für jedes Betriebssystem, Unterschiede zwischen den nativen APIs und eine umständliche Installation der Software.
Die Idee von Cross-Plattform-Frameworks ist, zumindest den ersten beiden Nachteilen zu begegnen. Besonders für schnelle Ergebnisse mit wenig Aufwand sind Frameworks eine gute Wahl. Dynamische Sprachen ermöglichen schnelle Ergebnisse. Soll die Applikation lediglich für ein, zwei Jahre laufen, können Entwicklungsteams bedenkenlos zu solchen Frameworks greifen.
Will ein Team aber eine Anwendung zehn oder mehr Jahre weiterentwickeln, muss es verschiedene Aspekte kritisch hinterfragen: Wie lange entwickelt der Hersteller das Framework weiter? Genügt die Unterstützung von Android, iOS und Web? Reicht die Performance einer Web View? Soll die Anwendung neu aufkommende UI-Technologien oder Betriebssysteme integrieren? Wie laufen (automatisierte) Tests, um die Qualität hochzuhalten?
Langlebigkeit durch einen herausgelösten Core
Da sowohl Cross-Plattform-Frameworks als auch UI-Technologie einem schnellen Wandel unterliegen, liegt es nahe, das UI vom beständigen Teil zu trennen. Diese Idee ist durch die hexagonale Architektur bekannt. Mit dieser können sich Entwicklerinnen und Entwickler auf die Kernfunktionen konzentrieren und technische Notwendigkeiten als Ports definieren, die von außen an den Core andocken. Bei einer Cross-Plattform-Anwendung ergeben sich Ports für die Benutzeroberfläche und andere plattformspezifische APIs. Beispiele für APIs sind Zugriffe auf die Kamera oder das Dateisystem. Der Core beinhaltet die vollständige Geschäftslogik und alle weiteren Teile der Applikation, die Bestand haben und lange leben sollen.
Auswahl der Core-Programmiersprache
Der herausgelöste Core muss auf allen anvisierten Plattformen laufen. Als Beispiel für Zielplattformen seien Android, iOS, Windows, macOS und Raspberry Pi definiert. Als Kriterien einer für den Core geeigneten Sprache sind Stabilität, Robustheit, Langlebigkeit und Flexibilität wichtig.
(Bild: evgeenius/Shutterstock)
Am 10. November 2025 steht auf der Online-Konferenz betterCode() Rust das Entwickeln industrieller Anwendungen mit Rust im Fokus. Die Vorträge widmen sich unter anderem der asynchronen Programmierung, dem Verwalten von Dependencies und High Performance Rust.
Eine Programmierumgebung gilt als stabil, wenn sie produktionsreif ist und nur noch wenigen grundlegenden Änderungen unterliegt. Robustheit bezieht sich auf den in der Programmiersprache geschriebenen Code. Die Sprache soll weiterhin ermöglichen, den Code zu erweitern, umzuschreiben und für die nächsten zehn Jahre verständlich zu halten.
Dafür muss auch die darunterliegende Sprache langlebig sein. Auch soll sie sich möglichst flexibel verwenden lassen und am besten alle großen Betriebssysteme, Single-Board-Computer, Mikrocontroller und den Browser abdecken. Für diesen Artikel fiel die Wahl auf die Programmiersprache Rust, die sich für zahlreiche Plattformen verwenden lässt.
Rust für den Core
Rust ermöglicht mit vertretbarem Aufwand die Gestaltung eines wartbaren und performanten Core für flexible Einsatzgebiete. Die Sprache läuft auf allen Desktop-Betriebssystemen, mobilen Endgeräten, Single-Board-Computern, vielen Mikrocontrollern und via WebAssembly durch kompakte wasm-Module auch gut im Browser.
Die explizite Syntax von Rust begünstigt die Entwicklung robuster, lange wartbarer Software. Nachteilig sind die Komplexität, die steile Lernkurve und die im Vergleich zu JavaScript oder C++ kleinere Community. Allerdings wächst die Beliebtheit von Rust und damit auch die Community. Das zeigt sich auch durch die an vielen Stellen verlautete Migration von C zu Rust.
2021 wurde die Rust Foundation von AWS, Google, Huawei, Microsoft und Mozilla gegründet. Heute unterstützen viele weitere Firmen die Foundation, darunter Meta, JetBrains und Threema. Die Unternehmen sind daran interessiert, die ursprünglich von Mozilla ins Leben gerufene Sprache lange zu pflegen.
Architektur des Core
Nach der Auswahl der Sprache ergibt sich die Frage der Architektur für den Core. Je größer der Anteil der Anwendung im Core ist, desto stärker wiegen die Vorteile des Architekturansatzes, ohne weiteren Aufwand verschiedene Plattformen abzudecken. Das bezieht sich insbesondere auf Logik und Zustand, aber auch auf Übersetzungen für die Mehrsprachigkeit.
Um die Idee der Architektur besser begreifen zu können, dient im Folgenden als Beispiel eine simple App für das Speichern von Namen und E-Mail-Adressen.
Die auf der Benutzeroberfläche zu rendernden Daten muss man ebenso vorbereiten wie die an Buttons oder Eingabefelder gebundenen Aktionen. Wenn Anwender die E-Mail-Adresse ändern und durch Drücken eines Buttons speichern, soll der Core Schnittstellen für die aktuellen Daten, die Änderungen und für den Bestätigungstext bereitstellen, die sich direkt an den Oberflächencode anschließen lassen.
Die Architektur trennt den Core mit der Geschäftslogik von den nativen Elementen (Abb. 1).
(Bild: Marcel Koch)
Klare Trennung durch MVVM
Im Entwurfsmuster MVVM (Model View ViewModel) kapselt das Modell die fachlichen Daten – und gegebenenfalls den Zustand. Das ViewModel enthält eine Aufbereitung dieser Daten, um sie in der View (Benutzeroberfläche) ohne weitere Bearbeitung einbinden zu können. Der Core stellt das ViewModel bereit. In Rust definiert kann es ein einfaches Struct sein:
ViewModel {
name: String,
email: String
}
UI-Aktionen als fachliche Aktionen
Bei der UI-Entwicklung lösen native Elemente wie Widgets und Controls technische Events aus, beispielsweise buttonXYClicked()
. Diese Events führen zu fachlichen Aktionen wie „ändere E-Mail-Adresse“. Der Core stellt Schnittstellen für diese Aktionen zur Verfügung. Die Aktionen sind so gestaltet, dass eine Anwendung sie direkt an die UI-Elemente anbinden kann. Somit ergeben sich Aktionen, die optimal für das UI und gleichzeitig fachlich geschnitten sind.
In Rust kann die Liste an Aktionen ein Enum sein:
pub enum Actions {
ChangeName(String),
ChangeEmail(String),
ApplyChanges,
}
Verwaltung des Zustands
Auch den Zustand verwaltet der Core. Das UI bleibt zustandslos: Es schickt Aktionen an den Core und reagiert auf die Änderungen im ViewModel. Der Zustand kann ein einfaches Struct sein, das im Speicher gehalten wird:
pub struct ViewModel {
pub name: String,
pub email: String,
}
pub enum Actions {
ChangeName(String),
ChangeEmail(String),
ApplyChanges
}
struct State {
name: String,
email: String
}
impl Default for State {
fn default() -> Self {
State {
name: "".into(),
email: "".into()
}
}
}
pub struct App {
state: State
}
impl App {
pub fn new() -> App {
App {
state: State::default()
}
}
pub fn do_action(&mut self, action: Actions) -> ViewModel {
match action {
Actions::ChangeName(name) => {
self.state.name = name;
}
Actions::ChangeEmail(email) => {
self.state.email = email;
}
Actions::ApplyChanges => {}
}
self.render_view_model()
}
pub fn render_view_model(&self) -> ViewModel {
ViewModel{
name: self.state.name.clone(),
email: self.state.email.clone()
}
}
}
impl Default for App {
fn default() -> Self {
Self::new()
}
}
-
UX/UI & Webdesignvor 4 Wochen
Der ultimative Guide für eine unvergessliche Customer Experience
-
Social Mediavor 4 Wochen
Relatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
UX/UI & Webdesignvor 2 Wochen
Adobe Firefly Boards › PAGE online
-
Entwicklung & Codevor 4 Wochen
Posit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 2 Wochen
EventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events
-
Digital Business & Startupsvor 3 Monaten
10.000 Euro Tickets? Kann man machen – aber nur mit diesem Trick
-
Digital Business & Startupsvor 3 Monaten
80 % günstiger dank KI – Startup vereinfacht Klinikstudien: Pitchdeck hier
-
Apps & Mobile Entwicklungvor 3 Monaten
Patentstreit: Western Digital muss 1 US-Dollar Schadenersatz zahlen